@pumped-fn/lite 1.11.3 → 2.0.0

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.mts CHANGED
@@ -8,6 +8,7 @@ declare const presetSymbol: unique symbol;
8
8
  declare const controllerSymbol: unique symbol;
9
9
  declare const tagExecutorSymbol: unique symbol;
10
10
  declare const typedSymbol: unique symbol;
11
+ declare const resourceSymbol: unique symbol;
11
12
  //#endregion
12
13
  //#region src/types.d.ts
13
14
  type MaybePromise<T> = T | Promise<T>;
@@ -58,6 +59,12 @@ declare namespace Lite {
58
59
  readonly deps?: Record<string, Dependency>;
59
60
  readonly tags?: Tagged<any>[];
60
61
  }
62
+ interface Resource<T, D extends Record<string, Dependency> = Record<string, Dependency>> {
63
+ readonly [resourceSymbol]: true;
64
+ readonly name?: string;
65
+ readonly deps?: D;
66
+ readonly factory: ResourceFactory<T, D>;
67
+ }
61
68
  /**
62
69
  * Unified context data storage with both raw Map operations and Tag-based DX.
63
70
  */
@@ -112,6 +119,12 @@ declare namespace Lite {
112
119
  readonly scope: Scope;
113
120
  readonly data: ContextData;
114
121
  }
