@pumped-fn/core-next 0.5.50 → 0.5.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -89,6 +89,7 @@ declare namespace Core {
89
89
  export type Controller = {
90
90
  cleanup: (cleanup: Cleanup) => void;
91
91
  release: () => Promise<void>;
92
+ reload: () => Promise<void>;
92
93
  scope: Scope;
93
94
  };
94
95
  export type Kind = "main" | "reactive" | "lazy" | "static";
@@ -149,7 +150,9 @@ declare namespace Core {
149
150
  executor: Executor<T>;
150
151
  value: T;
151
152
  }
152
- export type InferOutput<T> = T extends Executor<infer U> | Reactive<infer U> | PreparedExecutor<infer U> ? Awaited<U> : T extends Lazy<infer U> | Static<infer U> ? Accessor<Awaited<U>> : T extends AdaptedExecutor<infer A, infer U> ? (...args: A) => Promise<Awaited<U>> : T extends Array<Core.BaseExecutor<unknown>> | Record<string, Core.BaseExecutor<unknown>> ? { [K in keyof T]: InferOutput<T[K]> } : never;
153
+ export type InferOutput<T> = T extends Executor<infer U> | Reactive<infer U> | PreparedExecutor<infer U> ? Awaited<U> : T extends Lazy<infer U> | Static<infer U> ? Accessor<Awaited<U>> : T extends AdaptedExecutor<infer A, infer U> ? (...args: A) => Promise<Awaited<U>> : T extends ReadonlyArray<Core.BaseExecutor<unknown>> | Record<string, Core.BaseExecutor<unknown>> ? { [K in keyof T]: InferOutput<T[K]> } : never;
154
+ type K = InferOutput<[Core.Executor<string>, Core.Executor<number>]>;
155
+ // ^?
153
156
  export type Event = "resolve" | "update" | "release";
154
157
  export type Replacer = Preset<unknown>;
155
158
  type EventCallbackResult = void | Replacer;
@@ -161,7 +164,10 @@ declare namespace Core {
161
164
  }) => void | Promise<void>;
162
165
  dispose?: (scope: Scope) => void | Promise<void>;
163
166
  };
164
- export type DependencyLike = Core.BaseExecutor<unknown> | Core.BaseExecutor<unknown>[] | Record<string, Core.BaseExecutor<unknown>>;
167
+ export type SingleDependencyLike = Core.BaseExecutor<unknown>;
168
+ export type MultiDependencyLike = ReadonlyArray<Core.BaseExecutor<unknown>> | Record<string, Core.BaseExecutor<unknown>>;
169
+ export type DependencyLike = SingleDependencyLike | MultiDependencyLike;
170
+ export type Destructed<T extends DependencyLike> = T extends SingleDependencyLike ? T : { [K in keyof T]: T[K] };
165
171
  export interface Pod extends Omit<Core.Scope, "update" | "pod" | "disposePod" | "onChange"> {}
