@intentic/base 1.331.0 → 1.333.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.
Files changed (61) hide show
  1. package/README.md +50 -7
  2. package/dist/async.d.ts +32 -2
  3. package/dist/async.d.ts.map +1 -1
  4. package/dist/async.js +146 -27
  5. package/dist/async.js.map +1 -1
  6. package/dist/format.d.ts +1 -1
  7. package/dist/format.d.ts.map +1 -1
  8. package/dist/format.js +1 -2
  9. package/dist/format.js.map +1 -1
  10. package/dist/fuzzy.js +1 -1
  11. package/dist/fuzzy.js.map +1 -1
  12. package/dist/git/commands.d.ts.map +1 -1
  13. package/dist/git/commands.js +2 -2
  14. package/dist/git/commands.js.map +1 -1
  15. package/dist/git/runner.d.ts.map +1 -1
  16. package/dist/git/runner.js +3 -2
  17. package/dist/git/runner.js.map +1 -1
  18. package/dist/held.d.ts +22 -0
  19. package/dist/held.d.ts.map +1 -1
  20. package/dist/held.js +83 -0
  21. package/dist/held.js.map +1 -1
  22. package/dist/lifecycle.d.ts.map +1 -1
  23. package/dist/lifecycle.js +2 -6
  24. package/dist/lifecycle.js.map +1 -1
  25. package/dist/node/contained.d.ts +10 -0
  26. package/dist/node/contained.d.ts.map +1 -0
  27. package/dist/node/contained.js +37 -0
  28. package/dist/node/contained.js.map +1 -0
  29. package/dist/node/fs.d.ts +14 -1
  30. package/dist/node/fs.d.ts.map +1 -1
  31. package/dist/node/fs.js +63 -38
  32. package/dist/node/fs.js.map +1 -1
  33. package/dist/node/json-lines.d.ts +5 -0
  34. package/dist/node/json-lines.d.ts.map +1 -0
  35. package/dist/node/json-lines.js +39 -0
  36. package/dist/node/json-lines.js.map +1 -0
  37. package/dist/node/process.d.ts +71 -0
  38. package/dist/node/process.d.ts.map +1 -0
  39. package/dist/node/process.js +338 -0
  40. package/dist/node/process.js.map +1 -0
  41. package/dist/node/web-stream.d.ts +2 -0
  42. package/dist/node/web-stream.d.ts.map +1 -1
  43. package/dist/node/web-stream.js +18 -0
  44. package/dist/node/web-stream.js.map +1 -1
  45. package/dist/text/escape.d.ts +4 -0
  46. package/dist/text/escape.d.ts.map +1 -0
  47. package/dist/text/escape.js +11 -0
  48. package/dist/text/escape.js.map +1 -0
  49. package/dist/text/one-line.d.ts +5 -0
  50. package/dist/text/one-line.d.ts.map +1 -0
  51. package/dist/text/one-line.js +18 -0
  52. package/dist/text/one-line.js.map +1 -0
  53. package/dist/web/capped-read.d.ts +14 -0
  54. package/dist/web/capped-read.d.ts.map +1 -0
  55. package/dist/web/capped-read.js +42 -0
  56. package/dist/web/capped-read.js.map +1 -0
  57. package/dist/web/fetch-json.d.ts +34 -0
  58. package/dist/web/fetch-json.d.ts.map +1 -0
  59. package/dist/web/fetch-json.js +87 -0
  60. package/dist/web/fetch-json.js.map +1 -0
  61. package/package.json +80 -3
