@adviser/cement 0.4.26 → 0.4.28

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.
Files changed (94) hide show
  1. package/cjs/load-asset.cjs +107 -0
  2. package/cjs/load-asset.cjs.map +1 -0
  3. package/cjs/load-asset.d.ts +14 -0
  4. package/cjs/load-asset.d.ts.map +1 -0
  5. package/cjs/load-asset.test.cjs +31 -0
  6. package/cjs/load-asset.test.cjs.map +1 -0
  7. package/cjs/load-asset.test.d.ts +2 -0
  8. package/cjs/load-asset.test.d.ts.map +1 -0
  9. package/cjs/resolve-once.cjs +1 -1
  10. package/cjs/resolve-once.cjs.map +1 -1
  11. package/cjs/resolve-once.d.ts +6 -5
  12. package/cjs/resolve-once.d.ts.map +1 -1
  13. package/cjs/resolve-once.test.cjs +31 -4
  14. package/cjs/resolve-once.test.cjs.map +1 -1
  15. package/cjs/result.cjs +2 -2
  16. package/cjs/result.cjs.map +1 -1
  17. package/cjs/result.d.ts +1 -1
  18. package/cjs/result.d.ts.map +1 -1
  19. package/cjs/result.test.cjs +5 -0
  20. package/cjs/result.test.cjs.map +1 -1
  21. package/cjs/version.cjs +1 -1
  22. package/cjs/web/web-basic-sys-abstraction.cjs.map +1 -1
  23. package/deno.json +1 -1
  24. package/esm/load-asset.d.ts +14 -0
  25. package/esm/load-asset.d.ts.map +1 -0
  26. package/esm/load-asset.js +71 -0
  27. package/esm/load-asset.js.map +1 -0
  28. package/esm/load-asset.test.d.ts +2 -0
  29. package/esm/load-asset.test.d.ts.map +1 -0
  30. package/esm/load-asset.test.js +29 -0
  31. package/esm/load-asset.test.js.map +1 -0
  32. package/esm/resolve-once.d.ts +6 -5
  33. package/esm/resolve-once.d.ts.map +1 -1
  34. package/esm/resolve-once.js +1 -1
  35. package/esm/resolve-once.js.map +1 -1
  36. package/esm/resolve-once.test.js +31 -4
  37. package/esm/resolve-once.test.js.map +1 -1
  38. package/esm/result.d.ts +1 -1
  39. package/esm/result.d.ts.map +1 -1
  40. package/esm/result.js +2 -2
  41. package/esm/result.js.map +1 -1
  42. package/esm/result.test.js +5 -0
  43. package/esm/result.test.js.map +1 -1
  44. package/esm/version.js +1 -1
  45. package/esm/web/web-basic-sys-abstraction.js.map +1 -1
  46. package/package.json +8 -7
  47. package/src/load-asset.ts +101 -0
  48. package/src/resolve-once.ts +18 -12
  49. package/src/result.ts +2 -2
  50. package/src/web/web-basic-sys-abstraction.ts +1 -1
  51. package/ts/cjs/load-asset.d.ts +14 -0
  52. package/ts/cjs/load-asset.d.ts.map +1 -0
  53. package/ts/cjs/load-asset.js +107 -0
  54. package/ts/cjs/load-asset.js.map +1 -0
  55. package/ts/cjs/load-asset.test.d.ts +2 -0
  56. package/ts/cjs/load-asset.test.d.ts.map +1 -0
  57. package/ts/cjs/load-asset.test.js +31 -0
  58. package/ts/cjs/load-asset.test.js.map +1 -0
  59. package/ts/cjs/resolve-once.d.ts +6 -5
  60. package/ts/cjs/resolve-once.d.ts.map +1 -1
  61. package/ts/cjs/resolve-once.js +1 -1
  62. package/ts/cjs/resolve-once.js.map +1 -1
  63. package/ts/cjs/resolve-once.test.js +31 -4
  64. package/ts/cjs/resolve-once.test.js.map +1 -1
  65. package/ts/cjs/result.d.ts +1 -1
  66. package/ts/cjs/result.d.ts.map +1 -1
  67. package/ts/cjs/result.js +2 -2
  68. package/ts/cjs/result.js.map +1 -1
  69. package/ts/cjs/result.test.js +5 -0
  70. package/ts/cjs/result.test.js.map +1 -1
  71. package/ts/cjs/version.js +1 -1
  72. package/ts/cjs/web/web-basic-sys-abstraction.js.map +1 -1
  73. package/ts/esm/load-asset.d.ts +14 -0
  74. package/ts/esm/load-asset.d.ts.map +1 -0
  75. package/ts/esm/load-asset.js +71 -0
  76. package/ts/esm/load-asset.js.map +1 -0
  77. package/ts/esm/load-asset.test.d.ts +2 -0
  78. package/ts/esm/load-asset.test.d.ts.map +1 -0
  79. package/ts/esm/load-asset.test.js +29 -0
  80. package/ts/esm/load-asset.test.js.map +1 -0
  81. package/ts/esm/resolve-once.d.ts +6 -5
  82. package/ts/esm/resolve-once.d.ts.map +1 -1
  83. package/ts/esm/resolve-once.js +1 -1
  84. package/ts/esm/resolve-once.js.map +1 -1
  85. package/ts/esm/resolve-once.test.js +31 -4
  86. package/ts/esm/resolve-once.test.js.map +1 -1
  87. package/ts/esm/result.d.ts +1 -1
  88. package/ts/esm/result.d.ts.map +1 -1
  89. package/ts/esm/result.js +2 -2
  90. package/ts/esm/result.js.map +1 -1
  91. package/ts/esm/result.test.js +5 -0
  92. package/ts/esm/result.test.js.map +1 -1
  93. package/ts/esm/version.js +1 -1
  94. package/ts/esm/web/web-basic-sys-abstraction.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adviser/cement",
