@adviser/cement 0.3.2 → 0.3.4
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/{base-sys-abstraction-CR_Z-Ceg.d.ts → base-sys-abstraction-B-PcaG0B.d.ts} +1 -1
- package/{base-sys-abstraction-DWtPI7Kg.d.cts → base-sys-abstraction-CLlfCI2Q.d.cts} +1 -1
- package/cf/index.cjs +100 -273
- package/cf/index.cjs.map +1 -1
- package/cf/index.d.cts +3 -16
- package/cf/index.d.ts +3 -16
- package/cf/index.js +39 -6
- package/cf/index.js.map +1 -1
- package/{chunk-R2EEZNZN.js → chunk-5GJADB3C.js} +8 -6
- package/{chunk-R2EEZNZN.js.map → chunk-5GJADB3C.js.map} +1 -1
- package/chunk-MFC4AD5O.js +88 -0
- package/chunk-MFC4AD5O.js.map +1 -0
- package/{chunk-DZPKZQIT.js → chunk-OQ4NGEJR.js} +58 -502
- package/chunk-OQ4NGEJR.js.map +1 -0
- package/deno/index.cjs +86 -165
- package/deno/index.cjs.map +1 -1
- package/deno/index.d.cts +3 -23
- package/deno/index.d.ts +3 -23
- package/deno/index.js +174 -8
- package/deno/index.js.map +1 -1
- package/{index-BfZxTAe_.d.cts → index-CI2cJ0-W.d.cts} +1 -1
- package/{index-CfSl8Gmj.d.ts → index-ChpAZoUE.d.ts} +1 -1
- package/index.cjs +102 -265
- package/index.cjs.map +1 -1
- package/index.d.cts +5 -5
- package/index.d.ts +5 -5
- package/index.js +7 -6
- package/index.js.map +1 -1
- package/node/index.cjs +55 -134
- package/node/index.cjs.map +1 -1
- package/node/index.d.cts +3 -16
- package/node/index.d.ts +3 -16
- package/node/index.js +179 -8
- package/node/index.js.map +1 -1
- package/package.json +1 -1
- package/src/cf/cf-env-actions.ts +53 -0
- package/src/cf/cf-sys-abstraction.ts +1 -45
- package/src/deno/deno-env-actions.ts +57 -0
- package/src/deno/deno-sys-abstraction.ts +1 -57
- package/src/jsr.json +1 -1
- package/src/node/node-env-actions.ts +45 -0
- package/src/node/node-sys-abstraction.ts +1 -45
- package/src/sys-env.ts +4 -4
- package/src/web/web-env-actions.ts +41 -0
- package/src/web/web-sys-abstraction.ts +1 -41
- package/{sys-abstraction-GNnBj2sz.d.cts → sys-abstraction-Coxu8BjZ.d.cts} +1 -1
- package/{sys-abstraction-GNnBj2sz.d.ts → sys-abstraction-Coxu8BjZ.d.ts} +1 -1
- package/test/index.cjs +72 -235
- package/test/index.cjs.map +1 -1
- package/test/index.d.cts +2 -2
- package/test/index.d.ts +2 -2
- package/test/index.js +3 -2
- package/ts/cf/cf-env-actions.d.ts +16 -0
- package/ts/cf/cf-env-actions.d.ts.map +1 -0
- package/ts/cf/cf-env-actions.js +51 -0
- package/ts/cf/cf-env-actions.js.map +1 -0
- package/ts/cf/cf-sys-abstraction.d.ts +1 -14
- package/ts/cf/cf-sys-abstraction.d.ts.map +1 -1
- package/ts/cf/cf-sys-abstraction.js +0 -42
- package/ts/cf/cf-sys-abstraction.js.map +1 -1
- package/ts/crypto.test.js +8 -1
- package/ts/crypto.test.js.map +1 -1
- package/ts/deno/deno-env-actions.d.ts +23 -0
- package/ts/deno/deno-env-actions.d.ts.map +1 -0
- package/ts/deno/deno-env-actions.js +46 -0
- package/ts/deno/deno-env-actions.js.map +1 -0
- package/ts/deno/deno-sys-abstraction.d.ts +1 -22
- package/ts/deno/deno-sys-abstraction.d.ts.map +1 -1
- package/ts/deno/deno-sys-abstraction.js +0 -45
- package/ts/deno/deno-sys-abstraction.js.map +1 -1
- package/ts/node/node-env-actions.d.ts +15 -0
- package/ts/node/node-env-actions.d.ts.map +1 -0
- package/ts/node/node-env-actions.js +44 -0
- package/ts/node/node-env-actions.js.map +1 -0
- package/ts/node/node-sys-abstraction.d.ts +1 -14
- package/ts/node/node-sys-abstraction.d.ts.map +1 -1
- package/ts/node/node-sys-abstraction.js +0 -43
- package/ts/node/node-sys-abstraction.js.map +1 -1
- package/ts/sys-env.js +4 -4
- package/ts/sys-env.js.map +1 -1
- package/ts/sys-env.test.js +2 -2
- package/ts/sys-env.test.js.map +1 -1
- package/ts/web/web-env-actions.d.ts +14 -0
- package/ts/web/web-env-actions.d.ts.map +1 -0
- package/ts/web/web-env-actions.js +35 -0
- package/ts/web/web-env-actions.js.map +1 -0
- package/ts/web/web-sys-abstraction.d.ts +0 -13
- package/ts/web/web-sys-abstraction.d.ts.map +1 -1
- package/ts/web/web-sys-abstraction.js +0 -34
- package/ts/web/web-sys-abstraction.js.map +1 -1
- package/web/index.cjs +63 -238
- package/web/index.cjs.map +1 -1
- package/web/index.d.cts +3 -15
- package/web/index.d.ts +3 -15
- package/web/index.js +2 -3
- package/chunk-DZPKZQIT.js.map +0 -1
package/index.d.cts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import {
|
2
|
-
export { D as Duration,
|
3
|
-
import { L as LogFormatter, a as LogSerializable, b as LevelHandler, c as Logger, d as Level, R as Result, F as FnSerialized, H as HttpType, C as CoerceURI, W as WithLogger, A as AsError, O as Option, e as Future } from './index-
|
4
|
-
export { G as BuildURI, B as HostURIObject, I as IsLogger, K as KeysParam, k as Lengthed, p as LogCollector, f as LogValue, h as LogValueArg, i as LogValueState, o as LogWriteStream, n as LoggerInterface, q as MockLogger, M as MockLoggerReturn, x as MsgFn, E as MutableURL, N as None, P as PathURIObject, s as ResultError, r as ResultOK, S as Serialized, m as SizeOrLength, j as Sized, v as Some, Q as URI, U as URIInterface, z as URIObject, w as WithoutOption, t as WithoutResult, g as asyncLogValue, u as exception2Result, J as hasHostPartProtocols, D as isURL, y as key, l as logValue } from './index-
|
1
|
+
import { a as SysAbstraction, T as Time } from './sys-abstraction-Coxu8BjZ.cjs';
|
2
|
+
export { D as Duration, E as Env, e as EnvActions, g as EnvFactoryFn, f as EnvFactoryOpts, i as EnvImpl, d as EnvMap, F as FileService, I as IDMode, N as NamedWritableStream, O as OnSetItem, R as RandomMode, c as String2TimeMode, S as SystemService, b as TimeMode, j as TimeUnits, V as VoidFunc, h as envFactory, r as registerEnvAction } from './sys-abstraction-Coxu8BjZ.cjs';
|
3
|
+
import { L as LogFormatter, a as LogSerializable, b as LevelHandler, c as Logger, d as Level, R as Result, F as FnSerialized, H as HttpType, C as CoerceURI, W as WithLogger, A as AsError, O as Option, e as Future } from './index-CI2cJ0-W.cjs';
|
4
|
+
export { G as BuildURI, B as HostURIObject, I as IsLogger, K as KeysParam, k as Lengthed, p as LogCollector, f as LogValue, h as LogValueArg, i as LogValueState, o as LogWriteStream, n as LoggerInterface, q as MockLogger, M as MockLoggerReturn, x as MsgFn, E as MutableURL, N as None, P as PathURIObject, s as ResultError, r as ResultOK, S as Serialized, m as SizeOrLength, j as Sized, v as Some, Q as URI, U as URIInterface, z as URIObject, w as WithoutOption, t as WithoutResult, g as asyncLogValue, u as exception2Result, J as hasHostPartProtocols, D as isURL, y as key, l as logValue } from './index-CI2cJ0-W.cjs';
|
5
5
|
import { T as TxtEnDecoder } from './txt-en-decoder-CZYJUju2.cjs';
|
6
6
|
export { U as Utf8EnDecoder, a as Utf8EnDecoderSingleton } from './txt-en-decoder-CZYJUju2.cjs';
|
7
|
-
export { c as BaseSysAbstraction, B as BaseSysAbstractionParams, C as ConstTime, a as ExitHandler, E as ExitService, I as IdService, R as RandomService, b as StepTime, S as SysTime, T as TimeFactory, d as WrapperSysAbstraction, W as WrapperSysAbstractionParams } from './base-sys-abstraction-
|
7
|
+
export { c as BaseSysAbstraction, B as BaseSysAbstractionParams, C as ConstTime, a as ExitHandler, E as ExitService, I as IdService, R as RandomService, b as StepTime, S as SysTime, T as TimeFactory, d as WrapperSysAbstraction, W as WrapperSysAbstractionParams } from './base-sys-abstraction-CLlfCI2Q.cjs';
|
8
8
|
export { i as utils } from './index-Q3phXzYr.cjs';
|
9
9
|
|
10
10
|
declare class LogWriterStream {
|
package/index.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import {
|
2
|
-
export { D as Duration,
|
3
|
-
import { L as LogFormatter, a as LogSerializable, b as LevelHandler, c as Logger, d as Level, R as Result, F as FnSerialized, H as HttpType, C as CoerceURI, W as WithLogger, A as AsError, O as Option, e as Future } from './index-
|
4
|
-
export { G as BuildURI, B as HostURIObject, I as IsLogger, K as KeysParam, k as Lengthed, p as LogCollector, f as LogValue, h as LogValueArg, i as LogValueState, o as LogWriteStream, n as LoggerInterface, q as MockLogger, M as MockLoggerReturn, x as MsgFn, E as MutableURL, N as None, P as PathURIObject, s as ResultError, r as ResultOK, S as Serialized, m as SizeOrLength, j as Sized, v as Some, Q as URI, U as URIInterface, z as URIObject, w as WithoutOption, t as WithoutResult, g as asyncLogValue, u as exception2Result, J as hasHostPartProtocols, D as isURL, y as key, l as logValue } from './index-
|
1
|
+
import { a as SysAbstraction, T as Time } from './sys-abstraction-Coxu8BjZ.js';
|
2
|
+
export { D as Duration, E as Env, e as EnvActions, g as EnvFactoryFn, f as EnvFactoryOpts, i as EnvImpl, d as EnvMap, F as FileService, I as IDMode, N as NamedWritableStream, O as OnSetItem, R as RandomMode, c as String2TimeMode, S as SystemService, b as TimeMode, j as TimeUnits, V as VoidFunc, h as envFactory, r as registerEnvAction } from './sys-abstraction-Coxu8BjZ.js';
|
3
|
+
import { L as LogFormatter, a as LogSerializable, b as LevelHandler, c as Logger, d as Level, R as Result, F as FnSerialized, H as HttpType, C as CoerceURI, W as WithLogger, A as AsError, O as Option, e as Future } from './index-ChpAZoUE.js';
|
4
|
+
export { G as BuildURI, B as HostURIObject, I as IsLogger, K as KeysParam, k as Lengthed, p as LogCollector, f as LogValue, h as LogValueArg, i as LogValueState, o as LogWriteStream, n as LoggerInterface, q as MockLogger, M as MockLoggerReturn, x as MsgFn, E as MutableURL, N as None, P as PathURIObject, s as ResultError, r as ResultOK, S as Serialized, m as SizeOrLength, j as Sized, v as Some, Q as URI, U as URIInterface, z as URIObject, w as WithoutOption, t as WithoutResult, g as asyncLogValue, u as exception2Result, J as hasHostPartProtocols, D as isURL, y as key, l as logValue } from './index-ChpAZoUE.js';
|
5
5
|
import { T as TxtEnDecoder } from './txt-en-decoder-CZYJUju2.js';
|
6
6
|
export { U as Utf8EnDecoder, a as Utf8EnDecoderSingleton } from './txt-en-decoder-CZYJUju2.js';
|
7
|
-
export { c as BaseSysAbstraction, B as BaseSysAbstractionParams, C as ConstTime, a as ExitHandler, E as ExitService, I as IdService, R as RandomService, b as StepTime, S as SysTime, T as TimeFactory, d as WrapperSysAbstraction, W as WrapperSysAbstractionParams } from './base-sys-abstraction-
|
7
|
+
export { c as BaseSysAbstraction, B as BaseSysAbstractionParams, C as ConstTime, a as ExitHandler, E as ExitService, I as IdService, R as RandomService, b as StepTime, S as SysTime, T as TimeFactory, d as WrapperSysAbstraction, W as WrapperSysAbstractionParams } from './base-sys-abstraction-B-PcaG0B.js';
|
8
8
|
export { i as utils } from './index-tIGZMHTc.js';
|
9
9
|
|
10
10
|
declare class LogWriterStream {
|
package/index.js
CHANGED
@@ -27,7 +27,12 @@ import {
|
|
27
27
|
isURL,
|
28
28
|
key,
|
29
29
|
logValue
|
30
|
-
} from "./chunk-
|
30
|
+
} from "./chunk-5GJADB3C.js";
|
31
|
+
import {
|
32
|
+
utils_exports
|
33
|
+
} from "./chunk-A7OPSHUV.js";
|
34
|
+
import "./chunk-HFP74WLI.js";
|
35
|
+
import "./chunk-MFC4AD5O.js";
|
31
36
|
import {
|
32
37
|
BaseSysAbstraction,
|
33
38
|
ConstTime,
|
@@ -53,11 +58,7 @@ import {
|
|
53
58
|
envFactory,
|
54
59
|
registerEnvAction,
|
55
60
|
runtimeFn
|
56
|
-
} from "./chunk-
|
57
|
-
import {
|
58
|
-
utils_exports
|
59
|
-
} from "./chunk-A7OPSHUV.js";
|
60
|
-
import "./chunk-HFP74WLI.js";
|
61
|
+
} from "./chunk-OQ4NGEJR.js";
|
61
62
|
import {
|
62
63
|
Utf8EnDecoder,
|
63
64
|
Utf8EnDecoderSingleton
|
package/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/tracer.ts","../../src/crypto.ts","../../src/version.ts","../../src/http_header.ts"],"sourcesContent":["import type { MarkWritable } from \"ts-essentials\";\nimport { Time } from \"./time.js\";\nimport { Logger } from \"./logger.js\";\n\nexport type TraceCtx = {\n readonly spanId: string;\n readonly time: Time;\n readonly parent: TraceNode;\n readonly metrics: Map<string, Metric<unknown>>;\n readonly logger?: Logger;\n} & Record<string, unknown>;\n\nexport type CleanCtx = {\n readonly spanId: string;\n} & Record<string, unknown>;\n\nexport type TraceCtxParam = {\n readonly spanId: string;\n} & Partial<{\n readonly time: Time;\n readonly parent: TraceNode;\n readonly logger: Logger;\n}> &\n Record<string, unknown>;\n\nexport class Metric<T> {\n value?: T;\n readonly path: string;\n\n constructor(path: string) {\n this.path = path;\n }\n\n set(value: T): void {\n this.value = value;\n }\n\n add<R extends number | ArrayLike<T>>(value: R): void {\n if (typeof value === \"number\") {\n if (this.value === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.value = 0 as any;\n }\n (this.value as number) = ((this.value as number) + value) as number;\n } else if (Array.isArray(value)) {\n if (!Array.isArray(this.value)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.value = [] as any;\n }\n (this.value as T[]).push(...value);\n } else {\n throw new Error(\"add only support number or array\");\n }\n }\n}\n\nexport type MetricMap = Map<string, Metric<unknown>>;\n\nexport class Metrics {\n readonly tracenode: TraceNode;\n private readonly map: MetricMap;\n\n readonly spanRefs: MetricMap = new Map<string, Metric<unknown>>();\n constructor(tracenode: TraceNode) {\n this.tracenode = tracenode;\n this.map = tracenode.ctx.metrics;\n }\n\n toJSON(): Record<string, unknown> {\n const obj: Record<string, unknown> = {};\n for (const [key, value] of this.map) {\n obj[key] = value.value;\n }\n return obj;\n }\n\n get<T>(ipath: string): Metric<T> {\n const path = ipath.replace(/[/]+/g, \"/\").trim();\n if (path.startsWith(\"/\")) {\n if (path.slice(1).length === 0) {\n throw new Error(`Metrics path must contain value /:${path}`);\n }\n let metric = this.map.get(path);\n if (!metric) {\n metric = new Metric<T>(path);\n this.map.set(path, metric);\n }\n this.spanRefs.set(path, metric);\n return metric as Metric<T>;\n } else if (path.includes(\"/\")) {\n throw new Error(`Metrics path must start with /:${path}`);\n }\n const rootPath = this.tracenode.getRootPath();\n return this.get(`${rootPath}/${path}`);\n }\n}\n\nexport interface Invokaction {\n readonly result: \"success\" | \"error\";\n readonly start: number;\n readonly end: number;\n readonly metrics?: Metrics;\n}\n\nexport type TraceNodeMap = Map<string, TraceNode>;\n\nexport class TraceNode {\n readonly childs: TraceNodeMap = new Map<string, TraceNode>();\n\n readonly invokations: Invokaction[] = [];\n\n readonly spanId: string;\n readonly ctx: TraceCtx;\n readonly metrics: Metrics;\n\n static root(time: Time, logger?: Logger): TraceNode {\n return new TraceNode({\n spanId: \"root\",\n time,\n logger,\n metrics: new Map(),\n parent: undefined as unknown as TraceNode,\n });\n }\n\n constructor(ctx: TraceCtx) {\n this.spanId = ctx.spanId;\n this.ctx = ctx;\n this.metrics = new Metrics(this);\n }\n\n getRootPath(rpath: string[] = []): string {\n if (!this.ctx.parent) {\n return \"/\" + rpath.reverse().join(\"/\");\n }\n return this.ctx.parent.getRootPath(rpath.concat(this.ctx.spanId));\n }\n\n invokes(): { ctx: CleanCtx; invokations: Invokaction[] } {\n const cleanCtx = { ...this.ctx } as CleanCtx;\n delete cleanCtx.parent;\n delete cleanCtx.time;\n delete cleanCtx.logger;\n delete cleanCtx.metrics;\n const spanRefs = this.metrics.toJSON.call({ map: this.metrics.spanRefs });\n const metricsRefs = Object.keys(spanRefs).length > 0 ? { metricRefs: spanRefs } : {};\n return {\n ctx: cleanCtx as CleanCtx,\n invokations: this.invokations,\n ...metricsRefs,\n };\n }\n\n ctxWith(spanId: string, logger?: Logger): TraceCtxParam {\n const ctx = {\n ...this.ctx,\n spanId,\n };\n if (logger) {\n ctx.logger = logger;\n }\n return ctx;\n }\n\n // <V extends () => Promise<T> | T, T>(id: string, fn: V): ReturnType<V>\n span<V extends (trace: TraceNode) => Promise<T> | T, T>(inSpanId: string | TraceCtxParam, fn: V): ReturnType<V> {\n let ctx: TraceCtx;\n if (typeof inSpanId === \"string\") {\n ctx = {\n ...this.ctx,\n spanId: inSpanId,\n parent: this,\n };\n } else {\n ctx = {\n ...this.ctx,\n ...inSpanId,\n parent: this,\n };\n }\n if (ctx.logger) {\n ctx = {\n ...ctx,\n ...ctx.logger.Attributes(),\n };\n }\n const spanId = ctx.spanId;\n let spanTrace = this.childs.get(spanId);\n if (!spanTrace) {\n spanTrace = new TraceNode(ctx);\n this.childs.set(spanId.toString(), spanTrace);\n }\n const invokation: MarkWritable<MarkWritable<Invokaction, \"end\">, \"result\"> = {\n start: this.ctx.time.Now().getTime(),\n end: 0,\n result: \"success\",\n };\n spanTrace.invokations.push(invokation);\n try {\n const possiblePromise = fn(spanTrace);\n if (possiblePromise instanceof Promise) {\n return possiblePromise\n .then((v) => {\n return v;\n })\n .catch((e) => {\n invokation.result = \"error\";\n throw e;\n })\n .finally(() => {\n invokation.end = this.ctx.time.Now().getTime();\n }) as ReturnType<V>;\n }\n invokation.end = this.ctx.time.Now().getTime();\n return possiblePromise as ReturnType<V>;\n } catch (e) {\n invokation.result = \"error\";\n invokation.end = this.ctx.time.Now().getTime();\n throw e;\n }\n }\n}\n","export interface CTJsonWebKey {\n alg?: string;\n crv?: string;\n d?: string;\n dp?: string;\n dq?: string;\n e?: string;\n ext?: boolean;\n k?: string;\n key_ops?: string[];\n kty?: string;\n n?: string;\n oth?: RsaOtherPrimesInfo[];\n p?: string;\n q?: string;\n qi?: string;\n use?: string;\n x?: string;\n y?: string;\n}\n\nexport type CTKeyFormat = \"jwk\" | \"pkcs8\" | \"raw\" | \"spki\";\nexport type CTKeyUsage = \"decrypt\" | \"deriveBits\" | \"deriveKey\" | \"encrypt\" | \"sign\" | \"unwrapKey\" | \"verify\" | \"wrapKey\";\n\nexport interface CTAlgorithm {\n name: string;\n}\nexport type CTAlgorithmIdentifier = CTAlgorithm | string;\n\nexport interface CTRsaHashedImportParams extends CTAlgorithm {\n hash: CTAlgorithmIdentifier;\n}\n\nexport type CTNamedCurve = string;\nexport interface CTEcKeyImportParams extends CTAlgorithm {\n namedCurve: CTNamedCurve;\n}\n\nexport interface CTHmacImportParams extends CTAlgorithm {\n hash: CTAlgorithmIdentifier;\n length?: number;\n}\n\nexport interface CTAesKeyAlgorithm extends CTAlgorithm {\n length: number;\n}\n\nexport type CTKeyType = \"private\" | \"public\" | \"secret\";\n\nexport interface CTCryptoKey {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/algorithm) */\n readonly algorithm: CTAlgorithm;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/extractable) */\n readonly extractable: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/type) */\n readonly type: CTKeyType;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/usages) */\n readonly usages: CTKeyUsage[];\n}\n\ninterface CTArrayBufferTypes {\n ArrayBuffer: ArrayBuffer;\n}\ntype CTArrayBufferLike = CTArrayBufferTypes[keyof CTArrayBufferTypes];\n\nexport interface CTArrayBufferView {\n /**\n * The ArrayBuffer instance referenced by the array.\n */\n buffer: CTArrayBufferLike;\n\n /**\n * The length in bytes of the array.\n */\n byteLength: number;\n\n /**\n * The offset in bytes of the array.\n */\n byteOffset: number;\n}\n\nexport type CTBufferSource = CTArrayBufferView | ArrayBuffer | Uint8Array;\n\nexport interface CryptoRuntime {\n importKey(\n format: CTKeyFormat,\n keyData: CTJsonWebKey | CTBufferSource,\n algorithm: CTAlgorithmIdentifier | CTRsaHashedImportParams | CTEcKeyImportParams | CTHmacImportParams | CTAesKeyAlgorithm,\n extractable: boolean,\n keyUsages: CTKeyUsage[],\n ): Promise<CTCryptoKey>;\n exportKey(format: CTKeyFormat, key: CTCryptoKey): Promise<CTJsonWebKey | ArrayBuffer>;\n\n //(format: \"raw\", key: ArrayBuffer, algo: string, extractable: boolean, usages: string[]) => Promise<CryptoKey>;\n decrypt(algo: { name: string; iv: Uint8Array; tagLength: number }, key: CTCryptoKey, data: Uint8Array): Promise<ArrayBuffer>;\n encrypt(algo: { name: string; iv: Uint8Array; tagLength: number }, key: CTCryptoKey, data: Uint8Array): Promise<ArrayBuffer>;\n digestSHA256(data: Uint8Array): Promise<ArrayBuffer>;\n randomBytes(size: number): Uint8Array;\n}\n\nfunction randomBytes(size: number): Uint8Array {\n const bytes = new Uint8Array(size);\n if (size > 0) {\n crypto.getRandomValues(bytes);\n }\n return bytes;\n}\n\nfunction digestSHA256(data: Uint8Array): Promise<ArrayBuffer> {\n return Promise.resolve(crypto.subtle.digest(\"SHA-256\", data));\n}\n\nexport function toCryptoRuntime(cryptoOpts: Partial<CryptoRuntime> = {}): CryptoRuntime {\n const runtime = {\n importKey: cryptoOpts.importKey || crypto.subtle.importKey.bind(crypto.subtle),\n exportKey: cryptoOpts.exportKey || crypto.subtle.exportKey.bind(crypto.subtle),\n encrypt: cryptoOpts.encrypt || crypto.subtle.encrypt.bind(crypto.subtle),\n decrypt: cryptoOpts.decrypt || crypto.subtle.decrypt.bind(crypto.subtle),\n randomBytes: cryptoOpts.randomBytes || randomBytes,\n digestSHA256: cryptoOpts.digestSHA256 || digestSHA256,\n };\n // console.log(\"cryptoOpts\", cryptoOpts, opts)\n return runtime;\n}\n","export const VERSION = Object.keys({\n __packageVersion__: \"xxxx\",\n})[0] as string;\n","export class HeadersImpl extends Headers {\n readonly _headers: Map<string, string>;\n\n constructor(init: Map<string, string>) {\n super();\n this._headers = init;\n }\n\n override [Symbol.iterator](): IterableIterator<[string, string]> {\n return this.entries();\n }\n\n override entries(): IterableIterator<[string, string]> {\n return this._headers.entries();\n }\n override keys(): IterableIterator<string> {\n return this._headers.keys();\n }\n override values(): IterableIterator<string> {\n return this._headers.values();\n }\n\n override append(key: string, value: string | string[] | undefined): HeadersImpl {\n const values = this._headers.get(key);\n if (typeof value === \"undefined\") {\n value = \"\";\n }\n if (Array.isArray(value)) {\n this._headers.set(key, [values, ...value].filter((i) => i).join(\", \"));\n } else {\n this._headers.set(key, [values, value].filter((i) => i).join(\", \"));\n }\n return this;\n }\n}\n\nexport class HttpHeader {\n readonly _headers: Map<string, string[]> = new Map<string, string[]>();\n\n static from(headers?: HeadersInit | NodeJS.Dict<string | string[]> | Headers | HttpHeader): HttpHeader {\n if (headers instanceof HttpHeader) {\n return headers.Clone();\n }\n const h = new HttpHeader();\n if (headers) {\n if (Array.isArray(headers)) {\n for (const [k, v] of headers) {\n if (v) {\n h.Add(k, v);\n }\n }\n } else if (headers instanceof Headers) {\n for (const [k, v] of headers.entries()) {\n if (v) {\n h.Add(\n k,\n v.split(\",\").map((v) => v.trim()),\n );\n }\n }\n } else {\n for (const k in headers) {\n const v = (headers as Record<string, string | string[]>)[k];\n (Array.isArray(v) ? v : [v]).forEach((v) => {\n h.Add(k, v);\n });\n }\n }\n }\n return h;\n }\n\n _asStringString(): Map<string, string> {\n const ret = new Map<string, string>();\n for (const [key, values] of this._headers) {\n ret.set(key, values.join(\", \"));\n }\n return ret;\n }\n\n _key(key: string): string {\n return key.toLowerCase();\n }\n Values(key: string): string[] {\n const values = this._headers.get(this._key(key));\n return values || [];\n }\n Get(key: string): string | undefined {\n const values = this._headers.get(this._key(key));\n if (values === undefined || values.length === 0) {\n return undefined;\n }\n return values[0];\n }\n Set(key: string, valueOr: string | string[]): HttpHeader {\n const value = Array.isArray(valueOr) ? valueOr : [valueOr];\n this._headers.set(this._key(key), value);\n return this;\n }\n Add(key: string, value: string | string[] | undefined): HttpHeader {\n if (typeof value === \"undefined\") {\n return this;\n }\n const vs = Array.isArray(value) ? value : [value];\n const values = this._headers.get(this._key(key));\n if (values === undefined) {\n this._headers.set(this._key(key), vs);\n } else {\n values.push(...vs);\n }\n return this;\n }\n Del(ey: string): HttpHeader {\n this._headers.delete(this._key(ey));\n return this;\n }\n Items(): [string, string[]][] {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return Array.from(this._headers).filter(([_, vs]) => vs.length > 0);\n }\n SortItems(): [string, string[]][] {\n return this.Items().sort(([[a]], [[b]]) => a.localeCompare(b));\n }\n Clone(): HttpHeader {\n const clone = new HttpHeader();\n for (const [key, values] of this._headers.entries()) {\n clone._headers.set(key, values.slice());\n }\n return clone;\n }\n AsRecordStringStringArray(): Record<string, string[]> {\n const obj: Record<string, string[]> = {};\n for (const [key, values] of this._headers.entries()) {\n obj[key] = [...values];\n }\n return obj;\n }\n AsRecordStringString(): Record<string, string> {\n const obj: Record<string, string> = {};\n for (const [key, values] of this._headers.entries()) {\n obj[key] = values.join(\", \");\n }\n return obj;\n }\n AsHeaderInit(): HeadersInit {\n const obj: HeadersInit = {};\n for (const [key, values] of this._headers.entries()) {\n obj[key] = values[0];\n }\n return obj;\n }\n AsHeaders(): Headers {\n return new HeadersImpl(this._asStringString());\n }\n Merge(other?: HttpHeader): HttpHeader {\n const ret = this.Clone();\n if (other) {\n for (const [key, values] of other.Items()) {\n ret.Add(key, values);\n }\n }\n return ret;\n }\n}\n"],"mappings":"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","names":["key","key","v"]}
|
1
|
+
{"version":3,"sources":["../../src/tracer.ts","../../src/crypto.ts","../../src/version.ts","../../src/http_header.ts"],"sourcesContent":["import type { MarkWritable } from \"ts-essentials\";\nimport { Time } from \"./time.js\";\nimport { Logger } from \"./logger.js\";\n\nexport type TraceCtx = {\n readonly spanId: string;\n readonly time: Time;\n readonly parent: TraceNode;\n readonly metrics: Map<string, Metric<unknown>>;\n readonly logger?: Logger;\n} & Record<string, unknown>;\n\nexport type CleanCtx = {\n readonly spanId: string;\n} & Record<string, unknown>;\n\nexport type TraceCtxParam = {\n readonly spanId: string;\n} & Partial<{\n readonly time: Time;\n readonly parent: TraceNode;\n readonly logger: Logger;\n}> &\n Record<string, unknown>;\n\nexport class Metric<T> {\n value?: T;\n readonly path: string;\n\n constructor(path: string) {\n this.path = path;\n }\n\n set(value: T): void {\n this.value = value;\n }\n\n add<R extends number | ArrayLike<T>>(value: R): void {\n if (typeof value === \"number\") {\n if (this.value === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.value = 0 as any;\n }\n (this.value as number) = ((this.value as number) + value) as number;\n } else if (Array.isArray(value)) {\n if (!Array.isArray(this.value)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.value = [] as any;\n }\n (this.value as T[]).push(...value);\n } else {\n throw new Error(\"add only support number or array\");\n }\n }\n}\n\nexport type MetricMap = Map<string, Metric<unknown>>;\n\nexport class Metrics {\n readonly tracenode: TraceNode;\n private readonly map: MetricMap;\n\n readonly spanRefs: MetricMap = new Map<string, Metric<unknown>>();\n constructor(tracenode: TraceNode) {\n this.tracenode = tracenode;\n this.map = tracenode.ctx.metrics;\n }\n\n toJSON(): Record<string, unknown> {\n const obj: Record<string, unknown> = {};\n for (const [key, value] of this.map) {\n obj[key] = value.value;\n }\n return obj;\n }\n\n get<T>(ipath: string): Metric<T> {\n const path = ipath.replace(/[/]+/g, \"/\").trim();\n if (path.startsWith(\"/\")) {\n if (path.slice(1).length === 0) {\n throw new Error(`Metrics path must contain value /:${path}`);\n }\n let metric = this.map.get(path);\n if (!metric) {\n metric = new Metric<T>(path);\n this.map.set(path, metric);\n }\n this.spanRefs.set(path, metric);\n return metric as Metric<T>;\n } else if (path.includes(\"/\")) {\n throw new Error(`Metrics path must start with /:${path}`);\n }\n const rootPath = this.tracenode.getRootPath();\n return this.get(`${rootPath}/${path}`);\n }\n}\n\nexport interface Invokaction {\n readonly result: \"success\" | \"error\";\n readonly start: number;\n readonly end: number;\n readonly metrics?: Metrics;\n}\n\nexport type TraceNodeMap = Map<string, TraceNode>;\n\nexport class TraceNode {\n readonly childs: TraceNodeMap = new Map<string, TraceNode>();\n\n readonly invokations: Invokaction[] = [];\n\n readonly spanId: string;\n readonly ctx: TraceCtx;\n readonly metrics: Metrics;\n\n static root(time: Time, logger?: Logger): TraceNode {\n return new TraceNode({\n spanId: \"root\",\n time,\n logger,\n metrics: new Map(),\n parent: undefined as unknown as TraceNode,\n });\n }\n\n constructor(ctx: TraceCtx) {\n this.spanId = ctx.spanId;\n this.ctx = ctx;\n this.metrics = new Metrics(this);\n }\n\n getRootPath(rpath: string[] = []): string {\n if (!this.ctx.parent) {\n return \"/\" + rpath.reverse().join(\"/\");\n }\n return this.ctx.parent.getRootPath(rpath.concat(this.ctx.spanId));\n }\n\n invokes(): { ctx: CleanCtx; invokations: Invokaction[] } {\n const cleanCtx = { ...this.ctx } as CleanCtx;\n delete cleanCtx.parent;\n delete cleanCtx.time;\n delete cleanCtx.logger;\n delete cleanCtx.metrics;\n const spanRefs = this.metrics.toJSON.call({ map: this.metrics.spanRefs });\n const metricsRefs = Object.keys(spanRefs).length > 0 ? { metricRefs: spanRefs } : {};\n return {\n ctx: cleanCtx as CleanCtx,\n invokations: this.invokations,\n ...metricsRefs,\n };\n }\n\n ctxWith(spanId: string, logger?: Logger): TraceCtxParam {\n const ctx = {\n ...this.ctx,\n spanId,\n };\n if (logger) {\n ctx.logger = logger;\n }\n return ctx;\n }\n\n // <V extends () => Promise<T> | T, T>(id: string, fn: V): ReturnType<V>\n span<V extends (trace: TraceNode) => Promise<T> | T, T>(inSpanId: string | TraceCtxParam, fn: V): ReturnType<V> {\n let ctx: TraceCtx;\n if (typeof inSpanId === \"string\") {\n ctx = {\n ...this.ctx,\n spanId: inSpanId,\n parent: this,\n };\n } else {\n ctx = {\n ...this.ctx,\n ...inSpanId,\n parent: this,\n };\n }\n if (ctx.logger) {\n ctx = {\n ...ctx,\n ...ctx.logger.Attributes(),\n };\n }\n const spanId = ctx.spanId;\n let spanTrace = this.childs.get(spanId);\n if (!spanTrace) {\n spanTrace = new TraceNode(ctx);\n this.childs.set(spanId.toString(), spanTrace);\n }\n const invokation: MarkWritable<MarkWritable<Invokaction, \"end\">, \"result\"> = {\n start: this.ctx.time.Now().getTime(),\n end: 0,\n result: \"success\",\n };\n spanTrace.invokations.push(invokation);\n try {\n const possiblePromise = fn(spanTrace);\n if (possiblePromise instanceof Promise) {\n return possiblePromise\n .then((v) => {\n return v;\n })\n .catch((e) => {\n invokation.result = \"error\";\n throw e;\n })\n .finally(() => {\n invokation.end = this.ctx.time.Now().getTime();\n }) as ReturnType<V>;\n }\n invokation.end = this.ctx.time.Now().getTime();\n return possiblePromise as ReturnType<V>;\n } catch (e) {\n invokation.result = \"error\";\n invokation.end = this.ctx.time.Now().getTime();\n throw e;\n }\n }\n}\n","export interface CTJsonWebKey {\n alg?: string;\n crv?: string;\n d?: string;\n dp?: string;\n dq?: string;\n e?: string;\n ext?: boolean;\n k?: string;\n key_ops?: string[];\n kty?: string;\n n?: string;\n oth?: RsaOtherPrimesInfo[];\n p?: string;\n q?: string;\n qi?: string;\n use?: string;\n x?: string;\n y?: string;\n}\n\nexport type CTKeyFormat = \"jwk\" | \"pkcs8\" | \"raw\" | \"spki\";\nexport type CTKeyUsage = \"decrypt\" | \"deriveBits\" | \"deriveKey\" | \"encrypt\" | \"sign\" | \"unwrapKey\" | \"verify\" | \"wrapKey\";\n\nexport interface CTAlgorithm {\n name: string;\n}\nexport type CTAlgorithmIdentifier = CTAlgorithm | string;\n\nexport interface CTRsaHashedImportParams extends CTAlgorithm {\n hash: CTAlgorithmIdentifier;\n}\n\nexport type CTNamedCurve = string;\nexport interface CTEcKeyImportParams extends CTAlgorithm {\n namedCurve: CTNamedCurve;\n}\n\nexport interface CTHmacImportParams extends CTAlgorithm {\n hash: CTAlgorithmIdentifier;\n length?: number;\n}\n\nexport interface CTAesKeyAlgorithm extends CTAlgorithm {\n length: number;\n}\n\nexport type CTKeyType = \"private\" | \"public\" | \"secret\";\n\nexport interface CTCryptoKey {\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/algorithm) */\n readonly algorithm: CTAlgorithm;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/extractable) */\n readonly extractable: boolean;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/type) */\n readonly type: CTKeyType;\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CryptoKey/usages) */\n readonly usages: CTKeyUsage[];\n}\n\ninterface CTArrayBufferTypes {\n ArrayBuffer: ArrayBuffer;\n}\ntype CTArrayBufferLike = CTArrayBufferTypes[keyof CTArrayBufferTypes];\n\nexport interface CTArrayBufferView {\n /**\n * The ArrayBuffer instance referenced by the array.\n */\n buffer: CTArrayBufferLike;\n\n /**\n * The length in bytes of the array.\n */\n byteLength: number;\n\n /**\n * The offset in bytes of the array.\n */\n byteOffset: number;\n}\n\nexport type CTBufferSource = CTArrayBufferView | ArrayBuffer | Uint8Array;\n\nexport interface CryptoRuntime {\n importKey(\n format: CTKeyFormat,\n keyData: CTJsonWebKey | CTBufferSource,\n algorithm: CTAlgorithmIdentifier | CTRsaHashedImportParams | CTEcKeyImportParams | CTHmacImportParams | CTAesKeyAlgorithm,\n extractable: boolean,\n keyUsages: CTKeyUsage[],\n ): Promise<CTCryptoKey>;\n exportKey(format: CTKeyFormat, key: CTCryptoKey): Promise<CTJsonWebKey | ArrayBuffer>;\n\n //(format: \"raw\", key: ArrayBuffer, algo: string, extractable: boolean, usages: string[]) => Promise<CryptoKey>;\n decrypt(algo: { name: string; iv: Uint8Array; tagLength: number }, key: CTCryptoKey, data: Uint8Array): Promise<ArrayBuffer>;\n encrypt(algo: { name: string; iv: Uint8Array; tagLength: number }, key: CTCryptoKey, data: Uint8Array): Promise<ArrayBuffer>;\n digestSHA256(data: Uint8Array): Promise<ArrayBuffer>;\n randomBytes(size: number): Uint8Array;\n}\n\nfunction randomBytes(size: number): Uint8Array {\n const bytes = new Uint8Array(size);\n if (size > 0) {\n crypto.getRandomValues(bytes);\n }\n return bytes;\n}\n\nfunction digestSHA256(data: Uint8Array): Promise<ArrayBuffer> {\n return Promise.resolve(crypto.subtle.digest(\"SHA-256\", data));\n}\n\nexport function toCryptoRuntime(cryptoOpts: Partial<CryptoRuntime> = {}): CryptoRuntime {\n const runtime = {\n importKey: cryptoOpts.importKey || crypto.subtle.importKey.bind(crypto.subtle),\n exportKey: cryptoOpts.exportKey || crypto.subtle.exportKey.bind(crypto.subtle),\n encrypt: cryptoOpts.encrypt || crypto.subtle.encrypt.bind(crypto.subtle),\n decrypt: cryptoOpts.decrypt || crypto.subtle.decrypt.bind(crypto.subtle),\n randomBytes: cryptoOpts.randomBytes || randomBytes,\n digestSHA256: cryptoOpts.digestSHA256 || digestSHA256,\n };\n // console.log(\"cryptoOpts\", cryptoOpts, opts)\n return runtime;\n}\n","export const VERSION = Object.keys({\n __packageVersion__: \"xxxx\",\n})[0] as string;\n","export class HeadersImpl extends Headers {\n readonly _headers: Map<string, string>;\n\n constructor(init: Map<string, string>) {\n super();\n this._headers = init;\n }\n\n override [Symbol.iterator](): IterableIterator<[string, string]> {\n return this.entries();\n }\n\n override entries(): IterableIterator<[string, string]> {\n return this._headers.entries();\n }\n override keys(): IterableIterator<string> {\n return this._headers.keys();\n }\n override values(): IterableIterator<string> {\n return this._headers.values();\n }\n\n override append(key: string, value: string | string[] | undefined): HeadersImpl {\n const values = this._headers.get(key);\n if (typeof value === \"undefined\") {\n value = \"\";\n }\n if (Array.isArray(value)) {\n this._headers.set(key, [values, ...value].filter((i) => i).join(\", \"));\n } else {\n this._headers.set(key, [values, value].filter((i) => i).join(\", \"));\n }\n return this;\n }\n}\n\nexport class HttpHeader {\n readonly _headers: Map<string, string[]> = new Map<string, string[]>();\n\n static from(headers?: HeadersInit | NodeJS.Dict<string | string[]> | Headers | HttpHeader): HttpHeader {\n if (headers instanceof HttpHeader) {\n return headers.Clone();\n }\n const h = new HttpHeader();\n if (headers) {\n if (Array.isArray(headers)) {\n for (const [k, v] of headers) {\n if (v) {\n h.Add(k, v);\n }\n }\n } else if (headers instanceof Headers) {\n for (const [k, v] of headers.entries()) {\n if (v) {\n h.Add(\n k,\n v.split(\",\").map((v) => v.trim()),\n );\n }\n }\n } else {\n for (const k in headers) {\n const v = (headers as Record<string, string | string[]>)[k];\n (Array.isArray(v) ? v : [v]).forEach((v) => {\n h.Add(k, v);\n });\n }\n }\n }\n return h;\n }\n\n _asStringString(): Map<string, string> {\n const ret = new Map<string, string>();\n for (const [key, values] of this._headers) {\n ret.set(key, values.join(\", \"));\n }\n return ret;\n }\n\n _key(key: string): string {\n return key.toLowerCase();\n }\n Values(key: string): string[] {\n const values = this._headers.get(this._key(key));\n return values || [];\n }\n Get(key: string): string | undefined {\n const values = this._headers.get(this._key(key));\n if (values === undefined || values.length === 0) {\n return undefined;\n }\n return values[0];\n }\n Set(key: string, valueOr: string | string[]): HttpHeader {\n const value = Array.isArray(valueOr) ? valueOr : [valueOr];\n this._headers.set(this._key(key), value);\n return this;\n }\n Add(key: string, value: string | string[] | undefined): HttpHeader {\n if (typeof value === \"undefined\") {\n return this;\n }\n const vs = Array.isArray(value) ? value : [value];\n const values = this._headers.get(this._key(key));\n if (values === undefined) {\n this._headers.set(this._key(key), vs);\n } else {\n values.push(...vs);\n }\n return this;\n }\n Del(ey: string): HttpHeader {\n this._headers.delete(this._key(ey));\n return this;\n }\n Items(): [string, string[]][] {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return Array.from(this._headers).filter(([_, vs]) => vs.length > 0);\n }\n SortItems(): [string, string[]][] {\n return this.Items().sort(([[a]], [[b]]) => a.localeCompare(b));\n }\n Clone(): HttpHeader {\n const clone = new HttpHeader();\n for (const [key, values] of this._headers.entries()) {\n clone._headers.set(key, values.slice());\n }\n return clone;\n }\n AsRecordStringStringArray(): Record<string, string[]> {\n const obj: Record<string, string[]> = {};\n for (const [key, values] of this._headers.entries()) {\n obj[key] = [...values];\n }\n return obj;\n }\n AsRecordStringString(): Record<string, string> {\n const obj: Record<string, string> = {};\n for (const [key, values] of this._headers.entries()) {\n obj[key] = values.join(\", \");\n }\n return obj;\n }\n AsHeaderInit(): HeadersInit {\n const obj: HeadersInit = {};\n for (const [key, values] of this._headers.entries()) {\n obj[key] = values[0];\n }\n return obj;\n }\n AsHeaders(): Headers {\n return new HeadersImpl(this._asStringString());\n }\n Merge(other?: HttpHeader): HttpHeader {\n const ret = this.Clone();\n if (other) {\n for (const [key, values] of other.Items()) {\n ret.Add(key, values);\n }\n }\n return ret;\n }\n}\n"],"mappings":"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","names":["key","key","v"]}
|
package/node/index.cjs
CHANGED
@@ -38,7 +38,6 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
|
|
38
38
|
var node_exports = {};
|
39
39
|
__export(node_exports, {
|
40
40
|
MockFileService: () => MockFileService,
|
41
|
-
NodeEnvActions: () => NodeEnvActions,
|
42
41
|
NodeExitServiceImpl: () => NodeExitServiceImpl,
|
43
42
|
NodeFileService: () => NodeFileService,
|
44
43
|
NodeSysAbstraction: () => NodeSysAbstraction,
|
@@ -156,9 +155,9 @@ var SysTime = class extends Time {
|
|
156
155
|
return /* @__PURE__ */ new Date();
|
157
156
|
}
|
158
157
|
Sleep(duration) {
|
159
|
-
return new Promise((
|
158
|
+
return new Promise((resolve) => {
|
160
159
|
setTimeout(() => {
|
161
|
-
|
160
|
+
resolve();
|
162
161
|
}, duration);
|
163
162
|
});
|
164
163
|
}
|
@@ -348,8 +347,8 @@ var Future = class {
|
|
348
347
|
__privateAdd(this, _rejectFn, () => {
|
349
348
|
throw new Error("This Promise is not working as expected.");
|
350
349
|
});
|
351
|
-
__privateSet(this, _promise, new Promise((
|
352
|
-
__privateSet(this, _resolveFn,
|
350
|
+
__privateSet(this, _promise, new Promise((resolve, reject) => {
|
351
|
+
__privateSet(this, _resolveFn, resolve);
|
353
352
|
__privateSet(this, _rejectFn, reject);
|
354
353
|
}));
|
355
354
|
}
|
@@ -515,12 +514,7 @@ function runtimeFn() {
|
|
515
514
|
};
|
516
515
|
}
|
517
516
|
|
518
|
-
// src/deno/deno-
|
519
|
-
var path2 = __toESM(require("path"), 1);
|
520
|
-
var Deno = globalThis.Deno;
|
521
|
-
|
522
|
-
// src/deno/deno-sys-abstraction.ts
|
523
|
-
var Deno2 = globalThis.Deno;
|
517
|
+
// src/deno/deno-env-actions.ts
|
524
518
|
var once = new ResolveOnce();
|
525
519
|
var _deno;
|
526
520
|
var _DenoEnvActions = class _DenoEnvActions {
|
@@ -560,97 +554,55 @@ var _DenoEnvActions = class _DenoEnvActions {
|
|
560
554
|
};
|
561
555
|
_deno = new WeakMap();
|
562
556
|
var DenoEnvActions = _DenoEnvActions;
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
for (const h of this._exitHandlers) {
|
573
|
-
try {
|
574
|
-
const ret = h.hdl();
|
575
|
-
if (typeof ret.then === "function") {
|
576
|
-
await ret;
|
577
|
-
}
|
578
|
-
} finally {
|
579
|
-
}
|
580
|
-
}
|
581
|
-
};
|
582
|
-
globalThis.addEventListener("unhandledrejection", (e) => {
|
583
|
-
e.preventDefault();
|
584
|
-
this.exit(19);
|
585
|
-
});
|
586
|
-
globalThis.addEventListener("error", () => {
|
587
|
-
this.exit(19);
|
588
|
-
});
|
589
|
-
globalThis.addEventListener("uncaughtException", () => {
|
590
|
-
this.exit(19);
|
591
|
-
});
|
592
|
-
globalThis.addEventListener("unload", () => {
|
593
|
-
this.exit(0);
|
594
|
-
});
|
595
|
-
Deno2.addSignalListener("SIGQUIT", () => {
|
596
|
-
this.exit(3);
|
597
|
-
});
|
598
|
-
Deno2.addSignalListener("SIGINT", () => {
|
599
|
-
this.exit(2);
|
600
|
-
});
|
601
|
-
Deno2.addSignalListener("SIGTERM", () => {
|
602
|
-
this.exit(9);
|
603
|
-
});
|
557
|
+
|
558
|
+
// src/node/node-env-actions.ts
|
559
|
+
var once2 = new ResolveOnce();
|
560
|
+
var _node;
|
561
|
+
var _NodeEnvActions = class _NodeEnvActions {
|
562
|
+
constructor(opts) {
|
563
|
+
__privateAdd(this, _node, globalThis);
|
564
|
+
this._env = this.active() ? __privateGet(this, _node).process.env : {};
|
565
|
+
this.opts = opts;
|
604
566
|
}
|
605
|
-
|
606
|
-
|
567
|
+
static new(opts) {
|
568
|
+
return once2.once(() => new _NodeEnvActions(opts));
|
607
569
|
}
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
}
|
612
|
-
|
613
|
-
Deno2.exit(code);
|
614
|
-
});
|
570
|
+
register(env) {
|
571
|
+
for (const key of env.keys()) {
|
572
|
+
this._env[key] = env.get(key) || "";
|
573
|
+
}
|
574
|
+
return env;
|
615
575
|
}
|
616
|
-
|
617
|
-
|
618
|
-
constructor() {
|
619
|
-
this._exitService = new DenoExitServiceImpl();
|
620
|
-
this._exitService.injectExitHandlers(_DenoSystemService._exitHandlers);
|
576
|
+
active() {
|
577
|
+
return runtimeFn().isNodeIsh;
|
621
578
|
}
|
622
|
-
|
623
|
-
return
|
579
|
+
keys() {
|
580
|
+
return Object.keys(this._env);
|
624
581
|
}
|
625
|
-
|
626
|
-
return
|
582
|
+
get(key) {
|
583
|
+
return this._env[key];
|
627
584
|
}
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
const idx = _DenoSystemService._exitHandlers.findIndex((h) => h.id === id);
|
633
|
-
if (idx >= 0) {
|
634
|
-
_DenoSystemService._exitHandlers.splice(idx, 1);
|
635
|
-
}
|
636
|
-
};
|
585
|
+
set(key, value) {
|
586
|
+
if (value) {
|
587
|
+
this._env[key] = value;
|
588
|
+
}
|
637
589
|
}
|
638
|
-
|
639
|
-
this.
|
590
|
+
delete(key) {
|
591
|
+
delete this._env[key];
|
640
592
|
}
|
641
593
|
};
|
642
|
-
|
643
|
-
var
|
594
|
+
_node = new WeakMap();
|
595
|
+
var NodeEnvActions = _NodeEnvActions;
|
644
596
|
|
645
|
-
// src/web/web-
|
646
|
-
var
|
597
|
+
// src/web/web-env-actions.ts
|
598
|
+
var once3 = new ResolveOnce();
|
647
599
|
var BrowserEnvActions = class _BrowserEnvActions {
|
648
600
|
constructor(opts) {
|
649
601
|
this.env = /* @__PURE__ */ new Map();
|
650
602
|
this.opts = opts;
|
651
603
|
}
|
652
604
|
static new(opts) {
|
653
|
-
return
|
605
|
+
return once3.once(() => new _BrowserEnvActions(opts));
|
654
606
|
}
|
655
607
|
get(key) {
|
656
608
|
return this.env.get(key);
|
@@ -677,30 +629,37 @@ var BrowserEnvActions = class _BrowserEnvActions {
|
|
677
629
|
}
|
678
630
|
};
|
679
631
|
|
680
|
-
// src/cf/cf-
|
681
|
-
var
|
632
|
+
// src/cf/cf-env-actions.ts
|
633
|
+
var once4 = new ResolveOnce();
|
682
634
|
var CFEnvActions = class _CFEnvActions {
|
635
|
+
constructor(env) {
|
636
|
+
this.injectOnRegister = {};
|
637
|
+
this.cfEnv = new Map(Object.entries(env.presetEnv || {}));
|
638
|
+
}
|
683
639
|
static new(opts) {
|
684
|
-
return
|
640
|
+
return once4.once(() => new _CFEnvActions(opts));
|
685
641
|
}
|
686
642
|
static inject(o) {
|
687
|
-
var _a;
|
688
643
|
const env = _CFEnvActions.new({});
|
689
644
|
for (const key in o) {
|
690
645
|
const value = o[key];
|
691
646
|
if (typeof value === "string") {
|
692
|
-
(
|
647
|
+
if (env.env) {
|
648
|
+
env.env.set(key, value);
|
649
|
+
} else {
|
650
|
+
env.injectOnRegister[key] = value;
|
651
|
+
}
|
693
652
|
}
|
694
653
|
}
|
695
654
|
}
|
696
|
-
constructor(env) {
|
697
|
-
this.cfEnv = new Map(Object.entries(env.presetEnv || {}));
|
698
|
-
}
|
699
655
|
active() {
|
700
656
|
return runtimeFn().isCFWorker;
|
701
657
|
}
|
702
658
|
register(env) {
|
703
659
|
this.env = env;
|
660
|
+
for (const key in this.injectOnRegister) {
|
661
|
+
env.set(key, this.injectOnRegister[key]);
|
662
|
+
}
|
704
663
|
return env;
|
705
664
|
}
|
706
665
|
get(key) {
|
@@ -734,12 +693,12 @@ function envFactory(opts = {}) {
|
|
734
693
|
}
|
735
694
|
return _envFactories.get(found.id).once(() => {
|
736
695
|
const action = found.fn(opts);
|
737
|
-
const ret = new
|
696
|
+
const ret = new EnvImpl(action, opts);
|
738
697
|
action.register(ret);
|
739
698
|
return ret;
|
740
699
|
});
|
741
700
|
}
|
742
|
-
var
|
701
|
+
var EnvImpl = class {
|
743
702
|
constructor(map, opts = {}) {
|
744
703
|
this._onSet = [];
|
745
704
|
this._map = map;
|
@@ -809,43 +768,6 @@ var EnvImpl2 = class {
|
|
809
768
|
|
810
769
|
// src/node/node-sys-abstraction.ts
|
811
770
|
var import_node_process2 = __toESM(require("process"), 1);
|
812
|
-
var once4 = new ResolveOnce();
|
813
|
-
var _node;
|
814
|
-
var _NodeEnvActions = class _NodeEnvActions {
|
815
|
-
constructor(opts) {
|
816
|
-
__privateAdd(this, _node, globalThis);
|
817
|
-
this._env = this.active() ? __privateGet(this, _node).process.env : {};
|
818
|
-
this.opts = opts;
|
819
|
-
}
|
820
|
-
static new(opts) {
|
821
|
-
return once4.once(() => new _NodeEnvActions(opts));
|
822
|
-
}
|
823
|
-
register(env) {
|
824
|
-
for (const key of env.keys()) {
|
825
|
-
this._env[key] = env.get(key) || "";
|
826
|
-
}
|
827
|
-
return env;
|
828
|
-
}
|
829
|
-
active() {
|
830
|
-
return runtimeFn().isNodeIsh;
|
831
|
-
}
|
832
|
-
keys() {
|
833
|
-
return Object.keys(this._env);
|
834
|
-
}
|
835
|
-
get(key) {
|
836
|
-
return this._env[key];
|
837
|
-
}
|
838
|
-
set(key, value) {
|
839
|
-
if (value) {
|
840
|
-
this._env[key] = value;
|
841
|
-
}
|
842
|
-
}
|
843
|
-
delete(key) {
|
844
|
-
delete this._env[key];
|
845
|
-
}
|
846
|
-
};
|
847
|
-
_node = new WeakMap();
|
848
|
-
var NodeEnvActions = _NodeEnvActions;
|
849
771
|
var NodeExitServiceImpl = class {
|
850
772
|
constructor() {
|
851
773
|
this._exitHandlers = [];
|
@@ -977,7 +899,6 @@ var MockFileService = class extends NodeFileService {
|
|
977
899
|
// Annotate the CommonJS export names for ESM import in node:
|
978
900
|
0 && (module.exports = {
|
979
901
|
MockFileService,
|
980
|
-
NodeEnvActions,
|
981
902
|
NodeExitServiceImpl,
|
982
903
|
NodeFileService,
|
983
904
|
NodeSysAbstraction,
|