0.1.13 #18

Merged
Thilawyn merged 359 commits from next into master 2025-06-18 00:12:19 +02:00
Showing only changes of commit 9eb0904600 - Show all commits

View File

@@ -7,9 +7,14 @@ import type { Merge, StaticType } from "./types.js"
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>>(
...contexts: [...{ [K in keyof R2]: ReffuseContext.ReffuseContext<R2[K]> }]
) =>
) => (
<
BaseClass extends ReffuseHelpers.ReffuseHelpersClass<R1>,
R1
@@ -29,9 +34,9 @@ export const withContexts = <R2 extends Array<unknown>>(
) => class extends self {
static readonly contexts = [...self.contexts, ...contexts]
} 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>,
R
@@ -45,3 +50,4 @@ export const withExtension = <A extends object>(extension: ReffuseExtension.Reff
Object.assign(class_.prototype, extension())
return class_ as any
}
)