@reffuse/extension-query 0.1.5 #16
@@ -7,9 +7,14 @@ 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]> }]
|
||||||
) =>
|
) => (
|
||||||
<
|
<
|
||||||
BaseClass extends ReffuseHelpers.ReffuseHelpersClass<R1>,
|
BaseClass extends ReffuseHelpers.ReffuseHelpersClass<R1>,
|
||||||
R1
|
R1
|
||||||
@@ -29,9 +34,9 @@ export const withContexts = <R2 extends Array<unknown>>(
|
|||||||
) => class extends self {
|
) => class extends self {
|
||||||
static readonly contexts = [...self.contexts, ...contexts]
|
static readonly contexts = [...self.contexts, ...contexts]
|
||||||
} as any
|
} as any
|
||||||
|
)
|
||||||
|
|
||||||
|
export const withExtension = <A extends object>(extension: ReffuseExtension.ReffuseExtension<A>) => (
|
||||||
export const withExtension = <A extends object>(extension: ReffuseExtension.ReffuseExtension<A>) =>
|
|
||||||
<
|
<
|
||||||
BaseClass extends ReffuseHelpers.ReffuseHelpersClass<R>,
|
BaseClass extends ReffuseHelpers.ReffuseHelpersClass<R>,
|
||||||
R
|
R
|
||||||
@@ -45,3 +50,4 @@ export const withExtension = <A extends object>(extension: ReffuseExtension.Reff
|
|||||||
Object.assign(class_.prototype, extension())
|
Object.assign(class_.prototype, extension())
|
||||||
return class_ as any
|
return class_ as any
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user