From 972986241c9c45045f7acd8f16011bb3951966a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Tue, 25 Mar 2025 19:29:17 +0100 Subject: [PATCH] ReffuseHelpers.make() --- packages/reffuse/src/Reffuse.ts | 5 ----- packages/reffuse/src/ReffuseHelpers.ts | 12 +++++++++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/reffuse/src/Reffuse.ts b/packages/reffuse/src/Reffuse.ts index 1c65dbe..ccfcfe1 100644 --- a/packages/reffuse/src/Reffuse.ts +++ b/packages/reffuse/src/Reffuse.ts @@ -7,11 +7,6 @@ import type { Merge, StaticType } from "./types.js" export class Reffuse extends ReffuseHelpers.make() {} -export const make = < - Class extends ReffuseHelpers.ReffuseHelpersClass ->(class_: Class): InstanceType => - new class_() as any - export const withContexts = >( ...contexts: [...{ [K in keyof R2]: ReffuseContext.ReffuseContext }] ) => ( diff --git a/packages/reffuse/src/ReffuseHelpers.ts b/packages/reffuse/src/ReffuseHelpers.ts index 81dae91..5553a37 100644 --- a/packages/reffuse/src/ReffuseHelpers.ts +++ b/packages/reffuse/src/ReffuseHelpers.ts @@ -428,20 +428,26 @@ export interface ReffuseHelpers extends Pipeable.Pipeable {} ReffuseHelpers.prototype.pipe = function pipe() { return Pipeable.pipeArguments(this, arguments) -} +}; export interface ReffuseHelpersClass extends Pipeable.Pipeable { new(): ReffuseHelpers + make(this: new () => Self): Self readonly contexts: readonly ReffuseContext.ReffuseContext[] } +(ReffuseHelpers as ReffuseHelpersClass).make = function make() { + return new this() +}; + (ReffuseHelpers as ReffuseHelpersClass).pipe = function pipe() { return Pipeable.pipeArguments(this, arguments) -} +}; -export const make = (): ReffuseHelpersClass => +export const make = (): ReffuseHelpersClass => ( class extends (ReffuseHelpers as ReffuseHelpersClass) { static readonly contexts = [] } +)