3
- "version": "0.4.26",
3
+ "version": "0.4.28",
4
4
  "description": "better try/catch/finally handling",
5
5
  "main": "./cjs/index.js",
6
6
  "type": "module",
@@ -57,28 +57,29 @@
57
57
  "@cloudflare/vitest-pool-workers": "^0.8.44",
58
58
  "@eslint/js": "^9.20.0",
59
59
  "@types/deno": "^2.3.0",
60
+ "@types/fs-extra": "^11.0.4",
60
61
  "@types/node": "^24.0.0",
61
62
  "@typescript-eslint/eslint-plugin": "^8.7.0",
62
63
  "@typescript-eslint/parser": "^8.7.0",
63
- "@typescript/native-preview": "7.0.0-dev.20250810.1",
64
+ "@typescript/native-preview": "7.0.0-dev.20250825.1",
64
65
  "@vitest/browser": "^3.2.4",
65
- "cmd-ts": "^0.13.0",
66
- "deno": "2.4.3",
66
+ "cmd-ts": "^0.14.1",
67
+ "deno": "2.4.4",
67
68
  "esbuild-plugin-replace": "^1.4.0",
68
69
  "esbuild-plugin-resolve": "^2.0.0",
69
- "eslint": "9.33.0",
70
+ "eslint": "9.34.0",
70
71
  "jscodeshift": "^17.3.0",
71
72
  "playwright": "^1.54.1",
72
73
  "playwright-chromium": "^1.54.1",
73
74
  "prettier": "^3.6.2",
74
75
  "tsup": "^8.3.0",
75
76
  "tsx": "^4.19.1",
76
- "typescript": "^5.8.0",
77
+ "typescript": "^5.9.2",
77
78
  "typescript-eslint": "^8.24.0",
78
79
  "vite": "^7.0.4",
79
80
  "vite-tsconfig-paths": "^5.0.1",
80
81
  "vitest": "^3.2.4",
81
- "zx": "^8.8.0"
82
+ "zx": "^8.8.1"
82
83
  },