@@ -0,0 +1,42 @@
1
+ const join = (chunks, size) => {
2
+ const bytes = new Uint8Array(size);
3
+ let offset = 0;
4
+ for (const chunk of chunks) {
5
+ bytes.set(chunk, offset);
6
+ offset += chunk.byteLength;
7
+ }
8
+ return bytes;
9
+ };
10
+ export const readCappedBytes = async (response, maxBytes, options = {}) => {
11
+ if (response.body === null) {
12
+ return { bytes: new Uint8Array(), truncated: false };
13
+ }
14
+ const deadline = options.timeoutMs === undefined ? Infinity : Date.now() + options.timeoutMs;
15
+ const reader = response.body.getReader();
16
+ const chunks = [];
17
+ let size = 0;
18
+ const stop = async (bytes) => {
19
+ await reader.cancel().catch(() => undefined);
20
+ return { bytes, truncated: true };
21
+ };
22
+ for (;;) {
23
+ if (Date.now() > deadline) {
24
+ return await stop(join(chunks, size));
25
+ }
26
+ const { done, value } = await reader.read();
27
+ if (done) {
28
+ return { bytes: join(chunks, size), truncated: false };
29
+ }
30
+ if (size + value.byteLength > maxBytes) {
31
+ chunks.push(value.subarray(0, maxBytes - size));
32
+ return await stop(join(chunks, maxBytes));
33
+ }
34
+ chunks.push(value);
35
+ size += value.byteLength;
36
+ }
37
+ };
38
+ export const readCappedText = async (response, maxBytes, options = {}) => {
39
+ const { bytes, truncated } = await readCappedBytes(response, maxBytes, options);
40
+ return { text: new TextDecoder().decode(bytes), truncated };
41
+ };
42
+ //# sourceMappingURL=capped-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capped-read.js","sourceRoot":"","sources":["../../src/web/capped-read.ts"],"names":[],"mappings":"AA2BA,MAAM,IAAI,GAAG,CAAC,MAA6B,EAAE,IAAY,EAAc,EAAE;IACrE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,QAAkB,EAAE,QAAgB,EAAE,OAAO,GAAsB,EAAE,EAAuB,EAAE;IAChI,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,IAAI,GAAG,KAAK,EAAE,KAAiB,EAAuB,EAAE;QAE1D,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC;IACF,SAAS,CAAC;QACN,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YACxB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,QAAQ,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;YAChD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;AACL,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,QAAkB,EAAE,QAAgB,EAAE,OAAO,GAAsB,EAAE,EAAuB,EAAE;IAC/H,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;AAChE,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ export declare const DEFAULT_FETCH_TIMEOUT_MS = 30000;
2
+ export type JsonValue = string | number | boolean | null | readonly JsonValue[] | {
3
+ readonly [key: string]: JsonValue;
4
+ };
5
+ export type FetchFailure = "timeout" | "aborted" | "transport" | "status" | "parse";
6
+ export declare class FetchJsonError extends Error {
7
+ readonly kind: FetchFailure;
8
+ readonly url: string;
9
+ readonly status?: number | undefined;
10
+ readonly body?: string | undefined;
11
+ constructor(message: string, kind: FetchFailure, url: string, status?: number | undefined, body?: string | undefined, options?: {
12
+ readonly cause?: unknown;
13
+ });
14
+ }
15
+ export interface FetchJsonInit {
16
+ readonly method?: string;
17
+ readonly headers?: HeadersInit;
18
+ readonly json?: unknown;
19
+ readonly body?: BodyInit;
20
+ readonly signal?: AbortSignal | undefined;
21
+ readonly timeoutMs?: number;
22
+ readonly accept?: readonly number[];
23
+ readonly label?: string;
24
+ readonly fetch?: typeof fetch;
25
+ }
26
+ export interface JsonResponse {
27
+ readonly status: number;
28
+ readonly headers: Headers;
29
+ readonly json: JsonValue | undefined;
30
+ }
31
+ export declare const bodyExcerpt: (text: string, limit?: number) => string;
32
+ export declare const fetchJsonResponse: (url: string | URL, init?: FetchJsonInit) => Promise<JsonResponse>;
33
+ export declare const fetchJson: (url: string | URL, init?: FetchJsonInit) => Promise<JsonValue | undefined>;
34
+ //# sourceMappingURL=fetch-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-json.d.ts","sourceRoot":"","sources":["../../src/web/fetch-json.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAK/C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,SAAS,EAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAGxH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpF,qBAAa,cAAe,SAAQ,KAAK;IAGjC,QAAQ,CAAC,IAAI,EAAE,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM;IAEpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAExB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IAP1B,YACI,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,MAAM,EAEX,MAAM,CAAC,EAAE,MAAM,YAAA,EAEf,IAAI,CAAC,EAAE,MAAM,YAAA,EACtB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAIzC;CACJ;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAE/B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CACxC;AAuBD,eAAO,MAAM,WAAW,SAAU,MAAM,UAAS,MAAM,KAAsB,MAG5E,CAAC;AAcF,eAAO,MAAM,iBAAiB,QAAe,MAAM,GAAG,GAAG,SAAQ,aAAa,KAAQ,OAAO,CAAC,YAAY,CAmCzG,CAAC;AAGF,eAAO,MAAM,SAAS,QAAe,MAAM,GAAG,GAAG,SAAQ,aAAa,KAAQ,OAAO,CAAC,SAAS,GAAG,SAAS,CAA8C,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { errorMessage } from "../errors.js";
2
+ export const DEFAULT_FETCH_TIMEOUT_MS = 30_000;
3
+ const ERROR_BODY_CHARS = 300;
4
+ export class FetchJsonError extends Error {
5
+ kind;
6
+ url;
7
+ status;
8
+ body;
9
+ constructor(message, kind, url, status, body, options) {
10
+ super(message, options);
11
+ this.kind = kind;
12
+ this.url = url;
13
+ this.status = status;
14
+ this.body = body;
15
+ this.name = "FetchJsonError";
16
+ }
17
+ }
18
+ const sentInit = (init, signal) => {
19
+ const headers = new Headers(init.headers);
20
+ const sent = { headers, signal };
21
+ if (init.method !== undefined) {
22
+ sent.method = init.method;
23
+ }
24
+ if (init.json !== undefined) {
25
+ if (!headers.has("content-type")) {
26
+ headers.set("content-type", "application/json");
27
+ }
28
+ sent.body = JSON.stringify(init.json);
29
+ }
30
+ else if (init.body !== undefined) {
31
+ sent.body = init.body;
32
+ }
33
+ if (!headers.has("accept")) {
34
+ headers.set("accept", "application/json");
35
+ }
36
+ return sent;
37
+ };
38
+ export const bodyExcerpt = (text, limit = ERROR_BODY_CHARS) => {
39
+ const flat = text.replaceAll(/\s+/g, " ").trim();
40
+ return flat.length <= limit ? flat : `${flat.slice(0, limit)}…`;
41
+ };
42
+ const failureOf = (error, label, url, timeout, caller, timeoutMs) => {
43
+ if (timeout.aborted) {
44
+ return new FetchJsonError(`${label} timed out after ${timeoutMs}ms`, "timeout", url, undefined, undefined, { cause: error });
45
+ }
46
+ if (caller?.aborted === true) {
47
+ return new FetchJsonError(`${label} was aborted`, "aborted", url, undefined, undefined, { cause: error });
48
+ }
49
+ return new FetchJsonError(`${label} could not be reached: ${errorMessage(error)}`, "transport", url, undefined, undefined, { cause: error });
50
+ };
51
+ export const fetchJsonResponse = async (url, init = {}) => {
52
+ const href = String(url);
53
+ const label = init.label ?? `${init.method ?? "GET"} ${href}`;
54
+ const timeoutMs = init.timeoutMs ?? DEFAULT_FETCH_TIMEOUT_MS;
55
+ const timeout = AbortSignal.timeout(timeoutMs);
56
+ const signal = init.signal === undefined ? timeout : AbortSignal.any([init.signal, timeout]);
57
+ const call = init.fetch ?? fetch;
58
+ let response;
59
+ let text;
60
+ try {
61
+ response = await call(href, sentInit(init, signal));
62
+ text = await response.text();
63
+ }
64
+ catch (error) {
65
+ throw failureOf(error instanceof Error ? error : new Error(String(error)), label, href, timeout, init.signal, timeoutMs);
66
+ }
67
+ if (!response.ok && !(init.accept ?? []).includes(response.status)) {
68
+ const excerpt = bodyExcerpt(text);
69
+ throw new FetchJsonError(`${label} failed (HTTP ${response.status})${excerpt === "" ? "" : `: ${excerpt}`}`, "status", href, response.status, excerpt);
70
+ }
71
+ if (text.trim() === "") {
72
+ return { status: response.status, headers: response.headers, json: undefined };
73
+ }
74
+ try {
75
+ return { status: response.status, headers: response.headers, json: JSON.parse(text) };
76
+ }
77
+ catch (error) {
78
+ if (!response.ok) {
79
+ return { status: response.status, headers: response.headers, json: undefined };
80
+ }
81
+ throw new FetchJsonError(`${label} answered something that is not JSON (HTTP ${response.status}): ${bodyExcerpt(text)}`, "parse", href, response.status, bodyExcerpt(text), {
82
+ cause: error,
83
+ });
84
+ }
85
+ };
86
+ export const fetchJson = async (url, init = {}) => (await fetchJsonResponse(url, init)).json;
87
+ //# sourceMappingURL=fetch-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-json.js","sourceRoot":"","sources":["../../src/web/fetch-json.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/base",
3
- "version": "1.331.0",
3
+ "version": "1.333.0",
4
4
  "description": "Runtime primitives every tier shares, when-expressions, disposal, and the async schedulers",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -258,13 +258,90 @@
