zeed 0.20.3 → 0.20.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/log/index.cjs +1 -1
- package/dist/browser/log/index.js +1 -1
- package/dist/browser/log/log-browser-factory.cjs +1 -1
- package/dist/browser/log/log-browser-factory.js +1 -1
- package/dist/browser/log/log-browser.cjs +1 -1
- package/dist/browser/log/log-browser.js +1 -1
- package/dist/browser/log/log-context-browser.cjs +1 -1
- package/dist/browser/log/log-context-browser.js +1 -1
- package/dist/{chunk-HRDRX2SI.js → chunk-BSY5YJFG.js} +1 -1
- package/dist/chunk-BSY5YJFG.js.map +1 -0
- package/dist/{chunk-K4PMQBGJ.js → chunk-HIEILUX4.js} +9 -3
- package/dist/{chunk-K4PMQBGJ.js.map → chunk-HIEILUX4.js.map} +1 -1
- package/dist/{chunk-6XCNUGCJ.cjs → chunk-NTCZ6VPJ.cjs} +42 -10
- package/dist/chunk-NTCZ6VPJ.cjs.map +1 -0
- package/dist/{chunk-PVHTCHPH.cjs → chunk-PKAVTW7I.cjs} +9 -3
- package/dist/chunk-PKAVTW7I.cjs.map +1 -0
- package/dist/{chunk-RRT265CM.cjs → chunk-V6M22LNO.cjs} +1 -1
- package/dist/chunk-V6M22LNO.cjs.map +1 -0
- package/dist/{chunk-L2Q5LY5W.js → chunk-ZJ56YG7L.js} +41 -9
- package/dist/chunk-ZJ56YG7L.js.map +1 -0
- package/dist/common/assert.cjs +2 -2
- package/dist/common/assert.js +2 -2
- package/dist/common/bin/index.cjs +2 -2
- package/dist/common/bin/index.js +2 -2
- package/dist/common/bin/index.spec.cjs +3 -3
- package/dist/common/bin/index.spec.js +3 -3
- package/dist/common/crypto.spec.cjs +3 -3
- package/dist/common/crypto.spec.js +3 -3
- package/dist/common/csv.cjs +1 -1
- package/dist/common/csv.js +1 -1
- package/dist/common/csv.spec.cjs +1 -1
- package/dist/common/csv.spec.js +1 -1
- package/dist/common/data/bin.spec.cjs +1 -1
- package/dist/common/data/bin.spec.js +1 -1
- package/dist/common/data/deep.spec.cjs +2 -2
- package/dist/common/data/deep.spec.js +2 -2
- package/dist/common/data/index.cjs +2 -2
- package/dist/common/data/index.js +1 -1
- package/dist/common/data/object.cjs +2 -2
- package/dist/common/data/object.d.cts +1 -0
- package/dist/common/data/object.d.ts +1 -0
- package/dist/common/data/object.js +1 -1
- package/dist/common/data/object.spec.cjs +50 -25
- package/dist/common/data/object.spec.cjs.map +1 -1
- package/dist/common/data/object.spec.js +36 -11
- package/dist/common/data/object.spec.js.map +1 -1
- package/dist/common/data/sorted.spec.cjs +3 -3
- package/dist/common/data/sorted.spec.js +3 -3
- package/dist/common/data/utils.spec.cjs +2 -2
- package/dist/common/data/utils.spec.js +2 -2
- package/dist/common/dispose-defer.cjs +2 -2
- package/dist/common/dispose-defer.js +2 -2
- package/dist/common/dispose-defer.spec.cjs +2 -2
- package/dist/common/dispose-defer.spec.js +2 -2
- package/dist/common/dispose-utils.cjs +2 -2
- package/dist/common/dispose-utils.js +2 -2
- package/dist/common/dispose-utils.spec.cjs +2 -2
- package/dist/common/dispose-utils.spec.js +2 -2
- package/dist/common/exec/index.cjs +2 -2
- package/dist/common/exec/index.js +2 -2
- package/dist/common/exec/pool.cjs +2 -2
- package/dist/common/exec/pool.js +2 -2
- package/dist/common/exec/pool.spec.cjs +2 -2
- package/dist/common/exec/pool.spec.js +2 -2
- package/dist/common/exec/progress.cjs +2 -2
- package/dist/common/exec/progress.js +2 -2
- package/dist/common/exec/progress.spec.cjs +2 -2
- package/dist/common/exec/progress.spec.js +2 -2
- package/dist/common/exec/queue.cjs +2 -2
- package/dist/common/exec/queue.js +2 -2
- package/dist/common/exec/queue.spec.cjs +2 -2
- package/dist/common/exec/queue.spec.js +2 -2
- package/dist/common/index.cjs +4 -4
- package/dist/common/index.js +3 -3
- package/dist/common/log/index.cjs +3 -3
- package/dist/common/log/index.js +2 -2
- package/dist/common/log/log-console.cjs +1 -1
- package/dist/common/log/log-console.js +1 -1
- package/dist/common/log/log-context.cjs +1 -1
- package/dist/common/log/log-context.js +1 -1
- package/dist/common/log/log-filter.cjs +1 -1
- package/dist/common/log/log-filter.js +1 -1
- package/dist/common/log/log-filter.spec.cjs +1 -1
- package/dist/common/log/log-filter.spec.js +1 -1
- package/dist/common/log/log-memory.cjs +3 -3
- package/dist/common/log/log-memory.js +2 -2
- package/dist/common/log/log-memory.spec.cjs +3 -3
- package/dist/common/log/log-memory.spec.js +2 -2
- package/dist/common/log/log.cjs +1 -1
- package/dist/common/log/log.js +1 -1
- package/dist/common/log/log.spec.cjs +1 -1
- package/dist/common/log/log.spec.js +1 -1
- package/dist/common/msg/channel-debug.cjs +2 -2
- package/dist/common/msg/channel-debug.js +2 -2
- package/dist/common/msg/channel-local.cjs +2 -2
- package/dist/common/msg/channel-local.js +2 -2
- package/dist/common/msg/channel-resilient.cjs +2 -2
- package/dist/common/msg/channel-resilient.js +2 -2
- package/dist/common/msg/channel-resilient.spec.cjs +2 -2
- package/dist/common/msg/channel-resilient.spec.js +2 -2
- package/dist/common/msg/channel.cjs +2 -2
- package/dist/common/msg/channel.js +2 -2
- package/dist/common/msg/channel.spec.cjs +2 -2
- package/dist/common/msg/channel.spec.js +2 -2
- package/dist/common/msg/emitter.cjs +2 -2
- package/dist/common/msg/emitter.js +2 -2
- package/dist/common/msg/emitter.spec.cjs +2 -2
- package/dist/common/msg/emitter.spec.js +2 -2
- package/dist/common/msg/encoder.spec.cjs +3 -3
- package/dist/common/msg/encoder.spec.js +3 -3
- package/dist/common/msg/index.cjs +2 -2
- package/dist/common/msg/index.js +2 -2
- package/dist/common/msg/messages.cjs +2 -2
- package/dist/common/msg/messages.js +2 -2
- package/dist/common/msg/messages.spec.cjs +2 -2
- package/dist/common/msg/messages.spec.js +2 -2
- package/dist/common/msg/pubsub.cjs +2 -2
- package/dist/common/msg/pubsub.js +2 -2
- package/dist/common/msg/pubsub.spec.cjs +2 -2
- package/dist/common/msg/pubsub.spec.js +2 -2
- package/dist/common/msg/rpc.spec.cjs +2 -2
- package/dist/common/msg/rpc.spec.js +2 -2
- package/dist/common/network.cjs +4 -4
- package/dist/common/network.js +3 -3
- package/dist/common/network.spec.cjs +6 -6
- package/dist/common/network.spec.js +3 -3
- package/dist/common/time.spec.cjs +2 -2
- package/dist/common/time.spec.js +2 -2
- package/dist/common/uuid.cjs +1 -1
- package/dist/common/uuid.js +1 -1
- package/dist/common/uuid.spec.cjs +1 -1
- package/dist/common/uuid.spec.js +1 -1
- package/dist/index.all.cjs +4 -4
- package/dist/index.all.js +3 -3
- package/dist/index.browser.cjs +4 -4
- package/dist/index.browser.js +3 -3
- package/dist/index.node.cjs +4 -4
- package/dist/index.node.js +3 -3
- package/dist/node/files-async.cjs +3 -3
- package/dist/node/files-async.js +3 -3
- package/dist/node/files-async.spec.cjs +3 -3
- package/dist/node/files-async.spec.js +3 -3
- package/dist/node/files.cjs +3 -3
- package/dist/node/files.js +3 -3
- package/dist/node/files.spec.cjs +3 -3
- package/dist/node/files.spec.js +3 -3
- package/dist/node/fs.cjs +3 -3
- package/dist/node/fs.js +3 -3
- package/dist/node/fs.spec.cjs +3 -3
- package/dist/node/fs.spec.js +3 -3
- package/dist/node/index.cjs +3 -3
- package/dist/node/index.js +3 -3
- package/dist/node/log/index.cjs +3 -3
- package/dist/node/log/index.js +3 -3
- package/dist/node/log/log-context-node.cjs +3 -3
- package/dist/node/log/log-context-node.js +3 -3
- package/dist/node/log/log-file.cjs +1 -1
- package/dist/node/log/log-file.js +1 -1
- package/dist/node/log/log-file.spec.cjs +2 -2
- package/dist/node/log/log-file.spec.js +2 -2
- package/dist/node/log/log-node.cjs +3 -3
- package/dist/node/log/log-node.js +3 -3
- package/dist/node/log/log-node.spec.cjs +3 -3
- package/dist/node/log/log-node.spec.js +3 -3
- package/dist/node/log/log-util.cjs +3 -3
- package/dist/node/log/log-util.js +3 -3
- package/dist/node/log/log-util.spec.cjs +3 -3
- package/dist/node/log/log-util.spec.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-6XCNUGCJ.cjs.map +0 -1
- package/dist/chunk-HRDRX2SI.js.map +0 -1
- package/dist/chunk-L2Q5LY5W.js.map +0 -1
- package/dist/chunk-PVHTCHPH.cjs.map +0 -1
- package/dist/chunk-RRT265CM.cjs.map +0 -1
package/dist/browser/index.cjs
CHANGED
|
@@ -28,7 +28,7 @@ require('../chunk-KTC5RW57.cjs');
|
|
|
28
28
|
require('../chunk-GU6AYGWK.cjs');
|
|
29
29
|
require('../chunk-SNRM7OTJ.cjs');
|
|
30
30
|
require('../chunk-ZGKV237Z.cjs');
|
|
31
|
-
require('../chunk-
|
|
31
|
+
require('../chunk-NTCZ6VPJ.cjs');
|
|
32
32
|
require('../chunk-N7OUNPMM.cjs');
|
|
33
33
|
require('../chunk-MPD2DJAD.cjs');
|
|
34
34
|
require('../chunk-YELWQAMG.cjs');
|
package/dist/browser/index.js
CHANGED
|
@@ -28,7 +28,7 @@ import "../chunk-AS5LR4AI.js";
|
|
|
28
28
|
import "../chunk-KQSQJAHU.js";
|
|
29
29
|
import "../chunk-JC22THP7.js";
|
|
30
30
|
import "../chunk-2HWPZ6ZE.js";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-ZJ56YG7L.js";
|
|
32
32
|
import "../chunk-73CVRDI7.js";
|
|
33
33
|
import "../chunk-FL5CT6MC.js";
|
|
34
34
|
import "../chunk-HLRQ5H3N.js";
|
|
@@ -24,7 +24,7 @@ require('../../chunk-KTC5RW57.cjs');
|
|
|
24
24
|
require('../../chunk-GU6AYGWK.cjs');
|
|
25
25
|
require('../../chunk-SNRM7OTJ.cjs');
|
|
26
26
|
require('../../chunk-ZGKV237Z.cjs');
|
|
27
|
-
require('../../chunk-
|
|
27
|
+
require('../../chunk-NTCZ6VPJ.cjs');
|
|
28
28
|
require('../../chunk-N7OUNPMM.cjs');
|
|
29
29
|
require('../../chunk-MPD2DJAD.cjs');
|
|
30
30
|
require('../../chunk-YELWQAMG.cjs');
|
|
@@ -24,7 +24,7 @@ import "../../chunk-AS5LR4AI.js";
|
|
|
24
24
|
import "../../chunk-KQSQJAHU.js";
|
|
25
25
|
import "../../chunk-JC22THP7.js";
|
|
26
26
|
import "../../chunk-2HWPZ6ZE.js";
|
|
27
|
-
import "../../chunk-
|
|
27
|
+
import "../../chunk-ZJ56YG7L.js";
|
|
28
28
|
import "../../chunk-73CVRDI7.js";
|
|
29
29
|
import "../../chunk-FL5CT6MC.js";
|
|
30
30
|
import "../../chunk-HLRQ5H3N.js";
|
|
@@ -17,7 +17,7 @@ require('../../chunk-KTC5RW57.cjs');
|
|
|
17
17
|
require('../../chunk-GU6AYGWK.cjs');
|
|
18
18
|
require('../../chunk-SNRM7OTJ.cjs');
|
|
19
19
|
require('../../chunk-ZGKV237Z.cjs');
|
|
20
|
-
require('../../chunk-
|
|
20
|
+
require('../../chunk-NTCZ6VPJ.cjs');
|
|
21
21
|
require('../../chunk-N7OUNPMM.cjs');
|
|
22
22
|
require('../../chunk-MPD2DJAD.cjs');
|
|
23
23
|
require('../../chunk-YELWQAMG.cjs');
|
|
@@ -17,7 +17,7 @@ import "../../chunk-AS5LR4AI.js";
|
|
|
17
17
|
import "../../chunk-KQSQJAHU.js";
|
|
18
18
|
import "../../chunk-JC22THP7.js";
|
|
19
19
|
import "../../chunk-2HWPZ6ZE.js";
|
|
20
|
-
import "../../chunk-
|
|
20
|
+
import "../../chunk-ZJ56YG7L.js";
|
|
21
21
|
import "../../chunk-73CVRDI7.js";
|
|
22
22
|
import "../../chunk-FL5CT6MC.js";
|
|
23
23
|
import "../../chunk-HLRQ5H3N.js";
|
|
@@ -18,7 +18,7 @@ require('../../chunk-KTC5RW57.cjs');
|
|
|
18
18
|
require('../../chunk-GU6AYGWK.cjs');
|
|
19
19
|
require('../../chunk-SNRM7OTJ.cjs');
|
|
20
20
|
require('../../chunk-ZGKV237Z.cjs');
|
|
21
|
-
require('../../chunk-
|
|
21
|
+
require('../../chunk-NTCZ6VPJ.cjs');
|
|
22
22
|
require('../../chunk-N7OUNPMM.cjs');
|
|
23
23
|
require('../../chunk-MPD2DJAD.cjs');
|
|
24
24
|
require('../../chunk-YELWQAMG.cjs');
|
|
@@ -18,7 +18,7 @@ import "../../chunk-AS5LR4AI.js";
|
|
|
18
18
|
import "../../chunk-KQSQJAHU.js";
|
|
19
19
|
import "../../chunk-JC22THP7.js";
|
|
20
20
|
import "../../chunk-2HWPZ6ZE.js";
|
|
21
|
-
import "../../chunk-
|
|
21
|
+
import "../../chunk-ZJ56YG7L.js";
|
|
22
22
|
import "../../chunk-73CVRDI7.js";
|
|
23
23
|
import "../../chunk-FL5CT6MC.js";
|
|
24
24
|
import "../../chunk-HLRQ5H3N.js";
|
|
@@ -26,7 +26,7 @@ require('../../chunk-KTC5RW57.cjs');
|
|
|
26
26
|
require('../../chunk-GU6AYGWK.cjs');
|
|
27
27
|
require('../../chunk-SNRM7OTJ.cjs');
|
|
28
28
|
require('../../chunk-ZGKV237Z.cjs');
|
|
29
|
-
require('../../chunk-
|
|
29
|
+
require('../../chunk-NTCZ6VPJ.cjs');
|
|
30
30
|
require('../../chunk-N7OUNPMM.cjs');
|
|
31
31
|
require('../../chunk-MPD2DJAD.cjs');
|
|
32
32
|
require('../../chunk-YELWQAMG.cjs');
|
|
@@ -26,7 +26,7 @@ import "../../chunk-AS5LR4AI.js";
|
|
|
26
26
|
import "../../chunk-KQSQJAHU.js";
|
|
27
27
|
import "../../chunk-JC22THP7.js";
|
|
28
28
|
import "../../chunk-2HWPZ6ZE.js";
|
|
29
|
-
import "../../chunk-
|
|
29
|
+
import "../../chunk-ZJ56YG7L.js";
|
|
30
30
|
import "../../chunk-73CVRDI7.js";
|
|
31
31
|
import "../../chunk-FL5CT6MC.js";
|
|
32
32
|
import "../../chunk-HLRQ5H3N.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/network.ts"],"sourcesContent":["import {\n arrayFlatten,\n deepMerge,\n isArray,\n jsonStringifySafe,\n toBase64,\n} from './data'\nimport { encodeQuery } from './data/url'\nimport { DefaultLogger } from './log'\nimport type { Json } from './types'\n\n// TODO: Abort signal https://codedrivendevelopment.com/posts/everything-about-abort-signal-timeout\n\ninterface fetchOptionType {\n /** Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching. */\n cache?: RequestCache\n /** Returns the credentials mode associated with request, which is a string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. */\n credentials?: RequestCredentials\n /** Returns the kind of resource requested by request, e.g., \"document\" or \"script\". */\n destination?: RequestDestination\n /** Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the \"Host\" header. */\n headers?: Record<string, string>\n /** Returns request's subresource integrity metadata, which is a cryptographic hash of the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] */\n integrity?: string\n /** Returns a boolean indicating whether or not request can outlive the global in which it was created. */\n keepalive?: boolean\n /** Returns request's HTTP method, which is \"GET\" by default. */\n method?: string\n /** Returns the mode associated with request, which is a string indicating whether the request will use CORS, or will be restricted to same-origin URLs. */\n mode?: RequestMode\n /** Returns the redirect mode associated with request, which is a string indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. */\n redirect?: RequestRedirect\n /** Returns the referrer of request. Its value can be a same-origin URL if explicitly set in init, the empty string to indicate no referrer, and \"about:client\" when defaulting to the global's default. This is used during fetching to determine the value of the `Referer` header of the request being made. */\n referrer?: string\n /** Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer. */\n referrerPolicy?: ReferrerPolicy\n /** Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort event handler. */\n signal?: AbortSignal\n /** Returns the URL of request as a string. */\n url?: string\n body?: any\n}\n\ntype fetchOptionsType = fetchOptionType | fetchOptionsType[]\n\nconst defaultOptions: fetchOptionType = {\n cache: 'no-cache',\n redirect: 'follow',\n headers: {},\n}\n\n// Source https://developer.mozilla.org/de/docs/Web/HTTP/Methods\nexport type httpMethod =\n | 'GET'\n | 'POST'\n | 'PUT'\n | 'DELETE'\n | 'HEAD'\n | 'CONNECT'\n | 'OPTIONS'\n | 'TRACE'\n | 'PATCH'\n\nexport function parseBasicAuth(url: string) {\n const m = /:\\/\\/([^@]*)@/gi.exec(url)\n if (m && m[1]) {\n const [username, password] = m[1].split(':', 2)\n return {\n url: url.replace(`${m[1]}@`, ''),\n username,\n password,\n }\n }\n}\n\n/** Simplified `fetch` that returns `undefined` on non 200 status */\nexport async function fetchBasic(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<Response | undefined> {\n try {\n if (isArray(fetchOptions))\n fetchOptions = deepMerge({}, ...arrayFlatten(fetchOptions))\n\n const auth = parseBasicAuth(String(url))\n if (auth) {\n url = auth.url\n fetchOptions = deepMerge(\n {},\n fetchOptions,\n fetchOptionsBasicAuth(auth.username, auth.password),\n )\n }\n\n if (\n // @ts-expect-error headers\n fetchOptions.headers != null\n // @ts-expect-error headers\n && !(fetchOptions.headers instanceof Headers)\n ) {\n // @ts-expect-error headers\n fetchOptions.headers = new Headers(fetchOptions.headers)\n }\n\n // log(\"fetch\", url, fetchOptions)\n const response = await fetchFn(String(url), fetchOptions as RequestInit)\n\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n if (response.status < 400)\n return response\n\n const log = DefaultLogger('zeed:network')\n\n try {\n log.warn(`Fetch of ${String(url)} returned status=${response.status}. Options:`, fetchOptions)\n log.warn(`Response: ${await response.text()}`)\n }\n catch (err) {\n log.error('Exception:', err)\n }\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchBasic', err)\n }\n}\n\n/** Fetch for JSON */\nexport async function fetchJson<T = Json>(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<T | undefined> {\n try {\n const res = await fetchBasic(\n url,\n [\n {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n },\n },\n fetchOptions,\n ],\n fetchFn,\n )\n if (res)\n return await res.json()\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchJSON error:', err)\n }\n}\n\n/** Fetch for text */\nexport async function fetchText(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<string | undefined> {\n try {\n const res = await fetchBasic(\n url,\n [defaultOptions, { method: 'GET' }, fetchOptions],\n fetchFn,\n )\n if (res)\n return await res.text()\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchHTML error:', err)\n }\n}\n\n///\n\n/** Options for fetchBasic to send data as application/x-www-form-urlencoded */\nexport function fetchOptionsFormURLEncoded(\n data: object,\n method: httpMethod = 'POST',\n): fetchOptionType {\n return {\n method,\n ...defaultOptions,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n },\n body: encodeQuery(data),\n }\n}\n\n/** Options to send data as JSON */\nexport function fetchOptionsJson(\n data: object,\n method: httpMethod = 'POST',\n): fetchOptionType {\n return {\n method,\n ...defaultOptions,\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n // Accept: \"application/json\",\n },\n body: jsonStringifySafe(data),\n }\n}\n\n/** Options to pass basic auth */\nexport function fetchOptionsBasicAuth(\n username: string,\n password: string,\n): fetchOptionType {\n return {\n headers: {\n Authorization: `Basic ${toBase64(`${username}:${password}`)}`,\n },\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-ZFRTRIT4.js";
|
|
8
8
|
import {
|
|
9
9
|
objectPlain
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZJ56YG7L.js";
|
|
11
11
|
|
|
12
12
|
// src/common/log/log-memory.ts
|
|
13
13
|
function logMessageFromCompact(m) {
|
|
@@ -25,7 +25,13 @@ function LoggerMemoryHandler(opt) {
|
|
|
25
25
|
if (!matchesNamespace(msg.name))
|
|
26
26
|
return;
|
|
27
27
|
msg.timestamp ?? (msg.timestamp = getTimestamp());
|
|
28
|
-
const m = objectPlain(msg, {
|
|
28
|
+
const m = objectPlain(msg, {
|
|
29
|
+
maxDepth,
|
|
30
|
+
errorTrace,
|
|
31
|
+
filter(obj) {
|
|
32
|
+
return !Object.hasOwn(obj, "__SENTRY__");
|
|
33
|
+
}
|
|
34
|
+
});
|
|
29
35
|
if (compact === true)
|
|
30
36
|
messages.push([m.timestamp, m.level, m.name, ...m.messages]);
|
|
31
37
|
else
|
|
@@ -41,4 +47,4 @@ export {
|
|
|
41
47
|
logMessageFromCompact,
|
|
42
48
|
LoggerMemoryHandler
|
|
43
49
|
};
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-HIEILUX4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/log/log-memory.ts"],"sourcesContent":["import { objectPlain } from '../data'\nimport { getTimestamp } from '../time'\nimport type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, {
|
|
1
|
+
{"version":3,"sources":["../src/common/log/log-memory.ts"],"sourcesContent":["import { objectPlain } from '../data'\nimport { getTimestamp } from '../time'\nimport type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, {\n maxDepth,\n errorTrace,\n filter(obj) {\n return !Object.hasOwn(obj, '__SENTRY__')\n },\n })\n\n if (compact === true)\n (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n else\n (messages as LogMessage[]).push(m)\n\n if (counter <= 0)\n messages.shift()\n else\n --counter\n }\n}\n"],"mappings":";;;;;;;;;;;;AAKO,SAAS,sBAAsB,GAAkC;AACtE,QAAM,CAAC,WAAW,OAAO,MAAM,GAAG,QAAQ,IAAI;AAC9C,SAAO,EAAE,WAAW,OAAO,MAAM,SAAS;AAC5C;AAGO,SAAS,oBACd,KAOY;AACZ,QAAM,EAAE,QAAQ,QAAW,SAAS,QAAW,UAAU,OAAO,WAAW,CAAC,GAAG,aAAa,OAAO,WAAW,GAAG,IAAI;AACrH,QAAM,mBAAmB,mBAAmB,MAAM;AAClD,QAAM,eAAe,eAAe,KAAK;AAEzC,MAAI,UAAU,IAAI,SAAS,OAAO;AAElC,SAAO,CAAC,QAAoB;AAC1B,QAAI,CAAC,aAAa,IAAI,KAAK;AACzB;AACF,QAAI,CAAC,iBAAiB,IAAI,IAAI;AAC5B;AAEF,QAAI,cAAJ,IAAI,YAAc,aAAa;AAE/B,UAAM,IAAI,YAAY,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA,OAAO,KAAK;AACV,eAAO,CAAC,OAAO,OAAO,KAAK,YAAY;AAAA,MACzC;AAAA,IACF,CAAC;AAED,QAAI,YAAY;AACd,MAAC,SAAiC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,QAAQ,CAAC;AAAA;AAEpF,MAAC,SAA0B,KAAK,CAAC;AAEnC,QAAI,WAAW;AACb,eAAS,MAAM;AAAA;AAEf,QAAE;AAAA,EACN;AACF;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
@@ -44,7 +44,8 @@ function objectPlain(obj, opt) {
|
|
|
44
44
|
maxDepthValue,
|
|
45
45
|
errorTrace = true,
|
|
46
46
|
filter = () => true,
|
|
47
|
-
keepAsIs = () => false
|
|
47
|
+
keepAsIs = () => false,
|
|
48
|
+
transformer = () => void 0
|
|
48
49
|
} = _nullishCoalesce(opt, () => ( {}));
|
|
49
50
|
const cycle = [];
|
|
50
51
|
function handleObject(obj2, depth) {
|
|
@@ -59,20 +60,51 @@ function objectPlain(obj, opt) {
|
|
|
59
60
|
if (cycle.includes(obj2))
|
|
60
61
|
return circleValue;
|
|
61
62
|
cycle.push(obj2);
|
|
62
|
-
if (
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
if (transformer) {
|
|
64
|
+
const result = transformer(obj2);
|
|
65
|
+
if (result !== void 0)
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
if (obj2 instanceof Date) {
|
|
69
|
+
return {
|
|
70
|
+
__class: "Date",
|
|
71
|
+
value: obj2.toISOString()
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (obj2 instanceof RegExp) {
|
|
75
|
+
return {
|
|
76
|
+
__class: "RegExp",
|
|
77
|
+
source: obj2.toString()
|
|
78
|
+
};
|
|
79
|
+
}
|
|
66
80
|
if (obj2 instanceof Map)
|
|
67
81
|
obj2 = Object.fromEntries(obj2);
|
|
68
82
|
if (obj2 instanceof Set || _chunk52BL3727cjs.isBinaryArray.call(void 0, obj2))
|
|
69
83
|
obj2 = Array.from(obj2);
|
|
70
|
-
if (obj2 instanceof Error)
|
|
71
|
-
return
|
|
72
|
-
|
|
84
|
+
if (obj2 instanceof Error) {
|
|
85
|
+
return {
|
|
86
|
+
__class: "Error",
|
|
87
|
+
name: obj2.name,
|
|
88
|
+
message: obj2.message,
|
|
89
|
+
stack: errorTrace ? obj2.stack : void 0,
|
|
90
|
+
cause: obj2.cause ? String(obj2.cause) : void 0
|
|
91
|
+
};
|
|
92
|
+
}
|
|
73
93
|
if (Array.isArray(obj2)) {
|
|
74
94
|
return obj2.filter(filter).map((o) => handleObject(o, depth + 1));
|
|
75
95
|
}
|
|
96
|
+
const objName = _optionalChain([obj2, 'optionalAccess', _ => _.constructor, 'optionalAccess', _2 => _2.name]);
|
|
97
|
+
if (objName && objName !== "Object") {
|
|
98
|
+
const nobj2 = {
|
|
99
|
+
__class: objName
|
|
100
|
+
// __code: obj.toString ? obj.toString() : undefined,
|
|
101
|
+
};
|
|
102
|
+
for (const k in obj2) {
|
|
103
|
+
if (Object.hasOwn(obj2, k) && _chunk52BL3727cjs.isPrimitive.call(void 0, obj2[k]))
|
|
104
|
+
nobj2[k] = obj2[k];
|
|
105
|
+
}
|
|
106
|
+
return nobj2;
|
|
107
|
+
}
|
|
76
108
|
const nobj = {};
|
|
77
109
|
for (const key in obj2) {
|
|
78
110
|
const value = obj2[key];
|
|
@@ -93,4 +125,4 @@ ${obj2.stack}` : ""}`;
|
|
|
93
125
|
|
|
94
126
|
|
|
95
127
|
exports.objectMap = objectMap; exports.objectMergeDisposable = objectMergeDisposable; exports.objectIsEmpty = objectIsEmpty; exports.objectPick = objectPick; exports.objectInclusivePick = objectInclusivePick; exports.objectOmit = objectOmit; exports.objectPlain = objectPlain;
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-NTCZ6VPJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/data/object.ts"],"names":["obj","nobj"],"mappings":"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","sourcesContent":["import { isArray, isBinaryArray, isObject, isPrimitive, isSymbol } from './is'\n\n/** Like `.map()` for object. Return new key and value or `undefined` to delete. */\nexport function objectMap<T = any>(\n obj: any,\n fn: (key: string, value: any) => [key: string, value: T] | T | undefined | null,\n): Record<string, T> {\n if (!isObject(obj))\n return {}\n return Object.fromEntries(\n Object.entries(obj)\n .map(([k, v]) => {\n const r = fn(k, v)\n if (isArray(r) && r.length === 2)\n return r\n return [k, r]\n })\n .filter(v => v != null),\n )\n}\n\n/** Merge right into left object. If dispose is defined, it will be combined. Left can be a complex object i.e. a insantiated class. */\nexport function objectMergeDisposable<A extends object, B extends object>(\n a: A,\n b: B,\n): A & B {\n // @ts-expect-error xxx\n if (b.dispose && a.dispose) {\n // @ts-expect-error xxx\n b.dispose.add(a.dispose)\n }\n return Object.assign(a, b)\n}\n\n// export function objectMerge<A, B>(a: A, b: B): A & B {\n// return Object.assign({}, a, b)\n// }\n\nexport function objectIsEmpty(obj: object) {\n return Object.keys(obj).length <= 0\n}\n\n// https://stackoverflow.com/a/56592365/140927\nexport function objectPick<T extends object, K extends keyof T>(obj: T, ...keys: K[]) {\n return Object.fromEntries(keys.filter(key => key in obj).map(key => [key, obj[key]])) as Pick<T, K>\n}\n\nexport function objectInclusivePick<T extends object, K extends (string | number | symbol)>(obj: T, ...keys: K[]) {\n return Object.fromEntries(keys.map(key => [key, obj[key as unknown as keyof T]])) as { [key in K]: key extends keyof T ? T[key] : undefined }\n}\n\nexport function objectOmit<T extends object, K extends keyof T>(obj: T, ...keys: K[]) {\n return Object.fromEntries(Object.entries(obj).filter(([key]) => !keys.includes(key as K))) as Omit<T, K>\n}\n\n/// Convert object to plain object with max depth.\nexport function objectPlain(obj: any, opt?: {\n maxDepth?: number\n maxDepthValue?: any\n circleValue?: any\n errorTrace?: boolean\n filter?: (value: any) => boolean\n keepAsIs?: (value: any) => boolean\n transformer?: (value: any) => any | undefined\n}): any {\n const {\n maxDepth = 99,\n circleValue,\n maxDepthValue,\n errorTrace = true,\n filter = () => true,\n keepAsIs = () => false,\n transformer = () => undefined,\n } = opt ?? {}\n\n const cycle: any = []\n\n function handleObject(obj: any, depth: number): any {\n if (depth > maxDepth)\n return maxDepthValue // '*** MAX DEPTH ***'\n\n if (keepAsIs(obj))\n return obj\n\n if (isSymbol(obj))\n return String(obj)\n\n if (isPrimitive(obj))\n return obj\n\n if (cycle.includes(obj))\n return circleValue // '*** CYCLE ***'\n\n cycle.push(obj)\n\n if (transformer) {\n const result = transformer(obj)\n if (result !== undefined)\n return result\n }\n\n if (obj instanceof Date) {\n return {\n __class: 'Date',\n value: obj.toISOString(),\n }\n }\n\n if (obj instanceof RegExp) {\n return {\n __class: 'RegExp',\n source: obj.toString(),\n }\n }\n\n if (obj instanceof Map)\n obj = Object.fromEntries(obj)\n\n if (obj instanceof Set || isBinaryArray(obj))\n obj = Array.from(obj as any)\n\n if (obj instanceof Error) {\n return {\n __class: 'Error',\n name: obj.name,\n message: obj.message,\n stack: errorTrace ? obj.stack : undefined,\n cause: obj.cause ? String(obj.cause) : undefined,\n }\n }\n // return `${obj.name || 'Error'}: ${obj.message}${errorTrace ? `\\n${obj.stack}` : ''}`\n\n /* if (obj instanceof Element) {\n const attrs = obj.getAttributeNames().map(name => `${name}=\"${String(obj.getAttribute(name))}\"`).join(' ')\n return `<${[obj.tagName.toLocaleLowerCase(), ...attrs].join(' ')}}>`\n } */\n\n if (Array.isArray(obj)) {\n return obj\n .filter(filter)\n .map(o => handleObject(o, depth + 1))\n }\n\n // For class objects just dump the first level of primitives\n const objName = obj?.constructor?.name\n if (objName && objName !== 'Object') {\n const nobj: any = {\n __class: objName,\n // __code: obj.toString ? obj.toString() : undefined,\n }\n for (const k in obj) {\n if (Object.hasOwn(obj, k) && isPrimitive(obj[k]))\n nobj[k] = obj[k]\n }\n return nobj\n }\n\n // Plain objects are recursively dumped\n const nobj: any = {}\n for (const key in obj) {\n const value = obj[key]\n if (filter(value))\n nobj[key] = handleObject(value, depth + 1)\n }\n return nobj\n\n // return undefined\n }\n\n return handleObject(obj, 0)\n}\n"]}
|
|
@@ -7,7 +7,7 @@ var _chunkTJP5RDJEcjs = require('./chunk-TJP5RDJE.cjs');
|
|
|
7
7
|
var _chunkL646RZQBcjs = require('./chunk-L646RZQB.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkNTCZ6VPJcjs = require('./chunk-NTCZ6VPJ.cjs');
|
|
11
11
|
|
|
12
12
|
// src/common/log/log-memory.ts
|
|
13
13
|
function logMessageFromCompact(m) {
|
|
@@ -25,7 +25,13 @@ function LoggerMemoryHandler(opt) {
|
|
|
25
25
|
if (!matchesNamespace(msg.name))
|
|
26
26
|
return;
|
|
27
27
|
_nullishCoalesce(msg.timestamp, () => ( (msg.timestamp = _chunkL646RZQBcjs.getTimestamp.call(void 0, ))));
|
|
28
|
-
const m =
|
|
28
|
+
const m = _chunkNTCZ6VPJcjs.objectPlain.call(void 0, msg, {
|
|
29
|
+
maxDepth,
|
|
30
|
+
errorTrace,
|
|
31
|
+
filter(obj) {
|
|
32
|
+
return !Object.hasOwn(obj, "__SENTRY__");
|
|
33
|
+
}
|
|
34
|
+
});
|
|
29
35
|
if (compact === true)
|
|
30
36
|
messages.push([m.timestamp, m.level, m.name, ...m.messages]);
|
|
31
37
|
else
|
|
@@ -41,4 +47,4 @@ function LoggerMemoryHandler(opt) {
|
|
|
41
47
|
|
|
42
48
|
|
|
43
49
|
exports.logMessageFromCompact = logMessageFromCompact; exports.LoggerMemoryHandler = LoggerMemoryHandler;
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-PKAVTW7I.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/log/log-memory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKO,SAAS,sBAAsB,GAAkC;AACtE,QAAM,CAAC,WAAW,OAAO,MAAM,GAAG,QAAQ,IAAI;AAC9C,SAAO,EAAE,WAAW,OAAO,MAAM,SAAS;AAC5C;AAGO,SAAS,oBACd,KAOY;AACZ,QAAM,EAAE,QAAQ,QAAW,SAAS,QAAW,UAAU,OAAO,WAAW,CAAC,GAAG,aAAa,OAAO,WAAW,GAAG,IAAI;AACrH,QAAM,mBAAmB,mBAAmB,MAAM;AAClD,QAAM,eAAe,eAAe,KAAK;AAEzC,MAAI,UAAU,IAAI,SAAS,OAAO;AAElC,SAAO,CAAC,QAAoB;AAC1B,QAAI,CAAC,aAAa,IAAI,KAAK;AACzB;AACF,QAAI,CAAC,iBAAiB,IAAI,IAAI;AAC5B;AAEF,QAAI,cAAJ,IAAI,YAAc,aAAa;AAE/B,UAAM,IAAI,YAAY,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA,OAAO,KAAK;AACV,eAAO,CAAC,OAAO,OAAO,KAAK,YAAY;AAAA,MACzC;AAAA,IACF,CAAC;AAED,QAAI,YAAY;AACd,MAAC,SAAiC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,QAAQ,CAAC;AAAA;AAEpF,MAAC,SAA0B,KAAK,CAAC;AAEnC,QAAI,WAAW;AACb,eAAS,MAAM;AAAA;AAEf,QAAE;AAAA,EACN;AACF","sourcesContent":["import { objectPlain } from '../data'\nimport { getTimestamp } from '../time'\nimport type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, {\n maxDepth,\n errorTrace,\n filter(obj) {\n return !Object.hasOwn(obj, '__SENTRY__')\n },\n })\n\n if (compact === true)\n (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n else\n (messages as LogMessage[]).push(m)\n\n if (counter <= 0)\n messages.shift()\n else\n --counter\n }\n}\n"]}
|
|
@@ -145,4 +145,4 @@ function fetchOptionsBasicAuth(username, password) {
|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
exports.parseBasicAuth = parseBasicAuth; exports.fetchBasic = fetchBasic; exports.fetchJson = fetchJson; exports.fetchText = fetchText; exports.fetchOptionsFormURLEncoded = fetchOptionsFormURLEncoded; exports.fetchOptionsJson = fetchOptionsJson; exports.fetchOptionsBasicAuth = fetchOptionsBasicAuth;
|
|
148
|
-
//# sourceMappingURL=chunk-
|
|
148
|
+
//# sourceMappingURL=chunk-V6M22LNO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/network.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n arrayFlatten,\n deepMerge,\n isArray,\n jsonStringifySafe,\n toBase64,\n} from './data'\nimport { encodeQuery } from './data/url'\nimport { DefaultLogger } from './log'\nimport type { Json } from './types'\n\n// TODO: Abort signal https://codedrivendevelopment.com/posts/everything-about-abort-signal-timeout\n\ninterface fetchOptionType {\n /** Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching. */\n cache?: RequestCache\n /** Returns the credentials mode associated with request, which is a string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. */\n credentials?: RequestCredentials\n /** Returns the kind of resource requested by request, e.g., \"document\" or \"script\". */\n destination?: RequestDestination\n /** Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the \"Host\" header. */\n headers?: Record<string, string>\n /** Returns request's subresource integrity metadata, which is a cryptographic hash of the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] */\n integrity?: string\n /** Returns a boolean indicating whether or not request can outlive the global in which it was created. */\n keepalive?: boolean\n /** Returns request's HTTP method, which is \"GET\" by default. */\n method?: string\n /** Returns the mode associated with request, which is a string indicating whether the request will use CORS, or will be restricted to same-origin URLs. */\n mode?: RequestMode\n /** Returns the redirect mode associated with request, which is a string indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. */\n redirect?: RequestRedirect\n /** Returns the referrer of request. Its value can be a same-origin URL if explicitly set in init, the empty string to indicate no referrer, and \"about:client\" when defaulting to the global's default. This is used during fetching to determine the value of the `Referer` header of the request being made. */\n referrer?: string\n /** Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer. */\n referrerPolicy?: ReferrerPolicy\n /** Returns the signal associated with request, which is an AbortSignal object indicating whether or not request has been aborted, and its abort event handler. */\n signal?: AbortSignal\n /** Returns the URL of request as a string. */\n url?: string\n body?: any\n}\n\ntype fetchOptionsType = fetchOptionType | fetchOptionsType[]\n\nconst defaultOptions: fetchOptionType = {\n cache: 'no-cache',\n redirect: 'follow',\n headers: {},\n}\n\n// Source https://developer.mozilla.org/de/docs/Web/HTTP/Methods\nexport type httpMethod =\n | 'GET'\n | 'POST'\n | 'PUT'\n | 'DELETE'\n | 'HEAD'\n | 'CONNECT'\n | 'OPTIONS'\n | 'TRACE'\n | 'PATCH'\n\nexport function parseBasicAuth(url: string) {\n const m = /:\\/\\/([^@]*)@/gi.exec(url)\n if (m && m[1]) {\n const [username, password] = m[1].split(':', 2)\n return {\n url: url.replace(`${m[1]}@`, ''),\n username,\n password,\n }\n }\n}\n\n/** Simplified `fetch` that returns `undefined` on non 200 status */\nexport async function fetchBasic(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<Response | undefined> {\n try {\n if (isArray(fetchOptions))\n fetchOptions = deepMerge({}, ...arrayFlatten(fetchOptions))\n\n const auth = parseBasicAuth(String(url))\n if (auth) {\n url = auth.url\n fetchOptions = deepMerge(\n {},\n fetchOptions,\n fetchOptionsBasicAuth(auth.username, auth.password),\n )\n }\n\n if (\n // @ts-expect-error headers\n fetchOptions.headers != null\n // @ts-expect-error headers\n && !(fetchOptions.headers instanceof Headers)\n ) {\n // @ts-expect-error headers\n fetchOptions.headers = new Headers(fetchOptions.headers)\n }\n\n // log(\"fetch\", url, fetchOptions)\n const response = await fetchFn(String(url), fetchOptions as RequestInit)\n\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n if (response.status < 400)\n return response\n\n const log = DefaultLogger('zeed:network')\n\n try {\n log.warn(`Fetch of ${String(url)} returned status=${response.status}. Options:`, fetchOptions)\n log.warn(`Response: ${await response.text()}`)\n }\n catch (err) {\n log.error('Exception:', err)\n }\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchBasic', err)\n }\n}\n\n/** Fetch for JSON */\nexport async function fetchJson<T = Json>(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<T | undefined> {\n try {\n const res = await fetchBasic(\n url,\n [\n {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n },\n },\n fetchOptions,\n ],\n fetchFn,\n )\n if (res)\n return await res.json()\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchJSON error:', err)\n }\n}\n\n/** Fetch for text */\nexport async function fetchText(\n url: string | URL,\n fetchOptions: fetchOptionsType = {},\n fetchFn: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch,\n): Promise<string | undefined> {\n try {\n const res = await fetchBasic(\n url,\n [defaultOptions, { method: 'GET' }, fetchOptions],\n fetchFn,\n )\n if (res)\n return await res.text()\n }\n catch (err) {\n const log = DefaultLogger('zeed:network')\n log.error('fetchHTML error:', err)\n }\n}\n\n///\n\n/** Options for fetchBasic to send data as application/x-www-form-urlencoded */\nexport function fetchOptionsFormURLEncoded(\n data: object,\n method: httpMethod = 'POST',\n): fetchOptionType {\n return {\n method,\n ...defaultOptions,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n },\n body: encodeQuery(data),\n }\n}\n\n/** Options to send data as JSON */\nexport function fetchOptionsJson(\n data: object,\n method: httpMethod = 'POST',\n): fetchOptionType {\n return {\n method,\n ...defaultOptions,\n headers: {\n 'Content-Type': 'application/json; charset=utf-8',\n // Accept: \"application/json\",\n },\n body: jsonStringifySafe(data),\n }\n}\n\n/** Options to pass basic auth */\nexport function fetchOptionsBasicAuth(\n username: string,\n password: string,\n): fetchOptionType {\n return {\n headers: {\n Authorization: `Basic ${toBase64(`${username}:${password}`)}`,\n },\n }\n}\n"]}
|
|
@@ -44,7 +44,8 @@ function objectPlain(obj, opt) {
|
|
|
44
44
|
maxDepthValue,
|
|
45
45
|
errorTrace = true,
|
|
46
46
|
filter = () => true,
|
|
47
|
-
keepAsIs = () => false
|
|
47
|
+
keepAsIs = () => false,
|
|
48
|
+
transformer = () => void 0
|
|
48
49
|
} = opt ?? {};
|
|
49
50
|
const cycle = [];
|
|
50
51
|
function handleObject(obj2, depth) {
|
|
@@ -59,20 +60,51 @@ function objectPlain(obj, opt) {
|
|
|
59
60
|
if (cycle.includes(obj2))
|
|
60
61
|
return circleValue;
|
|
61
62
|
cycle.push(obj2);
|
|
62
|
-
if (
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
if (transformer) {
|
|
64
|
+
const result = transformer(obj2);
|
|
65
|
+
if (result !== void 0)
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
if (obj2 instanceof Date) {
|
|
69
|
+
return {
|
|
70
|
+
__class: "Date",
|
|
71
|
+
value: obj2.toISOString()
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (obj2 instanceof RegExp) {
|
|
75
|
+
return {
|
|
76
|
+
__class: "RegExp",
|
|
77
|
+
source: obj2.toString()
|
|
78
|
+
};
|
|
79
|
+
}
|
|
66
80
|
if (obj2 instanceof Map)
|
|
67
81
|
obj2 = Object.fromEntries(obj2);
|
|
68
82
|
if (obj2 instanceof Set || isBinaryArray(obj2))
|
|
69
83
|
obj2 = Array.from(obj2);
|
|
70
|
-
if (obj2 instanceof Error)
|
|
71
|
-
return
|
|
72
|
-
|
|
84
|
+
if (obj2 instanceof Error) {
|
|
85
|
+
return {
|
|
86
|
+
__class: "Error",
|
|
87
|
+
name: obj2.name,
|
|
88
|
+
message: obj2.message,
|
|
89
|
+
stack: errorTrace ? obj2.stack : void 0,
|
|
90
|
+
cause: obj2.cause ? String(obj2.cause) : void 0
|
|
91
|
+
};
|
|
92
|
+
}
|
|
73
93
|
if (Array.isArray(obj2)) {
|
|
74
94
|
return obj2.filter(filter).map((o) => handleObject(o, depth + 1));
|
|
75
95
|
}
|
|
96
|
+
const objName = obj2?.constructor?.name;
|
|
97
|
+
if (objName && objName !== "Object") {
|
|
98
|
+
const nobj2 = {
|
|
99
|
+
__class: objName
|
|
100
|
+
// __code: obj.toString ? obj.toString() : undefined,
|
|
101
|
+
};
|
|
102
|
+
for (const k in obj2) {
|
|
103
|
+
if (Object.hasOwn(obj2, k) && isPrimitive(obj2[k]))
|
|
104
|
+
nobj2[k] = obj2[k];
|
|
105
|
+
}
|
|
106
|
+
return nobj2;
|
|
107
|
+
}
|
|
76
108
|
const nobj = {};
|
|
77
109
|
for (const key in obj2) {
|
|
78
110
|
const value = obj2[key];
|
|
@@ -93,4 +125,4 @@ export {
|
|
|
93
125
|
objectOmit,
|
|
94
126
|
objectPlain
|
|
95
127
|
};
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-ZJ56YG7L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/data/object.ts"],"sourcesContent":["import { isArray, isBinaryArray, isObject, isPrimitive, isSymbol } from './is'\n\n/** Like `.map()` for object. Return new key and value or `undefined` to delete. */\nexport function objectMap<T = any>(\n obj: any,\n fn: (key: string, value: any) => [key: string, value: T] | T | undefined | null,\n): Record<string, T> {\n if (!isObject(obj))\n return {}\n return Object.fromEntries(\n Object.entries(obj)\n .map(([k, v]) => {\n const r = fn(k, v)\n if (isArray(r) && r.length === 2)\n return r\n return [k, r]\n })\n .filter(v => v != null),\n )\n}\n\n/** Merge right into left object. If dispose is defined, it will be combined. Left can be a complex object i.e. a insantiated class. */\nexport function objectMergeDisposable<A extends object, B extends object>(\n a: A,\n b: B,\n): A & B {\n // @ts-expect-error xxx\n if (b.dispose && a.dispose) {\n // @ts-expect-error xxx\n b.dispose.add(a.dispose)\n }\n return Object.assign(a, b)\n}\n\n// export function objectMerge<A, B>(a: A, b: B): A & B {\n// return Object.assign({}, a, b)\n// }\n\nexport function objectIsEmpty(obj: object) {\n return Object.keys(obj).length <= 0\n}\n\n// https://stackoverflow.com/a/56592365/140927\nexport function objectPick<T extends object, K extends keyof T>(obj: T, ...keys: K[]) {\n return Object.fromEntries(keys.filter(key => key in obj).map(key => [key, obj[key]])) as Pick<T, K>\n}\n\nexport function objectInclusivePick<T extends object, K extends (string | number | symbol)>(obj: T, ...keys: K[]) {\n return Object.fromEntries(keys.map(key => [key, obj[key as unknown as keyof T]])) as { [key in K]: key extends keyof T ? T[key] : undefined }\n}\n\nexport function objectOmit<T extends object, K extends keyof T>(obj: T, ...keys: K[]) {\n return Object.fromEntries(Object.entries(obj).filter(([key]) => !keys.includes(key as K))) as Omit<T, K>\n}\n\n/// Convert object to plain object with max depth.\nexport function objectPlain(obj: any, opt?: {\n maxDepth?: number\n maxDepthValue?: any\n circleValue?: any\n errorTrace?: boolean\n filter?: (value: any) => boolean\n keepAsIs?: (value: any) => boolean\n transformer?: (value: any) => any | undefined\n}): any {\n const {\n maxDepth = 99,\n circleValue,\n maxDepthValue,\n errorTrace = true,\n filter = () => true,\n keepAsIs = () => false,\n transformer = () => undefined,\n } = opt ?? {}\n\n const cycle: any = []\n\n function handleObject(obj: any, depth: number): any {\n if (depth > maxDepth)\n return maxDepthValue // '*** MAX DEPTH ***'\n\n if (keepAsIs(obj))\n return obj\n\n if (isSymbol(obj))\n return String(obj)\n\n if (isPrimitive(obj))\n return obj\n\n if (cycle.includes(obj))\n return circleValue // '*** CYCLE ***'\n\n cycle.push(obj)\n\n if (transformer) {\n const result = transformer(obj)\n if (result !== undefined)\n return result\n }\n\n if (obj instanceof Date) {\n return {\n __class: 'Date',\n value: obj.toISOString(),\n }\n }\n\n if (obj instanceof RegExp) {\n return {\n __class: 'RegExp',\n source: obj.toString(),\n }\n }\n\n if (obj instanceof Map)\n obj = Object.fromEntries(obj)\n\n if (obj instanceof Set || isBinaryArray(obj))\n obj = Array.from(obj as any)\n\n if (obj instanceof Error) {\n return {\n __class: 'Error',\n name: obj.name,\n message: obj.message,\n stack: errorTrace ? obj.stack : undefined,\n cause: obj.cause ? String(obj.cause) : undefined,\n }\n }\n // return `${obj.name || 'Error'}: ${obj.message}${errorTrace ? `\\n${obj.stack}` : ''}`\n\n /* if (obj instanceof Element) {\n const attrs = obj.getAttributeNames().map(name => `${name}=\"${String(obj.getAttribute(name))}\"`).join(' ')\n return `<${[obj.tagName.toLocaleLowerCase(), ...attrs].join(' ')}}>`\n } */\n\n if (Array.isArray(obj)) {\n return obj\n .filter(filter)\n .map(o => handleObject(o, depth + 1))\n }\n\n // For class objects just dump the first level of primitives\n const objName = obj?.constructor?.name\n if (objName && objName !== 'Object') {\n const nobj: any = {\n __class: objName,\n // __code: obj.toString ? obj.toString() : undefined,\n }\n for (const k in obj) {\n if (Object.hasOwn(obj, k) && isPrimitive(obj[k]))\n nobj[k] = obj[k]\n }\n return nobj\n }\n\n // Plain objects are recursively dumped\n const nobj: any = {}\n for (const key in obj) {\n const value = obj[key]\n if (filter(value))\n nobj[key] = handleObject(value, depth + 1)\n }\n return nobj\n\n // return undefined\n }\n\n return handleObject(obj, 0)\n}\n"],"mappings":"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","names":["obj","nobj"]}
|
package/dist/common/assert.cjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
var _chunk62TCRE2Jcjs = require('../chunk-62TCRE2J.cjs');
|
|
6
6
|
require('../chunk-4B2XCWGL.cjs');
|
|
7
7
|
require('../chunk-5CIFX7O6.cjs');
|
|
8
|
-
require('../chunk-
|
|
8
|
+
require('../chunk-PKAVTW7I.cjs');
|
|
9
9
|
require('../chunk-XC7SHABV.cjs');
|
|
10
10
|
require('../chunk-ABEJKCAO.cjs');
|
|
11
11
|
require('../chunk-6TCZFTKD.cjs');
|
|
@@ -25,7 +25,7 @@ require('../chunk-KTC5RW57.cjs');
|
|
|
25
25
|
require('../chunk-GU6AYGWK.cjs');
|
|
26
26
|
require('../chunk-SNRM7OTJ.cjs');
|
|
27
27
|
require('../chunk-ZGKV237Z.cjs');
|
|
28
|
-
require('../chunk-
|
|
28
|
+
require('../chunk-NTCZ6VPJ.cjs');
|
|
29
29
|
require('../chunk-N7OUNPMM.cjs');
|
|
30
30
|
require('../chunk-MPD2DJAD.cjs');
|
|
31
31
|
require('../chunk-YELWQAMG.cjs');
|
package/dist/common/assert.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "../chunk-2A3BQWES.js";
|
|
6
6
|
import "../chunk-TSCDX4AS.js";
|
|
7
7
|
import "../chunk-D6B6MYVG.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-HIEILUX4.js";
|
|
9
9
|
import "../chunk-A526SGYQ.js";
|
|
10
10
|
import "../chunk-PJAUZ5BZ.js";
|
|
11
11
|
import "../chunk-6OKCPP4P.js";
|
|
@@ -25,7 +25,7 @@ import "../chunk-AS5LR4AI.js";
|
|
|
25
25
|
import "../chunk-KQSQJAHU.js";
|
|
26
26
|
import "../chunk-JC22THP7.js";
|
|
27
27
|
import "../chunk-2HWPZ6ZE.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-ZJ56YG7L.js";
|
|
29
29
|
import "../chunk-73CVRDI7.js";
|
|
30
30
|
import "../chunk-FL5CT6MC.js";
|
|
31
31
|
import "../chunk-HLRQ5H3N.js";
|
|
@@ -16,7 +16,7 @@ require('../../chunk-2UTQQDPY.cjs');
|
|
|
16
16
|
require('../../chunk-62TCRE2J.cjs');
|
|
17
17
|
require('../../chunk-4B2XCWGL.cjs');
|
|
18
18
|
require('../../chunk-5CIFX7O6.cjs');
|
|
19
|
-
require('../../chunk-
|
|
19
|
+
require('../../chunk-PKAVTW7I.cjs');
|
|
20
20
|
require('../../chunk-XC7SHABV.cjs');
|
|
21
21
|
require('../../chunk-ABEJKCAO.cjs');
|
|
22
22
|
require('../../chunk-6TCZFTKD.cjs');
|
|
@@ -36,7 +36,7 @@ require('../../chunk-KTC5RW57.cjs');
|
|
|
36
36
|
require('../../chunk-GU6AYGWK.cjs');
|
|
37
37
|
require('../../chunk-SNRM7OTJ.cjs');
|
|
38
38
|
require('../../chunk-ZGKV237Z.cjs');
|
|
39
|
-
require('../../chunk-
|
|
39
|
+
require('../../chunk-NTCZ6VPJ.cjs');
|
|
40
40
|
require('../../chunk-N7OUNPMM.cjs');
|
|
41
41
|
require('../../chunk-MPD2DJAD.cjs');
|
|
42
42
|
require('../../chunk-YELWQAMG.cjs');
|
package/dist/common/bin/index.js
CHANGED
|
@@ -16,7 +16,7 @@ import "../../chunk-GKKLBSFA.js";
|
|
|
16
16
|
import "../../chunk-2A3BQWES.js";
|
|
17
17
|
import "../../chunk-TSCDX4AS.js";
|
|
18
18
|
import "../../chunk-D6B6MYVG.js";
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-HIEILUX4.js";
|
|
20
20
|
import "../../chunk-A526SGYQ.js";
|
|
21
21
|
import "../../chunk-PJAUZ5BZ.js";
|
|
22
22
|
import "../../chunk-6OKCPP4P.js";
|
|
@@ -36,7 +36,7 @@ import "../../chunk-AS5LR4AI.js";
|
|
|
36
36
|
import "../../chunk-KQSQJAHU.js";
|
|
37
37
|
import "../../chunk-JC22THP7.js";
|
|
38
38
|
import "../../chunk-2HWPZ6ZE.js";
|
|
39
|
-
import "../../chunk-
|
|
39
|
+
import "../../chunk-ZJ56YG7L.js";
|
|
40
40
|
import "../../chunk-73CVRDI7.js";
|
|
41
41
|
import "../../chunk-FL5CT6MC.js";
|
|
42
42
|
import "../../chunk-HLRQ5H3N.js";
|
|
@@ -13,7 +13,7 @@ require('../../chunk-SFUIGVPA.cjs');
|
|
|
13
13
|
require('../../chunk-X23ZSPZC.cjs');
|
|
14
14
|
require('../../chunk-2UTQQDPY.cjs');
|
|
15
15
|
require('../../chunk-MJ7L4G3V.cjs');
|
|
16
|
-
require('../../chunk-
|
|
16
|
+
require('../../chunk-V6M22LNO.cjs');
|
|
17
17
|
require('../../chunk-LKES6YKV.cjs');
|
|
18
18
|
require('../../chunk-3TNVJY4F.cjs');
|
|
19
19
|
require('../../chunk-WPWV7ZEM.cjs');
|
|
@@ -36,7 +36,7 @@ require('../../chunk-BQ6MKKYS.cjs');
|
|
|
36
36
|
require('../../chunk-6LTOCALJ.cjs');
|
|
37
37
|
require('../../chunk-4B2XCWGL.cjs');
|
|
38
38
|
require('../../chunk-5CIFX7O6.cjs');
|
|
39
|
-
require('../../chunk-
|
|
39
|
+
require('../../chunk-PKAVTW7I.cjs');
|
|
40
40
|
require('../../chunk-XC7SHABV.cjs');
|
|
41
41
|
require('../../chunk-ABEJKCAO.cjs');
|
|
42
42
|
require('../../chunk-6TCZFTKD.cjs');
|
|
@@ -57,7 +57,7 @@ require('../../chunk-KTC5RW57.cjs');
|
|
|
57
57
|
require('../../chunk-GU6AYGWK.cjs');
|
|
58
58
|
require('../../chunk-SNRM7OTJ.cjs');
|
|
59
59
|
require('../../chunk-ZGKV237Z.cjs');
|
|
60
|
-
require('../../chunk-
|
|
60
|
+
require('../../chunk-NTCZ6VPJ.cjs');
|
|
61
61
|
require('../../chunk-N7OUNPMM.cjs');
|
|
62
62
|
require('../../chunk-MPD2DJAD.cjs');
|
|
63
63
|
require('../../chunk-YELWQAMG.cjs');
|
|
@@ -13,7 +13,7 @@ import "../../chunk-RNL46FQ3.js";
|
|
|
13
13
|
import "../../chunk-MWUFUBY5.js";
|
|
14
14
|
import "../../chunk-GKKLBSFA.js";
|
|
15
15
|
import "../../chunk-264HKVNG.js";
|
|
16
|
-
import "../../chunk-
|
|
16
|
+
import "../../chunk-BSY5YJFG.js";
|
|
17
17
|
import "../../chunk-LKHGPAZI.js";
|
|
18
18
|
import "../../chunk-FLFB2K34.js";
|
|
19
19
|
import "../../chunk-HST4VI64.js";
|
|
@@ -36,7 +36,7 @@ import "../../chunk-RVLBQKTB.js";
|
|
|
36
36
|
import "../../chunk-USM6V6GH.js";
|
|
37
37
|
import "../../chunk-TSCDX4AS.js";
|
|
38
38
|
import "../../chunk-D6B6MYVG.js";
|
|
39
|
-
import "../../chunk-
|
|
39
|
+
import "../../chunk-HIEILUX4.js";
|
|
40
40
|
import "../../chunk-A526SGYQ.js";
|
|
41
41
|
import "../../chunk-PJAUZ5BZ.js";
|
|
42
42
|
import "../../chunk-6OKCPP4P.js";
|
|
@@ -57,7 +57,7 @@ import "../../chunk-AS5LR4AI.js";
|
|
|
57
57
|
import "../../chunk-KQSQJAHU.js";
|
|
58
58
|
import "../../chunk-JC22THP7.js";
|
|
59
59
|
import "../../chunk-2HWPZ6ZE.js";
|
|
60
|
-
import "../../chunk-
|
|
60
|
+
import "../../chunk-ZJ56YG7L.js";
|
|
61
61
|
import "../../chunk-73CVRDI7.js";
|
|
62
62
|
import "../../chunk-FL5CT6MC.js";
|
|
63
63
|
import "../../chunk-HLRQ5H3N.js";
|
|
@@ -8,7 +8,7 @@ require('../chunk-SFUIGVPA.cjs');
|
|
|
8
8
|
require('../chunk-X23ZSPZC.cjs');
|
|
9
9
|
require('../chunk-2UTQQDPY.cjs');
|
|
10
10
|
require('../chunk-MJ7L4G3V.cjs');
|
|
11
|
-
require('../chunk-
|
|
11
|
+
require('../chunk-V6M22LNO.cjs');
|
|
12
12
|
require('../chunk-LKES6YKV.cjs');
|
|
13
13
|
require('../chunk-3TNVJY4F.cjs');
|
|
14
14
|
require('../chunk-WPWV7ZEM.cjs');
|
|
@@ -31,7 +31,7 @@ require('../chunk-BQ6MKKYS.cjs');
|
|
|
31
31
|
require('../chunk-6LTOCALJ.cjs');
|
|
32
32
|
require('../chunk-4B2XCWGL.cjs');
|
|
33
33
|
require('../chunk-5CIFX7O6.cjs');
|
|
34
|
-
require('../chunk-
|
|
34
|
+
require('../chunk-PKAVTW7I.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
var _chunkXC7SHABVcjs = require('../chunk-XC7SHABV.cjs');
|
|
@@ -60,7 +60,7 @@ require('../chunk-KTC5RW57.cjs');
|
|
|
60
60
|
require('../chunk-GU6AYGWK.cjs');
|
|
61
61
|
require('../chunk-SNRM7OTJ.cjs');
|
|
62
62
|
require('../chunk-ZGKV237Z.cjs');
|
|
63
|
-
require('../chunk-
|
|
63
|
+
require('../chunk-NTCZ6VPJ.cjs');
|
|
64
64
|
require('../chunk-N7OUNPMM.cjs');
|
|
65
65
|
require('../chunk-MPD2DJAD.cjs');
|
|
66
66
|
require('../chunk-YELWQAMG.cjs');
|
|
@@ -8,7 +8,7 @@ import "../chunk-RNL46FQ3.js";
|
|
|
8
8
|
import "../chunk-MWUFUBY5.js";
|
|
9
9
|
import "../chunk-GKKLBSFA.js";
|
|
10
10
|
import "../chunk-264HKVNG.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-BSY5YJFG.js";
|
|
12
12
|
import "../chunk-LKHGPAZI.js";
|
|
13
13
|
import "../chunk-FLFB2K34.js";
|
|
14
14
|
import "../chunk-HST4VI64.js";
|
|
@@ -31,7 +31,7 @@ import "../chunk-RVLBQKTB.js";
|
|
|
31
31
|
import "../chunk-USM6V6GH.js";
|
|
32
32
|
import "../chunk-TSCDX4AS.js";
|
|
33
33
|
import "../chunk-D6B6MYVG.js";
|
|
34
|
-
import "../chunk-
|
|
34
|
+
import "../chunk-HIEILUX4.js";
|
|
35
35
|
import {
|
|
36
36
|
DefaultLogger
|
|
37
37
|
} from "../chunk-A526SGYQ.js";
|
|
@@ -60,7 +60,7 @@ import "../chunk-AS5LR4AI.js";
|
|
|
60
60
|
import "../chunk-KQSQJAHU.js";
|
|
61
61
|
import "../chunk-JC22THP7.js";
|
|
62
62
|
import "../chunk-2HWPZ6ZE.js";
|
|
63
|
-
import "../chunk-
|
|
63
|
+
import "../chunk-ZJ56YG7L.js";
|
|
64
64
|
import "../chunk-73CVRDI7.js";
|
|
65
65
|
import "../chunk-FL5CT6MC.js";
|
|
66
66
|
import "../chunk-HLRQ5H3N.js";
|