83
84
  "engines": {
84
85
  "node": ">=20.19.0"
@@ -0,0 +1,101 @@
1
+ import { pathOps } from "./path-ops.js";
2
+ import { Result, exception2Result } from "./result.js";
3
+ import { runtimeFn } from "./runtime.js";
4
+ import { CoerceURI, URI } from "./uri.js";
5
+
6
+ interface MockLoadAsset {
7
+ fetch: typeof globalThis.fetch;
8
+ fsReadFile: (fname: string) => Promise<Uint8Array>;
9
+ }
10
+
11
+ function callFetch(mock?: Partial<MockLoadAsset>): typeof globalThis.fetch {
12
+ return mock?.fetch ? mock.fetch : globalThis.fetch;
13
+ }
14
+
15
+ async function callFsReadFile(mock?: Partial<MockLoadAsset>): Promise<MockLoadAsset["fsReadFile"]> {
16
+ if (mock?.fsReadFile) {
17
+ return mock.fsReadFile;
18
+ }
19
+ const fs = await import("fs");
20
+ return (fname: string) => fs.promises.readFile(fname);
21
+ }
22
+
23
+ export interface LoadAssetOptions {
24
+ readonly fallBackUrl: CoerceURI;
25
+ readonly pathCleaner: (base: string, localPath: string, mode: "fallback" | "normal") => string;
26
+ readonly mock: Partial<MockLoadAsset>;
27
+ }
28
+
29
+ function fallBackBaseUrl(opts: Partial<LoadAssetOptions>): { url?: URL; src: "opts.fallBackUrl" } {
30
+ return { url: opts.fallBackUrl ? URI.from(opts.fallBackUrl).asURL() : undefined, src: "opts.fallBackUrl" };
31
+ }
32
+
33
+ export async function loadAsset(localPath: string, opts: Partial<LoadAssetOptions> = {}): Promise<Result<string>> {
34
+ const base: {
35
+ url?: URL;
36
+ src: "import.meta.url" | "opts.fallBackUrl";
37
+ } = import.meta?.url ? { url: new URL(pathOps.dirname(import.meta.url)), src: "import.meta.url" } : fallBackBaseUrl(opts);
38
+ return loadAssetReal(base, localPath, opts);
39
+ }
40
+
41
+ async function loadAssetReal(
42
+ baseUrl: { url?: URL; src: "import.meta.url" | "opts.fallBackUrl" },
43
+ localPath: string,
44
+ opts: Partial<LoadAssetOptions>,
45
+ ): Promise<Result<string>> {
46
+ if (!baseUrl.url) {
47
+ return Result.Err(`base url not found from ${baseUrl.src}`);
48
+ }
49
+ const urlO = new URL(baseUrl.url.toString());
50
+ urlO.pathname = pathOps.dirname(urlO.pathname);
51
+ if (baseUrl.url.protocol.startsWith("file")) {
52
+ const rt = runtimeFn();
53
+ const fname = opts.pathCleaner(baseUrl.url.pathname, localPath, "normal");
54
+ if (rt.isNodeIsh || rt.isDeno) {
55
+ try {
56
+ const out = await callFsReadFile(opts.mock).then((fn) => fn(fname));
57
+ const txt = new TextDecoder().decode(out);
58
+ return Result.Ok(txt);
59
+ } catch (e) {
60
+ // eslint-disable-next-line no-console
61
+ console.warn("fs direct access failed:", baseUrl.url.pathname, baseUrl.src, e);
62
+ }
63
+ }
64
+ /*
65
+ baseUrl.url.pathname = fname;
66
+ const x = await fetch(baseUrl.url);
67
+ console.log("fetched", baseUrl.url, x.ok, x.status);
68
+ */
69
+
70
+ if (baseUrl.src === "import.meta.url") {
71
+ return loadAssetReal(fallBackBaseUrl(opts), localPath, opts);
72
+ }
73
+ return Result.Err(`cannot load file: ${baseUrl.url.toString()} from ${baseUrl.src}`);
74
+ }
75
+ switch (baseUrl.src) {
76
+ case "opts.fallBackUrl":
77
+ baseUrl.url.pathname = opts.pathCleaner(baseUrl.url.pathname, localPath, "fallback");
78
+ break;
79
+ case "import.meta.url":
80
+ baseUrl.url.pathname = opts.pathCleaner(baseUrl.url.pathname, localPath, "normal");
81
+ break;
82
+ }
83
+ const rRes = await exception2Result(() => callFetch(opts.mock)(baseUrl.url));
84
+ if (rRes.isErr()) {
85
+ if (baseUrl.src === "import.meta.url") {
86
+ // eslint-disable-next-line no-console
87
+ console.warn(`fetch failed for: ${baseUrl.url}`);
88
+ return loadAssetReal(fallBackBaseUrl(opts), localPath, opts);
89
+ }
90
+ return Result.Err(rRes);
91
+ }
92
+ if (!rRes.Ok().ok) {
93
+ if (baseUrl.src === "import.meta.url") {
94
+ // eslint-disable-next-line no-console
95
+ console.warn(`fetch return !ok for: ${baseUrl.url}`);
96
+ return loadAssetReal(fallBackBaseUrl(opts), localPath, opts);
97
+ }
98
+ return Result.Err(`Fetch failed: ${baseUrl.url.toString()} ${rRes.Ok().status} ${rRes.Ok().statusText}`);
99
+ }
100
+ return Result.Ok(await rRes.Ok().text());
101
+ }
@@ -76,14 +76,17 @@ export class ResolveSeq<T, C = void> {
76
76
 
77
77
  type ResolveState = "initial" | "processed" | "waiting" | "processing";
78
78
 
79
+ // export type VoidEqualUndefined<T> = T extends undefined ? void : T
80
+ export type ResultOnce<R, T> = R extends Promise<T> ? Promise<T> : T;
81
+
79
82
  interface ResolveOnceIf<T extends Promisable<unknown>, CTX = void> {
80
83
  get ready(): boolean;
81
84
  get value(): UnPromisify<T> | undefined;
82
85
  get error(): Error | undefined;
83
86
  get state(): ResolveState;
84
87
 
85
- once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): R;
86
- reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): R;
88
+ once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): ResultOnce<R, T>;
89
+ reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): ResultOnce<R, T>;
87
90
  }
