0.1.11 #14
@@ -7,11 +7,6 @@ import type { Merge, StaticType } from "./types.js"
|
|||||||
export class Reffuse extends ReffuseHelpers.make() {}
|
export class Reffuse extends ReffuseHelpers.make() {}
|
||||||
|
|
||||||
|
|
||||||
export const make = <
|
|
||||||
Class extends ReffuseHelpers.ReffuseHelpersClass<unknown>
|
|
||||||
>(class_: Class): InstanceType<Class> =>
|
|
||||||
new class_() as any
|
|
||||||
|
|
||||||
export const withContexts = <R2 extends Array<unknown>>(
|
export const withContexts = <R2 extends Array<unknown>>(
|
||||||
...contexts: [...{ [K in keyof R2]: ReffuseContext.ReffuseContext<R2[K]> }]
|
...contexts: [...{ [K in keyof R2]: ReffuseContext.ReffuseContext<R2[K]> }]
|
||||||
) => (
|
) => (
|
||||||
|
|||||||
@@ -428,20 +428,26 @@ export interface ReffuseHelpers<R> extends Pipeable.Pipeable {}
|
|||||||
|
|
||||||
ReffuseHelpers.prototype.pipe = function pipe() {
|
ReffuseHelpers.prototype.pipe = function pipe() {
|
||||||
return Pipeable.pipeArguments(this, arguments)
|
return Pipeable.pipeArguments(this, arguments)
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
export interface ReffuseHelpersClass<R> extends Pipeable.Pipeable {
|
export interface ReffuseHelpersClass<R> extends Pipeable.Pipeable {
|
||||||
new(): ReffuseHelpers<R>
|
new(): ReffuseHelpers<R>
|
||||||
|
make<Self>(this: new () => Self): Self
|
||||||
readonly contexts: readonly ReffuseContext.ReffuseContext<R>[]
|
readonly contexts: readonly ReffuseContext.ReffuseContext<R>[]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(ReffuseHelpers as ReffuseHelpersClass<any>).make = function make() {
|
||||||
|
return new this()
|
||||||
|
};
|
||||||
|
|
||||||
(ReffuseHelpers as ReffuseHelpersClass<any>).pipe = function pipe() {
|
(ReffuseHelpers as ReffuseHelpersClass<any>).pipe = function pipe() {
|
||||||
return Pipeable.pipeArguments(this, arguments)
|
return Pipeable.pipeArguments(this, arguments)
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
export const make = (): ReffuseHelpersClass<never> =>
|
export const make = (): ReffuseHelpersClass<never> => (
|
||||||
class extends (ReffuseHelpers<never> as ReffuseHelpersClass<never>) {
|
class extends (ReffuseHelpers<never> as ReffuseHelpersClass<never>) {
|
||||||
static readonly contexts = []
|
static readonly contexts = []
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user