166
172
  export interface Scope {
167
173
  accessor<T>(executor: Core.Executor<T>, eager?: boolean): Accessor<T>;
@@ -252,7 +258,7 @@ declare function isMainExecutor(executor: unknown): executor is Core.Executor<un
252
258
  declare function isExecutor<T>(input: unknown): input is Core.BaseExecutor<T>;
253
259
  declare function isPreset(input: unknown): input is Core.Preset<unknown>;
254
260
  declare function provide<T>(factory: Core.NoDependencyFn<T>, ...metas: Meta.Meta[]): Core.Executor<T>;
255
- declare function derive<T, D extends Core.DependencyLike>(pdependencies: D, pfactory: Core.DependentFn<T, Core.InferOutput<D>>, ...metas: Meta.Meta[]): Core.Executor<T>;
261
+ declare function derive<T, D extends Core.DependencyLike>(pdependencies: { [K in keyof D]: D[K] }, pfactory: Core.DependentFn<T, Core.InferOutput<D>>, ...metas: Meta.Meta[]): Core.Executor<T>;
256
262
  declare function preset<T>(e: Core.Executor<T> | Escapable<T>, v: T): Core.Preset<T>;
257
263
  declare namespace multi_d_exports {
258
264
  export { DependentFn$1 as DependentFn, derive$2 as derive, provide$2 as provide };
@@ -271,17 +277,17 @@ type DeriveOption<K, D extends Core.DependencyLike> = Option<K> & {
271
277
  dependencies: D;
272
278
  };
273
279
  declare function provide$2<T, K>(option: Option<K>, valueFn: (key: K, controller: Core.Controller) => T | Promise<T>, ...metas: Meta.Meta[]): MultiExecutor<T, K>;
274
- declare function derive$2<T, K, D extends Core.DependencyLike>(option: DeriveOption<K, D>, valueFn: DependentFn$1<T, K, Core.InferOutput<D>>, ...metas: Meta.Meta[]): MultiExecutor<T, K>;
280
+ declare function derive$2<T, K, D extends Core.DependencyLike>(option: DeriveOption<K, Core.Destructed<D>>, valueFn: DependentFn$1<T, K, Core.InferOutput<D>>, ...metas: Meta.Meta[]): MultiExecutor<T, K>;
275
281
  declare namespace flow_d_exports {
276
282
  export { FlowError, FlowErrorCode, FlowErrorType, derive$1 as derive, execute, provide$1 as provide };
277
283
  }
278
284
  declare function provide$1<Input, Output>(config: Flow.Config & Flow.Schema<Input, Output>, handler: Flow.NoDependencyFlowFn<Input, Output>): Flow.Executor<Input, Output>;
279
- declare function derive$1<D extends ReadonlyArray<Core.BaseExecutor<unknown>> | Record<string, Core.BaseExecutor<unknown>>, Input, Output>({
285
+ declare function derive$1<D extends Core.DependencyLike, Input, Output>({
280
286
  dependencies,
281
287
  ...config
282
288
  }: {
283
- dependencies: { [K in keyof D]: D[K] };
284
- } & Flow.Config & Flow.Schema<Input, Output>, handler: Flow.DependentFlowFn<{ [K in keyof D]: Core.InferOutput<D[K]> }, Input, Output>): Flow.Executor<Input, Output>;
289
+ dependencies: Core.Destructed<D>;
290
+ } & Flow.Config & Flow.Schema<Input, Output>, handler: Flow.DependentFlowFn<Core.InferOutput<D>, Input, Output>): Flow.Executor<Input, Output>;
285
291
  // Error codes as constants instead of enum
286
292
  declare const FlowErrorCode: {
287
293
  readonly VALIDATION: "validation";
@@ -353,9 +359,9 @@ declare function createScope(): Core.Scope;
353
359
  declare function createScope(opt: ScopeOption): Core.Scope;
354
360
  /**
355
361
  * @deprecated
356
- *
362
+ *
357
363
  * Use the version with ScopeOption instead
358
- * @param presets
364
+ * @param presets
359
365
  */
360
366
  declare function createScope(...presets: Core.Preset<unknown>[]): Core.Scope;
361
367
  declare function plugin(m: Core.Plugin): Core.Plugin;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["scope: Core.Scope","executors: { [K in keyof T]: T[K] }","executor: Core.Executor<T>","executor: Core.Executor<(...args: A) => Promise<T> | T>","executorSymbol: unique symbol","metaSymbol: unique symbol","value: unknown","issues: ReadonlyArray<StandardSchemaV1.Issue>","value: V","d: D","source: MetaContainer | Meta[] | undefined","value?: V","scope: Controller","dependencies: D","cleanup: Cleanup","force?: boolean","soft?: boolean","updateFn: T | ((current: T) => T)","current: T","value: T","callback: (value: T) => void","event: \"resolve\" | \"update\"","executor: Executor<unknown>","resolved: unknown","scope: Scope","event: \"release\"","initialOpt: { registry: Core.Executor<unknown>[]}","executor: Core.Executor<T>","eager?: boolean","executor: Executor<T>","executor: Executor<any>","callback: (accessor: Accessor<T>) => void","accessor: Accessor<T>","cb: ChangeCallback","cb: ReleaseCallback","middleware: Plugin","scope: Pod","input: Flow<Input, Output>","param: Input","opt?: ExecuteOpt","input: Input","context: Controller & { context: ExecutionContext }","dependency: D","context: ExecutionContext","execute: () => Promise<T>","k: K","factory: Core.NoDependencyFn<T> | Core.DependentFn<T, unknown>","dependencies:\n | undefined\n | Core.UExecutor\n | Array<Core.UExecutor>\n | Record<string, Core.UExecutor>","metas: Meta.Meta[] | undefined","executor: Core.BaseExecutor<unknown>","executor: unknown","input: unknown","factory: Core.NoDependencyFn<T>","pdependencies: D","pfactory: Core.DependentFn<T, Core.InferOutput<D>>","e: Core.Executor<T> | Escapable<T>","v: T","k: K","key: K","scope: Core.Scope","dependencies: D","scope: Core.Controller","option: Option<K>","valueFn: (key: K, controller: Core.Controller) => T | Promise<T>","controller: Core.Controller","option: DeriveOption<K, D>","valueFn: DependentFn<T, K, Core.InferOutput<D>>","config: Flow.Config & Flow.Schema<Input, Output>","handler: Flow.NoDependencyFlowFn<Input, Output>","handler: Flow.DependentFlowFn<\n { [K in keyof D]: Core.InferOutput<D[K]> },\n Input,\n Output\n >","message: string","type: FlowErrorType","details?: any","executor: Flow.Executor<Input, Output>","input: Input","opt?: Flow.ExecuteOpt","key: unknown","value: unknown","store: DataStore","value: T","key: string | symbol","schema: StandardSchemaV1<T>","value: unknown","fn: unknown","gen: Generator<Y, T> | AsyncGenerator<Y, T>","value: Y","index: number","value: T","error: unknown","handler: GeneratorHandler<Y, T>","key: string | symbol","schema: StandardSchemaV1<V>","meta: Meta.Meta<V>","executor: Meta.MetaContainer | Meta.Meta[] | undefined","meta: Meta.MetaFn<V>","opt: ScopeOption","m: Core.Plugin","schema: TSchema","data: unknown","eager: {\n meta: Meta.MetaFn<boolean>;\n plugin: () => Core.Plugin;\n}","name: Meta.MetaFn<string>"],"sources":["../src/helpers.ts","../src/types.ts","../src/executor.ts","../src/multi.ts","../src/flow.ts","../src/data-accessor.ts","../src/generator-utils.ts","../src/meta.ts","../src/scope.ts","../src/ssch.ts","../src/plugins.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":["scope: Core.Scope","executors: { [K in keyof T]: T[K] }","executor: Core.Executor<T>","executor: Core.Executor<(...args: A) => Promise<T> | T>","executorSymbol: unique symbol","metaSymbol: unique symbol","value: unknown","issues: ReadonlyArray<StandardSchemaV1.Issue>","value: V","d: D","source: MetaContainer | Meta[] | undefined","value?: V","scope: Controller","dependencies: D","cleanup: Cleanup","force?: boolean","soft?: boolean","updateFn: T | ((current: T) => T)","current: T","value: T","callback: (value: T) => void","event: \"resolve\" | \"update\"","executor: Executor<unknown>","resolved: unknown","scope: Scope","event: \"release\"","initialOpt: { registry: Core.Executor<unknown>[] }","executor: Core.Executor<T>","eager?: boolean","executor: Executor<T>","executor: Executor<any>","callback: (accessor: Accessor<T>) => void","accessor: Accessor<T>","cb: ChangeCallback","cb: ReleaseCallback","middleware: Plugin","scope: Pod","input: Flow<Input, Output>","param: Input","opt?: ExecuteOpt","input: Input","context: Controller & { context: ExecutionContext }","dependency: D","context: ExecutionContext","execute: () => Promise<T>","k: K","factory: Core.NoDependencyFn<T> | Core.DependentFn<T, unknown>","dependencies:\n | undefined\n | Core.UExecutor\n | ReadonlyArray<Core.UExecutor>\n | Record<string, Core.UExecutor>","metas: Meta.Meta[] | undefined","executor: Core.BaseExecutor<unknown>","executor: unknown","input: unknown","factory: Core.NoDependencyFn<T>","pdependencies: { [K in keyof D]: D[K] }","pfactory: Core.DependentFn<T, Core.InferOutput<D>>","e: Core.Executor<T> | Escapable<T>","v: T","k: K","key: K","scope: Core.Scope","dependencies: D","scope: Core.Controller","option: Option<K>","valueFn: (key: K, controller: Core.Controller) => T | Promise<T>","controller: Core.Controller","option: DeriveOption<K, Core.Destructed<D>>","valueFn: DependentFn<T, K, Core.InferOutput<D>>","config: Flow.Config & Flow.Schema<Input, Output>","handler: Flow.NoDependencyFlowFn<Input, Output>","handler: Flow.DependentFlowFn<Core.InferOutput<D>, Input, Output>","message: string","type: FlowErrorType","details?: any","executor: Flow.Executor<Input, Output>","input: Input","opt?: Flow.ExecuteOpt","key: unknown","value: unknown","store: DataStore","value: T","key: string | symbol","schema: StandardSchemaV1<T>","value: unknown","fn: unknown","gen: Generator<Y, T> | AsyncGenerator<Y, T>","value: Y","index: number","value: T","error: unknown","handler: GeneratorHandler<Y, T>","key: string | symbol","schema: StandardSchemaV1<V>","meta: Meta.Meta<V>","executor: Meta.MetaContainer | Meta.Meta[] | undefined","meta: Meta.MetaFn<V>","opt: ScopeOption","m: Core.Plugin","schema: TSchema","data: unknown","eager: {\n meta: Meta.MetaFn<boolean>;\n plugin: () => Core.Plugin;\n}","name: Meta.MetaFn<string>"],"sources":["../src/helpers.ts","../src/types.ts","../src/executor.ts","../src/multi.ts","../src/flow.ts","../src/data-accessor.ts","../src/generator-utils.ts","../src/meta.ts","../src/scope.ts","../src/ssch.ts","../src/plugins.ts","../src/index.ts"],"sourcesContent":[],"mappings":";iBAQsB,mBAEhB,MAAM,IAAA,CAAK,oBAAoB,sBAC/B,eAAe,IAAA,CAAK,oBAAoB,4BAErC,IAAA,CAAK,gCACa,IAAI,EAAE,OAC9B,sBAAsB,IAAI,IAAA,CAAK,YAAY,EAAE;KA4BpC;EAnCZ,MAAsB,EAAA,GAAA,GAoCN,IAAA,CAAK,QApCC,CAoCQ,CApCR,CAAA;CAAA;AAEV,KAqCA,gBArCK,CAAA,CAAA,CAAA,GAAA;EAAA,EAAA,EAsCX,OAtC+B,CAsCvB,IAAA,CAAK,WAtCkB,CAsCN,IAAA,CAAK,QAtCC,CAsCQ,CAtCR,CAAA,CAAA,CAAA;EAAA,MAA/B,EAAA,GAAA,GAuCU,IAAA,CAAK,QAvCf,CAuCwB,CAvCxB,CAAA;CAAA;AACwC,iBAyC9B,OAzC8B,CAAA,CAAA,CAAA,CAAA,KAAA,EA0CrC,IAAA,CAAK,KA1CgC,EAAA,QAAA,EA2ClC,IAAA,CAAK,QA3C6B,CA2CpB,CA3CoB,CAAA,CAAA,EA4C3C,gBA5C2C,CA4C1B,IAAA,CAAK,WA5CqB,CA4CT,IAAA,CAAK,QA5CI,CA4CK,CA5CL,CAAA,CAAA,CAAA;AAAxC,KAyDM,eAzDN,CAAA,UAyDgC,KAvDxB,CAAA,OAAA,CAAA,EAAA,CAAA,CACa,GAAA;EAAI,CAAA,GAAA,IAAE,EAuDrB,CAvDqB,CAAA,EAuDjB,OAvDiB,CAuDT,OAvDS,CAuDD,CAvDC,CAAA,CAAA;EAAA,MACR,EAAA,GAAA,GAuDT,IAAA,CAAK,QAvDI,CAAA,CAAA,GAAA,IAAA,EAuDe,CAvDf,EAAA,GAuDqB,OAvDrB,CAuD6B,OAvD7B,CAuDqC,CAvDrC,CAAA,CAAA,CAAA;CAAA;AAAuB,iBA0DhC,KA1DgC,CAAA,UA0DhB,KA1DE,CAAA,OAAA,CAAA,EAAA,CAAA,CAA/B,CAAA,KAAA,EA2DM,IAAA,CAAK,KA3DX,EAAA,QAAA,EA4DS,IAAA,CAAK,QA5Dd,CAAA,CAAA,GAAA,IAAA,EA4DiC,CA5DjC,EAAA,GA4DuC,OA5DvC,CA4D+C,CA5D/C,CAAA,GA4DoD,CA5DpD,CAAA,CAAA,EA6DA,eA7DA,CA6DgB,CA7DhB,EA6DmB,CA7DnB,CAAA;;;cCbUI;cAGAC;ADGS,UCDL,gBDCK,CAAA,QAAA,OAAA,EAAA,SCDsC,KDG3C,CAAA,CAAA;EAAoB,SAA/B,WAAA,ECFkB,gBAAA,CAAiB,KDEnC,CCFyC,KDEzC,ECFgD,MDEhD,CAAA;;AACwC,kBCArB,gBAAA,CDAqB;EAAA,OAAxC,UAAA,KAAA,CAAA,QAEG,OAAK,EAAA,SCDqC,KDExB,CAAA,CAAA;IAAI,SAAE,OAAA,EAAA,CAAA;IAAA,SACR,MAAA,EAAA,MAAA;IAAA,SAAqB,QAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GCErC,MDFqC,CCE9B,MDF8B,CAAA,GCEpB,ODFoB,CCEZ,MDFY,CCEL,MDFK,CAAA,CAAA;IAAA,SAAE,KAAA,CAAA,ECG3B,KDH2B,CCGrB,KDHqB,ECGd,MDHc,CAAA,GAAA,SAAA;EAAA;EAAd,OAA/B,KAAA,MAAA,CAAA,MAAA,CAAA,GCM4B,aDN5B,CCM0C,MDN1C,CAAA,GCMoD,aDNpD;EAAA,OAAA,UAAA,aAAA,CAAA,MAAA,CAAA,CAAA;IA4BH,SAAY,KAAA,ECnBQ,MDmBR;IAAA,SAAA,MAAA,CAAA,EAAA,SAAA;EAAA;EACkB,OAAd,UAAK,aAAA,CAAA;IAAA,SAAA,MAAA,ECfA,aDeA,CCfc,KDed,CAAA;EAGrB;EAAY,OAAA,UAAA,KAAA,CAAA;IAAA,SACiC,OAAA,EAAA,MAAA;IAAA,SAAd,IAAK,CAAA,ECdhB,aDcgB,CCdF,WDcE,GCdY,WDcZ,CAAA,GAAA,SAAA;EAAA;EAAjB,OAAb,UAAA,WAAA,CAAA;IAAA,SACwB,GAAA,ECXZ,WDWY;EAAA;EAAT,OAAA,UAAA,KAAA,CAGrB,QAAgB,OAAA,EAAA,SCXmC,KDWnC,CAAA,CAAA;IACF,SACY,KAAA,ECZN,KDYM;IAAA,SAAd,MAAK,ECXI,MDWJ;EAAA;EACkC,OAAd,KAAK,UAAA,CAAA,eCTF,gBDSE,CAAA,GCTkB,WDSlB,CCRtC,MDQsC,CAAA,WAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,OAAA,CAAA;EAAA,OAAtB,KAAK,WAAA,CAAA,eCLgB,gBDKhB,CAAA,GCLoC,WDKpC,CCJrB,MDIqB,CAAA,WAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,QAAA,CAAA;;AAAtB,cCAU,WAAA,SAAoB,KAAA,CDA9B;EAaH,SAAY,MAAA,ECZc,aDYd,CCZ4B,gBAAA,CAAiB,KDY7C,CAAA;EAAA,WAAA,CAAA,MAAA,ECVU,aDUV,CCVwB,gBAAA,CAAiB,KDUzC,CAAA;;AACA,kBCJa,IAAA,CDIb;EAAA,OAAoB,UAAA,aAAA,CAAA;IAAA,KAAR,ECFb,IDEa,EAAA,GAAA,SAAA;EAAA;EAAR,OACwB,UAAA,IAAA,CAAA,IAAA,OAAA,CAAA,CAAA;IAAA,UCC1B,UAAA,CDDgD,EAAA,IAAA;IAAA,SAAR,GAAA,EAAA,MAAA,GAAA,MAAA;IAAA,SAAR,MAAA,ECGzB,gBDHyB,CCGR,CDHQ,CAAA;IAAA,SAA9B,KAAK,ECID,CDJC;EAAA;EAGrB,OAAgB,UAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAAA,KAAA,ECKJ,CDLI,CAAA,ECKA,IDLA,CCKK,CDLL,CAAA;IAAA,SAAgB,GAAA,EAAA,MAAA,GAAA,MAAA;IAAA,OACvB,EAAA,CAAK,UCMU,ODNV,CCMkB,CDNlB,CAAA,CAAA,CAAA,CAAA,ECMyB,CDNzB,EAAA,GCM+B,CDN/B;IAAA,IAAA,EACsB,CAAA,MAAA,ECMjB,aDNiB,GCMD,IDNC,EAAA,GAAA,SAAA,EAAA,GCMsB,CDNtB,EAAA;IAAA,IAAA,EAAc,CAAA,MAAA,ECO/B,aDP+B,GCOf,IDPe,EAAA,GAAA,SAAA,EAAA,GCOQ,CDPR,GAAA,SAAA;IAAA,GAAA,EAAR,CAAA,MAAA,ECQxB,aDRwB,GCQR,IDRQ,EAAA,GAAA,SAAA,EAAA,GCQe,CDRf;EAAA;EAAa,OAA3C,UAAK,aAAA,CAAA,CAAA,CAAA,SCW2B,MDX3B,CCWkC,CDXlC,CAAA,CAAA;IAAA,CAAA,KACE,CAAA,ECWN,CDXM,CAAA,ECWF,IDXE,CCWG,CDXH,CAAA;IAAA,YAAG,ECYJ,CDZI;EAAA;AAAnB;kBCgBsB,IAAA;0BACC,IAAI,QAAQ;8BA3FtC,CAAA,EAGA,CAAA,CAEA,GAwFM,CAxFW,GAyFX,OAzFW,CAyFH,CAzFG,CAAA,GA0FX,SA1FW,CA0FD,CA1FC,EA0FE,CA1FF,CAAA,GA2FX,cA3FW,CA2FI,CA3FJ,EA2FO,CA3FP,CAAA;EAAA,OAAA,KAAA,cAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,EA6FyB,UA7FzB,EAAA,GA6FwC,MA7FxC,CA6F+C,CA7F/C,CAAA;EAAA,OAA2C,KAAA,WAAA,CAAA,CAAA,EACb,CAAA,CAAO,GAAA,CAAA,YAA9B,EA8FN,CA9FM,EAAA,KAAiB,EA+F9B,UA/F8B,EAAA,GAgGlC,MAhGkC,CAgG3B,CAhG2B,CAAA;EAAA,OAAA,KAAA,uBAAA,CAGzC,CAAA,EAAyB,CAAA,CAAA,GAAA,CAAA,KAC0B,EA+FxC,UA/FwC,EAAA,GAgG5C,eAhG4C,CAgG5B,CAhG4B,EAgGzB,CAhGyB,CAAA;EAAA,OAKnC,KAAA,oBAAA,CAAA,CAAA,EAAP,CAAA,EAAgC,CAAA,CAAP,GAAA,CAAA,YAAR,EA6FR,CA7FQ,EAAA,KAAA,EA8Ff,UA9Fe,EAAA,GA+FnB,eA/FmB,CA+FH,CA/FG,EA+FA,CA/FA,CAAA;EAAA,OACC,KAAA,UAAA,GA+FA,MA/FA,CAAA,MAAA,EAAA,OAAA,CAAA;EAAA,OAAO,KAAA,SAAA,GAgGR,YAhGQ,CAAA,OAAA,CAAA;EAAA,OAAb,KAAA,OAAA,GAAA,GAAA,GAAA,IAAA,GAkGgB,OAlGhB,CAAA,IAAA,CAAA;EAAA,OAGwB,KAAA,UAAA,GAAA;IAAA,OAAd,EAAA,CAAA,OAAA,EAkGR,OAlGQ,EAAA,GAAA,IAAA;IAAA,OAAwB,EAAA,GAAA,GAmGpC,OAnGoC,CAAA,IAAA,CAAA;IAAA,MAGnC,EAAA,GAAA,GAiGF,OAjGE,CAAA,IAAA,CAAA;IAAA,KAKe,EA6FxB,KA7FwB;EAAA,CAAA;EAAd,OAKa,KAAA,IAAA,GAAA,MAAA,GAAA,UAAA,GAAA,MAAA,GAAA,QAAA;EAAA,OAAc,UAAA,YAAA,CAAA,CAAA,CAAA,SA6FL,IAAA,CAAK,aA7FA,CAAA;IAAA,CA8F3C,cAAA,CA9Fe,EA8FE,IA9FF;IAAA,OAIF,EA2FL,cA3FK,CA2FU,CA3FV,CAAA,GA2Fe,WA3Ff,CA2F2B,CA3F3B,EAAA,OAAA,CAAA,GAAA,SAAA;IAAA,YAGiC,EAAA,SAAA,GA2F3C,SA3F2C,GA4F3C,KA5F2C,CA4FrC,SA5FqC,CAAA,GA6F3C,MA7F2C,CAAA,MAAA,EA6F5B,SA7F4B,CAAA;EAAA;EAC/B,OACC,UAAA,QAAA,CAAA,CAAA,CAAA,SA8FkB,YA9FlB,CA8F+B,CA9F/B,CAAA,CAAA;IAAA,CA+FhB,cAAA,CA5FmC,EAAA,MAAA;IAAA,OACpC,EA4FS,cA5FT,CA4FwB,CA5FxB,CAAA,GA4F6B,WA5F7B,CA4FyC,CA5FzC,EAAA,OAAA,CAAA;IAAA;IADwD,SAInB,IAAA,EA4FtB,IA5FsB,CA4FjB,CA5FiB,CAAA;IAAA;IACrC,SADyD,QAAA,EA+FtC,QA/FsC,CA+F7B,CA/F6B,CAAA;IAAA;IAK7D,SAAa,MAAA,EA6FQ,MA7FR,CA6Fe,CA7Ff,CAAA;EAAA;EAAA,OAC2B,UAAA,QAAiB,CAAA,CAAA,CAAA,SA+FlB,YA/FkB,CA+FL,CA/FK,CAAA,CAAA;IAAA,CAgGpD,cAAA,CAhGqB,EAAA,UAAA;IAAA,OAEU,EAAA,SAAA;IAAiB,SAA/B,QAAA,EAgGC,QAhGD,CAgGU,CAhGV,CAAA;EAAA;EAHW,OAAA,UAAA,IAAA,CAAA,CAAA,CAAA,SAsGE,YAtGF,CAsGe,QAtGf,CAsGwB,CAtGxB,CAAA,CAAA,CAAA;IAUjC,CA6FK,cAAA,CA7FoB,EAAA,MAAA;IAAA,OAAA,EAAA,SAAA;IAAA,SAEd,QAAA,EA6FY,QA7FZ,CA6FqB,CA7FrB,CAAA;EAAA;EAIG,OAEwB,UAAA,MAAA,CAAA,CAAA,CAAA,SA0FD,YA1FC,CA0FY,QA1FZ,CA0FqB,CA1FrB,CAAA,CAAA,CAAA;IAAA,CA2FjC,cAAA,CA3FgB,EAAA,QAAA;IAAA,OACD,EAAA,SAAA;IAAA,SAIR,QAAA,EAwFW,QAxFX,CAwFoB,CAxFpB,CAAA;EAAA;EAAS,OAAL,KAAA,YAAA,CAAA,CAAA,CAAA,GAAA;IAAA,IAAA,EAEgB,SAAA;IAAA,OAAR,EAyFoC,OAzFpC,CAyF4C,CAzF5C,CAAA;EAAA,CAAA;EAAe,OAAM,KAAA,aAAA,CAAA,CAAA,CAAA,GAAA;IAAA,IAAA,EAC1B,UAAA;IAAA,KAAgB,EAyFyB,CAzFzB;EAAA,CAAA;EAAuB,OACvC,KAAA,aAAA,GAAA;IAAA,IAAA,EAAgB,UAAA;IAAA,KAAuB,EAAA,OAAA;EAAA,CAAA;EACxC,OAAgB,KAAA,YAAA,CAAA,CAAA,CAAA,GA2F5B,YA3F4B,CA2Ff,CA3Fe,CAAA,GA4F5B,aA5F4B,CA4Fd,CA5Fc,CAAA,GA6F5B,aA7F4B;EAAA,OAAuB,UAAA,QAAA,CAAA,CAAA,CAAA,SA+FlB,IAAA,CAAK,aA/Fa,CAAA;IAAA,MAGN,EAAA,EAAA,SAAA,GA6FzB,YA7FyB,CA6FZ,CA7FY,CAAA;IAAA,GAAA,EACtC,EA8FF,CA9FE;IAAA,OAAS,CAAA,KAAA,CAAA,EAAA,OAAA,CAAA,EA+FQ,OA/FR,CA+FgB,CA/FhB,CAAA;IAAA,OAAL,CAAA,IAAA,CAAA,EAAA,OAAA,CAAA,EAgGY,OAhGZ,CAAA,IAAA,CAAA;IAAA,MACC,CAAA,QAAA,EAgGG,CAhGH,GAAA,CAAA,CAAA,OAAA,EAgGkB,CAhGlB,EAAA,GAgGwB,CAhGxB,CAAA,CAAA,EAgG6B,OAhG7B,CAAA,IAAA,CAAA;IAAA,GAAA,CAAA,KAF0B,EAmG7B,CAnG6B,CAAA,EAmGzB,OAnGyB,CAAA,IAAA,CAAA;IAAA,SAAA,CAAA,QAAA,EAAA,CAAA,KAAA,EAoGZ,CApGY,EAAA,GAAA,IAAA,CAAA,EAoGC,OApGD;EAM5C;EAAyB,OAAA,UAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAkGpB,cAAA,CAjGqB,EAAA,QAAA;IAAA,QAAY,EAkGxB,QAlGwB,CAkGf,CAlGe,CAAA;IAAA,KAAR,EAmGnB,CAnGmB;EAAA;EAExB,OACQ,KAAA,WAAA,CAAA,CAAA,CAAA,GAmGiB,CAnGjB,SAoGR,QApGQ,CAAA,KAAA,EAAA,CAAA,GAqGR,QArGQ,CAAA,KAAA,EAAA,CAAA,GAsGR,gBAtGQ,CAAA,KAAA,EAAA,CAAA,GAuGR,OAvGQ,CAuGA,CAvGA,CAAA,GAwGR,CAxGQ,SAwGE,IAxGF,CAAA,KAAA,EAAA,CAAA,GAwGkB,MAxGlB,CAAA,KAAA,EAAA,CAAA,GAyGR,QAzGQ,CAyGC,OAzGD,CAyGS,CAzGT,CAAA,CAAA,GA0GR,CA1GQ,SA0GE,eA1GF,CAAA,KAAA,EAAA,EAAA,KAAA,EAAA,CAAA,GAAA,CAAA,GAAA,IAAA,EA2GE,CA3GF,EAAA,GA2GQ,OA3GR,CA2GgB,OA3GhB,CA2GwB,CA3GxB,CAAA,CAAA,GA4GR,CA5GQ,SA6GJ,aA7GI,CA6GU,IAAA,CAAK,YA7Gf,CAAA,OAAA,CAAA,CAAA,GA8GJ,MA9GI,CAAA,MAAA,EA8GW,IAAA,CAAK,YA9GhB,CAAA,OAAA,CAAA,CAAA,GAAA,QAAA,MA+GM,CA/GN,GA+GU,WA/GV,CA+GsB,CA/GtB,CA+GwB,CA/GxB,CAAA,CAAA,EAAA,GAAA,KAAA;EAAA,KAAA,CAAR,GAkHK,WAlHL,CAAA,CAkHkB,IAAA,CAAK,QAlHvB,CAAA,MAAA,CAAA,EAkHyC,IAAA,CAAK,QAlH9C,CAAA,MAAA,CAAA,CAAA,CAAA;EAAA;EACU,OAAG,KAAA,KAAA,GAAA,SAAA,GAAA,QAAA,GAAA,SAAA;EAAA,OAAb,KAAA,QAAA,GAqHmB,MArHnB,CAAA,OAAA,CAAA;EAAA,KAAA,mBACe,GAAA,IAAA,GAqHe,QArHf;EAAA,OAAG,KAAA,cAAA,GAAA,CAAA,KAAA,EAAA,SAAA,GAAA,QAAA,EAAA,QAAA,EAyHV,QAzHU,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EA2Hb,KA3Ha,EAAA,GA4HjB,mBA5HiB,GA4HK,OA5HL,CA4Ha,mBA5Hb,CAAA;EAAA,OAAlB,KAAA,eAAA,GAAA,CAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAgIQ,QAhIR,CAAA,OAAA,CAAA,EAAA,KAAA,EAiIK,KAjIL,EAAA,GAAA,IAAA,GAkIQ,OAlIR,CAAA,IAAA,CAAA;EAAA,OAEoC,KAAA,MAAA,GAAA;IAAA,IAAA,CAAsB,EAAA,CAAA,KAAA,EAoInD,KApImD,EAAA,UAAA,EAAA;MAAA,QAAP,EAqI3B,IAAA,CAAK,QArIsB,CAAA,OAAA,CAAA,EAAA;IAAA,CAAA,EAAA,GAEvC,IAAA,GAoIF,OApIE,CAAA,IAAA,CAAA;IAAA,OACP,CAAA,EAAA,CAAA,KAAA,EAoIW,KApIX,EAAA,GAAA,IAAA,GAoI4B,OApI5B,CAAA,IAAA,CAAA;EAAA,CAAA;EACG,OAAP,KAAA,oBAAA,GAsI8B,IAAA,CAAK,YAtInC,CAAA,OAAA,CAAA;EAAA,OAGI,KAAA,mBAAA,GAsIL,aAtIK,CAsIS,IAAA,CAAK,YAtId,CAAA,OAAA,CAAA,CAAA,GAuIL,MAvIK,CAAA,MAAA,EAuIU,IAAA,CAAK,YAvIf,CAAA,OAAA,CAAA,CAAA;EAAA,OACY,KAAA,cAAA,GAwIQ,oBAxIR,GAwI+B,mBAxI/B;EAAA,OAAG,KAAA,UAAA,CAAA,UAyIS,cAzIT,CAAA,GA0ItB,CA1IsB,SA0IZ,oBA1IY,GA2IlB,CA3IkB,GAAA,QAAA,MA6IJ,CA7II,GA6IA,CA7IA,CA6IE,CA7IF,CAAA,EAAA;EAAA,OAAnB,UAAA,GAAA,SAiJK,IAjJL,CAiJU,IAAA,CAAK,KAjJf,EAAA,QAAA,GAAA,KAAA,GAAA,YAAA,GAAA,UAAA,CAAA,CAAA,CAAA;EAAA,OAEW,UAAA,KAAA,CAAA;IAAA,QACP,CAAA,CAAA,CAAA,CAAA,QAAA,EAiJe,IAAA,CAAK,QAjJpB,CAiJ6B,CAjJ7B,CAAA,EAAA,KAAA,CAAA,EAAA,OAAA,CAAA,EAiJmD,QAjJnD,CAiJ4D,CAjJ5D,CAAA;IAAA,OACY,EAAA,EAAA,CAiJP,IAAA,CAAK,QAjJE,CAAA,OAAA,CAAA,EAiJiB,IAAA,CAAK,QAjJtB,CAAA,OAAA,CAAA,CAAA,EAAA;IAAA,OAAG,CAAA,CAAA,CAAA,CAAA,QAAA,EAmJD,IAAA,CAAK,QAnJJ,CAmJa,CAnJb,CAAA,EAAA,KAAA,CAAA,EAAA,OAAA,CAAA,EAmJmC,OAnJnC,CAmJ2C,CAnJ3C,CAAA;IAAA,eAAnB,CAAA,CAAA,CAAA,CAAA,QAAA,EAoJ0B,IAAA,CAAK,QApJ/B,CAoJwC,CApJxC,CAAA,CAAA,EAoJ6C,OApJ7C,CAoJqD,QApJrD,CAoJ8D,CApJ9D,CAAA,CAAA;IAAA,MACoB,CAAA,CAAA,CAAA,CAAA,QAAA,EAsJX,QAtJW,CAsJF,CAtJE,CAAA,EAAA,QAAA,EAuJX,CAvJW,GAAA,CAAA,CAAA,OAAA,EAuJI,CAvJJ,EAAA,GAuJU,CAvJV,CAAA,CAAA,EAwJpB,OAxJoB,CAAA,IAAA,CAAA;IAAA,GAAA,CAAA,CACD,CAAA,CAAA,QAAA,EAwJL,QAxJK,CAwJI,CAxJJ,CAAA,EAAA,KAAA,EAwJe,CAxJf,CAAA,EAwJmB,OAxJnB,CAAA,IAAA,CAAA;IAAA,OAEW,CAAA,QAAA,EAwJf,QAxJe,CAAA,GAAA,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,CAAA,EAwJiB,OAxJjB,CAAA,IAAA,CAAA;IAAA,OAGd,EAAA,EAuJR,OAvJQ,CAAA,IAAA,CAAA;IAAA,QACJ,CAAA,CAAA,CAAA,CAAA,QAAA,EAyJH,QAzJG,CAyJM,CAzJN,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,EA0JQ,QA1JR,CA0JiB,CA1JjB,CAAA,EAAA,GAAA,IAAA,CAAA,EA2JZ,OA3JY;IAAA,QACD,CAAA,EAAA,EA4JD,cA5JC,CAAA,EA4JgB,OA5JhB;IAAA,SACP,CAAA,EAAA,EA4JO,eA5JP,CAAA,EA4JyB,OA5JzB;IAAA,GAAA,CAAA,UAMW,EAwJF,MAxJE,CAAA,EAwJO,OAxJP;IAAA,GAAA,CAAA,GAAjB,OAAA,EA0Je,MA1Jf,CAAA,OAAA,CAAA,EAAA,CAAA,EA0JmC,GA1JnC;IAAA,UACuB,CAAA,KAAA,EA0JN,GA1JM,CAAA,EA0JA,OA1JA,CAAA,IAAA,CAAA;EAAA;;AAAK,kBA8JhB,IAAA,CA9JgB;EAAA,KAAA,OAGzB,GAAA,CAAA,CAAA;EAAA,KAAA,eACM,GAAA,CAAA,CAAA;EAAA,KAAA,UAAN,GAAA;IAAA,KACe,CAAA,EA8JX,IAAA,CAAK,KA9JM;IAAA,IAAA,CAAf,EAAA,MAAA;IAAA,WAPwC,CAAA,EAAA,MAAA;IAAA,OAUI,CAAA,EA8JtC,UA9JsC,EAAA;IAAA,OAC/C,CAAA,EA8JS,IAAA,CAAK,MA9Jd,CAAA,OAAA,CAAA,EAAA;EAAA,CAAA;EACuB,KAAA,UAAf,GAAA;IAAA,OAAgC,EAAA,CAAA,KAAZ,EAAA,MAGT,CAAA,CAAA,KAAL,EA+JN,IA/JM,CA+JD,KA/JC,EA+JM,MA/JN,CAAA,EAAA,KAAA,EAgKN,KAhKM,EAAA,GAAA,CAAA,EAiKP,UAjKO,EAAA,GAkKV,OAlKU,CAkKF,MAlKE,CAAA;IAAA,WAGa,EAAA,CAAA,KAAT,EAAA,MAGK,CAAA,CAAA,KAAP,EA8JR,IA9JQ,CA8JH,KA9JG,EA8JI,MA9JJ,CAAA,EAAA,KAAA,EA+JR,KA/JQ,EAAA,GAAA,CAAA,EAgKT,UAhKS,EAAA,GAiKZ,OAjKY,CAiKJ,MAjKI,CAiKG,MAjKH,CAAA,CAAA;EAAA,CAAA;EAXkB,KAAA,kBAca,CAAA,KAC/C,EAAA,MAE2B,CAAA,GAAA,CAAA,KAAT,EA+JZ,KA/JY,EAAA,OAAA,EAgKV,UAhKU,GAAA;IAAA,OAHgB,EAmKF,gBAnKE;EAAA,CAAA,EAAA,GAoKhC,MA9JkD,GA8JzC,OA9JyC,CA8JjC,MA9JiC,CAAA;EAAA,KAAA,eAAT,CAAA,CAAA,EAC3C,KAE2B,EAAA,MAAT,CAAA,GAAA,CAAA,UAHY,EAiKnB,CAjKmB,EAAA,KAAA,EAkKxB,KAlKwB,EAAA,OAAA,EAmKtB,UAnKsB,GAAA;IAAA,OAMwB,EA6JtB,gBA7JsB;EAAA,CAAA,EAAA,GA8JpD,MA9J2C,GA8JlC,OA9JkC,CA8J1B,MA9J0B,CAAA;EAAA,KAAA,UAC7C,GAAA;IAAA,IAAA,EAE2B,MAAA;IAAA,IAAA,CAAT,CAAA,CAAA,CAAA,OAAA,EA+JF,gBA/JE,EAAA,OAAA,EAAA,GAAA,GA+J+B,OA/J/B,CA+JuC,CA/JvC,CAAA,CAAA,EA+J4C,OA/J5C,CA+JoD,CA/JpD,CAAA;EAAA,CAAA;EAHc,KAAA,IAM+B,CAAA,KAAR,EAAA,MACA,CAAA,GAAA;IAIzC,SAAb,EA2JS,kBA3JT,CA2J4B,KA3J5B,EA2JmC,MA3JnC,CAAA;EAAA,CAAA,GA4JA,MA3Jc,GA4JhB,MA5JgB,CA4JT,KA5JS,EA4JF,MA5JE,CAAA;EAAA,KAAA,MAAd,CAAA,KACA,EAAA,MAGiC,CAAA,GAAA;IAAb,KAEf,EAyJA,gBAzJA,CAyJiB,KAzJjB,CAAA;IAAA,MAC2B,EAyJ1B,gBAzJ0B,CAyJT,MAzJS,CAAA;EAAA,CAAA;EAAR,KAAA,MACD,GAAA;IAAA,IAAA,CACR,EAAA,MAAA;IAAA,WAAe,CAAA,EAAA,MAAA;IAAA,OAAM,CAAA,EA6J5B,UA7J4B,EAAA;IAAA,KAAK,CAAA,EA8JnC,IAAA,CAAK,IA9J8B,EAAA;EAAA,CAAA;EAChC,KAAA,QAAI,CAAA,KACa,EAAA,MAAa,CAAA,GA+JL,IAAA,CAAK,QAvKD,CAuKU,IAvKV,CAuKe,KAvKf,EAuKsB,MAvKtB,CAAA,CAAA,GAwKxC,MAxKwC,GAyKxC,MAzKwC,CAyKjC,KAzKiC,EAyK1B,MAzK0B,CAAA;EAAA,KAAA,gBAYvC,CAAA,QACkB,GAAA,EAAA,SAAT,GAAA,CAAA,GAAA;IACH,IAAA,EA8JD,GA3JqB,CAAA,OAAA,EAAA,OAAA,CAAA;IAAA,MACzB,CAAA,EA2JO,gBA3JP;IAAA,KACA,EA2JK,IAAA,CAAK,KA3JV;IAAA,OACA,EA2JO,UA3JP,EAAA;IAAA,IAAA,EA4JI,IA3JI,CA2JC,KA3JD,EA2JQ,MA3JR,CAAA;EAAA,CAAA;EAAR,KAAA,OACA,CAAA,CAAA,CAAA,GAAA;IAAA,IAAA,EAAU,SAAA;IAAA,KAAgB,EA6JqB,CA7JrB;EAAA,CAAA;EACT,KAAA,KAAR,GAAA;IAAA,IAAA,EAAT,OAAA;IAAA,KACA,EAAA,OAAA;EAAA,CAAA;EAAU,KAAA,MACA,CAAA,CAAA,CAAA,GA6JU,OA7JV,CA6JkB,CA7JlB,CAAA,GA6JuB,KA7JvB;EAAA,KAAA,eAAsB,CAAA,MAAA,CAAA,GAAA;IAAA,OAAR,EAgKjB,gBAhKiB;IAAA,MAAR,EAiKV,MAjKU,CAiKH,MAjKG,CAAA;EAAA,CAAA;;AAEZ,kBAmKO,KAAA,CAnKP;EAAA,KAAA,GACe,GAAK,OAAA;EAAA,KAAA,aAApB,CAAA,CAAA,EACU,CAAA,CAAgB,GAmKA,IAAA,CAAK,QAnKH,CAAA,CAAA,CAAA,EAmKgB,CAnKhB,EAAA,GAmKsB,OAnKtB,CAmK8B,CAnK9B,CAAA,CAAA;;;;ADvMhB,iBEmEN,cAAA,CFnEM,QAAA,EEoEV,IAAA,CAAK,YFpEK,CAAA,OAAA,CAAA,CAAA,EAAA,QAAA,IEqEP,IAAA,CAAK,IFrEE,CAAA,OAAA,CAAA;AAAA,iBEyEN,kBAAA,CFzEM,QAAA,EE0EV,IAAA,CAAK,YF1EK,CAAA,OAAA,CAAA,CAAA,EAAA,QAAA,IE2EP,IAAA,CAAK,QF3EE,CAAA,OAAA,CAAA;AAEV,iBE6EI,gBAAA,CF7EC,QAAA,EE8EL,IAAA,CAAK,YF9EA,CAAA,OAAA,CAAA,CAAA,EAAA,QAAA,IE+EF,IAAA,CAAK,MF/EH,CAAA,OAAA,CAAA;AAAoB,iBEmFrB,cAAA,CFnFqB,QAAA,EAAA,OAAA,CAAA,EAAA,QAAA,IEqFtB,IAAA,CAAK,QFrFiB,CAAA,OAAA,CAAA;AAA/B,iBEyFU,UFzFV,CAAA,CAAA,CAAA,CAAA,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IEyFkD,IAAA,CAAK,YFzFvD,CEyFoE,CFzFpE,CAAA;AACe,iBE4FL,QAAA,CF5FU,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IE4FyB,IAAA,CAAK,MF5F9B,CAAA,OAAA,CAAA;AAAoB,iBEqG9B,OFrG8B,CAAA,CAAA,CAAA,CAAA,OAAA,EEsGnC,IAAA,CAAK,cFtG8B,CEsGf,CFtGe,CAAA,EAAA,GAAA,KAAA,EEuGlC,IAAA,CAAK,IFvG6B,EAAA,CAAA,EEwG3C,IAAA,CAAK,QFxGsC,CEwG7B,CFxG6B,CAAA;AAAxC,iBE4GU,MF5GV,CAAA,CAAA,EAEQ,UE0GsB,IAAA,CAAK,cFzGd,CAAA,CAAA,aAAI,EAAA,QAAA,ME0GA,CF1GA,GE0GI,CF1GJ,CE0GM,CF1GN,CAAA,EAAA,EAAA,QAAA,EE2GnB,IAAA,CAAK,WF3Gc,CE2GF,CF3GE,EE2GC,IAAA,CAAK,WF3GN,CE2GkB,CF3GlB,CAAA,CAAA,EAAA,GAAA,KAAA,EE4GnB,IAAA,CAAK,IF5Gc,EAAA,CAAA,EE6G5B,IAAA,CAAK,QF7GuB,CE6Gd,CF7Gc,CAAA;AAAE,iBEiHjB,MFjHiB,CAAA,CAAA,CAAA,CAAA,CAAA,EEkH5B,IAAA,CAAK,QFlHuB,CEkHd,CFlHc,CAAA,GEkHT,SFlHS,CEkHC,CFlHD,CAAA,EAAA,CAAA,EEmH5B,CFnH4B,CAAA,EEoH9B,IAAA,CAAK,MFpHyB,CEoHlB,CFpHkB,CAAA;AAAA;;;KGP5B,cHCL,CAAA,EAAsB,CAAA,CAAA,GGDK,IAAA,CAAK,QHGf,CAAA,CAAA,CAAA,EGH4B,CHG5B,EAAA,GGHkC,IAAA,CAAK,QHGvC,CGHgD,CHGhD,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EGFR,CHEQ,EAAA,GGFF,IAAA,CAAK,QHEH,CGFY,CHEZ,CAAA,CAAA,GAAA;EAAA,OAAoB,EAAA,CAAA,KAAA,EGDhB,IAAA,CAAK,KHCW,EAAA,GGDD,OHCC,CAAA,IAAA,CAAA;EAAA,EAAA,EGA7B,IAAA,CAAK,MHAP,CAAA,OAAA,CAAA;CAAA;AACwC,KGElC,aHFkC,CAAA,CAAA,EAAxC,CAAA,EAEQ,CAAA,CACa,GAAA,CAAA,YAAI,EGAf,CHAe,EAAA,GAAA,EGCxB,CHDwB,EAAA,KAAA,EGEtB,IAAA,CAAK,UHFiB,EAAA,GGG1B,IAAA,CAAK,MHHqB,CGGd,CHHc,CAAA;KGK1B,MHL4B,CAAA,CAAA,CAAA,GAAA;EAAA,SACR,EGKZ,gBHLY,CGKK,CHLL,CAAA;EAAA;EAAqB,YAAE,CAAA,EAAA,CAAA,GAAA,EGOzB,CHPyB,EAAA,GAAA,OAAA;CAAA;KGU3C,YHVF,CAAA,CAAA,EA4BH,UGlB+B,IAAA,CAAK,cHkBxB,CAAA,GGlB0C,MHkB1C,CGlBiD,CHkBjD,CAAA,GAAA;EAAA,YACkB,EGlBd,CHkBc;CAAA;AAAT,iBG0CL,SH1CK,CAGrB,CAAA,EAAY,CAAA,CAAA,CAAA,MACiC,EGuCnC,MHvCmC,CGuC5B,CHvC4B,CAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EGwC5B,CHxC4B,EAAA,UAAA,EGwCb,IAAA,CAAK,UHxCQ,EAAA,GGwCO,CHxCP,GGwCW,OHxCX,CGwCmB,CHxCnB,CAAA,EAAA,GAAA,KAAA,EGyCjC,IAAA,CAAK,IHzC4B,EAAA,CAAA,EG0C1C,aH1C0C,CG0C5B,CH1C4B,EG0CzB,CH1CyB,CAAA;AAAd,iBG6Df,QH7DoB,CAAA,CAAA,EAAjB,CAAA,EAAb,UG6DiC,IAAA,CAAK,cH5Dd,CAAA,CAAA,MAAd,EG6DN,YH7DW,CG6DE,CH7DF,EG6DK,IAAA,CAAK,UH7DV,CG6DqB,CH7DrB,CAAA,CAAA,EAAA,OAAA,EG8DV,aH9DU,CG8DE,CH9DF,EG8DK,CH9DL,EG8DQ,IAAA,CAAK,WH9Db,CG8DyB,CH9DzB,CAAA,CAAA,EAAA,GAAA,KAAA,EG+DT,IAAA,CAAK,IH/DI,EAAA,CAAA,EGgElB,aHhEkB,CGgEJ,CHhEI,EGgED,CHhEC,CAAA;AAAA;;;iBI5CL,iBJGhB,MAAsB,CAAA,CAAA,MAAA,EIFZ,IAAA,CAAK,MJEO,GIFE,IAAA,CAAK,MJEP,CIFc,KJEd,EIFqB,MJErB,CAAA,EAAA,OAAA,EIDX,IAAA,CAAK,kBJCM,CIDa,KJCb,EIDoB,MJCpB,CAAA,CAAA,EIAnB,IAAA,CAAK,QJAc,CIAL,KJAK,EIAE,MJAF,CAAA;AAEV,iBIiBI,QJjBC,CAAA,UIiBgB,IAAA,CAAK,cJjBD,EAAA,KAAA,EAA/B,MACe,CAAK,CAAA;EAAA,YAAoB;EAAA,GAAA;AAEhC,CAFgC,EAAA;EAAA,YAAxC,EIqBY,IAAA,CAAK,UJrBjB,CIqB4B,CJrB5B,CAAA;CAAA,GIsBA,IAAA,CAAK,MJpBG,GIqBV,IAAA,CAAK,MJrBK,CIqBE,KJrBF,EIqBS,MJrBT,CAAA,EAAA,OAAA,EIsBH,IAAA,CAAK,eJtBF,CIsBkB,IAAA,CAAK,WJtBvB,CIsBmC,CJtBnC,CAAA,EIsBuC,KJtBvC,EIsB8C,MJtB9C,CAAA,CAAA,EIuBX,IAAA,CAAK,QJvBM,CIuBG,KJvBH,EIuBU,MJvBV,CAAA;;AACiB,cI0ClB,aJ1CkB,EAAA;EAAA,SAAE,UAAA,EAAA,YAAA;EAAA,SACR,OAAA,EAAA,SAAA;EAAA,SAAqB,SAAA,EAAA,WAAA;EAAA,SAAE,UAAA,EAAA,YAAA;EAAA,SAAnB,MAAK,EAAA,QAAA;EAAA,SAA/B,KAAA,EAAA,OAAA;EAAA,SAAA,OAAA,EAAA,SAAA;AA4BH,CAAA;AAAY,KIuBA,aAAA,GJvBA,CAAA,OIuBwB,aJvBxB,CAAA,CAAA,MAAA,OIuBoD,aJvBpD,CAAA;;AACI,cIyBH,SAAA,SAAkB,KAAA,CJzBV;EAAA,IAAA,EI0Bb,aJ1Ba;EAGrB,OAAY,CAAA,EAAA,GAAA;EAAA,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EI0ByB,aJ1BzB,EAAA,OAAA,CAAA,EAAA,GAAA;EAAA;EACiC,OAAd,UAAK,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EIiCiB,SJjCjB;EAAA,OAAtB,OAAK,CAAA,OAAA,CAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EIwCd,SJxCc;EAAA,OAAb,SAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EI4C8C,SJ5C9C;EAAA,OACwB,UAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EI+CuB,SJ/CvB;;AAAT,iBIyIC,OJzID,CAGrB,KAAgB,EAAA,MAAA,CAAA,CAAA,QACP,EIsIG,IAAA,CAAK,QJtIH,CIsIY,KJtIZ,EIsImB,MJtInB,CAAA,EAAA,KAAA,EIuIL,KJvIK,EAAA,GAAA,CAAA,EIwIN,IAAA,CAAK,UJxIC,CAAA,EIyIX,OJzIW,CIyIH,IAAA,CAAK,eJzIF,CIyIkB,MJzIlB,CAAA,CAAA;;;UKlDG,SAAA;;ELKjB,GAAsB,CAAA,GAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,CAAA,EAAA,OAAA;;AAEV,UKFK,YLEA,CAAA,CAAA,CAAA,CAAA;EAAA,SAAoB,GAAA,EAAA,MAAA;EAAA,GAAA,CAAA,KAA/B,EKAO,SLAP,CAAA,EKAmB,CLAnB;EAAA,IAAA,CAAA,KACe,EKAP,SLAY,CAAA,EKAA,CLAA,GAAA,SAAA;EAAA,GAAA,CAAA,KAAoB,EKCjC,SLDiC,EAAA,KAAA,EKCf,CLDe,CAAA,EAAA,IAAA;;AAErC,cKEI,YLFC,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,MAAA,GAAA,MAAA,EAAA,MAAA,EKIJ,gBLJI,CKIa,CLJb,CAAA,EAAA,GKKX,YLLW,CKKE,CLLF,CAAA;;;iBMbE,qCNQhB,CAAA,KAAsB,EAAA,OAAA,CAAA,EAAA,KAAA,IMNV,SNMU,CMNA,CNMA,EMNG,CNMH,CAAA;AAAA,iBMKN,gBNLM,CAAA,IAAA,OAEL,EAAA,IAAA,OAAoB,CAAA,CAAA,KAA/B,EAAA,OAAA,CAAA,EAAA,KAAA,IMKM,cNLN,CMKqB,CNLrB,EMKwB,CNLxB,CAAA;AACe,iBMeL,mBAAA,CNfU,EAAA,EAAA,OAAA,CAAA,EAAA,EAAA,IMe8B,iBNf9B;AAAoB,iBMuB9B,wBAAA,CNvB8B,EAAA,EAAA,OAAA,CAAA,EAAA,EAAA,IMyBrC,sBNzBqC;AAAxC,iBMiCU,yBAAA,CNjCV,KAAA,EAAA,OAAA,CAAA,EAAA,KAAA,IMmCM,QNnCN,CAAA,OAAA,CAAA,GMmC0B,aNnC1B,CAAA,OAAA,CAAA;AAEG,iBMqCa,oBNrCR,CAAA,CAAA,EACa,CAAA,CAAI,CAAA,GAAA,EMqCxB,SNrC0B,CMqChB,CNrCgB,EMqCb,CNrCa,CAAA,GMqCR,cNrCQ,CMqCO,CNrCP,EMqCU,CNrCV,CAAA,CAAA,EMsC9B,ONtC8B,CAAA;EAAA,OACR,EMqCH,CNrCG,EAAA;EAAA,QAAqB,EMqCT,CNrCS;CAAA,CAAA;AAAjB,UM6DZ,gBN7DiB,CAAA,CAAA,EAA/B,CAAA,CA4BH,CAAA;EAAY,OAAA,CAAA,EAAA,CAAA,KAAA,EMkCQ,CNlCR,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA,GMkCoC,ONlCpC,CAAA,IAAA,CAAA;EAAA,QACkB,CAAA,EAAA,CAAA,KAAA,EMkCT,CNlCS,EAAA,GAAA,IAAA,GMkCI,ONlCJ,CAAA,IAAA,CAAA;EAAA,OAAd,CAAA,EAAA,CAAK,KAAA,EAAA,OAAA,EAAA,GAAA,IAAA,GMmCkB,ONnClB,CAAA,IAAA,CAAA;AAAA;AAGT,iBMmCU,gBNnCV,CAAA,CAAA,EAAA,CAAA,CACiC,CAAA,GAAA,EMmCtC,SNnC6B,CMmCnB,CNnCmB,EMmChB,CNnCgB,CAAA,GMmCX,cNnCW,CMmCI,CNnCJ,EMmCO,CNnCP,CAAA,EAAA,OAAA,EMoCzB,gBNpCyB,CMoCR,CNpCQ,EMoCL,CNpCK,CAAA,CAAA,EMqCjC,ONrCiC,CMqCzB,CNrCyB,CAAA;;;cO7CvB,wCAEH,iBAAiB,OACxB,IAAA,CAAK,OAAO;iBAiEC,kBAAkB,IAAA,CAAK,KAAK,KAAK,QAAQ;AP/DnC,iBOmEN,UPnEM,CAAA,IAAA,OAAA,CAAA,CAAA,QAAA,EOoEV,IAAA,CAAK,aPpEK,GOoEW,IAAA,CAAK,IPpEhB,EAAA,GAAA,SAAA,EAAA,IAAA,EOqEd,IAAA,CAAK,MPrES,COqEF,CPrEE,CAAA,CAAA,EOsEnB,CPtEmB,EAAA;AAAA,iBO+EN,SP/EM,CAAA,CAAA,CAAA,CAAA,QAAA,EOgFV,IAAA,CAAK,aPhFK,GOgFW,IAAA,CAAK,IPhFhB,EAAA,GAAA,SAAA,EAAA,IAAA,EOiFd,IAAA,CAAK,MPjFS,COiFF,CPjFE,CAAA,CAAA,EOkFnB,CPlFmB,GAAA,SAAA;;;KQ2fV,WAAA;;ER3fZ,aAAsB,CAAA,EQ6fJ,IAAA,CAAK,MR7fD,CAAA,OAAA,CAAA,EAAA;EAAA,QAAA,CAAA,EQ8fT,IAAA,CAAK,QR9fI,CAAA,OAAA,CAAA,EAAA;EAAA,OAEV,CAAA,EQ6fA,IAAA,CAAK,MR7fA,EAAA;CAAA;AAAX,iBQggBU,WAAA,CAAA,CRhgBV,EQggByB,IAAA,CAAK,KRhgB9B;AACe,iBQggBL,WAAA,CRhgBU,GAAA,EQggBO,WRhgBP,CAAA,EQggBqB,IAAA,CAAK,KRhgB1B;;;;;;;AAID,iBQogBT,WAAA,CRpgBS,GAAA,OAAA,EQogBe,IAAA,CAAK,MRpgBpB,CAAA,OAAA,CAAA,EAAA,CAAA,EQogBwC,IAAA,CAAK,KRpgB7C;AAAqB,iBQshB9B,MAAA,CRthB8B,CAAA,EQshBpB,IAAA,CAAK,MRthBe,CAAA,EQshBN,IAAA,CAAK,MRthBC;;;iBSb9B,yBAAyB,0BAC/B,yBAEP,QAAQ,gBAAA,CAAiB,YAAY;iBAalB,8BAA8B,0BAC1C,yBAEP,QAAQ,QAAQ,gBAAA,CAAiB,YAAY;ATb1B,iBS+BN,MT/BM,CAAA,CAAA,CAAA,CAAA,CAAA,ES+BO,gBT/BP,CS+BwB,CT/BxB,ES+B2B,CT/B3B,CAAA;AAAA;;;cUJT8F;QACL,IAAA,CAAK;EVGb,MAAsB,EAAA,GAAA,GUFN,IAAA,CAAK,MVEC;CAAA;;;AAMS,cWGlBC,IXHkB,EWGZ,IAAA,CAAK,MXHO,CAAA,MAAA,CAAA"}
package/dist/index.js CHANGED
@@ -398,6 +398,9 @@ var BaseScope = class {
398
398
  currentSet.add(cleanup);
399
399
  },
400
400
  release: async () => this.release(requestor),
401
+ reload: async () => {
402
+ await this.resolve(requestor, true);
403
+ },
401
404
  scope: this
402
405
  };
403
406
  const resolve = (force) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["executorSymbol: unique symbol","metaSymbol: unique symbol","issues: ReadonlyArray<StandardSchemaV1.Issue>","schema: TSchema","data: unknown","key: string | symbol","schema: StandardSchemaV1<V>","value: V","d: Partial<V>","source: Meta.MetaContainer | Meta.Meta[] | undefined","meta: Meta.Meta<V>","meta","executor: Meta.MetaContainer | Meta.Meta[] | undefined","meta: Meta.MetaFn<V>","factory: Core.NoDependencyFn<T> | Core.DependentFn<T, unknown>","dependencies:\n | undefined\n | Core.UExecutor\n | Array<Core.UExecutor>\n | Record<string, Core.UExecutor>","metas: Meta.Meta[] | undefined","_: unknown","controller: Core.Controller","f","executor: Core.BaseExecutor<unknown>","executor: unknown","input: unknown","factory: Core.NoDependencyFn<T>","pdependencies: D","pfactory: Core.DependentFn<T, Core.InferOutput<D>>","e: Core.Executor<T> | Escapable<T>","v: T","option: Option<K>","poolId: Meta.MetaFn<any>","keyPool: Map<unknown, Core.Executor<T>>","createNewExecutor: (key: K) => Core.Executor<T>","providerMetas: Meta.Meta[]","key: K","ctl: Core.Controller","multiExecutor: MultiExecutor<T, K>","scope: Core.Scope","provide","valueFn: (key: K, controller: Core.Controller) => T | Promise<T>","derive","option: DeriveOption<K, D>","valueFn: DependentFn<T, K, Core.InferOutput<D>>","value: unknown","fn: unknown","gen: Generator<Y, T> | AsyncGenerator<Y, T>","yielded: Y[]","returned: T","result: IteratorResult<Y, T>","handler: GeneratorHandler<Y, T>","e: Core.UExecutor","options?: ScopeOption","preset","plugin","e: UE","ie: Core.UExecutor","ref: UE","ie:\n | undefined\n | Core.UExecutor\n | Core.UExecutor[]\n | Record<string, Core.UExecutor>","r: Record<string, unknown>","cleanup: Core.Cleanup","force: boolean","resolve","soft: boolean","updateFn: unknown | ((current: unknown) => unknown)","cb: (value: unknown) => void","executor: Core.Executor<T>","e: Core.Executor<T>","u: T | ((current: T) => T)","value: T | undefined","value: T","e: Core.Executor<unknown>","s: boolean","cb: (a: Core.Accessor<T>) => void | Promise<void>","ou","callback: Core.ChangeCallback","cb: Core.ReleaseCallback","plugin: Core.Plugin","pod: Core.Pod","m: Core.Plugin","scope: BaseScope","option?: ScopeOption","force?: boolean","provide","config: Flow.Config & Flow.Schema<Input, Output>","handler: Flow.NoDependencyFlowFn<Input, Output>","derive","handler: Flow.DependentFlowFn<\n { [K in keyof D]: Core.InferOutput<D[K]> },\n Input,\n Output\n >","deps: unknown","message: string","type: FlowErrorType","details?: any","context: Flow.ExecutionContext","key: any","value: any","controller: Flow.Controller & { context: typeof contextWithHelpers }","childContext: Flow.ExecutionContext","plugin","executor: Flow.Executor<Input, Output>","input: Input","opt?: Flow.ExecuteOpt","flow: Flow.Flow<Input, Output>","executionResult: Flow.Result<Output>","key: string | symbol","schema: StandardSchemaV1<T>","store: DataStore","value: T","scope: Core.Scope","executors: { [K in keyof T]: T[K] }","result","executor: Core.Executor<T>","fn: PreparedExecutor<Core.InferOutput<Core.Executor<T>>>","executor: Core.Executor<(...args: A) => Promise<T> | T>","fn: AdaptedExecutor<A, T>","fn","eager: {\n meta: Meta.MetaFn<boolean>;\n plugin: () => Core.Plugin;\n}","name: Meta.MetaFn<string>"],"sources":["../src/types.ts","../src/ssch.ts","../src/meta.ts","../src/executor.ts","../src/multi.ts","../src/generator-utils.ts","../src/scope.ts","../src/flow.ts","../src/data-accessor.ts","../src/helpers.ts","../src/plugins.ts","../src/index.ts"],"sourcesContent":["import { AdaptedExecutor, PreparedExecutor } from \"./helpers\";\n\nexport const executorSymbol: unique symbol = Symbol.for(\n \"@pumped-fn/core/executor\"\n);\nexport const metaSymbol: unique symbol = Symbol.for(\"@pumped-fn/core/meta\");\n\nexport interface StandardSchemaV1<Input = unknown, Output = Input> {\n readonly \"~standard\": StandardSchemaV1.Props<Input, Output>;\n}\n\nexport declare namespace StandardSchemaV1 {\n export interface Props<Input = unknown, Output = Input> {\n readonly version: 1;\n readonly vendor: string;\n readonly validate: (\n value: unknown\n ) => Result<Output> | Promise<Result<Output>>;\n readonly types?: Types<Input, Output> | undefined;\n }\n\n export type Result<Output> = SuccessResult<Output> | FailureResult;\n\n export interface SuccessResult<Output> {\n readonly value: Output;\n readonly issues?: undefined;\n }\n\n export interface FailureResult {\n readonly issues: ReadonlyArray<Issue>;\n }\n\n export interface Issue {\n readonly message: string;\n readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined;\n }\n\n export interface PathSegment {\n readonly key: PropertyKey;\n }\n\n export interface Types<Input = unknown, Output = Input> {\n readonly input: Input;\n readonly output: Output;\n }\n\n export type InferInput<Schema extends StandardSchemaV1> = NonNullable<\n Schema[\"~standard\"][\"types\"]\n >[\"input\"];\n\n export type InferOutput<Schema extends StandardSchemaV1> = NonNullable<\n Schema[\"~standard\"][\"types\"]\n >[\"output\"];\n}\n\nexport class SchemaError extends Error {\n public readonly issues: ReadonlyArray<StandardSchemaV1.Issue>;\n\n constructor(issues: ReadonlyArray<StandardSchemaV1.Issue>) {\n super(issues[0].message);\n this.name = \"SchemaError\";\n this.issues = issues;\n }\n}\n\nexport declare namespace Meta {\n export interface MetaContainer {\n metas: Meta[] | undefined;\n }\n\n export interface Meta<V = unknown> {\n readonly [metaSymbol]: true;\n readonly key: string | symbol;\n readonly schema: StandardSchemaV1<V>;\n readonly value: V;\n }\n\n export interface MetaFn<V> {\n (value: V): Meta<V>;\n readonly key: string | symbol;\n partial: <D extends Partial<V>>(d: D) => D;\n some: (source: MetaContainer | Meta[] | undefined) => V[];\n find: (source: MetaContainer | Meta[] | undefined) => V | undefined;\n get: (source: MetaContainer | Meta[] | undefined) => V;\n }\n\n export interface DefaultMetaFn<V> extends MetaFn<V> {\n (value?: V): Meta<V>\n defaultValue: V\n }\n}\n\nexport declare namespace Core {\n export type Output<T> = T | Promise<T>;\n export type GeneratorOutput<Y, T> =\n | T\n | Promise<T>\n | Generator<Y, T>\n | AsyncGenerator<Y, T>;\n\n export type NoDependencyFn<T> = (scope: Controller) => Output<T>;\n export type DependentFn<T, D> = (\n dependencies: D,\n scope: Controller,\n ) => Output<T>;\n\n export type NoDependencyGeneratorFn<Y, T> = (\n scope: Controller\n ) => GeneratorOutput<Y, T>;\n export type DependentGeneratorFn<Y, T, D> = (\n dependencies: D,\n scope: Controller\n ) => GeneratorOutput<Y, T>;\n export type RecordLike = Record<string, unknown>;\n export type UExecutor = BaseExecutor<unknown>;\n\n export type Cleanup = () => void | Promise<void>;\n\n export type Controller = {\n cleanup: (cleanup: Cleanup) => void;\n release: () => Promise<void>;\n scope: Scope;\n };\n\n export type Kind = \"main\" | \"reactive\" | \"lazy\" | \"static\";\n\n export interface BaseExecutor<T> extends Meta.MetaContainer {\n [executorSymbol]: Kind;\n factory: NoDependencyFn<T> | DependentFn<T, unknown> | undefined;\n dependencies:\n | undefined\n | UExecutor\n | Array<UExecutor>\n | Record<string, UExecutor>;\n }\n\n export interface Executor<T> extends BaseExecutor<T> {\n [executorSymbol]: \"main\";\n factory: NoDependencyFn<T> | DependentFn<T, unknown>;\n\n /** Return an executor controller without resolving Executor */\n readonly lazy: Lazy<T>;\n\n /** Return an resolved executor, and mark the user to be reactived for future changes */\n readonly reactive: Reactive<T>;\n\n /** Return an resolved executor with its controller */\n readonly static: Static<T>;\n }\n\n export interface Reactive<T> extends BaseExecutor<T> {\n [executorSymbol]: \"reactive\";\n factory: undefined;\n readonly executor: Executor<T>;\n }\n\n export interface Lazy<T> extends BaseExecutor<Accessor<T>> {\n [executorSymbol]: \"lazy\";\n factory: undefined;\n readonly executor: Executor<T>;\n }\n\n export interface Static<T> extends BaseExecutor<Accessor<T>> {\n [executorSymbol]: \"static\";\n factory: undefined;\n readonly executor: Executor<T>;\n }\n\n export type PendingState<T> = { kind: \"pending\"; promise: Promise<T> };\n export type ResolvedState<T> = { kind: \"resolved\"; value: T };\n export type RejectedState = { kind: \"rejected\"; error: unknown };\n\n export type ResolveState<T> =\n | PendingState<T>\n | ResolvedState<T>\n | RejectedState;\n\n export interface Accessor<T> extends Meta.MetaContainer {\n lookup(): undefined | ResolveState<T>;\n\n get(): T;\n resolve(force?: boolean): Promise<T>;\n release(soft?: boolean): Promise<void>;\n update(updateFn: T | ((current: T) => T)): Promise<void>;\n set(value: T): Promise<void>;\n subscribe(callback: (value: T) => void): Cleanup;\n }\n\n export interface Preset<T> {\n [executorSymbol]: \"preset\";\n executor: Executor<T>;\n value: T;\n }\n\n export type InferOutput<T> = T extends\n | Executor<infer U>\n | Reactive<infer U>\n | PreparedExecutor<infer U>\n ? Awaited<U>\n : T extends Lazy<infer U> | Static<infer U>\n ? Accessor<Awaited<U>>\n : T extends AdaptedExecutor<infer A, infer U>\n ? (...args: A) => Promise<Awaited<U>>\n : T extends Array<Core.BaseExecutor<unknown>> | Record<string, Core.BaseExecutor<unknown>>\n ? { [K in keyof T]: InferOutput<T[K]> }\n : never;\n\n export type Event = \"resolve\" | \"update\" | \"release\";\n export type Replacer = Preset<unknown>;\n type EventCallbackResult = void | Replacer;\n\n export type ChangeCallback = (\n event: \"resolve\" | \"update\",\n executor: Executor<unknown>,\n resolved: unknown,\n scope: Scope\n ) => EventCallbackResult | Promise<EventCallbackResult>;\n\n export type ReleaseCallback = (\n event: \"release\",\n executor: Executor<unknown>,\n scope: Scope\n ) => void | Promise<void>;\n\n export type Plugin = {\n init?: (scope: Scope, initialOpt: { registry: Core.Executor<unknown>[]}) => void | Promise<void>;\n dispose?: (scope: Scope) => void | Promise<void>;\n };\n\n export type DependencyLike = Core.BaseExecutor<unknown> | Core.BaseExecutor<unknown>[] | Record<string, Core.BaseExecutor<unknown>>;\n\n export interface Pod\n extends Omit<Core.Scope, \"update\" | \"pod\" | \"disposePod\" | \"onChange\"> { }\n\n export interface Scope {\n accessor<T>(executor: Core.Executor<T>, eager?: boolean): Accessor<T>;\n entries(): [Core.Executor<unknown>, Core.Accessor<unknown>][];\n\n resolve<T>(executor: Core.Executor<T>, force?: boolean): Promise<T>;\n resolveAccessor<T>(executor: Core.Executor<T>): Promise<Accessor<T>>;\n\n update<T>(\n executor: Executor<T>,\n updateFn: T | ((current: T) => T)\n ): Promise<void>;\n set<T>(executor: Executor<T>, value: T): Promise<void>;\n\n release(executor: Executor<any>, soft?: boolean): Promise<void>;\n\n dispose(): Promise<void>;\n\n onUpdate<T>(\n executor: Executor<T>,\n callback: (accessor: Accessor<T>) => void\n ): Cleanup;\n\n onChange(cb: ChangeCallback): Cleanup;\n onRelease(cb: ReleaseCallback): Cleanup;\n\n use(middleware: Plugin): Cleanup;\n\n pod(...presets: Preset<unknown>[]): Pod;\n disposePod(scope: Pod): Promise<void>;\n }\n}\n\nexport namespace Flow {\n\n export type Context = {}\n\n export type ExecutionPlugin = {}\n export type ExecuteOpt = {\n scope?: Core.Scope\n name?: string\n description?: string\n plugins?: FlowPlugin[]\n presets?: Core.Preset<unknown>[]\n }\n\n export type Controller = {\n execute: <Input, Output>(\n input: Flow<Input, Output>,\n param: Input,\n opt?: ExecuteOpt\n ) => Promise<Output>\n safeExecute: <Input, Output>(\n input: Flow<Input, Output>,\n param: Input,\n opt?: ExecuteOpt\n ) => Promise<Result<Output>>;\n }\n\n export type NoDependencyFlowFn<Input, Output> = (\n input: Input,\n context: Controller & { context: ExecutionContext }\n ) => Output | Promise<Output>;\n\n export type DependentFlowFn<D, Input, Output> = (\n dependency: D,\n input: Input,\n context: Controller & { context: ExecutionContext }\n ) => Output | Promise<Output>\n\n export type FlowPlugin = {\n name: string;\n wrap<T>(\n context: ExecutionContext,\n execute: () => Promise<T>\n ): Promise<T>;\n }\n\n export type Flow<Input, Output> = {\n execution: NoDependencyFlowFn<Input, Output>;\n } & Config & Schema<Input, Output>\n\n export type Schema<Input, Output> = {\n input: StandardSchemaV1<Input>;\n output: StandardSchemaV1<Output>;\n }\n\n export type Config = {\n name?: string\n description?: string\n plugins?: FlowPlugin[]\n metas?: Meta.Meta[]\n }\n\n export type Executor<Input, Output> = Core.Executor<Flow<Input, Output>> & Config & Schema<Input, Output>\n\n export type ExecutionContext<Input = any, Output = any> = {\n data: Map<unknown, unknown>;\n parent?: ExecutionContext;\n scope: Core.Scope;\n plugins: FlowPlugin[];\n flow: Flow<Input, Output>; // The flow being executed\n };\n\n export type Success<T> = { kind: \"success\"; value: T };\n export type Error = { kind: \"error\"; error: unknown };\n\n export type Result<T> = Success<T> | Error;\n\n export type ExecutionResult<Output> = {\n context: ExecutionContext;\n result: Result<Output>;\n };\n}\n\nexport namespace Multi {\n export type Key = unknown\n export type MultiExecutor<T, K> = Core.Executor<(k: K) => Promise<T>>\n}","import { SchemaError, StandardSchemaV1 } from \"./types\";\n\nexport function validate<TSchema extends StandardSchemaV1>(\n schema: TSchema,\n data: unknown\n): Awaited<StandardSchemaV1.InferOutput<TSchema>> {\n const result = schema[\"~standard\"].validate(data);\n\n if (\"then\" in result) {\n throw new Error(\"validating async is not supported\");\n }\n\n if (result.issues) {\n throw new SchemaError(result.issues);\n }\n return result.value as any;\n}\n\nexport async function validateAsync<TSchema extends StandardSchemaV1>(\n schema: TSchema,\n data: unknown\n): Promise<Awaited<StandardSchemaV1.InferOutput<TSchema>>> {\n const result = schema[\"~standard\"].validate(data);\n\n if (\"then\" in result) {\n const result_1 = await result;\n if (result_1.issues) {\n throw new SchemaError(result_1.issues);\n }\n return result_1.value as any;\n }\n\n if (result.issues) {\n throw new SchemaError(result.issues);\n }\n\n return Promise.resolve(result.value as any);\n}\n\nexport function custom<T>(): StandardSchemaV1<T, T> {\n return {\n \"~standard\": {\n vendor: \"pumped-fn\",\n version: 1,\n validate: (value) => {\n return { value: value as T };\n },\n },\n };\n}\n","import { validate } from \"./ssch\";\nimport { metaSymbol, StandardSchemaV1, type Meta } from \"./types\";\n\nexport const meta = <V>(\n key: string | symbol,\n schema: StandardSchemaV1<V>\n): Meta.MetaFn<V> => {\n const _key = typeof key === \"string\" ? Symbol(key) : key;\n\n const fn = (value: V) =>\n ({\n [metaSymbol]: true,\n key: _key,\n schema,\n value,\n } as unknown as Meta.MetaFn<V>);\n\n Object.defineProperty(fn, \"key\", {\n value: _key,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n\n Object.defineProperty(fn, metaSymbol, {\n value: true,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n\n Object.defineProperties(fn, {\n partial: {\n value: (d: Partial<V>) => {\n return Object.assign({}, fn({} as V), d);\n },\n configurable: false,\n enumerable: false,\n writable: false,\n },\n some: {\n value: (source: Meta.MetaContainer | Meta.Meta[] | undefined) =>\n findValues(source, fn as unknown as Meta.MetaFn<unknown>),\n configurable: false,\n enumerable: false,\n writable: false,\n },\n find: {\n value: (source: Meta.MetaContainer | Meta.Meta[] | undefined) =>\n findValue(source, fn as unknown as Meta.MetaFn<unknown>),\n configurable: false,\n enumerable: false,\n writable: false,\n },\n get: {\n value: (source: Meta.MetaContainer | Meta.Meta[] | undefined) =>\n getValue(\n findValue(\n source,\n fn as unknown as Meta.MetaFn<unknown>\n ) as Meta.Meta<V>\n ),\n configurable: false,\n enumerable: false,\n writable: false,\n },\n });\n\n return fn as any;\n};\n\nexport function getValue<V>(meta: Meta.Meta<V>): Awaited<V> {\n return validate(meta.schema, meta.value);\n}\n\nexport function findValues<V = unknown>(\n executor: Meta.MetaContainer | Meta.Meta[] | undefined,\n meta: Meta.MetaFn<V>\n): V[] {\n if (!executor) return [];\n\n const metas = Array.isArray(executor) ? executor : executor.metas ?? [];\n\n const maybeMeta = metas.filter((m) => m.key === meta.key);\n return maybeMeta.map((m) => getValue(m as Meta.Meta<V>));\n}\n\nexport function findValue<V>(\n executor: Meta.MetaContainer | Meta.Meta[] | undefined,\n meta: Meta.MetaFn<V>\n): V | undefined {\n const values = findValues(executor, meta);\n return values.at(0);\n}\n","import { Core, executorSymbol, Meta } from \"./types\";\nimport type { Escapable } from \"./helpers\";\n\nexport function createExecutor<T>(\n factory: Core.NoDependencyFn<T> | Core.DependentFn<T, unknown>,\n dependencies:\n | undefined\n | Core.UExecutor\n | Array<Core.UExecutor>\n | Record<string, Core.UExecutor>,\n metas: Meta.Meta[] | undefined\n): Core.Executor<T> {\n const executor = {\n [executorSymbol]: \"main\",\n factory: (_: unknown, controller: Core.Controller) => {\n if (dependencies === undefined) {\n const f = factory as Core.NoDependencyFn<T>;\n return f(controller);\n }\n\n const f = factory as Core.DependentFn<T, unknown>;\n return f(_, controller);\n },\n dependencies,\n metas: metas,\n } as unknown as Core.Executor<T>;\n\n const lazyExecutor = {\n [executorSymbol]: \"lazy\",\n dependencies: undefined,\n executor,\n factory: undefined,\n metas: metas,\n } satisfies Core.Lazy<T>;\n\n const reactiveExecutor = {\n [executorSymbol]: \"reactive\",\n executor,\n factory: undefined,\n dependencies: undefined,\n metas: metas,\n } satisfies Core.Reactive<T>;\n\n const staticExecutor = {\n [executorSymbol]: \"static\",\n dependencies: undefined,\n factory: undefined,\n metas: metas,\n executor,\n } satisfies Core.Static<T>;\n\n Object.defineProperties(executor, {\n lazy: {\n value: lazyExecutor,\n writable: false,\n configurable: false,\n enumerable: false,\n },\n reactive: {\n value: reactiveExecutor,\n writable: false,\n configurable: false,\n enumerable: false,\n },\n static: {\n value: staticExecutor,\n writable: false,\n configurable: false,\n enumerable: false,\n },\n });\n\n return executor;\n}\n\nexport function isLazyExecutor(\n executor: Core.BaseExecutor<unknown>\n): executor is Core.Lazy<unknown> {\n return executor[executorSymbol] === \"lazy\";\n}\n\nexport function isReactiveExecutor(\n executor: Core.BaseExecutor<unknown>\n): executor is Core.Reactive<unknown> {\n return executor[executorSymbol] === \"reactive\";\n}\n\nexport function isStaticExecutor(\n executor: Core.BaseExecutor<unknown>\n): executor is Core.Static<unknown> {\n return executor[executorSymbol] === \"static\";\n}\n\nexport function isMainExecutor(\n executor: unknown\n): executor is Core.Executor<unknown> {\n return isExecutor(executor) && executor[executorSymbol] === \"main\";\n}\n\nexport function isExecutor<T>(input: unknown): input is Core.BaseExecutor<T> {\n return typeof input === \"object\" && input !== null && executorSymbol in input;\n}\n\nexport function isPreset(input: unknown): input is Core.Preset<unknown> {\n return (\n typeof input === \"object\" &&\n input !== null &&\n executorSymbol in input &&\n (input as Core.Preset<unknown>)[executorSymbol] === \"preset\"\n );\n}\n\nexport function provide<T>(\n factory: Core.NoDependencyFn<T>,\n ...metas: Meta.Meta[]\n): Core.Executor<T> {\n return createExecutor(factory, undefined, metas);\n}\n\nexport function derive<T, D extends Core.DependencyLike>(\n pdependencies: D,\n pfactory: Core.DependentFn<T, Core.InferOutput<D>>,\n ...metas: Meta.Meta[]\n): Core.Executor<T> {\n return createExecutor(pfactory as any, pdependencies, metas);\n}\n\nexport function preset<T>(\n e: Core.Executor<T> | Escapable<T>,\n v: T\n): Core.Preset<T> {\n const executor = isExecutor(e) ? e : e.escape();\n\n return {\n [executorSymbol]: \"preset\",\n value: v,\n executor,\n };\n}\n\nexport function placeholder<V>(...metas: Meta.Meta<unknown>[]): Core.Executor<V> {\n return provide<V>(() => {\n throw new Error(\"Placeholder executor cannot be resolved\");\n }, ...metas);\n}","/** facilities to add multiple instances (key set) */\nimport { createExecutor } from \"./executor\"\nimport { meta } from \"./meta\";\nimport { custom, validate } from \"./ssch\";\nimport { Core, Meta } from \"./types\"\nimport { type StandardSchemaV1 } from \"./types\";\n\ntype MultiExecutor<T, K> = Core.Executor<(k: K) => Core.Accessor<T>> & ((key: K) => Core.Executor<T>) & {\n release: (scope: Core.Scope) => Promise<void>\n id: Meta.MetaFn<unknown>\n}\n\nexport type DependentFn<T, K, D> = (\n dependencies: D,\n key: K,\n scope: Core.Controller,\n) => Core.Output<T>;\n\ntype Option<K> = {\n keySchema: StandardSchemaV1<K>,\n /** Key transform will be used to store and retrieve */\n keyTransform?: (key: K) => unknown\n}\n\ntype DeriveOption<K, D extends Core.DependencyLike> = Option<K> & {\n dependencies: D\n}\n\nfunction createMultiExecutor<T, K>(\n option: Option<K>,\n poolId: Meta.MetaFn<any>,\n keyPool: Map<unknown, Core.Executor<T>>,\n createNewExecutor: (key: K) => Core.Executor<T>,\n providerMetas: Meta.Meta[]\n): MultiExecutor<T, K> {\n const processKey = (key: K) => {\n const validatedKey = validate(option.keySchema, key);\n const transformedKey = option.keyTransform ? option.keyTransform(validatedKey) : validatedKey;\n return { validatedKey, transformedKey };\n };\n\n const newProvider = (key: K) => {\n const { transformedKey } = processKey(key);\n const executor = createNewExecutor(key);\n keyPool.set(transformedKey, executor);\n return executor;\n };\n\n const provider = createExecutor(\n (ctl: Core.Controller) => {\n return (key: K) => {\n const { transformedKey } = processKey(key);\n let executor = keyPool.get(transformedKey);\n if (!executor) {\n executor = newProvider(key);\n }\n return ctl.scope.accessor(executor)\n };\n }, undefined, providerMetas);\n\n const multiExecutor: MultiExecutor<T, K> = ((key: K) => {\n const { transformedKey } = processKey(key);\n return keyPool.get(transformedKey) || newProvider(key);\n }) as any;\n\n Object.assign(multiExecutor, provider);\n multiExecutor.release = async (scope: Core.Scope) => {\n const entries = scope.entries()\n for (const [executor] of entries) {\n const check = poolId.some ? poolId.some(executor) : poolId.find(executor);\n if (check && (Array.isArray(check) ? check.length > 0 : check)) {\n await scope.release(executor);\n }\n }\n }\n multiExecutor.id = poolId as any;\n\n return multiExecutor;\n}\n\nexport function provide<T, K>(\n option: Option<K>,\n valueFn: (key: K, controller: Core.Controller) => T | Promise<T>,\n ...metas: Meta.Meta[]\n): MultiExecutor<T, K> {\n const poolId = meta(Symbol(), custom<undefined>())\n const keyPool = new Map<unknown, Core.Executor<T>>();\n\n const createNewExecutor = (key: K) => {\n const validatedKey = validate(option.keySchema, key);\n return createExecutor(\n (ctl: Core.Controller) => valueFn(validatedKey, ctl),\n undefined,\n [poolId(undefined), ...metas]\n );\n };\n\n return createMultiExecutor(option, poolId, keyPool, createNewExecutor, [poolId(undefined), ...metas]);\n}\n\nexport function derive<T, K, D extends Core.DependencyLike>(\n option: DeriveOption<K, D>,\n valueFn: DependentFn<T, K, Core.InferOutput<D>>,\n ...metas: Meta.Meta[]\n): MultiExecutor<T, K> {\n const poolId = meta(Symbol(), custom<void>())\n const keyPool = new Map<unknown, Core.Executor<T>>();\n\n const createNewExecutor = (key: K) => {\n const validatedKey = validate(option.keySchema, key);\n return createExecutor(\n (dependencies, ctl) => valueFn(dependencies as any, validatedKey, ctl),\n option.dependencies,\n metas\n );\n };\n\n return createMultiExecutor(option, poolId, keyPool, createNewExecutor, metas);\n}\n\n// code may look like this\n// const multi = provide(schema <K>, (key: K) => { /// value: T}) --> MultiExecutor<T,K>\n// const hardcodedMulti = multi({ key }) // Core.Executor<T>","export function isGenerator<Y = unknown, T = unknown>(\n value: unknown\n): value is Generator<Y, T> {\n return (\n value != null &&\n typeof value === \"object\" &&\n typeof (value as any)[Symbol.iterator] === \"function\" &&\n typeof (value as any).next === \"function\" &&\n typeof (value as any).return === \"function\" &&\n typeof (value as any).throw === \"function\"\n );\n}\n\nexport function isAsyncGenerator<Y = unknown, T = unknown>(\n value: unknown\n): value is AsyncGenerator<Y, T> {\n return (\n value != null &&\n typeof value === \"object\" &&\n typeof (value as any)[Symbol.asyncIterator] === \"function\" &&\n typeof (value as any).next === \"function\" &&\n typeof (value as any).return === \"function\" &&\n typeof (value as any).throw === \"function\"\n );\n}\n\nexport function isGeneratorFunction(fn: unknown): fn is GeneratorFunction {\n return (\n typeof fn === \"function\" &&\n fn.constructor &&\n fn.constructor.name === \"GeneratorFunction\"\n );\n}\n\nexport function isAsyncGeneratorFunction(\n fn: unknown\n): fn is AsyncGeneratorFunction {\n return (\n typeof fn === \"function\" &&\n fn.constructor &&\n fn.constructor.name === \"AsyncGeneratorFunction\"\n );\n}\n\nexport function isIterableOrAsyncIterable(\n value: unknown\n): value is Iterable<unknown> | AsyncIterable<unknown> {\n return isGenerator(value) || isAsyncGenerator(value);\n}\n\nexport async function collectFromGenerator<Y, T>(\n gen: Generator<Y, T> | AsyncGenerator<Y, T>\n): Promise<{ yielded: Y[]; returned: T }> {\n const yielded: Y[] = [];\n let returned: T;\n\n try {\n let result: IteratorResult<Y, T>;\n \n do {\n result = await gen.next();\n if (!result.done) {\n yielded.push(result.value);\n } else {\n returned = result.value;\n }\n } while (!result.done);\n\n return { yielded, returned: returned! };\n } catch (error) {\n // Ensure generator is closed on error\n await gen.return?.(undefined as any);\n throw error;\n }\n}\n\nexport interface GeneratorHandler<Y, T> {\n onYield?: (value: Y, index: number) => void | Promise<void>;\n onReturn?: (value: T) => void | Promise<void>;\n onError?: (error: unknown) => void | Promise<void>;\n}\n\nexport async function processGenerator<Y, T>(\n gen: Generator<Y, T> | AsyncGenerator<Y, T>,\n handler: GeneratorHandler<Y, T>\n): Promise<T> {\n let index = 0;\n \n try {\n let result: IteratorResult<Y, T>;\n \n do {\n result = await gen.next();\n \n if (!result.done) {\n await handler.onYield?.(result.value, index++);\n } else {\n await handler.onReturn?.(result.value);\n return result.value;\n }\n } while (true);\n } catch (error) {\n await handler.onError?.(error);\n // Ensure generator is closed\n await gen.return?.(undefined as any);\n throw error;\n }\n}","import {\n isLazyExecutor,\n isReactiveExecutor,\n isStaticExecutor,\n isMainExecutor,\n isExecutor,\n isPreset,\n} from \"./executor\";\nimport { Core } from \"./types\";\nimport {\n isGenerator,\n isAsyncGenerator,\n collectFromGenerator,\n} from \"./generator-utils\";\n\ntype CacheEntry = {\n accessor: Core.Accessor<unknown>;\n value: Core.ResolveState<unknown>;\n};\n\ntype UE = Core.Executor<unknown>;\ntype OnUpdateFn = (accessor: Core.Accessor<unknown>) => void | Promise<void>;\n\nfunction getExecutor(e: Core.UExecutor): Core.Executor<unknown> {\n if (isLazyExecutor(e) || isReactiveExecutor(e) || isStaticExecutor(e)) {\n return e.executor;\n }\n\n return e as Core.Executor<unknown>;\n}\n\nclass BaseScope implements Core.Scope {\n protected disposed: boolean = false;\n protected cache: Map<UE, CacheEntry> = new Map();\n protected cleanups = new Map<UE, Set<Core.Cleanup>>();\n protected onUpdates = new Map<UE, Set<OnUpdateFn | UE>>();\n protected onEvents = {\n change: new Set<Core.ChangeCallback>(),\n release: new Set<Core.ReleaseCallback>(),\n } as const;\n protected isPod: boolean;\n private isDisposing = false;\n\n protected plugins: Core.Plugin[] = [];\n protected registry: Core.Executor<unknown>[] = [];\n\n constructor(options?: ScopeOption) {\n this.isPod = options?.pod || false;\n if (options?.registry) {\n this.registry = [...options.registry]\n }\n\n if (options?.initialValues) {\n for (const preset of options.initialValues) {\n this.set(preset.executor, preset.value);\n }\n }\n\n if (options?.plugins) {\n for (const plugin of options.plugins) {\n this.use(plugin);\n }\n }\n\n }\n\n protected async \"~triggerCleanup\"(e: UE): Promise<void> {\n const cs = this.cleanups.get(e);\n if (cs) {\n for (const c of Array.from(cs.values()).reverse()) {\n await c();\n }\n }\n }\n\n protected async \"~triggerUpdate\"(e: UE): Promise<void> {\n const ce = this.cache.get(e);\n if (!ce) {\n throw new Error(\"Executor is not yet resolved\");\n }\n\n const ou = this.onUpdates.get(e);\n if (ou) {\n for (const t of Array.from(ou.values())) {\n if (isMainExecutor(t)) {\n if (this.cleanups.has(t)) {\n this[\"~triggerCleanup\"](t);\n }\n\n const a = this.cache.get(t);\n await a!.accessor.resolve(true);\n\n if (this.onUpdates.has(t)) {\n await this[\"~triggerUpdate\"](t);\n }\n } else {\n await t(ce.accessor);\n }\n }\n }\n }\n\n protected async \"~resolveExecutor\"(\n ie: Core.UExecutor,\n ref: UE\n ): Promise<unknown> {\n const e = getExecutor(ie);\n const a = this[\"~makeAccessor\"](e);\n\n if (isLazyExecutor(ie)) {\n return a;\n }\n\n if (isReactiveExecutor(ie)) {\n const c = this.onUpdates.get(ie.executor) ?? new Set();\n this.onUpdates.set(ie.executor, c);\n c.add(ref);\n }\n\n await a.resolve(false);\n if (isStaticExecutor(ie)) {\n return a;\n }\n\n return a.get();\n }\n\n protected async \"~resolveDependencies\"(\n ie:\n | undefined\n | Core.UExecutor\n | Core.UExecutor[]\n | Record<string, Core.UExecutor>,\n ref: UE\n ): Promise<undefined | unknown | unknown[] | Record<string, unknown>> {\n if (ie === undefined) {\n return undefined;\n }\n\n if (isExecutor(ie)) {\n return this[\"~resolveExecutor\"](ie, ref);\n }\n\n if (Array.isArray(ie)) {\n return await Promise.all(\n ie.map((item) => this[\"~resolveDependencies\"](item, ref))\n );\n }\n\n const r: Record<string, unknown> = {};\n for (const k of Object.keys(ie)) {\n const t = ie[k];\n const rd = await this[\"~resolveDependencies\"](t, ref);\n\n r[k] = rd;\n }\n\n return r;\n }\n\n protected \"~ensureNotDisposed\"(): void {\n if (this.disposed) {\n throw new Error(\"Scope is disposed\");\n }\n }\n\n protected \"~makeAccessor\"(e: Core.UExecutor): Core.Accessor<unknown> {\n const requestor =\n isLazyExecutor(e) || isReactiveExecutor(e) || isStaticExecutor(e)\n ? e.executor\n : (e as UE);\n\n const cachedAccessor = this.cache.get(requestor);\n if (cachedAccessor) {\n return cachedAccessor.accessor;\n }\n\n const accessor = {} as Core.Accessor<unknown>;\n const factory = requestor.factory;\n const controller = {\n cleanup: (cleanup: Core.Cleanup) => {\n const currentSet = this.cleanups.get(requestor) ?? new Set();\n this.cleanups.set(requestor, currentSet);\n\n currentSet.add(cleanup);\n },\n release: async () => this.release(requestor),\n scope: this,\n };\n\n const resolve = (force: boolean): Promise<unknown> => {\n this[\"~ensureNotDisposed\"]();\n\n const entry = this.cache.get(requestor)!;\n const cached = entry?.value;\n\n if (cached && !force) {\n if (cached.kind === \"resolved\") {\n return Promise.resolve(cached.value);\n } else if (cached.kind === \"rejected\") {\n throw cached.error;\n } else {\n return cached.promise;\n }\n }\n\n const promise = new Promise((resolve, reject) => {\n this[\"~resolveDependencies\"](requestor.dependencies, requestor)\n .then((dependencies) => factory(dependencies as any, controller))\n .then(async (result) => {\n let current = result;\n\n // Handle generator results\n if (isGenerator(result) || isAsyncGenerator(result)) {\n const { returned } = await collectFromGenerator(result);\n current = returned;\n }\n\n const events = this.onEvents.change;\n for (const event of events) {\n const updated = await event(\"resolve\", requestor, current, this);\n if (updated !== undefined && updated.executor === requestor) {\n current = updated.value;\n }\n }\n\n this.cache.set(requestor, {\n accessor,\n value: { kind: \"resolved\", value: current },\n });\n\n resolve(current);\n })\n .catch((error) => {\n this.cache.set(requestor, {\n accessor,\n value: { kind: \"rejected\", error },\n });\n\n reject(error);\n });\n });\n\n this.cache.set(requestor, {\n accessor,\n value: { kind: \"pending\", promise },\n });\n return promise;\n };\n\n return Object.assign(accessor, {\n get: () => {\n this[\"~ensureNotDisposed\"]();\n\n const cacheEntry = this.cache.get(requestor)?.value;\n\n if (!cacheEntry || cacheEntry.kind === \"pending\") {\n throw new Error(\"Executor is not resolved\");\n }\n\n if (cacheEntry.kind === \"rejected\") {\n throw cacheEntry.error;\n }\n\n return cacheEntry.value;\n },\n lookup: () => {\n this[\"~ensureNotDisposed\"]();\n\n const cacheEntry = this.cache.get(requestor);\n\n if (!cacheEntry) {\n return undefined;\n }\n\n return cacheEntry.value;\n },\n metas: e.metas,\n resolve,\n release: async (soft: boolean = false) => {\n this.release(requestor, soft);\n },\n update: (updateFn: unknown | ((current: unknown) => unknown)) => {\n return this.update(requestor, updateFn);\n },\n set: async (value): Promise<void> => {\n return this.update(requestor, value)\n },\n subscribe: (cb: (value: unknown) => void) => {\n this[\"~ensureNotDisposed\"]();\n return this.onUpdate(requestor, cb);\n },\n } satisfies Partial<Core.Accessor<unknown>>);\n }\n\n accessor<T>(executor: Core.Executor<T>): Core.Accessor<T> {\n this[\"~ensureNotDisposed\"]();\n return this[\"~makeAccessor\"](executor) as Core.Accessor<T>;\n }\n\n entries(): Array<[UE, Core.Accessor<unknown>]> {\n return Array.from(this.cache.entries()).map(([executor, entry]) => {\n return [executor, entry.accessor];\n });\n }\n\n async resolve<T>(\n executor: Core.Executor<T>,\n force: boolean = false\n ): Promise<T> {\n this[\"~ensureNotDisposed\"]();\n\n const accessor = this[\"~makeAccessor\"](executor);\n await accessor.resolve(force);\n return accessor.get() as T;\n }\n\n async resolveAccessor<T>(\n executor: Core.Executor<T>,\n force: boolean = false\n ): Promise<Core.Accessor<T>> {\n this[\"~ensureNotDisposed\"]();\n const accessor = this[\"~makeAccessor\"](executor);\n await accessor.resolve(force);\n return accessor as Core.Accessor<T>;\n }\n\n async update<T>(\n e: Core.Executor<T>,\n u: T | ((current: T) => T)\n ): Promise<void> {\n if (this.isDisposing) {\n return;\n }\n\n this[\"~ensureNotDisposed\"]();\n this[\"~triggerCleanup\"](e);\n const accessor = this[\"~makeAccessor\"](e);\n\n let value: T | undefined;\n\n if (typeof u === \"function\") {\n const fn = u as (current: T) => T;\n value = fn(accessor.get() as T);\n } else {\n value = u;\n }\n\n const events = this.onEvents.change;\n for (const event of events) {\n const updated = await event(\"update\", e, value, this);\n if (updated !== undefined && e === updated.executor) {\n value = updated.value as any;\n }\n }\n\n this.cache.set(e, {\n accessor,\n value: { kind: \"resolved\", value },\n });\n\n await this[\"~triggerUpdate\"](e);\n }\n\n async set<T>(e: Core.Executor<T>, value: T): Promise<void> {\n return this.update(e, value)\n }\n\n async release(e: Core.Executor<unknown>, s: boolean = false): Promise<void> {\n this[\"~ensureNotDisposed\"]();\n\n const ce = this.cache.get(e);\n if (!ce && !s) {\n throw new Error(\"Executor is not yet resolved\");\n }\n\n await this[\"~triggerCleanup\"](e);\n const events = this.onEvents.release;\n for (const event of events) {\n await event(\"release\", e, this);\n }\n\n const ou = this.onUpdates.get(e);\n if (ou) {\n for (const t of Array.from(ou.values())) {\n if (isMainExecutor(t)) {\n await this.release(t, true);\n }\n }\n\n this.onUpdates.delete(e);\n }\n\n this.cache.delete(e);\n }\n\n async dispose(): Promise<void> {\n this[\"~ensureNotDisposed\"]();\n this.isDisposing = true;\n\n for (const pod of this.pods) {\n await this.disposePod(pod);\n }\n\n const disposeEvents = this.plugins.map(\n (m) => m.dispose?.(this) ?? Promise.resolve()\n );\n await Promise.all(disposeEvents);\n\n const currents = this.cache.keys();\n for (const current of currents) {\n await this.release(current, true);\n }\n\n this.disposed = true;\n this.cache.clear();\n this.cleanups.clear();\n this.onUpdates.clear();\n this.onEvents.change.clear();\n this.onEvents.release.clear();\n }\n\n onUpdate<T>(\n e: Core.Executor<T>,\n cb: (a: Core.Accessor<T>) => void | Promise<void>\n ): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n const ou = this.onUpdates.get(e) ?? new Set();\n this.onUpdates.set(e, ou);\n ou.add(cb as any);\n\n return () => {\n this[\"~ensureNotDisposed\"]();\n\n const ou = this.onUpdates.get(e);\n if (ou) {\n ou.delete(cb as any);\n if (ou.size === 0) {\n this.onUpdates.delete(e);\n }\n }\n };\n }\n\n onChange(callback: Core.ChangeCallback): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n this.onEvents[\"change\"].add(callback as any);\n return () => {\n this[\"~ensureNotDisposed\"]();\n this.onEvents[\"change\"].delete(callback as any);\n };\n }\n\n onRelease(cb: Core.ReleaseCallback): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n this.onEvents[\"release\"].add(cb);\n return () => {\n this[\"~ensureNotDisposed\"]();\n this.onEvents[\"release\"].delete(cb);\n };\n }\n\n use(plugin: Core.Plugin): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n this.plugins.push(plugin);\n plugin.init?.(this, { registry: this.registry });\n\n return () => {\n this[\"~ensureNotDisposed\"]();\n this.plugins = this.plugins.filter((m) => m !== plugin);\n };\n }\n\n private pods: Set<Core.Pod> = new Set();\n\n pod(...preset: Core.Preset<unknown>[]): Core.Pod {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n const pod = new Pod(this, { initialValues: preset });\n this.pods.add(pod);\n return pod;\n }\n\n async disposePod(pod: Core.Pod): Promise<void> {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n return;\n }\n\n await pod.dispose();\n this.pods.delete(pod);\n }\n}\n\nexport type ScopeOption = {\n pod?: boolean\n initialValues?: Core.Preset<unknown>[]\n registry?: Core.Executor<unknown>[]\n plugins?: Core.Plugin[]\n}\n\nexport function createScope(): Core.Scope\nexport function createScope(opt: ScopeOption): Core.Scope\n\n/**\n * @deprecated\n * \n * Use the version with ScopeOption instead\n * @param presets \n */\nexport function createScope(...presets: Core.Preset<unknown>[]): Core.Scope;\n\nexport function createScope(...opt: [ScopeOption | undefined] | Core.Preset<unknown>[]): Core.Scope {\n if (opt.at(0) === undefined) {\n return new BaseScope()\n }\n\n if (opt.length === 1 && !isPreset(opt[0])) {\n return new BaseScope(opt[0]);\n }\n\n return new BaseScope({\n initialValues: opt as Core.Preset<unknown>[],\n });\n}\n\nexport function plugin(m: Core.Plugin): Core.Plugin {\n return m;\n}\n\nclass Pod extends BaseScope implements Core.Pod {\n private parentScope: BaseScope;\n\n constructor(scope: BaseScope, option?: ScopeOption) {\n super(option);\n this.parentScope = scope;\n }\n\n /**\n * Expect to resolve everything in pod. Unless it's already resolved in the main\n * @param executor\n * @param force\n * @returns\n */\n async resolve<T>(executor: Core.Executor<T>, force?: boolean): Promise<T> {\n if (this.cache.has(executor)) {\n return super.resolve(executor, force);\n }\n\n if (this.parentScope[\"cache\"].has(executor)) {\n const { value } = this.parentScope[\"cache\"].get(executor)!;\n const accessor = super[\"~makeAccessor\"](executor);\n\n this[\"cache\"].set(executor, {\n accessor,\n value,\n });\n\n if (value.kind === \"rejected\") {\n throw value.error;\n }\n\n if (value.kind === \"resolved\") {\n return value.value as T;\n }\n\n if (value.kind === \"pending\") {\n return (await value.promise) as T;\n }\n }\n\n return await super.resolve(executor, force);\n }\n\n protected async \"~resolveExecutor\"(\n ie: Core.UExecutor,\n ref: UE\n ): Promise<unknown> {\n if (isReactiveExecutor(ie)) {\n throw new Error(\"Reactive executors cannot be used in pod\");\n }\n\n const t = getExecutor(ie);\n const a = this[\"~makeAccessor\"](t);\n\n if (this.parentScope[\"cache\"].has(t)) {\n const { value } = this.parentScope[\"cache\"].get(t)!;\n this[\"cache\"].set(t, {\n accessor: a,\n value,\n });\n }\n\n return await super[\"~resolveExecutor\"](ie, ref);\n }\n}\n","import type { Core, Flow } from \"./types\";\nimport { createExecutor } from \"./executor\";\nimport { createScope } from \"./scope\";\nimport { validate } from \"./ssch\";\n\nexport function provide<Input, Output>(\n config: Flow.Config & Flow.Schema<Input, Output>,\n handler: Flow.NoDependencyFlowFn<Input, Output>\n): Flow.Executor<Input, Output> {\n const executor = createExecutor(\n (): Flow.Flow<Input, Output> => ({\n execution: handler,\n input: config.input,\n output: config.output,\n plugins: config.plugins || [],\n metas: config.metas || [], // Include metas in the resolved flow\n name: config.name,\n description: config.description\n }),\n undefined,\n config.metas || []\n ) as Flow.Executor<Input, Output>;\n\n Object.assign(executor, config);\n return executor;\n}\n\nexport function derive<\n D extends\n | ReadonlyArray<Core.BaseExecutor<unknown>>\n | Record<string, Core.BaseExecutor<unknown>>,\n Input,\n Output\n>(\n {\n dependencies,\n ...config\n }: {\n dependencies: { [K in keyof D]: D[K] };\n } & Flow.Config &\n Flow.Schema<Input, Output>,\n handler: Flow.DependentFlowFn<\n { [K in keyof D]: Core.InferOutput<D[K]> },\n Input,\n Output\n >\n): Flow.Executor<Input, Output> {\n const executor = createExecutor(\n (deps: unknown): Flow.Flow<Input, Output> => ({\n execution: (input, controller) =>\n handler(deps as any, input, controller),\n input: config.input,\n output: config.output,\n plugins: config.plugins || [],\n metas: config.metas || [], // Include metas in the resolved flow\n name: config.name,\n description: config.description\n }),\n dependencies as any,\n config.metas || []\n ) as Flow.Executor<Input, Output>;\n\n Object.assign(executor, config);\n return executor;\n}\n\n// Error codes as constants instead of enum\nexport const FlowErrorCode = {\n VALIDATION: \"validation\",\n TIMEOUT: \"timeout\",\n EXECUTION: \"execution\",\n DEPENDENCY: \"dependency\",\n PLUGIN: \"plugin\",\n SCOPE: \"scope\",\n UNKNOWN: \"unknown\",\n} as const;\n\nexport type FlowErrorType = (typeof FlowErrorCode)[keyof typeof FlowErrorCode];\n\n// Single error class with type parameter\nexport class FlowError extends Error {\n type: FlowErrorType;\n details?: any;\n\n constructor(message: string, type: FlowErrorType, details?: any) {\n super(message);\n this.name = \"FlowError\";\n this.type = type;\n this.details = details;\n }\n\n // Helper functions to create specific error types\n static validation(message: string, details?: any): FlowError {\n return new FlowError(message, FlowErrorCode.VALIDATION, details);\n }\n\n static timeout(\n message: string = \"Operation timed out\",\n details?: any\n ): FlowError {\n return new FlowError(message, FlowErrorCode.TIMEOUT, details);\n }\n\n static execution(message: string, details?: any): FlowError {\n return new FlowError(message, FlowErrorCode.EXECUTION, details);\n }\n\n static dependency(message: string, details?: any): FlowError {\n return new FlowError(message, FlowErrorCode.DEPENDENCY, details);\n }\n}\n\nfunction createController(\n context: Flow.ExecutionContext\n): Flow.Controller & { \n context: Flow.ExecutionContext & {\n get(key: any): any;\n set(key: any, value: any): void;\n has(key: any): boolean;\n }\n} {\n // Add context helper methods\n const contextWithHelpers = Object.assign(context, {\n get(key: any): any {\n return context.data.get(key);\n },\n set(key: any, value: any): void {\n context.data.set(key, value);\n },\n has(key: any): boolean {\n return context.data.has(key);\n }\n });\n\n const controller: Flow.Controller & { context: typeof contextWithHelpers } = {\n context: contextWithHelpers,\n safeExecute: async (flowDef, param, opts) => {\n try {\n const validatedInput = validate(flowDef.input, param);\n \n // Always create child controller for nested executions\n // Copy parent's data to child (Map doesn't support prototype chain for get/set)\n const childData = new Map(context.data);\n \n const childContext: Flow.ExecutionContext = {\n data: childData,\n parent: context,\n scope: context.scope,\n plugins: [...context.plugins, ...(opts?.plugins || [])], // Merge plugins from opts\n flow: flowDef // Store the flow being executed\n };\n const childController = createController(childContext);\n \n // Wrap execution with all plugins (including opts plugins)\n let execution = async () => flowDef.execution(validatedInput, childController);\n \n // Apply plugins in reverse order (last plugin is innermost)\n for (let i = childContext.plugins.length - 1; i >= 0; i--) {\n const plugin = childContext.plugins[i];\n const prevExecution = execution;\n execution = () => plugin.wrap(childContext, prevExecution);\n }\n \n const result = await execution();\n return { kind: \"success\", value: result };\n } catch (error) {\n if (error instanceof FlowError) {\n return { kind: \"error\", error };\n }\n \n const errorMessage = error instanceof Error ? error.message : String(error);\n const errorType = errorMessage.includes(\"validation\") \n ? FlowErrorCode.VALIDATION \n : FlowErrorCode.EXECUTION;\n \n const wrappedError = new FlowError(\n errorType === FlowErrorCode.VALIDATION \n ? \"Input validation failed\" \n : \"Flow execution failed\",\n errorType,\n { cause: error }\n );\n return { kind: \"error\", error: wrappedError };\n }\n },\n execute: async (flowDef, param, opts) => {\n const result = await controller.safeExecute(flowDef, param, opts);\n if (result.kind === \"error\") {\n throw result.error;\n }\n return result.value;\n },\n };\n \n return controller;\n}\n\nexport async function execute<Input, Output>(\n executor: Flow.Executor<Input, Output>,\n input: Input,\n opt?: Flow.ExecuteOpt\n): Promise<Flow.ExecutionResult<Output>> {\n const isOwnScope = !opt?.scope;\n const scope = opt?.scope || createScope();\n const pod = scope.pod(...(opt?.presets || []));\n\n let flow: Flow.Flow<Input, Output>;\n try {\n flow = await pod.resolve(executor);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n throw FlowError.dependency(`Failed to resolve executor: ${errorMessage}`, {\n cause: error,\n });\n }\n\n const context: Flow.ExecutionContext = { \n data: new Map(),\n scope,\n plugins: opt?.plugins || [],\n flow // Store the flow being executed\n };\n const controller = createController(context);\n const flowWithContext = { ...flow, context };\n\n // Execute root flow directly with the root controller (no child context)\n let executionResult: Flow.Result<Output>;\n try {\n const validatedInput = validate(flow.input, input);\n \n // Wrap root execution with plugins\n let execution = async () => flow.execution(validatedInput, controller);\n \n // Apply plugins in reverse order (last plugin is innermost)\n for (let i = context.plugins.length - 1; i >= 0; i--) {\n const plugin = context.plugins[i];\n const prevExecution = execution;\n execution = () => plugin.wrap(context, prevExecution);\n }\n \n const result = await execution();\n executionResult = { kind: \"success\", value: result };\n } catch (error) {\n if (error instanceof FlowError) {\n executionResult = { kind: \"error\", error };\n } else {\n const errorMessage = error instanceof Error ? error.message : String(error);\n const errorType = errorMessage.includes(\"validation\") \n ? FlowErrorCode.VALIDATION \n : FlowErrorCode.EXECUTION;\n \n const wrappedError = new FlowError(\n errorType === FlowErrorCode.VALIDATION \n ? \"Input validation failed\" \n : \"Flow execution failed\",\n errorType,\n { cause: error }\n );\n executionResult = { kind: \"error\", error: wrappedError };\n }\n }\n\n if (isOwnScope) {\n await scope.dispose();\n } else {\n await scope.disposePod(pod);\n }\n\n return {\n context: flowWithContext.context,\n result: executionResult,\n };\n}\n\n","import type { StandardSchemaV1 } from \"./types\";\nimport { validate } from \"./ssch\";\n\nexport interface DataStore {\n get(key: unknown): unknown;\n set(key: unknown, value: unknown): unknown;\n}\n\nexport interface DataAccessor<T> {\n readonly key: symbol;\n get(store: DataStore): T;\n find(store: DataStore): T | undefined;\n set(store: DataStore, value: T): void;\n}\n\nexport const dataAccessor = <T>(\n key: string | symbol,\n schema: StandardSchemaV1<T>\n): DataAccessor<T> => {\n const _key = typeof key === 'string' ? Symbol(key) : key;\n \n return {\n key: _key,\n \n get(store: DataStore): T {\n const value = store.get(_key);\n if (value === undefined) {\n throw new Error(`Data not found for key: ${String(key)}`);\n }\n\n return validate(schema, value);\n },\n \n find(store: DataStore): T | undefined {\n const maybeValue = store.get(_key);\n if (maybeValue) {\n return validate(schema, maybeValue)\n }\n\n return undefined\n },\n \n set(store: DataStore, value: T): void {\n const validated = validate(schema, value);\n store.set(_key, validated);\n }\n };\n};","import {\n isExecutor,\n isLazyExecutor,\n isReactiveExecutor,\n isStaticExecutor,\n} from \"./executor\";\nimport { Core } from \"./types\";\n\nexport async function resolves<\n T extends\n | Array<Core.Executor<unknown> | Escapable<unknown>>\n | Record<string, Core.Executor<unknown> | Escapable<unknown>>\n>(\n scope: Core.Scope,\n executors: { [K in keyof T]: T[K] }\n): Promise<{ [K in keyof T]: Core.InferOutput<T[K]> }> {\n const objectOutput = {};\n const arrayOutput = [];\n\n const isArray = Array.isArray(executors);\n\n for (const [index, executor] of Object.entries(executors)) {\n const target = !isExecutor(executor)\n ? executor.escape()\n : isLazyExecutor(executor) ||\n isReactiveExecutor(executor) ||\n isStaticExecutor(executor)\n ? executor.executor\n : (executor as Core.Executor<unknown>);\n\n const result = await scope.resolve(target);\n\n if (isArray) {\n arrayOutput.push(result);\n } else {\n Object.assign(objectOutput, { [index]: result });\n }\n }\n\n const result = isArray ? arrayOutput : objectOutput;\n return result as { [K in keyof T]: Core.InferOutput<T[K]> };\n}\n\nexport type Escapable<T> = {\n escape: () => Core.Executor<T>;\n};\n\nexport type PreparedExecutor<T> = {\n (): Promise<Core.InferOutput<Core.Executor<T>>>;\n escape: () => Core.Executor<T>;\n};\n\nexport function prepare<T>(\n scope: Core.Scope,\n executor: Core.Executor<T>\n): PreparedExecutor<Core.InferOutput<Core.Executor<T>>> {\n const fn: PreparedExecutor<Core.InferOutput<Core.Executor<T>>> =\n (async () => {\n return await scope.resolve(executor);\n }) as any;\n\n return Object.assign(fn, {\n escape: () => {\n return executor;\n },\n });\n}\n\nexport type AdaptedExecutor<A extends Array<unknown>, T> = {\n (...args: A): Promise<Awaited<T>>;\n escape: () => Core.Executor<(...args: A) => Promise<Awaited<T>>>;\n};\n\nexport function adapt<A extends Array<unknown>, T>(\n scope: Core.Scope,\n executor: Core.Executor<(...args: A) => Promise<T> | T>\n): AdaptedExecutor<A, T> {\n const fn: AdaptedExecutor<A, T> = (async (...args: A) => {\n const fn = await scope.resolve(executor);\n return await fn(...args);\n }) as any;\n\n return Object.assign(fn, {\n escape: () => {\n return executor;\n },\n });\n}\n","import { Core, Meta } from \"./types\"\nimport { meta } from \"./meta\"\nimport { custom } from \"./ssch\"\n\nexport const eager: {\n meta: Meta.MetaFn<boolean>;\n plugin: () => Core.Plugin;\n} = {\n meta: meta(Symbol.for('@pumped-fn/plugin/eager'), custom<boolean>()),\n plugin: (): Core.Plugin => ({\n init(scope, { registry }) {\n\n for (const executor of registry) {\n const isEager = eager.meta.find(executor);\n if (isEager) {\n scope.resolve(executor)\n }\n }\n },\n })\n}\n","import { meta } from \"./meta\";\nimport { custom } from \"./ssch\";\nimport type { Meta } from \"./types\";\n\nexport { derive, provide, preset, isExecutor, isLazyExecutor, isMainExecutor, isPreset, isReactiveExecutor, isStaticExecutor } from \"./executor\";\nexport * as multi from \"./multi\"\nexport * as flow from \"./flow\";\nexport { FlowError, FlowErrorCode } from \"./flow\";\nexport { dataAccessor } from \"./data-accessor\";\nexport type { DataAccessor, DataStore } from \"./data-accessor\";\nexport * from \"./generator-utils\";\nexport * from \"./helpers\";\nexport * from \"./meta\";\nexport * from \"./scope\";\nexport * from \"./ssch\";\nexport * from \"./types\";\n\nexport const name: Meta.MetaFn<string> = meta(\n\t\"pumped-fn/name\",\n\tcustom<string>(),\n);\n\nexport * as plugins from \"./plugins\""],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["executorSymbol: unique symbol","metaSymbol: unique symbol","issues: ReadonlyArray<StandardSchemaV1.Issue>","schema: TSchema","data: unknown","key: string | symbol","schema: StandardSchemaV1<V>","value: V","d: Partial<V>","source: Meta.MetaContainer | Meta.Meta[] | undefined","meta: Meta.Meta<V>","meta","executor: Meta.MetaContainer | Meta.Meta[] | undefined","meta: Meta.MetaFn<V>","factory: Core.NoDependencyFn<T> | Core.DependentFn<T, unknown>","dependencies:\n | undefined\n | Core.UExecutor\n | ReadonlyArray<Core.UExecutor>\n | Record<string, Core.UExecutor>","metas: Meta.Meta[] | undefined","_: unknown","controller: Core.Controller","f","executor: Core.BaseExecutor<unknown>","executor: unknown","input: unknown","factory: Core.NoDependencyFn<T>","pdependencies: { [K in keyof D]: D[K] }","pfactory: Core.DependentFn<T, Core.InferOutput<D>>","e: Core.Executor<T> | Escapable<T>","v: T","option: Option<K>","poolId: Meta.MetaFn<any>","keyPool: Map<unknown, Core.Executor<T>>","createNewExecutor: (key: K) => Core.Executor<T>","providerMetas: Meta.Meta[]","key: K","ctl: Core.Controller","multiExecutor: MultiExecutor<T, K>","scope: Core.Scope","provide","valueFn: (key: K, controller: Core.Controller) => T | Promise<T>","derive","option: DeriveOption<K, Core.Destructed<D>>","valueFn: DependentFn<T, K, Core.InferOutput<D>>","value: unknown","fn: unknown","gen: Generator<Y, T> | AsyncGenerator<Y, T>","yielded: Y[]","returned: T","result: IteratorResult<Y, T>","handler: GeneratorHandler<Y, T>","e: Core.UExecutor","options?: ScopeOption","preset","plugin","e: UE","ie: Core.UExecutor","ref: UE","ie:\n | undefined\n | Core.UExecutor\n | Core.UExecutor[]\n | Record<string, Core.UExecutor>","r: Record<string, unknown>","cleanup: Core.Cleanup","force: boolean","resolve","soft: boolean","updateFn: unknown | ((current: unknown) => unknown)","cb: (value: unknown) => void","executor: Core.Executor<T>","e: Core.Executor<T>","u: T | ((current: T) => T)","value: T | undefined","value: T","e: Core.Executor<unknown>","s: boolean","cb: (a: Core.Accessor<T>) => void | Promise<void>","ou","callback: Core.ChangeCallback","cb: Core.ReleaseCallback","plugin: Core.Plugin","pod: Core.Pod","m: Core.Plugin","scope: BaseScope","option?: ScopeOption","force?: boolean","provide","config: Flow.Config & Flow.Schema<Input, Output>","handler: Flow.NoDependencyFlowFn<Input, Output>","derive","handler: Flow.DependentFlowFn<Core.InferOutput<D>, Input, Output>","deps: unknown","message: string","type: FlowErrorType","details?: any","context: Flow.ExecutionContext","key: any","value: any","controller: Flow.Controller & { context: typeof contextWithHelpers }","childContext: Flow.ExecutionContext","plugin","executor: Flow.Executor<Input, Output>","input: Input","opt?: Flow.ExecuteOpt","flow: Flow.Flow<Input, Output>","executionResult: Flow.Result<Output>","key: string | symbol","schema: StandardSchemaV1<T>","store: DataStore","value: T","scope: Core.Scope","executors: { [K in keyof T]: T[K] }","result","executor: Core.Executor<T>","fn: PreparedExecutor<Core.InferOutput<Core.Executor<T>>>","executor: Core.Executor<(...args: A) => Promise<T> | T>","fn: AdaptedExecutor<A, T>","fn","eager: {\n meta: Meta.MetaFn<boolean>;\n plugin: () => Core.Plugin;\n}","name: Meta.MetaFn<string>"],"sources":["../src/types.ts","../src/ssch.ts","../src/meta.ts","../src/executor.ts","../src/multi.ts","../src/generator-utils.ts","../src/scope.ts","../src/flow.ts","../src/data-accessor.ts","../src/helpers.ts","../src/plugins.ts","../src/index.ts"],"sourcesContent":["import { AdaptedExecutor, PreparedExecutor } from \"./helpers\";\n\nexport const executorSymbol: unique symbol = Symbol.for(\n \"@pumped-fn/core/executor\"\n);\nexport const metaSymbol: unique symbol = Symbol.for(\"@pumped-fn/core/meta\");\n\nexport interface StandardSchemaV1<Input = unknown, Output = Input> {\n readonly \"~standard\": StandardSchemaV1.Props<Input, Output>;\n}\n\nexport declare namespace StandardSchemaV1 {\n export interface Props<Input = unknown, Output = Input> {\n readonly version: 1;\n readonly vendor: string;\n readonly validate: (\n value: unknown\n ) => Result<Output> | Promise<Result<Output>>;\n readonly types?: Types<Input, Output> | undefined;\n }\n\n export type Result<Output> = SuccessResult<Output> | FailureResult;\n\n export interface SuccessResult<Output> {\n readonly value: Output;\n readonly issues?: undefined;\n }\n\n export interface FailureResult {\n readonly issues: ReadonlyArray<Issue>;\n }\n\n export interface Issue {\n readonly message: string;\n readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined;\n }\n\n export interface PathSegment {\n readonly key: PropertyKey;\n }\n\n export interface Types<Input = unknown, Output = Input> {\n readonly input: Input;\n readonly output: Output;\n }\n\n export type InferInput<Schema extends StandardSchemaV1> = NonNullable<\n Schema[\"~standard\"][\"types\"]\n >[\"input\"];\n\n export type InferOutput<Schema extends StandardSchemaV1> = NonNullable<\n Schema[\"~standard\"][\"types\"]\n >[\"output\"];\n}\n\nexport class SchemaError extends Error {\n public readonly issues: ReadonlyArray<StandardSchemaV1.Issue>;\n\n constructor(issues: ReadonlyArray<StandardSchemaV1.Issue>) {\n super(issues[0].message);\n this.name = \"SchemaError\";\n this.issues = issues;\n }\n}\n\nexport declare namespace Meta {\n export interface MetaContainer {\n metas: Meta[] | undefined;\n }\n\n export interface Meta<V = unknown> {\n readonly [metaSymbol]: true;\n readonly key: string | symbol;\n readonly schema: StandardSchemaV1<V>;\n readonly value: V;\n }\n\n export interface MetaFn<V> {\n (value: V): Meta<V>;\n readonly key: string | symbol;\n partial: <D extends Partial<V>>(d: D) => D;\n some: (source: MetaContainer | Meta[] | undefined) => V[];\n find: (source: MetaContainer | Meta[] | undefined) => V | undefined;\n get: (source: MetaContainer | Meta[] | undefined) => V;\n }\n\n export interface DefaultMetaFn<V> extends MetaFn<V> {\n (value?: V): Meta<V>;\n defaultValue: V;\n }\n}\n\nexport declare namespace Core {\n export type Output<T> = T | Promise<T>;\n export type GeneratorOutput<Y, T> =\n | T\n | Promise<T>\n | Generator<Y, T>\n | AsyncGenerator<Y, T>;\n\n export type NoDependencyFn<T> = (scope: Controller) => Output<T>;\n export type DependentFn<T, D> = (\n dependencies: D,\n scope: Controller\n ) => Output<T>;\n\n export type NoDependencyGeneratorFn<Y, T> = (\n scope: Controller\n ) => GeneratorOutput<Y, T>;\n export type DependentGeneratorFn<Y, T, D> = (\n dependencies: D,\n scope: Controller\n ) => GeneratorOutput<Y, T>;\n export type RecordLike = Record<string, unknown>;\n export type UExecutor = BaseExecutor<unknown>;\n\n export type Cleanup = () => void | Promise<void>;\n\n export type Controller = {\n cleanup: (cleanup: Cleanup) => void;\n release: () => Promise<void>;\n reload: () => Promise<void>;\n scope: Scope;\n };\n\n export type Kind = \"main\" | \"reactive\" | \"lazy\" | \"static\";\n\n export interface BaseExecutor<T> extends Meta.MetaContainer {\n [executorSymbol]: Kind;\n factory: NoDependencyFn<T> | DependentFn<T, unknown> | undefined;\n dependencies:\n | undefined\n | UExecutor\n | Array<UExecutor>\n | Record<string, UExecutor>;\n }\n\n export interface Executor<T> extends BaseExecutor<T> {\n [executorSymbol]: \"main\";\n factory: NoDependencyFn<T> | DependentFn<T, unknown>;\n\n /** Return an executor controller without resolving Executor */\n readonly lazy: Lazy<T>;\n\n /** Return an resolved executor, and mark the user to be reactived for future changes */\n readonly reactive: Reactive<T>;\n\n /** Return an resolved executor with its controller */\n readonly static: Static<T>;\n }\n\n export interface Reactive<T> extends BaseExecutor<T> {\n [executorSymbol]: \"reactive\";\n factory: undefined;\n readonly executor: Executor<T>;\n }\n\n export interface Lazy<T> extends BaseExecutor<Accessor<T>> {\n [executorSymbol]: \"lazy\";\n factory: undefined;\n readonly executor: Executor<T>;\n }\n\n export interface Static<T> extends BaseExecutor<Accessor<T>> {\n [executorSymbol]: \"static\";\n factory: undefined;\n readonly executor: Executor<T>;\n }\n\n export type PendingState<T> = { kind: \"pending\"; promise: Promise<T> };\n export type ResolvedState<T> = { kind: \"resolved\"; value: T };\n export type RejectedState = { kind: \"rejected\"; error: unknown };\n\n export type ResolveState<T> =\n | PendingState<T>\n | ResolvedState<T>\n | RejectedState;\n\n export interface Accessor<T> extends Meta.MetaContainer {\n lookup(): undefined | ResolveState<T>;\n\n get(): T;\n resolve(force?: boolean): Promise<T>;\n release(soft?: boolean): Promise<void>;\n update(updateFn: T | ((current: T) => T)): Promise<void>;\n set(value: T): Promise<void>;\n subscribe(callback: (value: T) => void): Cleanup;\n }\n\n export interface Preset<T> {\n [executorSymbol]: \"preset\";\n executor: Executor<T>;\n value: T;\n }\n\n export type InferOutput<T> = T extends\n | Executor<infer U>\n | Reactive<infer U>\n | PreparedExecutor<infer U>\n ? Awaited<U>\n : T extends Lazy<infer U> | Static<infer U>\n ? Accessor<Awaited<U>>\n : T extends AdaptedExecutor<infer A, infer U>\n ? (...args: A) => Promise<Awaited<U>>\n : T extends\n | ReadonlyArray<Core.BaseExecutor<unknown>>\n | Record<string, Core.BaseExecutor<unknown>>\n ? { [K in keyof T]: InferOutput<T[K]> }\n : never;\n\n type K = InferOutput<[Core.Executor<string>, Core.Executor<number>]>;\n // ^?\n\n export type Event = \"resolve\" | \"update\" | \"release\";\n export type Replacer = Preset<unknown>;\n type EventCallbackResult = void | Replacer;\n\n export type ChangeCallback = (\n event: \"resolve\" | \"update\",\n executor: Executor<unknown>,\n resolved: unknown,\n scope: Scope\n ) => EventCallbackResult | Promise<EventCallbackResult>;\n\n export type ReleaseCallback = (\n event: \"release\",\n executor: Executor<unknown>,\n scope: Scope\n ) => void | Promise<void>;\n\n export type Plugin = {\n init?: (\n scope: Scope,\n initialOpt: { registry: Core.Executor<unknown>[] }\n ) => void | Promise<void>;\n dispose?: (scope: Scope) => void | Promise<void>;\n };\n\n export type SingleDependencyLike = Core.BaseExecutor<unknown>;\n\n export type MultiDependencyLike =\n | ReadonlyArray<Core.BaseExecutor<unknown>>\n | Record<string, Core.BaseExecutor<unknown>>;\n\n export type DependencyLike = SingleDependencyLike | MultiDependencyLike;\n export type Destructed<T extends DependencyLike> =\n T extends SingleDependencyLike\n ? T\n : {\n [K in keyof T]: T[K];\n };\n\n export interface Pod\n extends Omit<Core.Scope, \"update\" | \"pod\" | \"disposePod\" | \"onChange\"> {}\n\n export interface Scope {\n accessor<T>(executor: Core.Executor<T>, eager?: boolean): Accessor<T>;\n entries(): [Core.Executor<unknown>, Core.Accessor<unknown>][];\n\n resolve<T>(executor: Core.Executor<T>, force?: boolean): Promise<T>;\n resolveAccessor<T>(executor: Core.Executor<T>): Promise<Accessor<T>>;\n\n update<T>(\n executor: Executor<T>,\n updateFn: T | ((current: T) => T)\n ): Promise<void>;\n set<T>(executor: Executor<T>, value: T): Promise<void>;\n\n release(executor: Executor<any>, soft?: boolean): Promise<void>;\n\n dispose(): Promise<void>;\n\n onUpdate<T>(\n executor: Executor<T>,\n callback: (accessor: Accessor<T>) => void\n ): Cleanup;\n\n onChange(cb: ChangeCallback): Cleanup;\n onRelease(cb: ReleaseCallback): Cleanup;\n\n use(middleware: Plugin): Cleanup;\n\n pod(...presets: Preset<unknown>[]): Pod;\n disposePod(scope: Pod): Promise<void>;\n }\n}\n\nexport namespace Flow {\n export type Context = {};\n\n export type ExecutionPlugin = {};\n export type ExecuteOpt = {\n scope?: Core.Scope;\n name?: string;\n description?: string;\n plugins?: FlowPlugin[];\n presets?: Core.Preset<unknown>[];\n };\n\n export type Controller = {\n execute: <Input, Output>(\n input: Flow<Input, Output>,\n param: Input,\n opt?: ExecuteOpt\n ) => Promise<Output>;\n safeExecute: <Input, Output>(\n input: Flow<Input, Output>,\n param: Input,\n opt?: ExecuteOpt\n ) => Promise<Result<Output>>;\n };\n\n export type NoDependencyFlowFn<Input, Output> = (\n input: Input,\n context: Controller & { context: ExecutionContext }\n ) => Output | Promise<Output>;\n\n export type DependentFlowFn<D, Input, Output> = (\n dependency: D,\n input: Input,\n context: Controller & { context: ExecutionContext }\n ) => Output | Promise<Output>;\n\n export type FlowPlugin = {\n name: string;\n wrap<T>(context: ExecutionContext, execute: () => Promise<T>): Promise<T>;\n };\n\n export type Flow<Input, Output> = {\n execution: NoDependencyFlowFn<Input, Output>;\n } & Config &\n Schema<Input, Output>;\n\n export type Schema<Input, Output> = {\n input: StandardSchemaV1<Input>;\n output: StandardSchemaV1<Output>;\n };\n\n export type Config = {\n name?: string;\n description?: string;\n plugins?: FlowPlugin[];\n metas?: Meta.Meta[];\n };\n\n export type Executor<Input, Output> = Core.Executor<Flow<Input, Output>> &\n Config &\n Schema<Input, Output>;\n\n export type ExecutionContext<Input = any, Output = any> = {\n data: Map<unknown, unknown>;\n parent?: ExecutionContext;\n scope: Core.Scope;\n plugins: FlowPlugin[];\n flow: Flow<Input, Output>; // The flow being executed\n };\n\n export type Success<T> = { kind: \"success\"; value: T };\n export type Error = { kind: \"error\"; error: unknown };\n\n export type Result<T> = Success<T> | Error;\n\n export type ExecutionResult<Output> = {\n context: ExecutionContext;\n result: Result<Output>;\n };\n}\n\nexport namespace Multi {\n export type Key = unknown;\n export type MultiExecutor<T, K> = Core.Executor<(k: K) => Promise<T>>;\n}\n","import { SchemaError, StandardSchemaV1 } from \"./types\";\n\nexport function validate<TSchema extends StandardSchemaV1>(\n schema: TSchema,\n data: unknown\n): Awaited<StandardSchemaV1.InferOutput<TSchema>> {\n const result = schema[\"~standard\"].validate(data);\n\n if (\"then\" in result) {\n throw new Error(\"validating async is not supported\");\n }\n\n if (result.issues) {\n throw new SchemaError(result.issues);\n }\n return result.value as any;\n}\n\nexport async function validateAsync<TSchema extends StandardSchemaV1>(\n schema: TSchema,\n data: unknown\n): Promise<Awaited<StandardSchemaV1.InferOutput<TSchema>>> {\n const result = schema[\"~standard\"].validate(data);\n\n if (\"then\" in result) {\n const result_1 = await result;\n if (result_1.issues) {\n throw new SchemaError(result_1.issues);\n }\n return result_1.value as any;\n }\n\n if (result.issues) {\n throw new SchemaError(result.issues);\n }\n\n return Promise.resolve(result.value as any);\n}\n\nexport function custom<T>(): StandardSchemaV1<T, T> {\n return {\n \"~standard\": {\n vendor: \"pumped-fn\",\n version: 1,\n validate: (value) => {\n return { value: value as T };\n },\n },\n };\n}\n","import { validate } from \"./ssch\";\nimport { metaSymbol, StandardSchemaV1, type Meta } from \"./types\";\n\nexport const meta = <V>(\n key: string | symbol,\n schema: StandardSchemaV1<V>\n): Meta.MetaFn<V> => {\n const _key = typeof key === \"string\" ? Symbol(key) : key;\n\n const fn = (value: V) =>\n ({\n [metaSymbol]: true,\n key: _key,\n schema,\n value,\n } as unknown as Meta.MetaFn<V>);\n\n Object.defineProperty(fn, \"key\", {\n value: _key,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n\n Object.defineProperty(fn, metaSymbol, {\n value: true,\n configurable: false,\n enumerable: false,\n writable: false,\n });\n\n Object.defineProperties(fn, {\n partial: {\n value: (d: Partial<V>) => {\n return Object.assign({}, fn({} as V), d);\n },\n configurable: false,\n enumerable: false,\n writable: false,\n },\n some: {\n value: (source: Meta.MetaContainer | Meta.Meta[] | undefined) =>\n findValues(source, fn as unknown as Meta.MetaFn<unknown>),\n configurable: false,\n enumerable: false,\n writable: false,\n },\n find: {\n value: (source: Meta.MetaContainer | Meta.Meta[] | undefined) =>\n findValue(source, fn as unknown as Meta.MetaFn<unknown>),\n configurable: false,\n enumerable: false,\n writable: false,\n },\n get: {\n value: (source: Meta.MetaContainer | Meta.Meta[] | undefined) =>\n getValue(\n findValue(\n source,\n fn as unknown as Meta.MetaFn<unknown>\n ) as Meta.Meta<V>\n ),\n configurable: false,\n enumerable: false,\n writable: false,\n },\n });\n\n return fn as any;\n};\n\nexport function getValue<V>(meta: Meta.Meta<V>): Awaited<V> {\n return validate(meta.schema, meta.value);\n}\n\nexport function findValues<V = unknown>(\n executor: Meta.MetaContainer | Meta.Meta[] | undefined,\n meta: Meta.MetaFn<V>\n): V[] {\n if (!executor) return [];\n\n const metas = Array.isArray(executor) ? executor : executor.metas ?? [];\n\n const maybeMeta = metas.filter((m) => m.key === meta.key);\n return maybeMeta.map((m) => getValue(m as Meta.Meta<V>));\n}\n\nexport function findValue<V>(\n executor: Meta.MetaContainer | Meta.Meta[] | undefined,\n meta: Meta.MetaFn<V>\n): V | undefined {\n const values = findValues(executor, meta);\n return values.at(0);\n}\n","import { Core, executorSymbol, Meta } from \"./types\";\nimport type { Escapable } from \"./helpers\";\n\nexport function createExecutor<T>(\n factory: Core.NoDependencyFn<T> | Core.DependentFn<T, unknown>,\n dependencies:\n | undefined\n | Core.UExecutor\n | ReadonlyArray<Core.UExecutor>\n | Record<string, Core.UExecutor>,\n metas: Meta.Meta[] | undefined\n): Core.Executor<T> {\n const executor = {\n [executorSymbol]: \"main\",\n factory: (_: unknown, controller: Core.Controller) => {\n if (dependencies === undefined) {\n const f = factory as Core.NoDependencyFn<T>;\n return f(controller);\n }\n\n const f = factory as Core.DependentFn<T, unknown>;\n return f(_, controller);\n },\n dependencies,\n metas: metas,\n } as unknown as Core.Executor<T>;\n\n const lazyExecutor = {\n [executorSymbol]: \"lazy\",\n dependencies: undefined,\n executor,\n factory: undefined,\n metas: metas,\n } satisfies Core.Lazy<T>;\n\n const reactiveExecutor = {\n [executorSymbol]: \"reactive\",\n executor,\n factory: undefined,\n dependencies: undefined,\n metas: metas,\n } satisfies Core.Reactive<T>;\n\n const staticExecutor = {\n [executorSymbol]: \"static\",\n dependencies: undefined,\n factory: undefined,\n metas: metas,\n executor,\n } satisfies Core.Static<T>;\n\n Object.defineProperties(executor, {\n lazy: {\n value: lazyExecutor,\n writable: false,\n configurable: false,\n enumerable: false,\n },\n reactive: {\n value: reactiveExecutor,\n writable: false,\n configurable: false,\n enumerable: false,\n },\n static: {\n value: staticExecutor,\n writable: false,\n configurable: false,\n enumerable: false,\n },\n });\n\n return executor;\n}\n\nexport function isLazyExecutor(\n executor: Core.BaseExecutor<unknown>\n): executor is Core.Lazy<unknown> {\n return executor[executorSymbol] === \"lazy\";\n}\n\nexport function isReactiveExecutor(\n executor: Core.BaseExecutor<unknown>\n): executor is Core.Reactive<unknown> {\n return executor[executorSymbol] === \"reactive\";\n}\n\nexport function isStaticExecutor(\n executor: Core.BaseExecutor<unknown>\n): executor is Core.Static<unknown> {\n return executor[executorSymbol] === \"static\";\n}\n\nexport function isMainExecutor(\n executor: unknown\n): executor is Core.Executor<unknown> {\n return isExecutor(executor) && executor[executorSymbol] === \"main\";\n}\n\nexport function isExecutor<T>(input: unknown): input is Core.BaseExecutor<T> {\n return typeof input === \"object\" && input !== null && executorSymbol in input;\n}\n\nexport function isPreset(input: unknown): input is Core.Preset<unknown> {\n return (\n typeof input === \"object\" &&\n input !== null &&\n executorSymbol in input &&\n (input as Core.Preset<unknown>)[executorSymbol] === \"preset\"\n );\n}\n\nexport function provide<T>(\n factory: Core.NoDependencyFn<T>,\n ...metas: Meta.Meta[]\n): Core.Executor<T> {\n return createExecutor(factory, undefined, metas);\n}\n\nexport function derive<T, D extends Core.DependencyLike>(\n pdependencies: { [K in keyof D]: D[K] },\n pfactory: Core.DependentFn<T, Core.InferOutput<D>>,\n ...metas: Meta.Meta[]\n): Core.Executor<T> {\n return createExecutor(pfactory as any, pdependencies as any, metas);\n}\n\nexport function preset<T>(\n e: Core.Executor<T> | Escapable<T>,\n v: T\n): Core.Preset<T> {\n const executor = isExecutor(e) ? e : e.escape();\n\n return {\n [executorSymbol]: \"preset\",\n value: v,\n executor,\n };\n}\n\nexport function placeholder<V>(\n ...metas: Meta.Meta<unknown>[]\n): Core.Executor<V> {\n return provide<V>(() => {\n throw new Error(\"Placeholder executor cannot be resolved\");\n }, ...metas);\n}\n","/** facilities to add multiple instances (key set) */\nimport { createExecutor } from \"./executor\";\nimport { meta } from \"./meta\";\nimport { custom, validate } from \"./ssch\";\nimport { Core, Meta } from \"./types\";\nimport { type StandardSchemaV1 } from \"./types\";\n\ntype MultiExecutor<T, K> = Core.Executor<(k: K) => Core.Accessor<T>> &\n ((key: K) => Core.Executor<T>) & {\n release: (scope: Core.Scope) => Promise<void>;\n id: Meta.MetaFn<unknown>;\n };\n\nexport type DependentFn<T, K, D> = (\n dependencies: D,\n key: K,\n scope: Core.Controller\n) => Core.Output<T>;\n\ntype Option<K> = {\n keySchema: StandardSchemaV1<K>;\n /** Key transform will be used to store and retrieve */\n keyTransform?: (key: K) => unknown;\n};\n\ntype DeriveOption<K, D extends Core.DependencyLike> = Option<K> & {\n dependencies: D;\n};\n\nfunction createMultiExecutor<T, K>(\n option: Option<K>,\n poolId: Meta.MetaFn<any>,\n keyPool: Map<unknown, Core.Executor<T>>,\n createNewExecutor: (key: K) => Core.Executor<T>,\n providerMetas: Meta.Meta[]\n): MultiExecutor<T, K> {\n const processKey = (key: K) => {\n const validatedKey = validate(option.keySchema, key);\n const transformedKey = option.keyTransform\n ? option.keyTransform(validatedKey)\n : validatedKey;\n return { validatedKey, transformedKey };\n };\n\n const newProvider = (key: K) => {\n const { transformedKey } = processKey(key);\n const executor = createNewExecutor(key);\n keyPool.set(transformedKey, executor);\n return executor;\n };\n\n const provider = createExecutor(\n (ctl: Core.Controller) => {\n return (key: K) => {\n const { transformedKey } = processKey(key);\n let executor = keyPool.get(transformedKey);\n if (!executor) {\n executor = newProvider(key);\n }\n return ctl.scope.accessor(executor);\n };\n },\n undefined,\n providerMetas\n );\n\n const multiExecutor: MultiExecutor<T, K> = ((key: K) => {\n const { transformedKey } = processKey(key);\n return keyPool.get(transformedKey) || newProvider(key);\n }) as any;\n\n Object.assign(multiExecutor, provider);\n multiExecutor.release = async (scope: Core.Scope) => {\n const entries = scope.entries();\n for (const [executor] of entries) {\n const check = poolId.some ? poolId.some(executor) : poolId.find(executor);\n if (check && (Array.isArray(check) ? check.length > 0 : check)) {\n await scope.release(executor);\n }\n }\n };\n multiExecutor.id = poolId as any;\n\n return multiExecutor;\n}\n\nexport function provide<T, K>(\n option: Option<K>,\n valueFn: (key: K, controller: Core.Controller) => T | Promise<T>,\n ...metas: Meta.Meta[]\n): MultiExecutor<T, K> {\n const poolId = meta(Symbol(), custom<undefined>());\n const keyPool = new Map<unknown, Core.Executor<T>>();\n\n const createNewExecutor = (key: K) => {\n const validatedKey = validate(option.keySchema, key);\n return createExecutor(\n (ctl: Core.Controller) => valueFn(validatedKey, ctl),\n undefined,\n [poolId(undefined), ...metas]\n );\n };\n\n return createMultiExecutor(option, poolId, keyPool, createNewExecutor, [\n poolId(undefined),\n ...metas,\n ]);\n}\n\nexport function derive<T, K, D extends Core.DependencyLike>(\n option: DeriveOption<K, Core.Destructed<D>>,\n valueFn: DependentFn<T, K, Core.InferOutput<D>>,\n ...metas: Meta.Meta[]\n): MultiExecutor<T, K> {\n const poolId = meta(Symbol(), custom<void>());\n const keyPool = new Map<unknown, Core.Executor<T>>();\n\n const createNewExecutor = (key: K) => {\n const validatedKey = validate(option.keySchema, key);\n return createExecutor(\n (dependencies, ctl) => valueFn(dependencies as any, validatedKey, ctl),\n option.dependencies,\n metas\n );\n };\n\n return createMultiExecutor(option, poolId, keyPool, createNewExecutor, metas);\n}\n\n// code may look like this\n// const multi = provide(schema <K>, (key: K) => { /// value: T}) --> MultiExecutor<T,K>\n// const hardcodedMulti = multi({ key }) // Core.Executor<T>\n","export function isGenerator<Y = unknown, T = unknown>(\n value: unknown\n): value is Generator<Y, T> {\n return (\n value != null &&\n typeof value === \"object\" &&\n typeof (value as any)[Symbol.iterator] === \"function\" &&\n typeof (value as any).next === \"function\" &&\n typeof (value as any).return === \"function\" &&\n typeof (value as any).throw === \"function\"\n );\n}\n\nexport function isAsyncGenerator<Y = unknown, T = unknown>(\n value: unknown\n): value is AsyncGenerator<Y, T> {\n return (\n value != null &&\n typeof value === \"object\" &&\n typeof (value as any)[Symbol.asyncIterator] === \"function\" &&\n typeof (value as any).next === \"function\" &&\n typeof (value as any).return === \"function\" &&\n typeof (value as any).throw === \"function\"\n );\n}\n\nexport function isGeneratorFunction(fn: unknown): fn is GeneratorFunction {\n return (\n typeof fn === \"function\" &&\n fn.constructor &&\n fn.constructor.name === \"GeneratorFunction\"\n );\n}\n\nexport function isAsyncGeneratorFunction(\n fn: unknown\n): fn is AsyncGeneratorFunction {\n return (\n typeof fn === \"function\" &&\n fn.constructor &&\n fn.constructor.name === \"AsyncGeneratorFunction\"\n );\n}\n\nexport function isIterableOrAsyncIterable(\n value: unknown\n): value is Iterable<unknown> | AsyncIterable<unknown> {\n return isGenerator(value) || isAsyncGenerator(value);\n}\n\nexport async function collectFromGenerator<Y, T>(\n gen: Generator<Y, T> | AsyncGenerator<Y, T>\n): Promise<{ yielded: Y[]; returned: T }> {\n const yielded: Y[] = [];\n let returned: T;\n\n try {\n let result: IteratorResult<Y, T>;\n \n do {\n result = await gen.next();\n if (!result.done) {\n yielded.push(result.value);\n } else {\n returned = result.value;\n }\n } while (!result.done);\n\n return { yielded, returned: returned! };\n } catch (error) {\n // Ensure generator is closed on error\n await gen.return?.(undefined as any);\n throw error;\n }\n}\n\nexport interface GeneratorHandler<Y, T> {\n onYield?: (value: Y, index: number) => void | Promise<void>;\n onReturn?: (value: T) => void | Promise<void>;\n onError?: (error: unknown) => void | Promise<void>;\n}\n\nexport async function processGenerator<Y, T>(\n gen: Generator<Y, T> | AsyncGenerator<Y, T>,\n handler: GeneratorHandler<Y, T>\n): Promise<T> {\n let index = 0;\n \n try {\n let result: IteratorResult<Y, T>;\n \n do {\n result = await gen.next();\n \n if (!result.done) {\n await handler.onYield?.(result.value, index++);\n } else {\n await handler.onReturn?.(result.value);\n return result.value;\n }\n } while (true);\n } catch (error) {\n await handler.onError?.(error);\n // Ensure generator is closed\n await gen.return?.(undefined as any);\n throw error;\n }\n}","import {\n isLazyExecutor,\n isReactiveExecutor,\n isStaticExecutor,\n isMainExecutor,\n isExecutor,\n isPreset,\n} from \"./executor\";\nimport { Core } from \"./types\";\nimport {\n isGenerator,\n isAsyncGenerator,\n collectFromGenerator,\n} from \"./generator-utils\";\n\ntype CacheEntry = {\n accessor: Core.Accessor<unknown>;\n value: Core.ResolveState<unknown>;\n};\n\ntype UE = Core.Executor<unknown>;\ntype OnUpdateFn = (accessor: Core.Accessor<unknown>) => void | Promise<void>;\n\nfunction getExecutor(e: Core.UExecutor): Core.Executor<unknown> {\n if (isLazyExecutor(e) || isReactiveExecutor(e) || isStaticExecutor(e)) {\n return e.executor;\n }\n\n return e as Core.Executor<unknown>;\n}\n\nclass BaseScope implements Core.Scope {\n protected disposed: boolean = false;\n protected cache: Map<UE, CacheEntry> = new Map();\n protected cleanups = new Map<UE, Set<Core.Cleanup>>();\n protected onUpdates = new Map<UE, Set<OnUpdateFn | UE>>();\n protected onEvents = {\n change: new Set<Core.ChangeCallback>(),\n release: new Set<Core.ReleaseCallback>(),\n } as const;\n protected isPod: boolean;\n private isDisposing = false;\n\n protected plugins: Core.Plugin[] = [];\n protected registry: Core.Executor<unknown>[] = [];\n\n constructor(options?: ScopeOption) {\n this.isPod = options?.pod || false;\n if (options?.registry) {\n this.registry = [...options.registry];\n }\n\n if (options?.initialValues) {\n for (const preset of options.initialValues) {\n this.set(preset.executor, preset.value);\n }\n }\n\n if (options?.plugins) {\n for (const plugin of options.plugins) {\n this.use(plugin);\n }\n }\n }\n\n protected async \"~triggerCleanup\"(e: UE): Promise<void> {\n const cs = this.cleanups.get(e);\n if (cs) {\n for (const c of Array.from(cs.values()).reverse()) {\n await c();\n }\n }\n }\n\n protected async \"~triggerUpdate\"(e: UE): Promise<void> {\n const ce = this.cache.get(e);\n if (!ce) {\n throw new Error(\"Executor is not yet resolved\");\n }\n\n const ou = this.onUpdates.get(e);\n if (ou) {\n for (const t of Array.from(ou.values())) {\n if (isMainExecutor(t)) {\n if (this.cleanups.has(t)) {\n this[\"~triggerCleanup\"](t);\n }\n\n const a = this.cache.get(t);\n await a!.accessor.resolve(true);\n\n if (this.onUpdates.has(t)) {\n await this[\"~triggerUpdate\"](t);\n }\n } else {\n await t(ce.accessor);\n }\n }\n }\n }\n\n protected async \"~resolveExecutor\"(\n ie: Core.UExecutor,\n ref: UE\n ): Promise<unknown> {\n const e = getExecutor(ie);\n const a = this[\"~makeAccessor\"](e);\n\n if (isLazyExecutor(ie)) {\n return a;\n }\n\n if (isReactiveExecutor(ie)) {\n const c = this.onUpdates.get(ie.executor) ?? new Set();\n this.onUpdates.set(ie.executor, c);\n c.add(ref);\n }\n\n await a.resolve(false);\n if (isStaticExecutor(ie)) {\n return a;\n }\n\n return a.get();\n }\n\n protected async \"~resolveDependencies\"(\n ie:\n | undefined\n | Core.UExecutor\n | Core.UExecutor[]\n | Record<string, Core.UExecutor>,\n ref: UE\n ): Promise<undefined | unknown | unknown[] | Record<string, unknown>> {\n if (ie === undefined) {\n return undefined;\n }\n\n if (isExecutor(ie)) {\n return this[\"~resolveExecutor\"](ie, ref);\n }\n\n if (Array.isArray(ie)) {\n return await Promise.all(\n ie.map((item) => this[\"~resolveDependencies\"](item, ref))\n );\n }\n\n const r: Record<string, unknown> = {};\n for (const k of Object.keys(ie)) {\n const t = ie[k];\n const rd = await this[\"~resolveDependencies\"](t, ref);\n\n r[k] = rd;\n }\n\n return r;\n }\n\n protected \"~ensureNotDisposed\"(): void {\n if (this.disposed) {\n throw new Error(\"Scope is disposed\");\n }\n }\n\n protected \"~makeAccessor\"(e: Core.UExecutor): Core.Accessor<unknown> {\n const requestor =\n isLazyExecutor(e) || isReactiveExecutor(e) || isStaticExecutor(e)\n ? e.executor\n : (e as UE);\n\n const cachedAccessor = this.cache.get(requestor);\n if (cachedAccessor) {\n return cachedAccessor.accessor;\n }\n\n const accessor = {} as Core.Accessor<unknown>;\n const factory = requestor.factory;\n const controller = {\n cleanup: (cleanup: Core.Cleanup) => {\n const currentSet = this.cleanups.get(requestor) ?? new Set();\n this.cleanups.set(requestor, currentSet);\n\n currentSet.add(cleanup);\n },\n release: async () => this.release(requestor),\n reload: async () => {\n await this.resolve(requestor, true);\n },\n scope: this,\n };\n\n const resolve = (force: boolean): Promise<unknown> => {\n this[\"~ensureNotDisposed\"]();\n\n const entry = this.cache.get(requestor)!;\n const cached = entry?.value;\n\n if (cached && !force) {\n if (cached.kind === \"resolved\") {\n return Promise.resolve(cached.value);\n } else if (cached.kind === \"rejected\") {\n throw cached.error;\n } else {\n return cached.promise;\n }\n }\n\n const promise = new Promise((resolve, reject) => {\n this[\"~resolveDependencies\"](requestor.dependencies, requestor)\n .then((dependencies) => factory(dependencies as any, controller))\n .then(async (result) => {\n let current = result;\n\n // Handle generator results\n if (isGenerator(result) || isAsyncGenerator(result)) {\n const { returned } = await collectFromGenerator(result);\n current = returned;\n }\n\n const events = this.onEvents.change;\n for (const event of events) {\n const updated = await event(\"resolve\", requestor, current, this);\n if (updated !== undefined && updated.executor === requestor) {\n current = updated.value;\n }\n }\n\n this.cache.set(requestor, {\n accessor,\n value: { kind: \"resolved\", value: current },\n });\n\n resolve(current);\n })\n .catch((error) => {\n this.cache.set(requestor, {\n accessor,\n value: { kind: \"rejected\", error },\n });\n\n reject(error);\n });\n });\n\n this.cache.set(requestor, {\n accessor,\n value: { kind: \"pending\", promise },\n });\n return promise;\n };\n\n return Object.assign(accessor, {\n get: () => {\n this[\"~ensureNotDisposed\"]();\n\n const cacheEntry = this.cache.get(requestor)?.value;\n\n if (!cacheEntry || cacheEntry.kind === \"pending\") {\n throw new Error(\"Executor is not resolved\");\n }\n\n if (cacheEntry.kind === \"rejected\") {\n throw cacheEntry.error;\n }\n\n return cacheEntry.value;\n },\n lookup: () => {\n this[\"~ensureNotDisposed\"]();\n\n const cacheEntry = this.cache.get(requestor);\n\n if (!cacheEntry) {\n return undefined;\n }\n\n return cacheEntry.value;\n },\n metas: e.metas,\n resolve,\n release: async (soft: boolean = false) => {\n this.release(requestor, soft);\n },\n update: (updateFn: unknown | ((current: unknown) => unknown)) => {\n return this.update(requestor, updateFn);\n },\n set: async (value): Promise<void> => {\n return this.update(requestor, value);\n },\n subscribe: (cb: (value: unknown) => void) => {\n this[\"~ensureNotDisposed\"]();\n return this.onUpdate(requestor, cb);\n },\n } satisfies Partial<Core.Accessor<unknown>>);\n }\n\n accessor<T>(executor: Core.Executor<T>): Core.Accessor<T> {\n this[\"~ensureNotDisposed\"]();\n return this[\"~makeAccessor\"](executor) as Core.Accessor<T>;\n }\n\n entries(): Array<[UE, Core.Accessor<unknown>]> {\n return Array.from(this.cache.entries()).map(([executor, entry]) => {\n return [executor, entry.accessor];\n });\n }\n\n async resolve<T>(\n executor: Core.Executor<T>,\n force: boolean = false\n ): Promise<T> {\n this[\"~ensureNotDisposed\"]();\n\n const accessor = this[\"~makeAccessor\"](executor);\n await accessor.resolve(force);\n return accessor.get() as T;\n }\n\n async resolveAccessor<T>(\n executor: Core.Executor<T>,\n force: boolean = false\n ): Promise<Core.Accessor<T>> {\n this[\"~ensureNotDisposed\"]();\n const accessor = this[\"~makeAccessor\"](executor);\n await accessor.resolve(force);\n return accessor as Core.Accessor<T>;\n }\n\n async update<T>(\n e: Core.Executor<T>,\n u: T | ((current: T) => T)\n ): Promise<void> {\n if (this.isDisposing) {\n return;\n }\n\n this[\"~ensureNotDisposed\"]();\n this[\"~triggerCleanup\"](e);\n const accessor = this[\"~makeAccessor\"](e);\n\n let value: T | undefined;\n\n if (typeof u === \"function\") {\n const fn = u as (current: T) => T;\n value = fn(accessor.get() as T);\n } else {\n value = u;\n }\n\n const events = this.onEvents.change;\n for (const event of events) {\n const updated = await event(\"update\", e, value, this);\n if (updated !== undefined && e === updated.executor) {\n value = updated.value as any;\n }\n }\n\n this.cache.set(e, {\n accessor,\n value: { kind: \"resolved\", value },\n });\n\n await this[\"~triggerUpdate\"](e);\n }\n\n async set<T>(e: Core.Executor<T>, value: T): Promise<void> {\n return this.update(e, value);\n }\n\n async release(e: Core.Executor<unknown>, s: boolean = false): Promise<void> {\n this[\"~ensureNotDisposed\"]();\n\n const ce = this.cache.get(e);\n if (!ce && !s) {\n throw new Error(\"Executor is not yet resolved\");\n }\n\n await this[\"~triggerCleanup\"](e);\n const events = this.onEvents.release;\n for (const event of events) {\n await event(\"release\", e, this);\n }\n\n const ou = this.onUpdates.get(e);\n if (ou) {\n for (const t of Array.from(ou.values())) {\n if (isMainExecutor(t)) {\n await this.release(t, true);\n }\n }\n\n this.onUpdates.delete(e);\n }\n\n this.cache.delete(e);\n }\n\n async dispose(): Promise<void> {\n this[\"~ensureNotDisposed\"]();\n this.isDisposing = true;\n\n for (const pod of this.pods) {\n await this.disposePod(pod);\n }\n\n const disposeEvents = this.plugins.map(\n (m) => m.dispose?.(this) ?? Promise.resolve()\n );\n await Promise.all(disposeEvents);\n\n const currents = this.cache.keys();\n for (const current of currents) {\n await this.release(current, true);\n }\n\n this.disposed = true;\n this.cache.clear();\n this.cleanups.clear();\n this.onUpdates.clear();\n this.onEvents.change.clear();\n this.onEvents.release.clear();\n }\n\n onUpdate<T>(\n e: Core.Executor<T>,\n cb: (a: Core.Accessor<T>) => void | Promise<void>\n ): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n const ou = this.onUpdates.get(e) ?? new Set();\n this.onUpdates.set(e, ou);\n ou.add(cb as any);\n\n return () => {\n this[\"~ensureNotDisposed\"]();\n\n const ou = this.onUpdates.get(e);\n if (ou) {\n ou.delete(cb as any);\n if (ou.size === 0) {\n this.onUpdates.delete(e);\n }\n }\n };\n }\n\n onChange(callback: Core.ChangeCallback): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n this.onEvents[\"change\"].add(callback as any);\n return () => {\n this[\"~ensureNotDisposed\"]();\n this.onEvents[\"change\"].delete(callback as any);\n };\n }\n\n onRelease(cb: Core.ReleaseCallback): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n this.onEvents[\"release\"].add(cb);\n return () => {\n this[\"~ensureNotDisposed\"]();\n this.onEvents[\"release\"].delete(cb);\n };\n }\n\n use(plugin: Core.Plugin): Core.Cleanup {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n this.plugins.push(plugin);\n plugin.init?.(this, { registry: this.registry });\n\n return () => {\n this[\"~ensureNotDisposed\"]();\n this.plugins = this.plugins.filter((m) => m !== plugin);\n };\n }\n\n private pods: Set<Core.Pod> = new Set();\n\n pod(...preset: Core.Preset<unknown>[]): Core.Pod {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n throw new Error(\"Cannot register update callback on a disposing scope\");\n }\n\n const pod = new Pod(this, { initialValues: preset });\n this.pods.add(pod);\n return pod;\n }\n\n async disposePod(pod: Core.Pod): Promise<void> {\n this[\"~ensureNotDisposed\"]();\n if (this.isDisposing) {\n return;\n }\n\n await pod.dispose();\n this.pods.delete(pod);\n }\n}\n\nexport type ScopeOption = {\n pod?: boolean;\n initialValues?: Core.Preset<unknown>[];\n registry?: Core.Executor<unknown>[];\n plugins?: Core.Plugin[];\n};\n\nexport function createScope(): Core.Scope;\nexport function createScope(opt: ScopeOption): Core.Scope;\n\n/**\n * @deprecated\n *\n * Use the version with ScopeOption instead\n * @param presets\n */\nexport function createScope(...presets: Core.Preset<unknown>[]): Core.Scope;\n\nexport function createScope(\n ...opt: [ScopeOption | undefined] | Core.Preset<unknown>[]\n): Core.Scope {\n if (opt.at(0) === undefined) {\n return new BaseScope();\n }\n\n if (opt.length === 1 && !isPreset(opt[0])) {\n return new BaseScope(opt[0]);\n }\n\n return new BaseScope({\n initialValues: opt as Core.Preset<unknown>[],\n });\n}\n\nexport function plugin(m: Core.Plugin): Core.Plugin {\n return m;\n}\n\nclass Pod extends BaseScope implements Core.Pod {\n private parentScope: BaseScope;\n\n constructor(scope: BaseScope, option?: ScopeOption) {\n super(option);\n this.parentScope = scope;\n }\n\n /**\n * Expect to resolve everything in pod. Unless it's already resolved in the main\n * @param executor\n * @param force\n * @returns\n */\n async resolve<T>(executor: Core.Executor<T>, force?: boolean): Promise<T> {\n if (this.cache.has(executor)) {\n return super.resolve(executor, force);\n }\n\n if (this.parentScope[\"cache\"].has(executor)) {\n const { value } = this.parentScope[\"cache\"].get(executor)!;\n const accessor = super[\"~makeAccessor\"](executor);\n\n this[\"cache\"].set(executor, {\n accessor,\n value,\n });\n\n if (value.kind === \"rejected\") {\n throw value.error;\n }\n\n if (value.kind === \"resolved\") {\n return value.value as T;\n }\n\n if (value.kind === \"pending\") {\n return (await value.promise) as T;\n }\n }\n\n return await super.resolve(executor, force);\n }\n\n protected async \"~resolveExecutor\"(\n ie: Core.UExecutor,\n ref: UE\n ): Promise<unknown> {\n if (isReactiveExecutor(ie)) {\n throw new Error(\"Reactive executors cannot be used in pod\");\n }\n\n const t = getExecutor(ie);\n const a = this[\"~makeAccessor\"](t);\n\n if (this.parentScope[\"cache\"].has(t)) {\n const { value } = this.parentScope[\"cache\"].get(t)!;\n this[\"cache\"].set(t, {\n accessor: a,\n value,\n });\n }\n\n return await super[\"~resolveExecutor\"](ie, ref);\n }\n}\n","import type { Core, Flow } from \"./types\";\nimport { createExecutor } from \"./executor\";\nimport { createScope } from \"./scope\";\nimport { validate } from \"./ssch\";\n\nexport function provide<Input, Output>(\n config: Flow.Config & Flow.Schema<Input, Output>,\n handler: Flow.NoDependencyFlowFn<Input, Output>\n): Flow.Executor<Input, Output> {\n const executor = createExecutor(\n (): Flow.Flow<Input, Output> => ({\n execution: handler,\n input: config.input,\n output: config.output,\n plugins: config.plugins || [],\n metas: config.metas || [], // Include metas in the resolved flow\n name: config.name,\n description: config.description,\n }),\n undefined,\n config.metas || []\n ) as Flow.Executor<Input, Output>;\n\n Object.assign(executor, config);\n return executor;\n}\n\nexport function derive<D extends Core.DependencyLike, Input, Output>(\n {\n dependencies,\n ...config\n }: {\n dependencies: Core.Destructed<D>;\n } & Flow.Config &\n Flow.Schema<Input, Output>,\n handler: Flow.DependentFlowFn<Core.InferOutput<D>, Input, Output>\n): Flow.Executor<Input, Output> {\n const executor = createExecutor(\n (deps: unknown): Flow.Flow<Input, Output> => ({\n execution: (input, controller) => handler(deps as any, input, controller),\n input: config.input,\n output: config.output,\n plugins: config.plugins || [],\n metas: config.metas || [], // Include metas in the resolved flow\n name: config.name,\n description: config.description,\n }),\n dependencies as any,\n config.metas || []\n ) as Flow.Executor<Input, Output>;\n\n Object.assign(executor, config);\n return executor;\n}\n\n// Error codes as constants instead of enum\nexport const FlowErrorCode = {\n VALIDATION: \"validation\",\n TIMEOUT: \"timeout\",\n EXECUTION: \"execution\",\n DEPENDENCY: \"dependency\",\n PLUGIN: \"plugin\",\n SCOPE: \"scope\",\n UNKNOWN: \"unknown\",\n} as const;\n\nexport type FlowErrorType = (typeof FlowErrorCode)[keyof typeof FlowErrorCode];\n\n// Single error class with type parameter\nexport class FlowError extends Error {\n type: FlowErrorType;\n details?: any;\n\n constructor(message: string, type: FlowErrorType, details?: any) {\n super(message);\n this.name = \"FlowError\";\n this.type = type;\n this.details = details;\n }\n\n // Helper functions to create specific error types\n static validation(message: string, details?: any): FlowError {\n return new FlowError(message, FlowErrorCode.VALIDATION, details);\n }\n\n static timeout(\n message: string = \"Operation timed out\",\n details?: any\n ): FlowError {\n return new FlowError(message, FlowErrorCode.TIMEOUT, details);\n }\n\n static execution(message: string, details?: any): FlowError {\n return new FlowError(message, FlowErrorCode.EXECUTION, details);\n }\n\n static dependency(message: string, details?: any): FlowError {\n return new FlowError(message, FlowErrorCode.DEPENDENCY, details);\n }\n}\n\nfunction createController(context: Flow.ExecutionContext): Flow.Controller & {\n context: Flow.ExecutionContext & {\n get(key: any): any;\n set(key: any, value: any): void;\n has(key: any): boolean;\n };\n} {\n // Add context helper methods\n const contextWithHelpers = Object.assign(context, {\n get(key: any): any {\n return context.data.get(key);\n },\n set(key: any, value: any): void {\n context.data.set(key, value);\n },\n has(key: any): boolean {\n return context.data.has(key);\n },\n });\n\n const controller: Flow.Controller & { context: typeof contextWithHelpers } = {\n context: contextWithHelpers,\n safeExecute: async (flowDef, param, opts) => {\n try {\n const validatedInput = validate(flowDef.input, param);\n\n // Always create child controller for nested executions\n // Copy parent's data to child (Map doesn't support prototype chain for get/set)\n const childData = new Map(context.data);\n\n const childContext: Flow.ExecutionContext = {\n data: childData,\n parent: context,\n scope: context.scope,\n plugins: [...context.plugins, ...(opts?.plugins || [])], // Merge plugins from opts\n flow: flowDef, // Store the flow being executed\n };\n const childController = createController(childContext);\n\n // Wrap execution with all plugins (including opts plugins)\n let execution = async () =>\n flowDef.execution(validatedInput, childController);\n\n // Apply plugins in reverse order (last plugin is innermost)\n for (let i = childContext.plugins.length - 1; i >= 0; i--) {\n const plugin = childContext.plugins[i];\n const prevExecution = execution;\n execution = () => plugin.wrap(childContext, prevExecution);\n }\n\n const result = await execution();\n return { kind: \"success\", value: result };\n } catch (error) {\n if (error instanceof FlowError) {\n return { kind: \"error\", error };\n }\n\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n const errorType = errorMessage.includes(\"validation\")\n ? FlowErrorCode.VALIDATION\n : FlowErrorCode.EXECUTION;\n\n const wrappedError = new FlowError(\n errorType === FlowErrorCode.VALIDATION\n ? \"Input validation failed\"\n : \"Flow execution failed\",\n errorType,\n { cause: error }\n );\n return { kind: \"error\", error: wrappedError };\n }\n },\n execute: async (flowDef, param, opts) => {\n const result = await controller.safeExecute(flowDef, param, opts);\n if (result.kind === \"error\") {\n throw result.error;\n }\n return result.value;\n },\n };\n\n return controller;\n}\n\nexport async function execute<Input, Output>(\n executor: Flow.Executor<Input, Output>,\n input: Input,\n opt?: Flow.ExecuteOpt\n): Promise<Flow.ExecutionResult<Output>> {\n const isOwnScope = !opt?.scope;\n const scope = opt?.scope || createScope();\n const pod = scope.pod(...(opt?.presets || []));\n\n let flow: Flow.Flow<Input, Output>;\n try {\n flow = await pod.resolve(executor);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n throw FlowError.dependency(`Failed to resolve executor: ${errorMessage}`, {\n cause: error,\n });\n }\n\n const context: Flow.ExecutionContext = {\n data: new Map(),\n scope,\n plugins: opt?.plugins || [],\n flow, // Store the flow being executed\n };\n const controller = createController(context);\n const flowWithContext = { ...flow, context };\n\n // Execute root flow directly with the root controller (no child context)\n let executionResult: Flow.Result<Output>;\n try {\n const validatedInput = validate(flow.input, input);\n\n // Wrap root execution with plugins\n let execution = async () => flow.execution(validatedInput, controller);\n\n // Apply plugins in reverse order (last plugin is innermost)\n for (let i = context.plugins.length - 1; i >= 0; i--) {\n const plugin = context.plugins[i];\n const prevExecution = execution;\n execution = () => plugin.wrap(context, prevExecution);\n }\n\n const result = await execution();\n executionResult = { kind: \"success\", value: result };\n } catch (error) {\n if (error instanceof FlowError) {\n executionResult = { kind: \"error\", error };\n } else {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n const errorType = errorMessage.includes(\"validation\")\n ? FlowErrorCode.VALIDATION\n : FlowErrorCode.EXECUTION;\n\n const wrappedError = new FlowError(\n errorType === FlowErrorCode.VALIDATION\n ? \"Input validation failed\"\n : \"Flow execution failed\",\n errorType,\n { cause: error }\n );\n executionResult = { kind: \"error\", error: wrappedError };\n }\n }\n\n if (isOwnScope) {\n await scope.dispose();\n } else {\n await scope.disposePod(pod);\n }\n\n return {\n context: flowWithContext.context,\n result: executionResult,\n };\n}\n","import type { StandardSchemaV1 } from \"./types\";\nimport { validate } from \"./ssch\";\n\nexport interface DataStore {\n get(key: unknown): unknown;\n set(key: unknown, value: unknown): unknown;\n}\n\nexport interface DataAccessor<T> {\n readonly key: symbol;\n get(store: DataStore): T;\n find(store: DataStore): T | undefined;\n set(store: DataStore, value: T): void;\n}\n\nexport const dataAccessor = <T>(\n key: string | symbol,\n schema: StandardSchemaV1<T>\n): DataAccessor<T> => {\n const _key = typeof key === 'string' ? Symbol(key) : key;\n \n return {\n key: _key,\n \n get(store: DataStore): T {\n const value = store.get(_key);\n if (value === undefined) {\n throw new Error(`Data not found for key: ${String(key)}`);\n }\n\n return validate(schema, value);\n },\n \n find(store: DataStore): T | undefined {\n const maybeValue = store.get(_key);\n if (maybeValue) {\n return validate(schema, maybeValue)\n }\n\n return undefined\n },\n \n set(store: DataStore, value: T): void {\n const validated = validate(schema, value);\n store.set(_key, validated);\n }\n };\n};","import {\n isExecutor,\n isLazyExecutor,\n isReactiveExecutor,\n isStaticExecutor,\n} from \"./executor\";\nimport { Core } from \"./types\";\n\nexport async function resolves<\n T extends\n | Array<Core.Executor<unknown> | Escapable<unknown>>\n | Record<string, Core.Executor<unknown> | Escapable<unknown>>\n>(\n scope: Core.Scope,\n executors: { [K in keyof T]: T[K] }\n): Promise<{ [K in keyof T]: Core.InferOutput<T[K]> }> {\n const objectOutput = {};\n const arrayOutput = [];\n\n const isArray = Array.isArray(executors);\n\n for (const [index, executor] of Object.entries(executors)) {\n const target = !isExecutor(executor)\n ? executor.escape()\n : isLazyExecutor(executor) ||\n isReactiveExecutor(executor) ||\n isStaticExecutor(executor)\n ? executor.executor\n : (executor as Core.Executor<unknown>);\n\n const result = await scope.resolve(target);\n\n if (isArray) {\n arrayOutput.push(result);\n } else {\n Object.assign(objectOutput, { [index]: result });\n }\n }\n\n const result = isArray ? arrayOutput : objectOutput;\n return result as { [K in keyof T]: Core.InferOutput<T[K]> };\n}\n\nexport type Escapable<T> = {\n escape: () => Core.Executor<T>;\n};\n\nexport type PreparedExecutor<T> = {\n (): Promise<Core.InferOutput<Core.Executor<T>>>;\n escape: () => Core.Executor<T>;\n};\n\nexport function prepare<T>(\n scope: Core.Scope,\n executor: Core.Executor<T>\n): PreparedExecutor<Core.InferOutput<Core.Executor<T>>> {\n const fn: PreparedExecutor<Core.InferOutput<Core.Executor<T>>> =\n (async () => {\n return await scope.resolve(executor);\n }) as any;\n\n return Object.assign(fn, {\n escape: () => {\n return executor;\n },\n });\n}\n\nexport type AdaptedExecutor<A extends Array<unknown>, T> = {\n (...args: A): Promise<Awaited<T>>;\n escape: () => Core.Executor<(...args: A) => Promise<Awaited<T>>>;\n};\n\nexport function adapt<A extends Array<unknown>, T>(\n scope: Core.Scope,\n executor: Core.Executor<(...args: A) => Promise<T> | T>\n): AdaptedExecutor<A, T> {\n const fn: AdaptedExecutor<A, T> = (async (...args: A) => {\n const fn = await scope.resolve(executor);\n return await fn(...args);\n }) as any;\n\n return Object.assign(fn, {\n escape: () => {\n return executor;\n },\n });\n}\n","import { Core, Meta } from \"./types\"\nimport { meta } from \"./meta\"\nimport { custom } from \"./ssch\"\n\nexport const eager: {\n meta: Meta.MetaFn<boolean>;\n plugin: () => Core.Plugin;\n} = {\n meta: meta(Symbol.for('@pumped-fn/plugin/eager'), custom<boolean>()),\n plugin: (): Core.Plugin => ({\n init(scope, { registry }) {\n\n for (const executor of registry) {\n const isEager = eager.meta.find(executor);\n if (isEager) {\n scope.resolve(executor)\n }\n }\n },\n })\n}\n","import { meta } from \"./meta\";\nimport { custom } from \"./ssch\";\nimport type { Meta } from \"./types\";\n\nexport { derive, provide, preset, isExecutor, isLazyExecutor, isMainExecutor, isPreset, isReactiveExecutor, isStaticExecutor } from \"./executor\";\nexport * as multi from \"./multi\"\nexport * as flow from \"./flow\";\nexport { FlowError, FlowErrorCode } from \"./flow\";\nexport { dataAccessor } from \"./data-accessor\";\nexport type { DataAccessor, DataStore } from \"./data-accessor\";\nexport * from \"./generator-utils\";\nexport * from \"./helpers\";\nexport * from \"./meta\";\nexport * from \"./scope\";\nexport * from \"./ssch\";\nexport * from \"./types\";\n\nexport const name: Meta.MetaFn<string> = meta(\n\t\"pumped-fn/name\",\n\tcustom<string>(),\n);\n\nexport * as plugins from \"./plugins\""],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pumped-fn/core-next",
3
- "version": "0.5.50",
3
+ "version": "0.5.52",
4
4
  "description": "Enhanced function utilities for TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",