88
91
 
89
92
  export class SyncResolveOnce<T extends Promisable<unknown>, CTX = void> {
@@ -346,7 +349,7 @@ export class ResolveOnce<T extends Promisable<unknown>, CTX = void> implements R
346
349
  return this.#syncOrAsync.Unwrap().state;
347
350
  }
348
351
 
349
- once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): R {
352
+ once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): ResultOnce<R, T> {
350
353
  let resultFn: (ctx?: CTX) => R;
351
354
  if (this.#state === "initial") {
352
355
  this.#state = "processing";
@@ -373,19 +376,19 @@ export class ResolveOnce<T extends Promisable<unknown>, CTX = void> implements R
373
376
  if (!this.#syncOrAsync) {
374
377
  throw new Error("ResolveOnce.once impossible");
375
378
  }
376
- return this.#syncOrAsync.Unwrap().resolve(resultFn as (c?: CTX) => never) as R;
379
+ return this.#syncOrAsync.Unwrap().resolve(resultFn as (c?: CTX) => never) as ResultOnce<R, T>;
377
380
  }
378
381
 
379
- reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): R {
382
+ reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): ResultOnce<R, T> {
380
383
  if (this.#state === "initial") {
381
384
  return this.once(fn as (c?: CTX) => R);
382
385
  }
383
386
  if (this.#state === "processing") {
384
387
  // eslint-disable-next-line no-console
385
388
  console.warn("ResolveOnce.reset dropped was called while processing");
386
- return undefined as R;
389
+ return undefined as ResultOnce<R, T>;
387
390
  }
388
- return this.#syncOrAsync.Unwrap().reset(fn as (c?: CTX) => never) as R;
391
+ return this.#syncOrAsync.Unwrap().reset(fn as (c?: CTX) => never) as ResultOnce<R, T>;
389
392
  }
390
393
  }
391
394
 