258
258
  "@intentic/src": "./src/git/index.ts",
259
259
  "default": "./dist/git/index.js"
260
260
  }
261
+ },
262
+ "./json-lines": {
263
+ "types": "./dist/node/json-lines.d.ts",
264
+ "import": {
265
+ "@intentic/src": "./src/node/json-lines.ts",
266
+ "default": "./dist/node/json-lines.js"
267
+ },
268
+ "require": {
269
+ "@intentic/src": "./src/node/json-lines.ts",
270
+ "default": "./dist/node/json-lines.js"
271
+ }
272
+ },
273
+ "./capped-read": {
274
+ "types": "./dist/web/capped-read.d.ts",
275
+ "import": {
276
+ "@intentic/src": "./src/web/capped-read.ts",
277
+ "default": "./dist/web/capped-read.js"
278
+ },
279
+ "require": {
280
+ "@intentic/src": "./src/web/capped-read.ts",
281
+ "default": "./dist/web/capped-read.js"
282
+ }
283
+ },
284
+ "./one-line": {
285
+ "types": "./dist/text/one-line.d.ts",
286
+ "import": {
287
+ "@intentic/src": "./src/text/one-line.ts",
288
+ "default": "./dist/text/one-line.js"
289
+ },
290
+ "require": {
291
+ "@intentic/src": "./src/text/one-line.ts",
292
+ "default": "./dist/text/one-line.js"
293
+ }
294
+ },
295
+ "./contained": {
296
+ "types": "./dist/node/contained.d.ts",
297
+ "import": {
298
+ "@intentic/src": "./src/node/contained.ts",
299
+ "default": "./dist/node/contained.js"
300
+ },
301
+ "require": {
302
+ "@intentic/src": "./src/node/contained.ts",
303
+ "default": "./dist/node/contained.js"
304
+ }
305
+ },
306
+ "./process": {
307
+ "types": "./dist/node/process.d.ts",
308
+ "import": {
309
+ "@intentic/src": "./src/node/process.ts",
310
+ "default": "./dist/node/process.js"
311
+ },
312
+ "require": {
313
+ "@intentic/src": "./src/node/process.ts",
314
+ "default": "./dist/node/process.js"
315
+ }
316
+ },
317
+ "./escape": {
318
+ "types": "./dist/text/escape.d.ts",
319
+ "import": {
320
+ "@intentic/src": "./src/text/escape.ts",
321
+ "default": "./dist/text/escape.js"
322
+ },
323
+ "require": {
324
+ "@intentic/src": "./src/text/escape.ts",
325
+ "default": "./dist/text/escape.js"
326
+ }
327
+ },
328
+ "./fetch-json": {
329
+ "types": "./dist/web/fetch-json.d.ts",
330
+ "import": {
331
+ "@intentic/src": "./src/web/fetch-json.ts",
332
+ "default": "./dist/web/fetch-json.js"
333
+ },
334
+ "require": {
335
+ "@intentic/src": "./src/web/fetch-json.ts",
336
+ "default": "./dist/web/fetch-json.js"
337
+ }
261
338
  }
262
339
  },
263
340
  "dependencies": {
264
341
  "tslib": "2.8.1"
265
342
  },
266
343
  "devDependencies": {
267
- "@intentic/constants": "1.331.0",
344
+ "@intentic/constants": "1.333.0",
268
345
  "@intentic/testing": "0.0.0",
269
346
  "@intentic/tsconfig": "0.0.0",
270
347
  "@types/bun": "1.4.2",
@@ -274,7 +351,7 @@
274
351
  },
275
352
  "scripts": {
276
353
  "build": "tsgo",
277
- "typecheck": "tsgo --noEmit -p tsconfig.test.json",
354
+ "typecheck": "bun check -p tsconfig.test.json",
278
355
  "watch": "tsgo --build --watch",
279
356
  "test": "suites",
280
357
  "test:watch": "suites --watch"