diff --git a/packages/reffuse/src/Reffuse.ts b/packages/reffuse/src/Reffuse.ts index 39f781c..1a45971 100644 --- a/packages/reffuse/src/Reffuse.ts +++ b/packages/reffuse/src/Reffuse.ts @@ -384,7 +384,17 @@ export interface ScopeOptions { } -export const make = >( - ...contexts: [...{ [K in keyof T]: ReffuseContext.ReffuseContext }] -): Reffuse => - new Reffuse(contexts) +// export const make = >( +// ...contexts: [...{ [K in keyof T]: ReffuseContext.ReffuseContext }] +// ): Reffuse => +// new Reffuse(contexts) + +export const make = (): Reffuse => new Reffuse([]) + +export const withContexts = >( + ...contexts: [...{ [K in keyof R2]: ReffuseContext.ReffuseContext }] +) => + , R1>(self: T & Reffuse): ( + Reffuse & Exclude> + ) => + new Reffuse([...self.contexts, ...contexts as any]) as any