@@ -499,12 +502,15 @@ export class KeyedResolvSeq<T, K = string> extends Keyed<ResolveSeq<T, K>, K> {
499
502
  class LazyContainer<T extends Promisable<unknown>> {
500
503
  readonly resolveOnce = new ResolveOnce<T>();
501
504
 
502
- call<R extends Promisable<UnPromisify<T>>>(fn: () => R): () => ReturnType<typeof fn> {
503
- return () => this.resolveOnce.once(fn);
505
+ call<Args extends readonly unknown[], Return>(fn: (...args: Args) => Return): () => Return {
506
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any
507
+ return (...args: Args) => this.resolveOnce.once(() => fn(...args) as any) as unknown as Return;
504
508
  }
505
509
  }
506
510
 
507
- export function Lazy<R extends Promisable<unknown>>(fn: () => R): () => ReturnType<typeof fn> {
508
- const lazy = new LazyContainer<R>();
509
- return lazy.call(fn as () => Promisable<UnPromisify<R>>) as () => ReturnType<typeof fn>;
511
+ // T extends (...args: infer P) => any
512
+ // export function Lazy<R extends (...args: infer P) => infer X >(fn: R): (...args: P) =>infer
513
+ export function Lazy<Args extends readonly unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return {
514
+ const lazy = new LazyContainer<Return>();
515
+ return lazy.call(fn);
510
516
  }
package/src/result.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { isPromise } from "./is-promise.js";
2
2
 
3
3
  export abstract class Result<T, E = Error> {
4
- static Ok<T = void>(t: T): Result<T, Error> {
5
- return new ResultOK(t);
4
+ static Ok<T = void>(...args: T[]): Result<T, Error> {
5
+ return args.length >= 1 ? new ResultOK<T>(args[0]) : new ResultOK<T>(undefined as unknown as T);
6
6
  }
7
7
  static Err<T, E extends Error = Error>(t: E | string | Result<unknown, E>): Result<T, E> {
8
8
  if (typeof t === "string") {
@@ -91,7 +91,7 @@ class WebSystemService implements BasicRuntimeService {
91
91
  }
92
92
  }
93
93
 
94
- const baseSysAbstraction = new ResolveOnce();
94
+ const baseSysAbstraction = new ResolveOnce<BaseBasicSysAbstraction>();
95
95
  export function WebBasicSysAbstraction(param?: WrapperBasicSysAbstractionParams): BasicSysAbstraction {
96
96
  const my = baseSysAbstraction.once(() => {
97
97
  return new BaseBasicSysAbstraction({
@@ -0,0 +1,14 @@
1
+ import { Result } from "./result.js";
2
+ import { CoerceURI } from "./uri.js";
3
+ interface MockLoadAsset {
4
+ fetch: typeof globalThis.fetch;
5
+ fsReadFile: (fname: string) => Promise<Uint8Array>;
6
+ }
7
+ export interface LoadAssetOptions {
8
+ readonly fallBackUrl: CoerceURI;
9
+ readonly pathCleaner: (base: string, localPath: string, mode: "fallback" | "normal") => string;
10
+ readonly mock: Partial<MockLoadAsset>;
11
+ }
12
+ export declare function loadAsset(localPath: string, opts?: Partial<LoadAssetOptions>): Promise<Result<string>>;
13
+ export {};
14
+ //# sourceMappingURL=load-asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-asset.d.ts","sourceRoot":"","sources":["../../../src/load-asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAO,MAAM,UAAU,CAAC;AAE1C,UAAU,aAAa;IACrB,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACpD;AAcD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC;IAC/F,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACvC;AAMD,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAMhH"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadAsset = loadAsset;
37
+ const path_ops_js_1 = require("./path-ops.js");
38
+ const result_js_1 = require("./result.js");
39
+ const runtime_js_1 = require("./runtime.js");
40
+ const uri_js_1 = require("./uri.js");
41
+ function callFetch(mock) {
42
+ return mock?.fetch ? mock.fetch : globalThis.fetch;
43
+ }
44
+ async function callFsReadFile(mock) {
45
+ if (mock?.fsReadFile) {
46
+ return mock.fsReadFile;
47
+ }
48
+ const fs = await Promise.resolve().then(() => __importStar(require("fs")));
49
+ return (fname) => fs.promises.readFile(fname);
50
+ }
51
+ function fallBackBaseUrl(opts) {
52
+ return { url: opts.fallBackUrl ? uri_js_1.URI.from(opts.fallBackUrl).asURL() : undefined, src: "opts.fallBackUrl" };
53
+ }
54
+ async function loadAsset(localPath, opts = {}) {
55
+ const base = import.meta?.url ? { url: new URL(path_ops_js_1.pathOps.dirname(import.meta.url)), src: "import.meta.url" } : fallBackBaseUrl(opts);
56
+ return loadAssetReal(base, localPath, opts);
57
+ }
58
+ async function loadAssetReal(baseUrl, localPath, opts) {
59
+ if (!baseUrl.url) {
60
+ return result_js_1.Result.Err(`base url not found from ${baseUrl.src}`);
61
+ }
62
+ const urlO = new URL(baseUrl.url.toString());
63
+ urlO.pathname = path_ops_js_1.pathOps.dirname(urlO.pathname);
64
+ if (baseUrl.url.protocol.startsWith("file")) {
65
+ const rt = (0, runtime_js_1.runtimeFn)();
66
+ const fname = opts.pathCleaner(baseUrl.url.pathname, localPath, "normal");
67
+ if (rt.isNodeIsh || rt.isDeno) {
68
+ try {
69
+ const out = await callFsReadFile(opts.mock).then((fn) => fn(fname));
70
+ const txt = new TextDecoder().decode(out);
71
+ return result_js_1.Result.Ok(txt);
72
+ }
73
+ catch (e) {
74
+ console.warn("fs direct access failed:", baseUrl.url.pathname, baseUrl.src, e);
75
+ }
76
+ }
77
+ if (baseUrl.src === "import.meta.url") {
78
+ return loadAssetReal(fallBackBaseUrl(opts), localPath, opts);
79
+ }
80
+ return result_js_1.Result.Err(`cannot load file: ${baseUrl.url.toString()} from ${baseUrl.src}`);
81
+ }
82
+ switch (baseUrl.src) {
83
+ case "opts.fallBackUrl":
84
+ baseUrl.url.pathname = opts.pathCleaner(baseUrl.url.pathname, localPath, "fallback");
85
+ break;
86
+ case "import.meta.url":
87
+ baseUrl.url.pathname = opts.pathCleaner(baseUrl.url.pathname, localPath, "normal");
88
+ break;
89
+ }
90
+ const rRes = await (0, result_js_1.exception2Result)(() => callFetch(opts.mock)(baseUrl.url));
91
+ if (rRes.isErr()) {
92
+ if (baseUrl.src === "import.meta.url") {
93
+ console.warn(`fetch failed for: ${baseUrl.url}`);
94
+ return loadAssetReal(fallBackBaseUrl(opts), localPath, opts);
95
+ }
96
+ return result_js_1.Result.Err(rRes);
97
+ }
98
+ if (!rRes.Ok().ok) {
99
+ if (baseUrl.src === "import.meta.url") {
100
+ console.warn(`fetch return !ok for: ${baseUrl.url}`);
101
+ return loadAssetReal(fallBackBaseUrl(opts), localPath, opts);
102
+ }
103
+ return result_js_1.Result.Err(`Fetch failed: ${baseUrl.url.toString()} ${rRes.Ok().status} ${rRes.Ok().statusText}`);
104
+ }
105
+ return result_js_1.Result.Ok(await rRes.Ok().text());
106
+ }
107
+ //# sourceMappingURL=load-asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-asset.js","sourceRoot":"","sources":["../../../src/load-asset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=load-asset.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-asset.test.d.ts","sourceRoot":"","sources":["../../../src/load-asset.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const load_asset_js_1 = require("./load-asset.js");
5
+ const runtime_js_1 = require("./runtime.js");
6
+ (0, vitest_1.describe)("loadAsset", () => {
7
+ if (!(0, runtime_js_1.runtimeFn)().isCFWorker) {
8
+ (0, vitest_1.it)("returns file content using fetch", async () => {
9
+ const result = await (0, load_asset_js_1.loadAsset)("version.ts", {
10
+ fallBackUrl: "not://working/x",
11
+ pathCleaner: (base, localPath) => `${base}/./${localPath}`,
12
+ });
13
+ (0, vitest_1.expect)(result.isOk()).toBe(true);
14
+ (0, vitest_1.expect)(result.Ok()).toContain("VERSION");
15
+ });
16
+ (0, vitest_1.it)("returns file content from fallback", async () => {
17
+ const result = await (0, load_asset_js_1.loadAsset)("version.ts", {
18
+ fallBackUrl: (0, runtime_js_1.runtimeFn)().isBrowser ? import.meta.url : "file://./",
19
+ pathCleaner: (base, localPath) => `${base}/${localPath}`,
20
+ });
21
+ (0, vitest_1.expect)(result.isOk()).toBe(true);
22
+ (0, vitest_1.expect)(result.Ok()).toContain("VERSION");
23
+ });
24
+ }
25
+ else {
26
+ (0, vitest_1.it)("do nothing", () => {
27
+ assert(true);
28
+ });
29
+ }
30
+ });
31
+ //# sourceMappingURL=load-asset.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-asset.test.js","sourceRoot":"","sources":["../../../src/load-asset.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,mDAA4C;AAC5C,6CAAyC;AAEzC,IAAA,iBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAA,sBAAS,GAAE,CAAC,UAAU,EAAE,CAAC;QAC5B,IAAA,WAAE,EAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAS,EAAC,YAAY,EAAE;gBAC3C,WAAW,EAAE,iBAAiB;gBAC9B,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,SAAS,EAAE;aAC3D,CAAC,CAAC;YACH,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAAA,CAC1C,CAAC,CAAC;QACH,IAAA,WAAE,EAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAS,EAAC,YAAY,EAAE;gBAC3C,WAAW,EAAE,IAAA,sBAAS,GAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;gBAClE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE;aACzD,CAAC,CAAC;YACH,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAA,eAAM,EAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAAA,CAC1C,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAA,WAAE,EAAC,YAAY,EAAE,GAAG,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,CAAC;QAAA,CACd,CAAC,CAAC;IACL,CAAC;AAAA,CACF,CAAC,CAAC"}
@@ -19,13 +19,14 @@ export declare class ResolveSeq<T, C = void> {
19
19
  add<R extends Promisable<T>>(fn: (c?: C) => R, id?: number): Promise<UnPromisify<R>>;
20
20
  }
21
21
  type ResolveState = "initial" | "processed" | "waiting" | "processing";
22
+ export type ResultOnce<R, T> = R extends Promise<T> ? Promise<T> : T;
22
23
  interface ResolveOnceIf<T extends Promisable<unknown>, CTX = void> {
23
24
  get ready(): boolean;
24
25
  get value(): UnPromisify<T> | undefined;
25
26
  get error(): Error | undefined;
26
27
  get state(): ResolveState;
27
- once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): R;
28
- reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): R;
28
+ once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): ResultOnce<R, T>;
29
+ reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): ResultOnce<R, T>;
29
30
  }
30
31
  export declare class SyncResolveOnce<T extends Promisable<unknown>, CTX = void> {
31
32
  #private;
@@ -57,8 +58,8 @@ export declare class ResolveOnce<T extends Promisable<unknown>, CTX = void> impl
57
58
  get queueLength(): number;
58
59
  get error(): Error | undefined;
59
60
  get state(): ResolveState;
60
- once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): R;
61
- reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): R;
61
+ once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): ResultOnce<R, T>;
62
+ reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): ResultOnce<R, T>;
62
63
  }
63
64
  export interface KeyedParam {
64
65
  readonly lru: Partial<LRUParam>;
@@ -91,6 +92,6 @@ export declare class KeyedResolvOnce<T, K = string> extends Keyed<ResolveOnce<T,
91
92
  export declare class KeyedResolvSeq<T, K = string> extends Keyed<ResolveSeq<T, K>, K> {
92
93
  constructor(kp?: Partial<KeyedParam>);
93
94
  }
94
- export declare function Lazy<R extends Promisable<unknown>>(fn: () => R): () => ReturnType<typeof fn>;
95
+ export declare function Lazy<Args extends readonly unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return;
95
96
  export {};
96
97
  //# sourceMappingURL=resolve-once.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAa,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,UAAU,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,YAAY,GAAG,CAAC,EAAE,CAAC,EAElB;IACD,KAAK,IAAI,IAAI,CAEZ;IAED,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAM;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOrB;IACK,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBlF;IACD,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;IACjE,GAAG,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAOnF;CACF;AAaD,KAAK,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAEvE,UAAU,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAC/D,IAAI,KAAK,IAAI,OAAO,CAAC;IACrB,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACxC,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC;IAC/B,IAAI,KAAK,IAAI,YAAY,CAAC;IAE1B,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;CACrE;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;;IACpE,KAAK,EAAE,YAAY,CAAa;IAKhC,QAAQ,CAAC,WAAW,SAAK;IAEzB,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAEzB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAE7B;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAGD,YAAY,GAAG,CAAC,EAAE,GAAG,EAEpB;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAiB/B;IAED,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAQxC;CACF;AAwFD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;;IAErE,KAAK,EAAE,YAAY,CAAa;IAKhC,YAAY,GAAG,CAAC,EAAE,GAAG,EAEpB;IAUD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IACD,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAKtC;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAK7B;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CA0B/B;IAED,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAM5B;CACF;AAED,qBAAa,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC;;IAMlG,YAAY,GAAG,CAAC,EAAE,GAAG,EAEpB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAKtC;IAED,IAAI,WAAW,IAAI,MAAM,CAKxB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAK7B;IAED,IAAI,KAAK,IAAI,YAAY,CAKxB;IAED,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CA4BhE;IAED,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAUlE;CACF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjC;AAED,qBAAa,KAAK,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,EAAE,CAAC,GAAG,MAAM;IAC5D,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAGtC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAChC,YAAY,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAG9D;IAED,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAE7C;IAED,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAEhD;IAED,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEjC;IAEK,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhD;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAUzB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAK/B;IAMD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAEnB;IAED,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAIlB;IAED,KAAK,IAAI,IAAI,CAGZ;CACF;AAED,UAAU,OAAO,CAAC,CAAC,EAAE,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAC3B;AAED,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAE,SAAQ,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,YAAY,EAAE,GAAE,OAAO,CAAC,UAAU,CAAM,EAEvC;IAEA,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAW1C;IAMD,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAExB;CACF;AAED,qBAAa,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAE,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,YAAY,EAAE,GAAE,OAAO,CAAC,UAAU,CAAM,EAEvC;CACF;AAUD,wBAAgB,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,CAG5F"}
1
+ {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAa,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,UAAU,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,YAAY,GAAG,CAAC,EAAE,CAAC,EAElB;IACD,KAAK,IAAI,IAAI,CAEZ;IAED,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAM;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAOrB;IACK,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBlF;IACD,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;IACjE,GAAG,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAOnF;CACF;AAaD,KAAK,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC;AAGvE,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAErE,UAAU,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAC/D,IAAI,KAAK,IAAI,OAAO,CAAC;IACrB,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACxC,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC;IAC/B,IAAI,KAAK,IAAI,YAAY,CAAC;IAE1B,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpF;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;;IACpE,KAAK,EAAE,YAAY,CAAa;IAKhC,QAAQ,CAAC,WAAW,SAAK;IAEzB,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAEzB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAE7B;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAGD,YAAY,GAAG,CAAC,EAAE,GAAG,EAEpB;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAiB/B;IAED,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAQxC;CACF;AAwFD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;;IAErE,KAAK,EAAE,YAAY,CAAa;IAKhC,YAAY,GAAG,CAAC,EAAE,GAAG,EAEpB;IAUD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IACD,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAKtC;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAK7B;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CA0B/B;IAED,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAM5B;CACF;AAED,qBAAa,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC;;IAMlG,YAAY,GAAG,CAAC,EAAE,GAAG,EAEpB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAKtC;IAED,IAAI,WAAW,IAAI,MAAM,CAKxB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAK7B;IAED,IAAI,KAAK,IAAI,YAAY,CAKxB;IAED,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CA4B/E;IAED,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAUjF;CACF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjC;AAED,qBAAa,KAAK,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,EAAE,CAAC,GAAG,MAAM;IAC5D,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAGtC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAChC,YAAY,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAG9D;IAED,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAE7C;IAED,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAEhD;IAED,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEjC;IAEK,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhD;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAUzB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAK/B;IAMD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAEnB;IAED,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAIlB;IAED,KAAK,IAAI,IAAI,CAGZ;CACF;AAED,UAAU,OAAO,CAAC,CAAC,EAAE,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAC3B;AAED,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAE,SAAQ,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,YAAY,EAAE,GAAE,OAAO,CAAC,UAAU,CAAM,EAEvC;IAEA,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAW1C;IAMD,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAExB;CACF;AAED,qBAAa,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAE,SAAQ,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,YAAY,EAAE,GAAE,OAAO,CAAC,UAAU,CAAM,EAEvC;CACF;AAaD,wBAAgB,IAAI,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAGtH"}
@@ -406,7 +406,7 @@ exports.KeyedResolvSeq = KeyedResolvSeq;
406
406
  class LazyContainer {
407
407
  resolveOnce = new ResolveOnce();
408
408
  call(fn) {
409
- return () => this.resolveOnce.once(fn);
409
+ return (...args) => this.resolveOnce.once(() => fn(...args));
410
410
  }
411
411
  }
412
412
  function Lazy(fn) {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
@@ -459,11 +459,30 @@ describe("resolve-once", () => {
459
459
  k.onSet(fn)();
460
460
  k.onDelete(fn)();
461
461
  });
462
+ it("test async version of once", () => {
463
+ const r = new cement_1.ResolveOnce();
464
+ const x = r.once(() => Promise.resolve(1));
465
+ assertType(x);
466
+ const rv = new cement_1.ResolveOnce();
467
+ const xv = rv.once(async () => {
468
+ });
469
+ assertType(xv);
470
+ });
471
+ it("test sync version of once", () => {
472
+ const r = new cement_1.ResolveOnce();
473
+ const x = r.once(() => 1);
474
+ assertType(x);
475
+ const rv = new cement_1.ResolveOnce();
476
+ const xv = rv.once(() => {
477
+ });
478
+ assertType(xv);
479
+ });
462
480
  it("once return undefined", () => {
463
481
  const once = new cement_1.ResolveOnce();
464
- once.once(() => {
482
+ const x = once.once(() => {
465
483
  return undefined;
466
484
  });
485
+ assertType(x);
467
486
  });
468
487
  it("keyed has a has method", () => {
469
488
  const keyed = new cement_1.KeyedResolvOnce();
@@ -476,10 +495,18 @@ class MyLazy {
476
495
  initVal = 42;
477
496
  lazyMember = (0, cement_1.Lazy)(() => ++this.initVal);
478
497
  lazyAsyncMember = (0, cement_1.Lazy)(() => Promise.resolve(++this.initVal));
498
+ lazyPassIn = (0, cement_1.Lazy)((val) => {
499
+ return val;
500
+ });
501
+ lazyAsyncPass = (0, cement_1.Lazy)((val) => {
502
+ return Promise.resolve(val);
503
+ });
479
504
  async action() {
480
505
  return {
481
506
  sync: this.lazyMember(),
482
507
  async: await this.lazyAsyncMember(),
508
+ passIn: this.lazyPassIn(42),
509
+ asyncPass: await this.lazyAsyncPass(46),
483
510
  };
484
511
  }
485
512
  }
@@ -569,9 +596,9 @@ describe("Reset does not remove pending futures", () => {
569
596
  describe("Lazy Initialization", () => {
570
597
  it("ResolveOnce could be used for LazyInitialization", async () => {
571
598
  const my = new MyLazy();
572
- expect(await my.action()).toEqual({ sync: 43, async: 44 });
573
- expect(await my.action()).toEqual({ sync: 43, async: 44 });
574
- expect(await my.action()).toEqual({ sync: 43, async: 44 });
599
+ expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
600
+ expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
601
+ expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
575
602
  });
576
603
  });
577
604
  //# sourceMappingURL=resolve-once.test.js.map