122
+ type CloseResult = {
123
+ ok: true;
124
+ } | {
125
+ ok: false;
126
+ error: unknown;
127
+ };
115
128
  interface ExecutionContext {
116
129
  readonly input: unknown;
117
130
  readonly name: string | undefined;
@@ -120,8 +133,8 @@ declare namespace Lite {
120
133
  readonly data: ContextData;
121
134
  exec<Output, Input>(options: ExecFlowOptions<Output, Input>): Promise<Output>;
122
135
  exec<Output, Args extends unknown[]>(options: ExecFnOptions<Output, Args>): Promise<Output>;
123
- onClose(fn: () => MaybePromise<void>): void;
124
- close(): Promise<void>;
136
+ onClose(fn: (result: CloseResult) => MaybePromise<void>): void;
137
+ close(result?: CloseResult): Promise<void>;
125
138
  }
126
139
  type ExecFlowOptions<Output, Input> = {
127
140
  flow: Flow<Output, Input>;
@@ -233,15 +246,38 @@ declare namespace Lite {
233
246
  readonly target: PresetTarget<T, I>;
234
247
  readonly value: PresetValue<T, I>;
235
248
  }
249
+ /**
250
+ * Discriminated context for `wrapResolve`.
251
+ *
252
+ * - `"atom"` — scope-level singleton. Cached after first resolve.
253
+ * - `"resource"` — execution-level. Fresh factory per first encounter,
254
+ * seek-up on nested execs within the same chain.
255
+ */
256
+ type ResolveEvent = {
257
+ readonly kind: "atom";
258
+ readonly target: Atom<unknown>;
259
+ readonly scope: Scope;
260
+ } | {
261
+ readonly kind: "resource";
262
+ readonly target: Resource<unknown>;
263
+ readonly ctx: ExecutionContext;
264
+ };
236
265
  interface Extension {
237
266
  readonly name: string;
238
267
  init?(scope: Scope): MaybePromise<void>;
239
- wrapResolve?(next: () => Promise<unknown>, atom: Atom<unknown>, scope: Scope): Promise<unknown>;
268
+ /**
269
+ * Wraps dependency resolution. Dispatch by `event.kind`:
270
+ *
271
+ * - `"atom"` — `event.scope`, `event.target: Atom`. Cached in scope.
272
+ * - `"resource"` — `event.ctx`, `event.target: Resource`. Seek-up in
273
+ * execution hierarchy, factory(ctx, deps) on miss.
274
+ */
275
+ wrapResolve?(next: () => Promise<unknown>, event: ResolveEvent): Promise<unknown>;
240
276
  wrapExec?(next: () => Promise<unknown>, target: ExecTarget, ctx: ExecutionContext): Promise<unknown>;
241
277
  dispose?(scope: Scope): MaybePromise<void>;
242
278
  }
243
- type Dependency = Atom<unknown> | ControllerDep<unknown> | TagExecutor<any>;
244
- type InferDep<D> = D extends Atom<infer T> ? T : D extends ControllerDep<infer T> ? Controller<T> : D extends TagExecutor<infer TOutput, infer _TTag> ? TOutput : never;
279
+ type Dependency = Atom<unknown> | ControllerDep<unknown> | TagExecutor<any> | Resource<unknown>;
280
+ type InferDep<D> = D extends Atom<infer T> ? T : D extends ControllerDep<infer T> ? Controller<T> : D extends TagExecutor<infer TOutput, infer _TTag> ? TOutput : D extends Resource<infer T> ? T : never;
245
281
  type InferDeps<D> = { [K in keyof D]: InferDep<D[K]> };
246
282
  type AtomFactory<T, D extends Record<string, Dependency>> = keyof D extends never ? (ctx: ResolveContext) => MaybePromise<T> : (ctx: ResolveContext, deps: InferDeps<D>) => MaybePromise<T>;
247
283
  type FlowFactory<Output, Input, D extends Record<string, Dependency>> = keyof D extends never ? (ctx: ExecutionContext & {
@@ -249,6 +285,7 @@ declare namespace Lite {
249
285
  }) => MaybePromise<Output> : (ctx: ExecutionContext & {
250
286
  readonly input: Input;
251
287
  }, deps: InferDeps<D>) => MaybePromise<Output>;
288
+ type ResourceFactory<T, D extends Record<string, Dependency>> = keyof D extends never ? (ctx: ExecutionContext) => MaybePromise<T> : (ctx: ExecutionContext, deps: InferDeps<D>) => MaybePromise<T>;
252
289
  type ServiceMethod = (ctx: ExecutionContext, ...args: any[]) => unknown;
253
290
  type ServiceMethods = Record<string, ServiceMethod>;
254
291
  /**
@@ -265,6 +302,10 @@ declare namespace Lite {
265
302
  * Any controller regardless of value type.
266
303
  */
267
304
  type AnyController = Controller<any>;
305
+ /**
306
+ * Any resource regardless of value type.
307
+ */
308
+ type AnyResource = Resource<any>;
268
309
  /**
269
310
  * Target type for wrapExec extension hook.
270
311
  * Either a Flow or an inline function.
@@ -621,7 +662,7 @@ declare function flow<TOutput, TInput>(config: {
621
662
  }) => MaybePromise<TOutput>;
622
663
  tags?: Lite.Tagged<any>[];
623
664
  }): Lite.Flow<TOutput, TInput>;
624
- declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | {
665
+ declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
625
666
  mode: string;
626
667
  }>>(config: {
627
668
  name?: string;
@@ -630,7 +671,7 @@ declare function flow<TOutput, const D extends Record<string, Lite.Atom<unknown>
630
671
  factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>;
631
672
  tags?: Lite.Tagged<any>[];
632
673
  }): Lite.Flow<TOutput, void>;
633
- declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | {
674
+ declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
634
675
  mode: string;
635
676
  }>>(config: {
636
677
  name?: string;
@@ -641,7 +682,7 @@ declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<
641
682
  }, deps: Lite.InferDeps<D>) => MaybePromise<TOutput>;
642
683
  tags?: Lite.Tagged<any>[];
643
684
  }): Lite.Flow<TOutput, TInput>;
644
- declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | {
685
+ declare function flow<TOutput, TInput, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
645
686
  mode: string;
646
687
  }>>(config: {
647
688
  name?: string;
@@ -721,6 +762,53 @@ declare function preset<TOutput, TInput>(target: Lite.Flow<TOutput, TInput>, val
721
762
  */
722
763
  declare function isPreset(value: unknown): value is Lite.Preset<unknown>;
723
764
  //#endregion
765
+ //#region src/resource.d.ts
766
+ /**
767
+ * Creates an execution-scoped dependency that is resolved per execution chain.
768
+ * Fresh instance on first encounter, seek-up on nested execs within the same chain.
769
+ *
770
+ * @param config - Configuration object containing factory function and optional dependencies
771
+ * @returns A Resource instance that can be declared as a dependency in flows and other resources
772
+ *
773
+ * @example
774
+ * ```typescript
775
+ * const requestLogger = resource({
776
+ * deps: { logService: logServiceAtom },
777
+ * factory: (ctx, { logService }) => {
778
+ * const logger = logService.child({ requestId: ctx.data.get("requestId") })
779
+ * ctx.onClose(() => logger.flush())
780
+ * return logger
781
+ * }
782
+ * })
783
+ * ```
784
+ */
785
+ declare function resource<T>(config: {
786
+ name?: string;
787
+ deps?: undefined;
788
+ factory: (ctx: Lite.ExecutionContext) => MaybePromise<T>;
789
+ }): Lite.Resource<T>;
790
+ declare function resource<T, const D extends Record<string, Lite.Atom<unknown> | Lite.ControllerDep<unknown> | Lite.Resource<unknown, Record<string, Lite.Dependency>> | {
791
+ mode: string;
792
+ }>>(config: {
793
+ name?: string;
794
+ deps: D;
795
+ factory: (ctx: Lite.ExecutionContext, deps: Lite.InferDeps<D>) => MaybePromise<T>;
796
+ }): Lite.Resource<T>;
797
+ /**
798
+ * Type guard to check if a value is a Resource.
799
+ *
800
+ * @param value - The value to check
801
+ * @returns True if the value is a Resource, false otherwise
802
+ *
803
+ * @example
804
+ * ```typescript
805
+ * if (isResource(value)) {
806
+ * // value is Lite.Resource<unknown>
807
+ * }
808
+ * ```
809
+ */
810
+ declare function isResource(value: unknown): value is Lite.Resource<unknown>;
811
+ //#endregion
724
812
  //#region src/service.d.ts
725
813
  /** Creates an atom with methods constrained to (ctx: ExecutionContext, ...args) => result. */
726
814
  declare function service<T extends Lite.ServiceMethods>(config: {
@@ -774,5 +862,5 @@ declare class ParseError extends Error {
774
862
  //#region src/index.d.ts
775
863
  declare const VERSION = "0.0.1";
776
864
  //#endregion
777
- export { type AtomState, type Lite, ParseError, VERSION, atom, atomSymbol, controller, controllerDepSymbol, controllerSymbol, createScope, flow, flowSymbol, getAllTags, isAtom, isControllerDep, isFlow, isPreset, isTag, isTagExecutor, isTagged, preset, presetSymbol, service, tag, tagExecutorSymbol, tagSymbol, taggedSymbol, tags, typed, typedSymbol };
865
+ export { type AtomState, type Lite, ParseError, VERSION, atom, atomSymbol, controller, controllerDepSymbol, controllerSymbol, createScope, flow, flowSymbol, getAllTags, isAtom, isControllerDep, isFlow, isPreset, isResource, isTag, isTagExecutor, isTagged, preset, presetSymbol, resource, resourceSymbol, service, tag, tagExecutorSymbol, tagSymbol, taggedSymbol, tags, typed, typedSymbol };
778
866
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/service.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/symbols.ts","../src/types.ts","../src/tag.ts","../src/atom.ts","../src/flow.ts","../src/preset.ts","../src/resource.ts","../src/service.ts","../src/scope.ts","../src/errors.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -8,6 +8,7 @@ const presetSymbol = Symbol.for("@pumped-fn/lite/preset");
8
8
  const controllerSymbol = Symbol.for("@pumped-fn/lite/controller");
9
9
  const tagExecutorSymbol = Symbol.for("@pumped-fn/lite/tag-executor");
10
10
  const typedSymbol = Symbol.for("@pumped-fn/lite/typed");
11
+ const resourceSymbol = Symbol.for("@pumped-fn/lite/resource");
11
12
 
12
13
  //#endregion
13
14
  //#region src/errors.ts
@@ -378,6 +379,33 @@ function isPreset(value) {
378
379
  return typeof value === "object" && value !== null && value[presetSymbol] === true;
379
380
  }
380
381
 
382
+ //#endregion
383
+ //#region src/resource.ts
384
+ function resource(config) {
385
+ return Object.freeze({
386
+ [resourceSymbol]: true,
387
+ name: config.name,
388
+ deps: config.deps,
389
+ factory: config.factory
390
+ });
391
+ }
392
+ /**
393
+ * Type guard to check if a value is a Resource.
394
+ *
395
+ * @param value - The value to check
396
+ * @returns True if the value is a Resource, false otherwise
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * if (isResource(value)) {
401
+ * // value is Lite.Resource<unknown>
402
+ * }
403
+ * ```
404
+ */
405
+ function isResource(value) {
406
+ return typeof value === "object" && value !== null && value[resourceSymbol] === true;
407
+ }
408
+
381
409
  //#endregion
382
410
  //#region src/service.ts
383
411
  function service(config) {
@@ -391,6 +419,18 @@ function service(config) {
391
419
 
392
420
  //#endregion
393
421
  //#region src/scope.ts
422
+ const resourceKeys = /* @__PURE__ */ new WeakMap();
423
+ let resourceKeyCounter = 0;
424
+ function getResourceKey(resource$1) {
425
+ let key = resourceKeys.get(resource$1);
426
+ if (!key) {
427
+ key = Symbol(`resource:${resource$1.name ?? resourceKeyCounter++}`);
428
+ resourceKeys.set(resource$1, key);
429
+ }
430
+ return key;
431
+ }
432
+ const inflightResources = /* @__PURE__ */ new WeakMap();
433
+ const resolvingResources = /* @__PURE__ */ new Set();
394
434
  var ContextDataImpl = class {
395
435
  map = /* @__PURE__ */ new Map();
396
436
  constructor(parentData) {
@@ -752,7 +792,12 @@ var ScopeImpl = class {
752
792
  else return factory(ctx);
753
793
  };
754
794
  try {
755
- const value = await this.applyResolveExtensions(atom$1, doResolve);
795
+ const event = {
796
+ kind: "atom",
797
+ target: atom$1,
798
+ scope: this
799
+ };
800
+ const value = await this.applyResolveExtensions(event, doResolve);
756
801
  entry.state = "resolved";
757
802
  entry.value = value;
758
803
  entry.hasValue = true;
@@ -783,13 +828,13 @@ var ScopeImpl = class {
783
828
  throw entry.error;
784
829
  }
785
830
  }
786
- async applyResolveExtensions(atom$1, doResolve) {
831
+ async applyResolveExtensions(event, doResolve) {
787
832
  let next = doResolve;
788
833
  for (let i = this.extensions.length - 1; i >= 0; i--) {
789
834
  const ext = this.extensions[i];
790
835
  if (ext?.wrapResolve) {
791
836
  const currentNext = next;
792
- next = ext.wrapResolve.bind(ext, currentNext, atom$1, this);
837
+ next = ext.wrapResolve.bind(ext, currentNext, event);
793
838
  }
794
839
  }
795
840
  return next();
@@ -828,6 +873,59 @@ var ScopeImpl = class {
828
873
  result[key] = ctx ? this.collectFromHierarchy(ctx, tagExecutor.tag) : tagExecutor.tag.collect(this.tags);
829
874
  break;
830
875
  }
876
+ } else if (isResource(dep)) {
877
+ if (!ctx) throw new Error("Resource deps require an ExecutionContext");
878
+ const resource$1 = dep;
879
+ const resourceKey = getResourceKey(resource$1);
880
+ const storeCtx = ctx.parent ?? ctx;
881
+ if (storeCtx.data.has(resourceKey)) {
882
+ result[key] = storeCtx.data.get(resourceKey);
883
+ continue;
884
+ }
885
+ const existingSeek = ctx.data.seek(resourceKey);
886
+ if (existingSeek !== void 0 || ctx.data.has(resourceKey)) {
887
+ result[key] = existingSeek;
888
+ continue;
889
+ }
890
+ if (resolvingResources.has(resourceKey)) throw new Error(`Circular resource dependency detected: ${resource$1.name ?? "anonymous"}`);
891
+ let flights = inflightResources.get(storeCtx.data);
892
+ if (!flights) {
893
+ flights = /* @__PURE__ */ new Map();
894
+ inflightResources.set(storeCtx.data, flights);
895
+ }
896
+ const inflight = flights.get(resourceKey);
897
+ if (inflight) {
898
+ result[key] = await inflight;
899
+ continue;
900
+ }
901
+ const resolve = async () => {
902
+ resolvingResources.add(resourceKey);
903
+ try {
904
+ const resourceDeps = await this.resolveDeps(resource$1.deps, ctx);
905
+ const event = {
906
+ kind: "resource",
907
+ target: resource$1,
908
+ ctx: storeCtx
909
+ };
910
+ const doResolve = async () => {
911
+ const factory = resource$1.factory;
912
+ if (resource$1.deps && Object.keys(resource$1.deps).length > 0) return factory(storeCtx, resourceDeps);
913
+ return factory(storeCtx);
914
+ };
915
+ const value = await this.applyResolveExtensions(event, doResolve);
916
+ storeCtx.data.set(resourceKey, value);
917
+ return value;
918
+ } finally {
919
+ resolvingResources.delete(resourceKey);
920
+ }
921
+ };
922
+ const promise = resolve();
923
+ flights.set(resourceKey, promise);
924
+ try {
925
+ result[key] = await promise;
926
+ } finally {
927
+ flights.delete(resourceKey);
928
+ }
831
929
  }
832
930
  return result;
833
931
  }
@@ -1005,10 +1103,15 @@ var ExecutionContextImpl = class ExecutionContextImpl {
1005
1103
  for (const tagged of execTags ?? []) childCtx.data.set(tagged.key, tagged.value);
1006
1104
  for (const tagged of flow$1.tags ?? []) if (!childCtx.data.has(tagged.key)) childCtx.data.set(tagged.key, tagged.value);
1007
1105
  try {
1008
- if (presetValue !== void 0 && typeof presetValue === "function") return await childCtx.execPresetFn(flow$1, presetValue);
1009
- return await childCtx.execFlowInternal(flow$1);
1010
- } finally {
1011
- await childCtx.close();
1106
+ const result = presetValue !== void 0 && typeof presetValue === "function" ? await childCtx.execPresetFn(flow$1, presetValue) : await childCtx.execFlowInternal(flow$1);
1107
+ await childCtx.close({ ok: true });
1108
+ return result;
1109
+ } catch (error) {
1110
+ await childCtx.close({
1111
+ ok: false,
1112
+ error
1113
+ });
1114
+ throw error;
1012
1115
  }
1013
1116
  } else {
1014
1117
  const childCtx = new ExecutionContextImpl(this.scope, {
@@ -1018,9 +1121,15 @@ var ExecutionContextImpl = class ExecutionContextImpl {
1018
1121
  input: options.params
1019
1122
  });
1020
1123
  try {
1021
- return await childCtx.execFnInternal(options);
1022
- } finally {
1023
- await childCtx.close();
1124
+ const result = await childCtx.execFnInternal(options);
1125
+ await childCtx.close({ ok: true });
1126
+ return result;
1127
+ } catch (error) {
1128
+ await childCtx.close({
1129
+ ok: false,
1130
+ error
1131
+ });
1132
+ throw error;
1024
1133
  }
1025
1134
  }
1026
1135
  }
@@ -1056,12 +1165,12 @@ var ExecutionContextImpl = class ExecutionContextImpl {
1056
1165
  onClose(fn) {
1057
1166
  this.cleanups.push(fn);
1058
1167
  }
1059
- async close() {
1168
+ async close(result = { ok: true }) {
1060
1169
  if (this.closed) return;
1061
1170
  this.closed = true;
1062
1171
  for (let i = this.cleanups.length - 1; i >= 0; i--) {
1063
1172
  const cleanup = this.cleanups[i];
1064
- if (cleanup) await cleanup();
1173
+ if (cleanup) await cleanup(result);
1065
1174
  }
1066
1175
  }
1067
1176
  };
@@ -1099,5 +1208,5 @@ function createScope(options) {
1099
1208
  const VERSION = "0.0.1";
1100
1209
 
1101
1210
  //#endregion
1102
- export { ParseError, VERSION, atom, atomSymbol, controller, controllerDepSymbol, controllerSymbol, createScope, flow, flowSymbol, getAllTags, isAtom, isControllerDep, isFlow, isPreset, isTag, isTagExecutor, isTagged, preset, presetSymbol, service, tag, tagExecutorSymbol, tagSymbol, taggedSymbol, tags, typed, typedSymbol };
1211
+ export { ParseError, VERSION, atom, atomSymbol, controller, controllerDepSymbol, controllerSymbol, createScope, flow, flowSymbol, getAllTags, isAtom, isControllerDep, isFlow, isPreset, isResource, isTag, isTagExecutor, isTagged, preset, presetSymbol, resource, resourceSymbol, service, tag, tagExecutorSymbol, tagSymbol, taggedSymbol, tags, typed, typedSymbol };
1103
1212
  //# sourceMappingURL=index.mjs.map