@neon/config-runtime 1.7.2 → 1.7.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/dist/lib/pull-config.d.ts.map +1 -1
- package/dist/lib/pull-config.js +29 -11
- package/dist/lib/pull-config.js.map +1 -1
- package/dist/lib/run-hook.test-d.js +1 -1
- package/dist/node_modules/.pnpm/@vitest_pretty-format@3.0.9/node_modules/@vitest/pretty-format/dist/index.js +17 -19
- package/dist/node_modules/.pnpm/@vitest_pretty-format@3.0.9/node_modules/@vitest/pretty-format/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/{vitest@3.0.9_@types_debug@4.1.13_@types_node@20.19.17_jiti@2.7.0_jsdom@26.1.0_lightning_fb7ae83398b95c49208c9194029bba02 → vitest@3.0.9_@types_debug@4.1.13_@types_node@20.19.17_jiti@2.7.0_jsdom@29.1.1_lightning_c62fa9cfd5255ee94a9655ae033e9be4}/node_modules/vitest/dist/index.js +1 -1
- package/dist/node_modules/.pnpm/{vitest@3.0.9_@types_debug@4.1.13_@types_node@20.19.17_jiti@2.7.0_jsdom@26.1.0_lightning_fb7ae83398b95c49208c9194029bba02 → vitest@3.0.9_@types_debug@4.1.13_@types_node@20.19.17_jiti@2.7.0_jsdom@29.1.1_lightning_c62fa9cfd5255ee94a9655ae033e9be4}/node_modules/vitest/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull-config.d.ts","names":[],"sources":["../../src/lib/pull-config.ts"],"mappings":";;;UAkBiB,iBAAA;;EAAA,SAAA,EAAA,MAAA;EAmBA;EAAa,QAAA,EAAA,MAAA;EACU;EAA9B,MAAA,CAAA,EAAA,MAAA;EACE;EAOE,OAAA,CAAA,EAAA,MAAA;EAAkB;EAGf,GAAA,CAAA,EArBV,OAqBU;AAAkB;AA6B1B;AAME;AAAa;AAGxB;AAAgC;AACtB;AACC,UApDM,aAAA,CAoDN;EAAR,OAAA,EAnDO,KAmDP,CAAA;IAAO,IAAA,EAAA,MAAA;
|
|
1
|
+
{"version":3,"file":"pull-config.d.ts","names":[],"sources":["../../src/lib/pull-config.ts"],"mappings":";;;UAkBiB,iBAAA;;EAAA,SAAA,EAAA,MAAA;EAmBA;EAAa,QAAA,EAAA,MAAA;EACU;EAA9B,MAAA,CAAA,EAAA,MAAA;EACE;EAOE,OAAA,CAAA,EAAA,MAAA;EAAkB;EAGf,GAAA,CAAA,EArBV,OAqBU;AAAkB;AA6B1B;AAME;AAAa;AAGxB;AAAgC;AACtB;AACC,UApDM,aAAA,CAoDN;EAAR,OAAA,EAnDO,KAmDP,CAAA;IAAO,IAAA,EAAA,MAAA;IAoIM,MAAA,EAvLwB,iBAuLD;EAAA,CAAA,CAAA;EAC7B,SAAA,EAvLE,KAuLF,CAAA;IACD,IAAA,EAAA,MAAA;IACE,IAAA,EAAA,MAAA;EACA,CAAA,CAAA;EAEA;AACE;AACG;AAMb;AAAkB;;eA7LP;;UAGG,kBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6BR;;;;;;YAME;;iBAGW,UAAA,UACZ,oBACP,QAAQ;iBAoIK,uBAAA,UACN,6BACD,8BACE,gCACA;WAEA;aACE;gBACG;;;;;IAMb"}
|
package/dist/lib/pull-config.js
CHANGED
|
@@ -3,18 +3,26 @@ import { ErrorCode, PlatformError, createNeonApiFromOptions } from "@neon/config
|
|
|
3
3
|
async function pullConfig(options) {
|
|
4
4
|
const api = options.api ?? createApiFromOptions(options);
|
|
5
5
|
const projectId = options.projectId;
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const branchId = options.branchId;
|
|
7
|
+
const projectRead = started(() => api.getProject(projectId));
|
|
8
|
+
const listsRead = started(() => Promise.all([started(() => api.listBranches(projectId)), started(() => api.listEndpoints(projectId))]));
|
|
9
|
+
const databasesRead = started(() => api.listBranchDatabases(projectId, branchId));
|
|
10
|
+
const previewRead = started(() => databasesRead.then((databases) => {
|
|
11
|
+
const probeDatabase = pickProbeDatabase(databases);
|
|
12
|
+
return Promise.all([
|
|
13
|
+
started(() => degradeUnavailable(() => api.listBranchBuckets(projectId, branchId), [])),
|
|
14
|
+
started(() => degradeUnavailable(() => api.listBranchFunctions(projectId, branchId), [])),
|
|
15
|
+
started(() => degradeUnavailable(() => api.listCredentials(projectId, branchId), [])),
|
|
16
|
+
started(() => api.getNeonAuth(projectId, branchId)),
|
|
17
|
+
started(() => probeDatabase ? api.getNeonDataApi(projectId, branchId, probeDatabase) : Promise.resolve(null))
|
|
18
|
+
]);
|
|
19
|
+
}));
|
|
20
|
+
const project = await projectRead;
|
|
21
|
+
const [branches, endpoints] = await listsRead;
|
|
22
|
+
const branch = resolveBranch(branchId, branches);
|
|
9
23
|
const endpoint = endpoints.find((ep) => ep.type === "read_write" && ep.branchId === branch.id);
|
|
10
|
-
|
|
11
|
-
const [buckets, functions, credentials, auth, dataApi] = await
|
|
12
|
-
degradeUnavailable(() => api.listBranchBuckets(projectId, branch.id), []),
|
|
13
|
-
degradeUnavailable(() => api.listBranchFunctions(projectId, branch.id), []),
|
|
14
|
-
degradeUnavailable(() => api.listCredentials(projectId, branch.id), []),
|
|
15
|
-
api.getNeonAuth(projectId, branch.id),
|
|
16
|
-
probeDatabase ? api.getNeonDataApi(projectId, branch.id, probeDatabase) : Promise.resolve(null)
|
|
17
|
-
]);
|
|
24
|
+
await databasesRead;
|
|
25
|
+
const [buckets, functions, credentials, auth, dataApi] = await previewRead;
|
|
18
26
|
return buildPulledBranchConfig(project, branch, branches, endpoint, {
|
|
19
27
|
buckets,
|
|
20
28
|
functions,
|
|
@@ -24,6 +32,16 @@ async function pullConfig(options) {
|
|
|
24
32
|
});
|
|
25
33
|
}
|
|
26
34
|
/**
|
|
35
|
+
* Starts a read now and keeps an unread rejection from crashing the process; the caller
|
|
36
|
+
* awaits it (and sees the error) when its turn comes. Also turns a synchronous throw from
|
|
37
|
+
* a custom adapter into a rejection.
|
|
38
|
+
*/
|
|
39
|
+
function started(read) {
|
|
40
|
+
const promise = Promise.resolve().then(read);
|
|
41
|
+
promise.catch(() => void 0);
|
|
42
|
+
return promise;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
27
45
|
* Pick the database to probe for a Data API integration. Data API is enabled per
|
|
28
46
|
* branch + database; for read-back we only need to know whether *any* database has it
|
|
29
47
|
* on, so prefer the conventional default (`neondb`) and otherwise fall back to the first
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull-config.js","names":[],"sources":["../../src/lib/pull-config.ts"],"sourcesContent":["import {\n\ttype BranchTuning,\n\ttype BucketAccessLevel,\n\ttype ComputeSettings,\n\ttype Config,\n\tcreateNeonApiFromOptions,\n\tErrorCode,\n\ttype NeonApi,\n\ttype NeonBranchSnapshot,\n\ttype NeonBucketSnapshot,\n\ttype NeonCredentialMeta,\n\ttype NeonDatabaseSnapshot,\n\ttype NeonEndpointSnapshot,\n\ttype NeonFunctionSnapshot,\n\ttype NeonProjectSnapshot,\n\tPlatformError,\n} from \"@neon/config\";\n\nexport interface PullConfigOptions {\n\t/** Neon project id (`<project>`). Required — the API addresses branches by project. */\n\tprojectId: string;\n\t/** Neon branch id (`br-…`). Required. Resolve names to ids before calling. */\n\tbranchId: string;\n\t/** Neon API key. Falls back to `NEON_API_KEY` / neonctl credentials. */\n\tapiKey?: string;\n\t/** Neon API base URL. Falls back to `NEON_API_HOST`, then production. */\n\tapiHost?: string;\n\t/** Inject a custom NeonApi adapter (primarily for tests). */\n\tapi?: NeonApi;\n}\n\n/**\n * Live Preview-feature state read back from a branch. Surfaced alongside `config` rather\n * than inside it because functions cannot round-trip: the remote only knows the deployed\n * bundle, not the local `source` path a {@link FunctionConfig} requires, so a pulled\n * function is reported as `{ slug, name }` (no `source`).\n */\nexport interface PulledPreview {\n\tbuckets: Array<{ name: string; access: BucketAccessLevel }>;\n\tfunctions: Array<{ slug: string; name: string }>;\n\t/**\n\t * Secret-free metadata for the credentials issued on the branch (Preview). Surfaced so\n\t * `config status` can show issued credentials (id, scopes, last used) without ever\n\t * exposing the one-time `api_token` / `s3_secret_access_key`. Empty when none / the\n\t * credentials endpoint is unavailable for the project.\n\t */\n\tcredentials: NeonCredentialMeta[];\n}\n\nexport interface PulledBranchConfig {\n\tproject: {\n\t\tid: string;\n\t\tname: string;\n\t\tregion: string;\n\t\tpgVersion: number;\n\t\torgId?: string;\n\t};\n\tbranch: {\n\t\tid: string;\n\t\tname: string;\n\t\tparent?: string;\n\t\tisDefault: boolean;\n\t\tprotected: boolean;\n\t\texpiresAt?: string;\n\t};\n\t/**\n\t * The branch's live state expressed as a {@link Config}: static `auth` / `dataApi`\n\t * toggles, any object-storage `preview.buckets`, plus a `branch` closure carrying the\n\t * branch's lifecycle/compute tuning. Buckets are included here (not just in\n\t * {@link PulledBranchConfig.preview}) because they round-trip cleanly — name + access\n\t * level is all a {@link Config} needs — so the no-policy env path (`neon dev` /\n\t * `neon env pull`) can resolve the branch's storage credentials without a local\n\t * `neon.ts`. Preview **functions** are reported only in\n\t * {@link PulledBranchConfig.preview}: they cannot round-trip (the remote has no local\n\t * `source` path). The AI Gateway is omitted from both — it has no branch-level \"enabled\"\n\t * state to read back (it is always available, credential-gated), so `pullConfig` cannot\n\t * tell whether a policy would enable it.\n\t */\n\tconfig: Config;\n\t/**\n\t * Live Preview-feature state, when the branch has any buckets/functions or issued\n\t * credentials. Omitted entirely when there is nothing to report. The AI Gateway is not\n\t * included: it is always available (credential-gated), not per-branch state.\n\t */\n\tpreview?: PulledPreview;\n}\n\nexport async function pullConfig(\n\toptions: PullConfigOptions,\n): Promise<PulledBranchConfig> {\n\tconst api = options.api ?? createApiFromOptions(options);\n\tconst projectId = options.projectId;\n\tconst project = await api.getProject(projectId);\n\tconst [branches, endpoints] = await Promise.all([\n\t\tapi.listBranches(projectId),\n\t\tapi.listEndpoints(projectId),\n\t]);\n\tconst branch = resolveBranch(options.branchId, branches);\n\tconst endpoint = endpoints.find(\n\t\t(ep) => ep.type === \"read_write\" && ep.branchId === branch.id,\n\t);\n\n\t// Data API is enabled per branch + database, so resolve a database to probe.\n\tconst databases = await api.listBranchDatabases(projectId, branch.id);\n\tconst probeDatabase = pickProbeDatabase(databases);\n\n\t// Preview reads degrade to \"none / disabled\" when the feature isn't available for the\n\t// project/region. `pullConfig` mirrors the branch for env resolution (`neon dev`,\n\t// `neon env pull`) and `inspect` — an unavailable Preview feature should not break those\n\t// (env comes from auth/dataApi/postgres). `pushConfig` is the place that fails on an\n\t// unavailable feature, and only when the policy declares it.\n\tconst [buckets, functions, credentials, auth, dataApi] = await Promise.all([\n\t\tdegradeUnavailable(\n\t\t\t() => api.listBranchBuckets(projectId, branch.id),\n\t\t\t[],\n\t\t),\n\t\tdegradeUnavailable(\n\t\t\t() => api.listBranchFunctions(projectId, branch.id),\n\t\t\t[],\n\t\t),\n\t\tdegradeUnavailable(() => api.listCredentials(projectId, branch.id), []),\n\t\tapi.getNeonAuth(projectId, branch.id),\n\t\tprobeDatabase\n\t\t\t? api.getNeonDataApi(projectId, branch.id, probeDatabase)\n\t\t\t: Promise.resolve(null),\n\t]);\n\n\treturn buildPulledBranchConfig(project, branch, branches, endpoint, {\n\t\tbuckets,\n\t\tfunctions,\n\t\tcredentials,\n\t\tauthEnabled: auth !== null,\n\t\tdataApiEnabled: dataApi !== null,\n\t});\n}\n\n/**\n * Pick the database to probe for a Data API integration. Data API is enabled per\n * branch + database; for read-back we only need to know whether *any* database has it\n * on, so prefer the conventional default (`neondb`) and otherwise fall back to the first\n * database. Returns `undefined` when the branch has no databases.\n */\nfunction pickProbeDatabase(\n\tdatabases: NeonDatabaseSnapshot[],\n): string | undefined {\n\tif (databases.length === 0) return undefined;\n\tconst byName = databases.find((d) => d.name === \"neondb\");\n\tif (byName) return byName.name;\n\treturn databases[0].name;\n}\n\n/**\n * Run a Preview-feature read, returning `fallback` if the feature is unavailable for the\n * project/region (a {@link ErrorCode.FeatureUnavailable} from the adapter). Other errors\n * propagate. Used by `pullConfig` so a branch without a Preview feature still mirrors\n * cleanly for env resolution / `inspect`, rather than aborting on an unrelated capability.\n */\nasync function degradeUnavailable<T>(\n\tread: () => Promise<T>,\n\tfallback: T,\n): Promise<T> {\n\ttry {\n\t\treturn await read();\n\t} catch (err) {\n\t\tif (\n\t\t\terr instanceof PlatformError &&\n\t\t\terr.code === ErrorCode.FeatureUnavailable\n\t\t) {\n\t\t\treturn fallback;\n\t\t}\n\t\tthrow err;\n\t}\n}\n\nfunction createApiFromOptions(options: PullConfigOptions): NeonApi {\n\treturn createNeonApiFromOptions(\"pullConfig\", {\n\t\t...(options.apiKey ? { apiKey: options.apiKey } : {}),\n\t\t...(options.apiHost ? { apiHost: options.apiHost } : {}),\n\t});\n}\n\nexport function buildPulledBranchConfig(\n\tproject: NeonProjectSnapshot,\n\tbranch: NeonBranchSnapshot,\n\tbranches: NeonBranchSnapshot[],\n\tendpoint: NeonEndpointSnapshot | undefined,\n\tpreviewState?: {\n\t\tbuckets: NeonBucketSnapshot[];\n\t\tfunctions: NeonFunctionSnapshot[];\n\t\tcredentials?: NeonCredentialMeta[];\n\t\t/** Whether a Neon Auth integration is enabled on the branch. */\n\t\tauthEnabled?: boolean;\n\t\t/** Whether a Neon Data API integration is enabled on the branch. */\n\t\tdataApiEnabled?: boolean;\n\t},\n): PulledBranchConfig {\n\tconst parent = branch.parentId\n\t\t? branches.find((b) => b.id === branch.parentId)\n\t\t: undefined;\n\t// Auth/Data API are static top-level toggles, so a config pulled from a branch with\n\t// them enabled round-trips through `resolveConfig` / `fetchEnv` and the matching\n\t// secrets get injected. Branch lifecycle/compute is per-branch tuning, so it goes in\n\t// the `branch` closure.\n\tconst tuning: BranchTuning = {};\n\tif (parent) tuning.parent = parent.name;\n\t// Deliberately NOT emitting `ttl` from `branch.expiresAt`: policy `ttl` is a\n\t// creation-time *duration*, while `expiresAt` is an absolute timestamp. Feeding the\n\t// timestamp through `parseDuration` (in `resolveConfig`) would throw, breaking\n\t// `fetchEnv` / `neon dev` / `neon env pull` for any branch that has a TTL. The expiry\n\t// is reported faithfully on `branch.expiresAt` above.\n\tif (branch.protected) tuning.protected = true;\n\tif (endpoint) {\n\t\tconst compute = endpointToComputeSettings(endpoint, project);\n\t\tif (compute) tuning.postgres = { computeSettings: compute };\n\t}\n\t// Buckets round-trip cleanly (name + access level), so they belong in the config the\n\t// env path resolves from — this is what lets `neon dev` / `neon env pull` inject the\n\t// branch's object-storage credentials (AWS_*) with no local neon.ts. Functions are\n\t// deliberately NOT emitted here (they can't round-trip: the remote has no `source`\n\t// path) and neither is the AI Gateway (no branch-level enabled state to detect, only a\n\t// credential) — both would otherwise turn a read-back into a bogus policy declaration.\n\tconst bucketDefs: Record<string, { access: BucketAccessLevel }> = {};\n\tfor (const b of previewState?.buckets ?? []) {\n\t\tbucketDefs[b.name] = { access: b.accessLevel };\n\t}\n\tconst config: Config = {\n\t\t...(previewState?.authEnabled ? { auth: true } : {}),\n\t\t...(previewState?.dataApiEnabled ? { dataApi: true } : {}),\n\t\t...(Object.keys(bucketDefs).length > 0\n\t\t\t? { preview: { buckets: bucketDefs } }\n\t\t\t: {}),\n\t\t...(Object.keys(tuning).length > 0 ? { branch: () => tuning } : {}),\n\t};\n\tconst result: PulledBranchConfig = {\n\t\tproject: {\n\t\t\tid: project.id,\n\t\t\tname: project.name,\n\t\t\tregion: project.regionId,\n\t\t\tpgVersion: project.pgVersion,\n\t\t\t...(project.orgId ? { orgId: project.orgId } : {}),\n\t\t},\n\t\tbranch: {\n\t\t\tid: branch.id,\n\t\t\tname: branch.name,\n\t\t\t...(parent ? { parent: parent.name } : {}),\n\t\t\tisDefault: branch.isDefault,\n\t\t\tprotected: branch.protected,\n\t\t\t...(branch.expiresAt ? { expiresAt: branch.expiresAt } : {}),\n\t\t},\n\t\tconfig,\n\t};\n\tconst preview = previewState ? buildPulledPreview(previewState) : undefined;\n\tif (preview) result.preview = preview;\n\treturn result;\n}\n\n/**\n * Reverse-engineer the {@link PulledPreview} from remote snapshots. Returns `undefined` when\n * the branch has no Preview features so the field can be omitted entirely.\n */\nfunction buildPulledPreview(state: {\n\tbuckets: NeonBucketSnapshot[];\n\tfunctions: NeonFunctionSnapshot[];\n\tcredentials?: NeonCredentialMeta[];\n}): PulledPreview | undefined {\n\tconst credentials = state.credentials ?? [];\n\tif (\n\t\tstate.buckets.length === 0 &&\n\t\tstate.functions.length === 0 &&\n\t\tcredentials.length === 0\n\t) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tbuckets: state.buckets.map((b) => ({\n\t\t\tname: b.name,\n\t\t\taccess: b.accessLevel,\n\t\t})),\n\t\tfunctions: state.functions.map((f) => ({\n\t\t\tslug: f.slug,\n\t\t\tname: f.name,\n\t\t})),\n\t\tcredentials,\n\t};\n}\n\nfunction resolveBranch(\n\tbranchId: string,\n\tbranches: NeonBranchSnapshot[],\n): NeonBranchSnapshot {\n\tconst match = branches.find((b) => b.id === branchId);\n\tif (match) return match;\n\tthrow new PlatformError(\n\t\tErrorCode.BranchNotFound,\n\t\t[\n\t\t\t`pullConfig: branch id ${JSON.stringify(branchId)} not found on project.`,\n\t\t\t`Available branches: ${branches.map((b) => `${b.name} (${b.id})`).join(\", \") || \"(none)\"}.`,\n\t\t].join(\" \"),\n\t\t{\n\t\t\tdetails: {\n\t\t\t\tbranchId,\n\t\t\t\tavailable: branches.map((b) => b.id),\n\t\t\t},\n\t\t},\n\t);\n}\n\nfunction endpointToComputeSettings(\n\tendpoint: NeonEndpointSnapshot,\n\tproject: NeonProjectSnapshot,\n): ComputeSettings | undefined {\n\tconst defaults = project.defaultEndpointSettings;\n\tconst out: ComputeSettings = {};\n\tif (\n\t\tendpoint.autoscalingLimitMinCu !== undefined &&\n\t\tendpoint.autoscalingLimitMinCu !== defaults?.autoscalingLimitMinCu\n\t) {\n\t\tout.autoscalingLimitMinCu = endpoint.autoscalingLimitMinCu;\n\t}\n\tif (\n\t\tendpoint.autoscalingLimitMaxCu !== undefined &&\n\t\tendpoint.autoscalingLimitMaxCu !== defaults?.autoscalingLimitMaxCu\n\t) {\n\t\tout.autoscalingLimitMaxCu = endpoint.autoscalingLimitMaxCu;\n\t}\n\tif (\n\t\tendpoint.suspendTimeout !== undefined &&\n\t\tendpoint.suspendTimeout !== defaults?.suspendTimeout\n\t) {\n\t\tout.suspendTimeout = endpoint.suspendTimeout;\n\t}\n\treturn Object.keys(out).length > 0 ? out : undefined;\n}\n"],"mappings":";;AAuFA,eAAsB,WACrB,SAC8B;CAC9B,MAAM,MAAM,QAAQ,OAAO,qBAAqB,OAAO;CACvD,MAAM,YAAY,QAAQ;CAC1B,MAAM,UAAU,MAAM,IAAI,WAAW,SAAS;CAC9C,MAAM,CAAC,UAAU,aAAa,MAAM,QAAQ,IAAI,CAC/C,IAAI,aAAa,SAAS,GAC1B,IAAI,cAAc,SAAS,CAC5B,CAAC;CACD,MAAM,SAAS,cAAc,QAAQ,UAAU,QAAQ;CACvD,MAAM,WAAW,UAAU,MACzB,OAAO,GAAG,SAAS,gBAAgB,GAAG,aAAa,OAAO,EAC5D;CAIA,MAAM,gBAAgB,kBAAkB,MADhB,IAAI,oBAAoB,WAAW,OAAO,EAAE,CACnB;CAOjD,MAAM,CAAC,SAAS,WAAW,aAAa,MAAM,WAAW,MAAM,QAAQ,IAAI;EAC1E,yBACO,IAAI,kBAAkB,WAAW,OAAO,EAAE,GAChD,CAAC,CACF;EACA,yBACO,IAAI,oBAAoB,WAAW,OAAO,EAAE,GAClD,CAAC,CACF;EACA,yBAAyB,IAAI,gBAAgB,WAAW,OAAO,EAAE,GAAG,CAAC,CAAC;EACtE,IAAI,YAAY,WAAW,OAAO,EAAE;EACpC,gBACG,IAAI,eAAe,WAAW,OAAO,IAAI,aAAa,IACtD,QAAQ,QAAQ,IAAI;CACxB,CAAC;CAED,OAAO,wBAAwB,SAAS,QAAQ,UAAU,UAAU;EACnE;EACA;EACA;EACA,aAAa,SAAS;EACtB,gBAAgB,YAAY;CAC7B,CAAC;AACF;;;;;;;AAQA,SAAS,kBACR,WACqB;CACrB,IAAI,UAAU,WAAW,GAAG,OAAO,KAAA;CACnC,MAAM,SAAS,UAAU,MAAM,MAAM,EAAE,SAAS,QAAQ;CACxD,IAAI,QAAQ,OAAO,OAAO;CAC1B,OAAO,UAAU,EAAE,CAAC;AACrB;;;;;;;AAQA,eAAe,mBACd,MACA,UACa;CACb,IAAI;EACH,OAAO,MAAM,KAAK;CACnB,SAAS,KAAK;EACb,IACC,eAAe,iBACf,IAAI,SAAS,UAAU,oBAEvB,OAAO;EAER,MAAM;CACP;AACD;AAEA,SAAS,qBAAqB,SAAqC;CAClE,OAAO,yBAAyB,cAAc;EAC7C,GAAI,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;EACnD,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI,CAAC;CACvD,CAAC;AACF;AAEA,SAAgB,wBACf,SACA,QACA,UACA,UACA,cASqB;CACrB,MAAM,SAAS,OAAO,WACnB,SAAS,MAAM,MAAM,EAAE,OAAO,OAAO,QAAQ,IAC7C,KAAA;CAKH,MAAM,SAAuB,CAAC;CAC9B,IAAI,QAAQ,OAAO,SAAS,OAAO;CAMnC,IAAI,OAAO,WAAW,OAAO,YAAY;CACzC,IAAI,UAAU;EACb,MAAM,UAAU,0BAA0B,UAAU,OAAO;EAC3D,IAAI,SAAS,OAAO,WAAW,EAAE,iBAAiB,QAAQ;CAC3D;CAOA,MAAM,aAA4D,CAAC;CACnE,KAAK,MAAM,KAAK,cAAc,WAAW,CAAC,GACzC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY;CAE9C,MAAM,SAAiB;EACtB,GAAI,cAAc,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;EAClD,GAAI,cAAc,iBAAiB,EAAE,SAAS,KAAK,IAAI,CAAC;EACxD,GAAI,OAAO,KAAK,UAAU,CAAC,CAAC,SAAS,IAClC,EAAE,SAAS,EAAE,SAAS,WAAW,EAAE,IACnC,CAAC;EACJ,GAAI,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,cAAc,OAAO,IAAI,CAAC;CAClE;CACA,MAAM,SAA6B;EAClC,SAAS;GACR,IAAI,QAAQ;GACZ,MAAM,QAAQ;GACd,QAAQ,QAAQ;GAChB,WAAW,QAAQ;GACnB,GAAI,QAAQ,QAAQ,EAAE,OAAO,QAAQ,MAAM,IAAI,CAAC;EACjD;EACA,QAAQ;GACP,IAAI,OAAO;GACX,MAAM,OAAO;GACb,GAAI,SAAS,EAAE,QAAQ,OAAO,KAAK,IAAI,CAAC;GACxC,WAAW,OAAO;GAClB,WAAW,OAAO;GAClB,GAAI,OAAO,YAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;EAC3D;EACA;CACD;CACA,MAAM,UAAU,eAAe,mBAAmB,YAAY,IAAI,KAAA;CAClE,IAAI,SAAS,OAAO,UAAU;CAC9B,OAAO;AACR;;;;;AAMA,SAAS,mBAAmB,OAIE;CAC7B,MAAM,cAAc,MAAM,eAAe,CAAC;CAC1C,IACC,MAAM,QAAQ,WAAW,KACzB,MAAM,UAAU,WAAW,KAC3B,YAAY,WAAW,GAEvB;CAED,OAAO;EACN,SAAS,MAAM,QAAQ,KAAK,OAAO;GAClC,MAAM,EAAE;GACR,QAAQ,EAAE;EACX,EAAE;EACF,WAAW,MAAM,UAAU,KAAK,OAAO;GACtC,MAAM,EAAE;GACR,MAAM,EAAE;EACT,EAAE;EACF;CACD;AACD;AAEA,SAAS,cACR,UACA,UACqB;CACrB,MAAM,QAAQ,SAAS,MAAM,MAAM,EAAE,OAAO,QAAQ;CACpD,IAAI,OAAO,OAAO;CAClB,MAAM,IAAI,cACT,UAAU,gBACV,CACC,yBAAyB,KAAK,UAAU,QAAQ,EAAE,yBAClD,uBAAuB,SAAS,KAAK,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,SAAS,EAC1F,CAAC,CAAC,KAAK,GAAG,GACV,EACC,SAAS;EACR;EACA,WAAW,SAAS,KAAK,MAAM,EAAE,EAAE;CACpC,EACD,CACD;AACD;AAEA,SAAS,0BACR,UACA,SAC8B;CAC9B,MAAM,WAAW,QAAQ;CACzB,MAAM,MAAuB,CAAC;CAC9B,IACC,SAAS,0BAA0B,KAAA,KACnC,SAAS,0BAA0B,UAAU,uBAE7C,IAAI,wBAAwB,SAAS;CAEtC,IACC,SAAS,0BAA0B,KAAA,KACnC,SAAS,0BAA0B,UAAU,uBAE7C,IAAI,wBAAwB,SAAS;CAEtC,IACC,SAAS,mBAAmB,KAAA,KAC5B,SAAS,mBAAmB,UAAU,gBAEtC,IAAI,iBAAiB,SAAS;CAE/B,OAAO,OAAO,KAAK,GAAG,CAAC,CAAC,SAAS,IAAI,MAAM,KAAA;AAC5C"}
|
|
1
|
+
{"version":3,"file":"pull-config.js","names":[],"sources":["../../src/lib/pull-config.ts"],"sourcesContent":["import {\n\ttype BranchTuning,\n\ttype BucketAccessLevel,\n\ttype ComputeSettings,\n\ttype Config,\n\tcreateNeonApiFromOptions,\n\tErrorCode,\n\ttype NeonApi,\n\ttype NeonBranchSnapshot,\n\ttype NeonBucketSnapshot,\n\ttype NeonCredentialMeta,\n\ttype NeonDatabaseSnapshot,\n\ttype NeonEndpointSnapshot,\n\ttype NeonFunctionSnapshot,\n\ttype NeonProjectSnapshot,\n\tPlatformError,\n} from \"@neon/config\";\n\nexport interface PullConfigOptions {\n\t/** Neon project id (`<project>`). Required — the API addresses branches by project. */\n\tprojectId: string;\n\t/** Neon branch id (`br-…`). Required. Resolve names to ids before calling. */\n\tbranchId: string;\n\t/** Neon API key. Falls back to `NEON_API_KEY` / neonctl credentials. */\n\tapiKey?: string;\n\t/** Neon API base URL. Falls back to `NEON_API_HOST`, then production. */\n\tapiHost?: string;\n\t/** Inject a custom NeonApi adapter (primarily for tests). */\n\tapi?: NeonApi;\n}\n\n/**\n * Live Preview-feature state read back from a branch. Surfaced alongside `config` rather\n * than inside it because functions cannot round-trip: the remote only knows the deployed\n * bundle, not the local `source` path a {@link FunctionConfig} requires, so a pulled\n * function is reported as `{ slug, name }` (no `source`).\n */\nexport interface PulledPreview {\n\tbuckets: Array<{ name: string; access: BucketAccessLevel }>;\n\tfunctions: Array<{ slug: string; name: string }>;\n\t/**\n\t * Secret-free metadata for the credentials issued on the branch (Preview). Surfaced so\n\t * `config status` can show issued credentials (id, scopes, last used) without ever\n\t * exposing the one-time `api_token` / `s3_secret_access_key`. Empty when none / the\n\t * credentials endpoint is unavailable for the project.\n\t */\n\tcredentials: NeonCredentialMeta[];\n}\n\nexport interface PulledBranchConfig {\n\tproject: {\n\t\tid: string;\n\t\tname: string;\n\t\tregion: string;\n\t\tpgVersion: number;\n\t\torgId?: string;\n\t};\n\tbranch: {\n\t\tid: string;\n\t\tname: string;\n\t\tparent?: string;\n\t\tisDefault: boolean;\n\t\tprotected: boolean;\n\t\texpiresAt?: string;\n\t};\n\t/**\n\t * The branch's live state expressed as a {@link Config}: static `auth` / `dataApi`\n\t * toggles, any object-storage `preview.buckets`, plus a `branch` closure carrying the\n\t * branch's lifecycle/compute tuning. Buckets are included here (not just in\n\t * {@link PulledBranchConfig.preview}) because they round-trip cleanly — name + access\n\t * level is all a {@link Config} needs — so the no-policy env path (`neon dev` /\n\t * `neon env pull`) can resolve the branch's storage credentials without a local\n\t * `neon.ts`. Preview **functions** are reported only in\n\t * {@link PulledBranchConfig.preview}: they cannot round-trip (the remote has no local\n\t * `source` path). The AI Gateway is omitted from both — it has no branch-level \"enabled\"\n\t * state to read back (it is always available, credential-gated), so `pullConfig` cannot\n\t * tell whether a policy would enable it.\n\t */\n\tconfig: Config;\n\t/**\n\t * Live Preview-feature state, when the branch has any buckets/functions or issued\n\t * credentials. Omitted entirely when there is nothing to report. The AI Gateway is not\n\t * included: it is always available (credential-gated), not per-branch state.\n\t */\n\tpreview?: PulledPreview;\n}\n\nexport async function pullConfig(\n\toptions: PullConfigOptions,\n): Promise<PulledBranchConfig> {\n\tconst api = options.api ?? createApiFromOptions(options);\n\tconst projectId = options.projectId;\n\tconst branchId = options.branchId;\n\n\t// The first three stages need only the project and branch ids, so they start together.\n\t// They are awaited in the order they used to run, so the first error reported is the same\n\t// one as before (project, then branches/endpoints, then the branch lookup, then databases).\n\tconst projectRead = started(() => api.getProject(projectId));\n\tconst listsRead = started(() =>\n\t\tPromise.all([\n\t\t\tstarted(() => api.listBranches(projectId)),\n\t\t\tstarted(() => api.listEndpoints(projectId)),\n\t\t]),\n\t);\n\t// Data API is enabled per branch + database, so resolve a database to probe.\n\tconst databasesRead = started(() =>\n\t\tapi.listBranchDatabases(projectId, branchId),\n\t);\n\t// Preview reads degrade to \"none / disabled\" when the feature isn't available for the\n\t// project/region. `pullConfig` mirrors the branch for env resolution (`neon dev`,\n\t// `neon env pull`) and `inspect` — an unavailable Preview feature should not break those\n\t// (env comes from auth/dataApi/postgres). `pushConfig` is the place that fails on an\n\t// unavailable feature, and only when the policy declares it.\n\t// The group starts together once databases resolve (the Data API probe needs one), as\n\t// before, so which member's error comes first is unchanged.\n\tconst previewRead = started(() =>\n\t\tdatabasesRead.then((databases) => {\n\t\t\tconst probeDatabase = pickProbeDatabase(databases);\n\t\t\treturn Promise.all([\n\t\t\t\tstarted(() =>\n\t\t\t\t\tdegradeUnavailable(\n\t\t\t\t\t\t() => api.listBranchBuckets(projectId, branchId),\n\t\t\t\t\t\t[],\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tstarted(() =>\n\t\t\t\t\tdegradeUnavailable(\n\t\t\t\t\t\t() => api.listBranchFunctions(projectId, branchId),\n\t\t\t\t\t\t[],\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tstarted(() =>\n\t\t\t\t\tdegradeUnavailable(\n\t\t\t\t\t\t() => api.listCredentials(projectId, branchId),\n\t\t\t\t\t\t[],\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t\tstarted(() => api.getNeonAuth(projectId, branchId)),\n\t\t\t\tstarted(() =>\n\t\t\t\t\tprobeDatabase\n\t\t\t\t\t\t? api.getNeonDataApi(projectId, branchId, probeDatabase)\n\t\t\t\t\t\t: Promise.resolve(null),\n\t\t\t\t),\n\t\t\t]);\n\t\t}),\n\t);\n\n\tconst project = await projectRead;\n\tconst [branches, endpoints] = await listsRead;\n\tconst branch = resolveBranch(branchId, branches);\n\tconst endpoint = endpoints.find(\n\t\t(ep) => ep.type === \"read_write\" && ep.branchId === branch.id,\n\t);\n\tawait databasesRead;\n\tconst [buckets, functions, credentials, auth, dataApi] = await previewRead;\n\n\treturn buildPulledBranchConfig(project, branch, branches, endpoint, {\n\t\tbuckets,\n\t\tfunctions,\n\t\tcredentials,\n\t\tauthEnabled: auth !== null,\n\t\tdataApiEnabled: dataApi !== null,\n\t});\n}\n\n/**\n * Starts a read now and keeps an unread rejection from crashing the process; the caller\n * awaits it (and sees the error) when its turn comes. Also turns a synchronous throw from\n * a custom adapter into a rejection.\n */\nfunction started<T>(read: () => Promise<T>): Promise<T> {\n\tconst promise = Promise.resolve().then(read);\n\tpromise.catch(() => undefined);\n\treturn promise;\n}\n\n/**\n * Pick the database to probe for a Data API integration. Data API is enabled per\n * branch + database; for read-back we only need to know whether *any* database has it\n * on, so prefer the conventional default (`neondb`) and otherwise fall back to the first\n * database. Returns `undefined` when the branch has no databases.\n */\nfunction pickProbeDatabase(\n\tdatabases: NeonDatabaseSnapshot[],\n): string | undefined {\n\tif (databases.length === 0) return undefined;\n\tconst byName = databases.find((d) => d.name === \"neondb\");\n\tif (byName) return byName.name;\n\treturn databases[0].name;\n}\n\n/**\n * Run a Preview-feature read, returning `fallback` if the feature is unavailable for the\n * project/region (a {@link ErrorCode.FeatureUnavailable} from the adapter). Other errors\n * propagate. Used by `pullConfig` so a branch without a Preview feature still mirrors\n * cleanly for env resolution / `inspect`, rather than aborting on an unrelated capability.\n */\nasync function degradeUnavailable<T>(\n\tread: () => Promise<T>,\n\tfallback: T,\n): Promise<T> {\n\ttry {\n\t\treturn await read();\n\t} catch (err) {\n\t\tif (\n\t\t\terr instanceof PlatformError &&\n\t\t\terr.code === ErrorCode.FeatureUnavailable\n\t\t) {\n\t\t\treturn fallback;\n\t\t}\n\t\tthrow err;\n\t}\n}\n\nfunction createApiFromOptions(options: PullConfigOptions): NeonApi {\n\treturn createNeonApiFromOptions(\"pullConfig\", {\n\t\t...(options.apiKey ? { apiKey: options.apiKey } : {}),\n\t\t...(options.apiHost ? { apiHost: options.apiHost } : {}),\n\t});\n}\n\nexport function buildPulledBranchConfig(\n\tproject: NeonProjectSnapshot,\n\tbranch: NeonBranchSnapshot,\n\tbranches: NeonBranchSnapshot[],\n\tendpoint: NeonEndpointSnapshot | undefined,\n\tpreviewState?: {\n\t\tbuckets: NeonBucketSnapshot[];\n\t\tfunctions: NeonFunctionSnapshot[];\n\t\tcredentials?: NeonCredentialMeta[];\n\t\t/** Whether a Neon Auth integration is enabled on the branch. */\n\t\tauthEnabled?: boolean;\n\t\t/** Whether a Neon Data API integration is enabled on the branch. */\n\t\tdataApiEnabled?: boolean;\n\t},\n): PulledBranchConfig {\n\tconst parent = branch.parentId\n\t\t? branches.find((b) => b.id === branch.parentId)\n\t\t: undefined;\n\t// Auth/Data API are static top-level toggles, so a config pulled from a branch with\n\t// them enabled round-trips through `resolveConfig` / `fetchEnv` and the matching\n\t// secrets get injected. Branch lifecycle/compute is per-branch tuning, so it goes in\n\t// the `branch` closure.\n\tconst tuning: BranchTuning = {};\n\tif (parent) tuning.parent = parent.name;\n\t// Deliberately NOT emitting `ttl` from `branch.expiresAt`: policy `ttl` is a\n\t// creation-time *duration*, while `expiresAt` is an absolute timestamp. Feeding the\n\t// timestamp through `parseDuration` (in `resolveConfig`) would throw, breaking\n\t// `fetchEnv` / `neon dev` / `neon env pull` for any branch that has a TTL. The expiry\n\t// is reported faithfully on `branch.expiresAt` above.\n\tif (branch.protected) tuning.protected = true;\n\tif (endpoint) {\n\t\tconst compute = endpointToComputeSettings(endpoint, project);\n\t\tif (compute) tuning.postgres = { computeSettings: compute };\n\t}\n\t// Buckets round-trip cleanly (name + access level), so they belong in the config the\n\t// env path resolves from — this is what lets `neon dev` / `neon env pull` inject the\n\t// branch's object-storage credentials (AWS_*) with no local neon.ts. Functions are\n\t// deliberately NOT emitted here (they can't round-trip: the remote has no `source`\n\t// path) and neither is the AI Gateway (no branch-level enabled state to detect, only a\n\t// credential) — both would otherwise turn a read-back into a bogus policy declaration.\n\tconst bucketDefs: Record<string, { access: BucketAccessLevel }> = {};\n\tfor (const b of previewState?.buckets ?? []) {\n\t\tbucketDefs[b.name] = { access: b.accessLevel };\n\t}\n\tconst config: Config = {\n\t\t...(previewState?.authEnabled ? { auth: true } : {}),\n\t\t...(previewState?.dataApiEnabled ? { dataApi: true } : {}),\n\t\t...(Object.keys(bucketDefs).length > 0\n\t\t\t? { preview: { buckets: bucketDefs } }\n\t\t\t: {}),\n\t\t...(Object.keys(tuning).length > 0 ? { branch: () => tuning } : {}),\n\t};\n\tconst result: PulledBranchConfig = {\n\t\tproject: {\n\t\t\tid: project.id,\n\t\t\tname: project.name,\n\t\t\tregion: project.regionId,\n\t\t\tpgVersion: project.pgVersion,\n\t\t\t...(project.orgId ? { orgId: project.orgId } : {}),\n\t\t},\n\t\tbranch: {\n\t\t\tid: branch.id,\n\t\t\tname: branch.name,\n\t\t\t...(parent ? { parent: parent.name } : {}),\n\t\t\tisDefault: branch.isDefault,\n\t\t\tprotected: branch.protected,\n\t\t\t...(branch.expiresAt ? { expiresAt: branch.expiresAt } : {}),\n\t\t},\n\t\tconfig,\n\t};\n\tconst preview = previewState ? buildPulledPreview(previewState) : undefined;\n\tif (preview) result.preview = preview;\n\treturn result;\n}\n\n/**\n * Reverse-engineer the {@link PulledPreview} from remote snapshots. Returns `undefined` when\n * the branch has no Preview features so the field can be omitted entirely.\n */\nfunction buildPulledPreview(state: {\n\tbuckets: NeonBucketSnapshot[];\n\tfunctions: NeonFunctionSnapshot[];\n\tcredentials?: NeonCredentialMeta[];\n}): PulledPreview | undefined {\n\tconst credentials = state.credentials ?? [];\n\tif (\n\t\tstate.buckets.length === 0 &&\n\t\tstate.functions.length === 0 &&\n\t\tcredentials.length === 0\n\t) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tbuckets: state.buckets.map((b) => ({\n\t\t\tname: b.name,\n\t\t\taccess: b.accessLevel,\n\t\t})),\n\t\tfunctions: state.functions.map((f) => ({\n\t\t\tslug: f.slug,\n\t\t\tname: f.name,\n\t\t})),\n\t\tcredentials,\n\t};\n}\n\nfunction resolveBranch(\n\tbranchId: string,\n\tbranches: NeonBranchSnapshot[],\n): NeonBranchSnapshot {\n\tconst match = branches.find((b) => b.id === branchId);\n\tif (match) return match;\n\tthrow new PlatformError(\n\t\tErrorCode.BranchNotFound,\n\t\t[\n\t\t\t`pullConfig: branch id ${JSON.stringify(branchId)} not found on project.`,\n\t\t\t`Available branches: ${branches.map((b) => `${b.name} (${b.id})`).join(\", \") || \"(none)\"}.`,\n\t\t].join(\" \"),\n\t\t{\n\t\t\tdetails: {\n\t\t\t\tbranchId,\n\t\t\t\tavailable: branches.map((b) => b.id),\n\t\t\t},\n\t\t},\n\t);\n}\n\nfunction endpointToComputeSettings(\n\tendpoint: NeonEndpointSnapshot,\n\tproject: NeonProjectSnapshot,\n): ComputeSettings | undefined {\n\tconst defaults = project.defaultEndpointSettings;\n\tconst out: ComputeSettings = {};\n\tif (\n\t\tendpoint.autoscalingLimitMinCu !== undefined &&\n\t\tendpoint.autoscalingLimitMinCu !== defaults?.autoscalingLimitMinCu\n\t) {\n\t\tout.autoscalingLimitMinCu = endpoint.autoscalingLimitMinCu;\n\t}\n\tif (\n\t\tendpoint.autoscalingLimitMaxCu !== undefined &&\n\t\tendpoint.autoscalingLimitMaxCu !== defaults?.autoscalingLimitMaxCu\n\t) {\n\t\tout.autoscalingLimitMaxCu = endpoint.autoscalingLimitMaxCu;\n\t}\n\tif (\n\t\tendpoint.suspendTimeout !== undefined &&\n\t\tendpoint.suspendTimeout !== defaults?.suspendTimeout\n\t) {\n\t\tout.suspendTimeout = endpoint.suspendTimeout;\n\t}\n\treturn Object.keys(out).length > 0 ? out : undefined;\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { runHook, runShellHook } from "./run-hook.js";
|
|
2
2
|
import { describe, test } from "../node_modules/.pnpm/@vitest_runner@3.0.9/node_modules/@vitest/runner/dist/index.js";
|
|
3
|
-
import { import_dist } from "../node_modules/.pnpm/vitest@3.0.9_@types_debug@4.1.13_@types_node@20.19.17_jiti@2.7.0_jsdom@
|
|
3
|
+
import { import_dist } from "../node_modules/.pnpm/vitest@3.0.9_@types_debug@4.1.13_@types_node@20.19.17_jiti@2.7.0_jsdom@29.1.1_lightning_c62fa9cfd5255ee94a9655ae033e9be4/node_modules/vitest/dist/index.js";
|
|
4
4
|
//#region src/lib/run-hook.test-d.ts
|
|
5
5
|
describe("runHook return typing", () => {
|
|
6
6
|
test("a function hook resolves to `Result | undefined`, inferred from the function", () => {
|
|
@@ -846,24 +846,6 @@ RegExp.prototype.toString;
|
|
|
846
846
|
function getConstructorName(val) {
|
|
847
847
|
return typeof val.constructor === "function" && val.constructor.name || "Object";
|
|
848
848
|
}
|
|
849
|
-
const ErrorPlugin = {
|
|
850
|
-
test: (val) => val && val instanceof Error,
|
|
851
|
-
serialize(val, config, indentation, depth, refs, printer2) {
|
|
852
|
-
if (refs.includes(val)) return "[Circular]";
|
|
853
|
-
refs = [...refs, val];
|
|
854
|
-
const hitMaxDepth = ++depth > config.maxDepth;
|
|
855
|
-
const { message, cause, ...rest } = val;
|
|
856
|
-
const entries = {
|
|
857
|
-
message,
|
|
858
|
-
...typeof cause !== "undefined" ? { cause } : {},
|
|
859
|
-
...val instanceof AggregateError ? { errors: val.errors } : {},
|
|
860
|
-
...rest
|
|
861
|
-
};
|
|
862
|
-
const name = val.name !== "Error" ? val.name : getConstructorName(val);
|
|
863
|
-
return hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(Object.entries(entries).values(), config, indentation, depth, refs, printer2)}}`;
|
|
864
|
-
}
|
|
865
|
-
};
|
|
866
|
-
Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY;
|
|
867
849
|
const plugins = {
|
|
868
850
|
AsymmetricMatcher: plugin$5,
|
|
869
851
|
DOMCollection: plugin$4,
|
|
@@ -871,7 +853,23 @@ const plugins = {
|
|
|
871
853
|
Immutable: plugin$2,
|
|
872
854
|
ReactElement: plugin$1,
|
|
873
855
|
ReactTestComponent: plugin,
|
|
874
|
-
Error:
|
|
856
|
+
Error: {
|
|
857
|
+
test: (val) => val && val instanceof Error,
|
|
858
|
+
serialize(val, config, indentation, depth, refs, printer2) {
|
|
859
|
+
if (refs.includes(val)) return "[Circular]";
|
|
860
|
+
refs = [...refs, val];
|
|
861
|
+
const hitMaxDepth = ++depth > config.maxDepth;
|
|
862
|
+
const { message, cause, ...rest } = val;
|
|
863
|
+
const entries = {
|
|
864
|
+
message,
|
|
865
|
+
...typeof cause !== "undefined" ? { cause } : {},
|
|
866
|
+
...val instanceof AggregateError ? { errors: val.errors } : {},
|
|
867
|
+
...rest
|
|
868
|
+
};
|
|
869
|
+
const name = val.name !== "Error" ? val.name : getConstructorName(val);
|
|
870
|
+
return hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(Object.entries(entries).values(), config, indentation, depth, refs, printer2)}}`;
|
|
871
|
+
}
|
|
872
|
+
}
|
|
875
873
|
};
|
|
876
874
|
//#endregion
|
|
877
875
|
export { plugins };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@vitest+pretty-format@3.0.9/node_modules/@vitest/pretty-format/dist/index.js"],"sourcesContent":["import styles from 'tinyrainbow';\n\nfunction _mergeNamespaces(n, m) {\n m.forEach(function (e) {\n e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {\n if (k !== 'default' && !(k in n)) {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n });\n return Object.freeze(n);\n}\n\nfunction getKeysOfEnumerableProperties(object, compareKeys) {\n const rawKeys = Object.keys(object);\n const keys = compareKeys === null ? rawKeys : rawKeys.sort(compareKeys);\n if (Object.getOwnPropertySymbols) {\n for (const symbol of Object.getOwnPropertySymbols(object)) {\n if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n keys.push(symbol);\n }\n }\n }\n return keys;\n}\nfunction printIteratorEntries(iterator, config, indentation, depth, refs, printer, separator = \": \") {\n let result = \"\";\n let width = 0;\n let current = iterator.next();\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n while (!current.done) {\n result += indentationNext;\n if (width++ === config.maxWidth) {\n result += \"\\u2026\";\n break;\n }\n const name = printer(\n current.value[0],\n config,\n indentationNext,\n depth,\n refs\n );\n const value = printer(\n current.value[1],\n config,\n indentationNext,\n depth,\n refs\n );\n result += name + separator + value;\n current = iterator.next();\n if (!current.done) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\nfunction printIteratorValues(iterator, config, indentation, depth, refs, printer) {\n let result = \"\";\n let width = 0;\n let current = iterator.next();\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n while (!current.done) {\n result += indentationNext;\n if (width++ === config.maxWidth) {\n result += \"\\u2026\";\n break;\n }\n result += printer(current.value, config, indentationNext, depth, refs);\n current = iterator.next();\n if (!current.done) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n let result = \"\";\n list = list instanceof ArrayBuffer ? new DataView(list) : list;\n const isDataView = (l) => l instanceof DataView;\n const length = isDataView(list) ? list.byteLength : list.length;\n if (length > 0) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n for (let i = 0; i < length; i++) {\n result += indentationNext;\n if (i === config.maxWidth) {\n result += \"\\u2026\";\n break;\n }\n if (isDataView(list) || i in list) {\n result += printer(\n isDataView(list) ? list.getInt8(i) : list[i],\n config,\n indentationNext,\n depth,\n refs\n );\n }\n if (i < length - 1) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n let result = \"\";\n const keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n if (keys.length > 0) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = printer(key, config, indentationNext, depth, refs);\n const value = printer(val[key], config, indentationNext, depth, refs);\n result += `${indentationNext + name}: ${value}`;\n if (i < keys.length - 1) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\n\nconst asymmetricMatcher = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"jest.asymmetricMatcher\") : 1267621;\nconst SPACE$2 = \" \";\nconst serialize$5 = (val, config, indentation, depth, refs, printer) => {\n const stringedValue = val.toString();\n if (stringedValue === \"ArrayContaining\" || stringedValue === \"ArrayNotContaining\") {\n if (++depth > config.maxDepth) {\n return `[${stringedValue}]`;\n }\n return `${stringedValue + SPACE$2}[${printListItems(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n }\n if (stringedValue === \"ObjectContaining\" || stringedValue === \"ObjectNotContaining\") {\n if (++depth > config.maxDepth) {\n return `[${stringedValue}]`;\n }\n return `${stringedValue + SPACE$2}{${printObjectProperties(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n }\n if (stringedValue === \"StringMatching\" || stringedValue === \"StringNotMatching\") {\n return stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n }\n if (stringedValue === \"StringContaining\" || stringedValue === \"StringNotContaining\") {\n return stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n }\n if (typeof val.toAsymmetricMatcher !== \"function\") {\n throw new TypeError(\n `Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`\n );\n }\n return val.toAsymmetricMatcher();\n};\nconst test$5 = (val) => val && val.$$typeof === asymmetricMatcher;\nconst plugin$5 = { serialize: serialize$5, test: test$5 };\n\nconst SPACE$1 = \" \";\nconst OBJECT_NAMES = /* @__PURE__ */ new Set([\"DOMStringMap\", \"NamedNodeMap\"]);\nconst ARRAY_REGEXP = /^(?:HTML\\w*Collection|NodeList)$/;\nfunction testName(name) {\n return OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name);\n}\nconst test$4 = (val) => val && val.constructor && !!val.constructor.name && testName(val.constructor.name);\nfunction isNamedNodeMap(collection) {\n return collection.constructor.name === \"NamedNodeMap\";\n}\nconst serialize$4 = (collection, config, indentation, depth, refs, printer) => {\n const name = collection.constructor.name;\n if (++depth > config.maxDepth) {\n return `[${name}]`;\n }\n return (config.min ? \"\" : name + SPACE$1) + (OBJECT_NAMES.has(name) ? `{${printObjectProperties(\n isNamedNodeMap(collection) ? [...collection].reduce(\n (props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n },\n {}\n ) : { ...collection },\n config,\n indentation,\n depth,\n refs,\n printer\n )}}` : `[${printListItems(\n [...collection],\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`);\n};\nconst plugin$4 = { serialize: serialize$4, test: test$4 };\n\nfunction escapeHTML(str) {\n return str.replaceAll(\"<\", \"<\").replaceAll(\">\", \">\");\n}\n\nfunction printProps(keys, props, config, indentation, depth, refs, printer) {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys.map((key) => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n if (typeof value !== \"string\") {\n if (printed.includes(\"\\n\")) {\n printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;\n }\n printed = `{${printed}}`;\n }\n return `${config.spacingInner + indentation + colors.prop.open + key + colors.prop.close}=${colors.value.open}${printed}${colors.value.close}`;\n }).join(\"\");\n}\nfunction printChildren(children, config, indentation, depth, refs, printer) {\n return children.map(\n (child) => config.spacingOuter + indentation + (typeof child === \"string\" ? printText(child, config) : printer(child, config, indentation, depth, refs))\n ).join(\"\");\n}\nfunction printText(text, config) {\n const contentColor = config.colors.content;\n return contentColor.open + escapeHTML(text) + contentColor.close;\n}\nfunction printComment(comment, config) {\n const commentColor = config.colors.comment;\n return `${commentColor.open}<!--${escapeHTML(comment)}-->${commentColor.close}`;\n}\nfunction printElement(type, printedProps, printedChildren, config, indentation) {\n const tagColor = config.colors.tag;\n return `${tagColor.open}<${type}${printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open}${printedChildren ? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}</${type}` : `${printedProps && !config.min ? \"\" : \" \"}/`}>${tagColor.close}`;\n}\nfunction printElementAsLeaf(type, config) {\n const tagColor = config.colors.tag;\n return `${tagColor.open}<${type}${tagColor.close} \\u2026${tagColor.open} />${tagColor.close}`;\n}\n\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^(?:(?:HTML|SVG)\\w*)?Element$/;\nfunction testHasAttribute(val) {\n try {\n return typeof val.hasAttribute === \"function\" && val.hasAttribute(\"is\");\n } catch {\n return false;\n }\n}\nfunction testNode(val) {\n const constructorName = val.constructor.name;\n const { nodeType, tagName } = val;\n const isCustomElement = typeof tagName === \"string\" && tagName.includes(\"-\") || testHasAttribute(val);\n return nodeType === ELEMENT_NODE && (ELEMENT_REGEXP.test(constructorName) || isCustomElement) || nodeType === TEXT_NODE && constructorName === \"Text\" || nodeType === COMMENT_NODE && constructorName === \"Comment\" || nodeType === FRAGMENT_NODE && constructorName === \"DocumentFragment\";\n}\nconst test$3 = (val) => {\n var _a;\n return ((_a = val == null ? void 0 : val.constructor) == null ? void 0 : _a.name) && testNode(val);\n};\nfunction nodeIsText(node) {\n return node.nodeType === TEXT_NODE;\n}\nfunction nodeIsComment(node) {\n return node.nodeType === COMMENT_NODE;\n}\nfunction nodeIsFragment(node) {\n return node.nodeType === FRAGMENT_NODE;\n}\nconst serialize$3 = (node, config, indentation, depth, refs, printer) => {\n if (nodeIsText(node)) {\n return printText(node.data, config);\n }\n if (nodeIsComment(node)) {\n return printComment(node.data, config);\n }\n const type = nodeIsFragment(node) ? \"DocumentFragment\" : node.tagName.toLowerCase();\n if (++depth > config.maxDepth) {\n return printElementAsLeaf(type, config);\n }\n return printElement(\n type,\n printProps(\n nodeIsFragment(node) ? [] : Array.from(node.attributes, (attr) => attr.name).sort(),\n nodeIsFragment(node) ? {} : [...node.attributes].reduce(\n (props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n },\n {}\n ),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n printChildren(\n Array.prototype.slice.call(node.childNodes || node.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\n};\nconst plugin$3 = { serialize: serialize$3, test: test$3 };\n\nconst IS_ITERABLE_SENTINEL = \"@@__IMMUTABLE_ITERABLE__@@\";\nconst IS_LIST_SENTINEL = \"@@__IMMUTABLE_LIST__@@\";\nconst IS_KEYED_SENTINEL = \"@@__IMMUTABLE_KEYED__@@\";\nconst IS_MAP_SENTINEL = \"@@__IMMUTABLE_MAP__@@\";\nconst IS_ORDERED_SENTINEL = \"@@__IMMUTABLE_ORDERED__@@\";\nconst IS_RECORD_SENTINEL = \"@@__IMMUTABLE_RECORD__@@\";\nconst IS_SEQ_SENTINEL = \"@@__IMMUTABLE_SEQ__@@\";\nconst IS_SET_SENTINEL = \"@@__IMMUTABLE_SET__@@\";\nconst IS_STACK_SENTINEL = \"@@__IMMUTABLE_STACK__@@\";\nconst getImmutableName = (name) => `Immutable.${name}`;\nconst printAsLeaf = (name) => `[${name}]`;\nconst SPACE = \" \";\nconst LAZY = \"\\u2026\";\nfunction printImmutableEntries(val, config, indentation, depth, refs, printer, type) {\n return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}{${printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n}\nfunction getRecordEntries(val) {\n let i = 0;\n return {\n next() {\n if (i < val._keys.length) {\n const key = val._keys[i++];\n return { done: false, value: [key, val.get(key)] };\n }\n return { done: true, value: void 0 };\n }\n };\n}\nfunction printImmutableRecord(val, config, indentation, depth, refs, printer) {\n const name = getImmutableName(val._name || \"Record\");\n return ++depth > config.maxDepth ? printAsLeaf(name) : `${name + SPACE}{${printIteratorEntries(\n getRecordEntries(val),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n}\nfunction printImmutableSeq(val, config, indentation, depth, refs, printer) {\n const name = getImmutableName(\"Seq\");\n if (++depth > config.maxDepth) {\n return printAsLeaf(name);\n }\n if (val[IS_KEYED_SENTINEL]) {\n return `${name + SPACE}{${// from Immutable collection of entries or from ECMAScript object\n val._iter || val._object ? printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) : LAZY}}`;\n }\n return `${name + SPACE}[${val._iter || val._array || val._collection || val._iterable ? printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) : LAZY}]`;\n}\nfunction printImmutableValues(val, config, indentation, depth, refs, printer, type) {\n return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}[${printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n}\nconst serialize$2 = (val, config, indentation, depth, refs, printer) => {\n if (val[IS_MAP_SENTINEL]) {\n return printImmutableEntries(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? \"OrderedMap\" : \"Map\"\n );\n }\n if (val[IS_LIST_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n \"List\"\n );\n }\n if (val[IS_SET_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? \"OrderedSet\" : \"Set\"\n );\n }\n if (val[IS_STACK_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n \"Stack\"\n );\n }\n if (val[IS_SEQ_SENTINEL]) {\n return printImmutableSeq(val, config, indentation, depth, refs, printer);\n }\n return printImmutableRecord(val, config, indentation, depth, refs, printer);\n};\nconst test$2 = (val) => val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\nconst plugin$2 = { serialize: serialize$2, test: test$2 };\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar reactIs$1 = {exports: {}};\n\nvar reactIs_production = {};\n\n/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production;\n\nfunction requireReactIs_production () {\n\tif (hasRequiredReactIs_production) return reactIs_production;\n\thasRequiredReactIs_production = 1;\n\tvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n\t REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n\t REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n\t REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n\t REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n\tvar REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n\t REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n\t REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n\t REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n\t REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n\t REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n\t REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n\t REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n\t REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n\tfunction typeOf(object) {\n\t if (\"object\" === typeof object && null !== object) {\n\t var $$typeof = object.$$typeof;\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t switch (((object = object.type), object)) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t return object;\n\t default:\n\t switch (((object = object && object.$$typeof), object)) {\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t return object;\n\t case REACT_CONSUMER_TYPE:\n\t return object;\n\t default:\n\t return $$typeof;\n\t }\n\t }\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\t}\n\treactIs_production.ContextConsumer = REACT_CONSUMER_TYPE;\n\treactIs_production.ContextProvider = REACT_CONTEXT_TYPE;\n\treactIs_production.Element = REACT_ELEMENT_TYPE;\n\treactIs_production.ForwardRef = REACT_FORWARD_REF_TYPE;\n\treactIs_production.Fragment = REACT_FRAGMENT_TYPE;\n\treactIs_production.Lazy = REACT_LAZY_TYPE;\n\treactIs_production.Memo = REACT_MEMO_TYPE;\n\treactIs_production.Portal = REACT_PORTAL_TYPE;\n\treactIs_production.Profiler = REACT_PROFILER_TYPE;\n\treactIs_production.StrictMode = REACT_STRICT_MODE_TYPE;\n\treactIs_production.Suspense = REACT_SUSPENSE_TYPE;\n\treactIs_production.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\treactIs_production.isContextConsumer = function (object) {\n\t return typeOf(object) === REACT_CONSUMER_TYPE;\n\t};\n\treactIs_production.isContextProvider = function (object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t};\n\treactIs_production.isElement = function (object) {\n\t return (\n\t \"object\" === typeof object &&\n\t null !== object &&\n\t object.$$typeof === REACT_ELEMENT_TYPE\n\t );\n\t};\n\treactIs_production.isForwardRef = function (object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t};\n\treactIs_production.isFragment = function (object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t};\n\treactIs_production.isLazy = function (object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t};\n\treactIs_production.isMemo = function (object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t};\n\treactIs_production.isPortal = function (object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t};\n\treactIs_production.isProfiler = function (object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t};\n\treactIs_production.isStrictMode = function (object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t};\n\treactIs_production.isSuspense = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t};\n\treactIs_production.isSuspenseList = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t};\n\treactIs_production.isValidElementType = function (type) {\n\t return \"string\" === typeof type ||\n\t \"function\" === typeof type ||\n\t type === REACT_FRAGMENT_TYPE ||\n\t type === REACT_PROFILER_TYPE ||\n\t type === REACT_STRICT_MODE_TYPE ||\n\t type === REACT_SUSPENSE_TYPE ||\n\t type === REACT_SUSPENSE_LIST_TYPE ||\n\t type === REACT_OFFSCREEN_TYPE ||\n\t (\"object\" === typeof type &&\n\t null !== type &&\n\t (type.$$typeof === REACT_LAZY_TYPE ||\n\t type.$$typeof === REACT_MEMO_TYPE ||\n\t type.$$typeof === REACT_CONTEXT_TYPE ||\n\t type.$$typeof === REACT_CONSUMER_TYPE ||\n\t type.$$typeof === REACT_FORWARD_REF_TYPE ||\n\t type.$$typeof === REACT_CLIENT_REFERENCE ||\n\t void 0 !== type.getModuleId))\n\t ? true\n\t : false;\n\t};\n\treactIs_production.typeOf = typeOf;\n\treturn reactIs_production;\n}\n\nvar reactIs_development$1 = {};\n\n/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_development$1;\n\nfunction requireReactIs_development$1 () {\n\tif (hasRequiredReactIs_development$1) return reactIs_development$1;\n\thasRequiredReactIs_development$1 = 1;\n\t\"production\" !== process.env.NODE_ENV &&\n\t (function () {\n\t function typeOf(object) {\n\t if (\"object\" === typeof object && null !== object) {\n\t var $$typeof = object.$$typeof;\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t switch (((object = object.type), object)) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t return object;\n\t default:\n\t switch (((object = object && object.$$typeof), object)) {\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t return object;\n\t case REACT_CONSUMER_TYPE:\n\t return object;\n\t default:\n\t return $$typeof;\n\t }\n\t }\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\t }\n\t var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n\t REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n\t REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n\t REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n\t REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n\t var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n\t REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n\t REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n\t REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n\t REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n\t REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n\t REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n\t REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n\t REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n\t reactIs_development$1.ContextConsumer = REACT_CONSUMER_TYPE;\n\t reactIs_development$1.ContextProvider = REACT_CONTEXT_TYPE;\n\t reactIs_development$1.Element = REACT_ELEMENT_TYPE;\n\t reactIs_development$1.ForwardRef = REACT_FORWARD_REF_TYPE;\n\t reactIs_development$1.Fragment = REACT_FRAGMENT_TYPE;\n\t reactIs_development$1.Lazy = REACT_LAZY_TYPE;\n\t reactIs_development$1.Memo = REACT_MEMO_TYPE;\n\t reactIs_development$1.Portal = REACT_PORTAL_TYPE;\n\t reactIs_development$1.Profiler = REACT_PROFILER_TYPE;\n\t reactIs_development$1.StrictMode = REACT_STRICT_MODE_TYPE;\n\t reactIs_development$1.Suspense = REACT_SUSPENSE_TYPE;\n\t reactIs_development$1.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\t reactIs_development$1.isContextConsumer = function (object) {\n\t return typeOf(object) === REACT_CONSUMER_TYPE;\n\t };\n\t reactIs_development$1.isContextProvider = function (object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t };\n\t reactIs_development$1.isElement = function (object) {\n\t return (\n\t \"object\" === typeof object &&\n\t null !== object &&\n\t object.$$typeof === REACT_ELEMENT_TYPE\n\t );\n\t };\n\t reactIs_development$1.isForwardRef = function (object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t };\n\t reactIs_development$1.isFragment = function (object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t };\n\t reactIs_development$1.isLazy = function (object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t };\n\t reactIs_development$1.isMemo = function (object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t };\n\t reactIs_development$1.isPortal = function (object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t };\n\t reactIs_development$1.isProfiler = function (object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t };\n\t reactIs_development$1.isStrictMode = function (object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t };\n\t reactIs_development$1.isSuspense = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t };\n\t reactIs_development$1.isSuspenseList = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t };\n\t reactIs_development$1.isValidElementType = function (type) {\n\t return \"string\" === typeof type ||\n\t \"function\" === typeof type ||\n\t type === REACT_FRAGMENT_TYPE ||\n\t type === REACT_PROFILER_TYPE ||\n\t type === REACT_STRICT_MODE_TYPE ||\n\t type === REACT_SUSPENSE_TYPE ||\n\t type === REACT_SUSPENSE_LIST_TYPE ||\n\t type === REACT_OFFSCREEN_TYPE ||\n\t (\"object\" === typeof type &&\n\t null !== type &&\n\t (type.$$typeof === REACT_LAZY_TYPE ||\n\t type.$$typeof === REACT_MEMO_TYPE ||\n\t type.$$typeof === REACT_CONTEXT_TYPE ||\n\t type.$$typeof === REACT_CONSUMER_TYPE ||\n\t type.$$typeof === REACT_FORWARD_REF_TYPE ||\n\t type.$$typeof === REACT_CLIENT_REFERENCE ||\n\t void 0 !== type.getModuleId))\n\t ? true\n\t : false;\n\t };\n\t reactIs_development$1.typeOf = typeOf;\n\t })();\n\treturn reactIs_development$1;\n}\n\nvar hasRequiredReactIs$1;\n\nfunction requireReactIs$1 () {\n\tif (hasRequiredReactIs$1) return reactIs$1.exports;\n\thasRequiredReactIs$1 = 1;\n\n\tif (process.env.NODE_ENV === 'production') {\n\t reactIs$1.exports = requireReactIs_production();\n\t} else {\n\t reactIs$1.exports = requireReactIs_development$1();\n\t}\n\treturn reactIs$1.exports;\n}\n\nvar reactIsExports$1 = /*@__PURE__*/ requireReactIs$1();\nvar index$1 = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports$1);\n\nvar ReactIs19 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index$1\n}, [reactIsExports$1]);\n\nvar reactIs = {exports: {}};\n\nvar reactIs_production_min = {};\n\n/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production_min;\n\nfunction requireReactIs_production_min () {\n\tif (hasRequiredReactIs_production_min) return reactIs_production_min;\n\thasRequiredReactIs_production_min = 1;\nvar b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\n\tfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m;\n\treactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return false};reactIs_production_min.isConcurrentMode=function(){return false};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p};\n\treactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n};\n\treactIs_production_min.isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?true:false};reactIs_production_min.typeOf=v;\n\treturn reactIs_production_min;\n}\n\nvar reactIs_development = {};\n\n/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_development;\n\nfunction requireReactIs_development () {\n\tif (hasRequiredReactIs_development) return reactIs_development;\n\thasRequiredReactIs_development = 1;\n\n\tif (process.env.NODE_ENV !== \"production\") {\n\t (function() {\n\n\t// ATTENTION\n\t// When adding new symbols to this file,\n\t// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n\t// The Symbol used to tag the ReactElement-like types.\n\tvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\n\tvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\n\tvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n\tvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\n\tvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\n\tvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\n\tvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\n\tvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\n\tvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\n\tvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\n\tvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\n\tvar REACT_MEMO_TYPE = Symbol.for('react.memo');\n\tvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\n\tvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n\t// -----------------------------------------------------------------------------\n\n\tvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\tvar enableCacheElement = false;\n\tvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\n\tvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\t// stuff. Intended to enable React core members to more easily debug scheduling\n\t// issues in DEV builds.\n\n\tvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\n\tvar REACT_MODULE_REFERENCE;\n\n\t{\n\t REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n\t}\n\n\tfunction isValidElementType(type) {\n\t if (typeof type === 'string' || typeof type === 'function') {\n\t return true;\n\t } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n\t if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n\t return true;\n\t }\n\n\t if (typeof type === 'object' && type !== null) {\n\t if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n\t // types supported by any Flight configuration anywhere since\n\t // we don't know which Flight build this will end up being used\n\t // with.\n\t type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n\t return true;\n\t }\n\t }\n\n\t return false;\n\t}\n\n\tfunction typeOf(object) {\n\t if (typeof object === 'object' && object !== null) {\n\t var $$typeof = object.$$typeof;\n\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t var type = object.type;\n\n\t switch (type) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t return type;\n\n\t default:\n\t var $$typeofType = type && type.$$typeof;\n\n\t switch ($$typeofType) {\n\t case REACT_SERVER_CONTEXT_TYPE:\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t case REACT_PROVIDER_TYPE:\n\t return $$typeofType;\n\n\t default:\n\t return $$typeof;\n\t }\n\n\t }\n\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\n\t return undefined;\n\t}\n\tvar ContextConsumer = REACT_CONTEXT_TYPE;\n\tvar ContextProvider = REACT_PROVIDER_TYPE;\n\tvar Element = REACT_ELEMENT_TYPE;\n\tvar ForwardRef = REACT_FORWARD_REF_TYPE;\n\tvar Fragment = REACT_FRAGMENT_TYPE;\n\tvar Lazy = REACT_LAZY_TYPE;\n\tvar Memo = REACT_MEMO_TYPE;\n\tvar Portal = REACT_PORTAL_TYPE;\n\tvar Profiler = REACT_PROFILER_TYPE;\n\tvar StrictMode = REACT_STRICT_MODE_TYPE;\n\tvar Suspense = REACT_SUSPENSE_TYPE;\n\tvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\tvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\tvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\n\tfunction isAsyncMode(object) {\n\t {\n\t if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n\t hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n\t console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n\t }\n\t }\n\n\t return false;\n\t}\n\tfunction isConcurrentMode(object) {\n\t {\n\t if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n\t hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n\t console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n\t }\n\t }\n\n\t return false;\n\t}\n\tfunction isContextConsumer(object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t}\n\tfunction isContextProvider(object) {\n\t return typeOf(object) === REACT_PROVIDER_TYPE;\n\t}\n\tfunction isElement(object) {\n\t return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n\t}\n\tfunction isForwardRef(object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t}\n\tfunction isFragment(object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t}\n\tfunction isLazy(object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t}\n\tfunction isMemo(object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t}\n\tfunction isPortal(object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t}\n\tfunction isProfiler(object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t}\n\tfunction isStrictMode(object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t}\n\tfunction isSuspense(object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t}\n\tfunction isSuspenseList(object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t}\n\n\treactIs_development.ContextConsumer = ContextConsumer;\n\treactIs_development.ContextProvider = ContextProvider;\n\treactIs_development.Element = Element;\n\treactIs_development.ForwardRef = ForwardRef;\n\treactIs_development.Fragment = Fragment;\n\treactIs_development.Lazy = Lazy;\n\treactIs_development.Memo = Memo;\n\treactIs_development.Portal = Portal;\n\treactIs_development.Profiler = Profiler;\n\treactIs_development.StrictMode = StrictMode;\n\treactIs_development.Suspense = Suspense;\n\treactIs_development.SuspenseList = SuspenseList;\n\treactIs_development.isAsyncMode = isAsyncMode;\n\treactIs_development.isConcurrentMode = isConcurrentMode;\n\treactIs_development.isContextConsumer = isContextConsumer;\n\treactIs_development.isContextProvider = isContextProvider;\n\treactIs_development.isElement = isElement;\n\treactIs_development.isForwardRef = isForwardRef;\n\treactIs_development.isFragment = isFragment;\n\treactIs_development.isLazy = isLazy;\n\treactIs_development.isMemo = isMemo;\n\treactIs_development.isPortal = isPortal;\n\treactIs_development.isProfiler = isProfiler;\n\treactIs_development.isStrictMode = isStrictMode;\n\treactIs_development.isSuspense = isSuspense;\n\treactIs_development.isSuspenseList = isSuspenseList;\n\treactIs_development.isValidElementType = isValidElementType;\n\treactIs_development.typeOf = typeOf;\n\t })();\n\t}\n\treturn reactIs_development;\n}\n\nvar hasRequiredReactIs;\n\nfunction requireReactIs () {\n\tif (hasRequiredReactIs) return reactIs.exports;\n\thasRequiredReactIs = 1;\n\n\tif (process.env.NODE_ENV === 'production') {\n\t reactIs.exports = requireReactIs_production_min();\n\t} else {\n\t reactIs.exports = requireReactIs_development();\n\t}\n\treturn reactIs.exports;\n}\n\nvar reactIsExports = requireReactIs();\nvar index = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports);\n\nvar ReactIs18 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index\n}, [reactIsExports]);\n\nconst reactIsMethods = [\n \"isAsyncMode\",\n \"isConcurrentMode\",\n \"isContextConsumer\",\n \"isContextProvider\",\n \"isElement\",\n \"isForwardRef\",\n \"isFragment\",\n \"isLazy\",\n \"isMemo\",\n \"isPortal\",\n \"isProfiler\",\n \"isStrictMode\",\n \"isSuspense\",\n \"isSuspenseList\",\n \"isValidElementType\"\n];\nconst ReactIs = Object.fromEntries(\n reactIsMethods.map((m) => [m, (v) => ReactIs18[m](v) || ReactIs19[m](v)])\n);\nfunction getChildren(arg, children = []) {\n if (Array.isArray(arg)) {\n for (const item of arg) {\n getChildren(item, children);\n }\n } else if (arg != null && arg !== false && arg !== \"\") {\n children.push(arg);\n }\n return children;\n}\nfunction getType(element) {\n const type = element.type;\n if (typeof type === \"string\") {\n return type;\n }\n if (typeof type === \"function\") {\n return type.displayName || type.name || \"Unknown\";\n }\n if (ReactIs.isFragment(element)) {\n return \"React.Fragment\";\n }\n if (ReactIs.isSuspense(element)) {\n return \"React.Suspense\";\n }\n if (typeof type === \"object\" && type !== null) {\n if (ReactIs.isContextProvider(element)) {\n return \"Context.Provider\";\n }\n if (ReactIs.isContextConsumer(element)) {\n return \"Context.Consumer\";\n }\n if (ReactIs.isForwardRef(element)) {\n if (type.displayName) {\n return type.displayName;\n }\n const functionName = type.render.displayName || type.render.name || \"\";\n return functionName === \"\" ? \"ForwardRef\" : `ForwardRef(${functionName})`;\n }\n if (ReactIs.isMemo(element)) {\n const functionName = type.displayName || type.type.displayName || type.type.name || \"\";\n return functionName === \"\" ? \"Memo\" : `Memo(${functionName})`;\n }\n }\n return \"UNDEFINED\";\n}\nfunction getPropKeys$1(element) {\n const { props } = element;\n return Object.keys(props).filter((key) => key !== \"children\" && props[key] !== void 0).sort();\n}\nconst serialize$1 = (element, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(getType(element), config) : printElement(\n getType(element),\n printProps(\n getPropKeys$1(element),\n element.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n printChildren(\n getChildren(element.props.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n);\nconst test$1 = (val) => val != null && ReactIs.isElement(val);\nconst plugin$1 = { serialize: serialize$1, test: test$1 };\n\nconst testSymbol = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"react.test.json\") : 245830487;\nfunction getPropKeys(object) {\n const { props } = object;\n return props ? Object.keys(props).filter((key) => props[key] !== void 0).sort() : [];\n}\nconst serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(object.type, config) : printElement(\n object.type,\n object.props ? printProps(\n getPropKeys(object),\n object.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ) : \"\",\n object.children ? printChildren(\n object.children,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ) : \"\",\n config,\n indentation\n);\nconst test = (val) => val && val.$$typeof === testSymbol;\nconst plugin = { serialize, test };\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nfunction getConstructorName(val) {\n return typeof val.constructor === \"function\" && val.constructor.name || \"Object\";\n}\nfunction isWindow(val) {\n return typeof window !== \"undefined\" && val === window;\n}\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/g;\nclass PrettyFormatPluginError extends Error {\n constructor(message, stack) {\n super(message);\n this.stack = stack;\n this.name = this.constructor.name;\n }\n}\nfunction isToStringedArrayType(toStringed) {\n return toStringed === \"[object Array]\" || toStringed === \"[object ArrayBuffer]\" || toStringed === \"[object DataView]\" || toStringed === \"[object Float32Array]\" || toStringed === \"[object Float64Array]\" || toStringed === \"[object Int8Array]\" || toStringed === \"[object Int16Array]\" || toStringed === \"[object Int32Array]\" || toStringed === \"[object Uint8Array]\" || toStringed === \"[object Uint8ClampedArray]\" || toStringed === \"[object Uint16Array]\" || toStringed === \"[object Uint32Array]\";\n}\nfunction printNumber(val) {\n return Object.is(val, -0) ? \"-0\" : String(val);\n}\nfunction printBigInt(val) {\n return String(`${val}n`);\n}\nfunction printFunction(val, printFunctionName) {\n if (!printFunctionName) {\n return \"[Function]\";\n }\n return `[Function ${val.name || \"anonymous\"}]`;\n}\nfunction printSymbol(val) {\n return String(val).replace(SYMBOL_REGEXP, \"Symbol($1)\");\n}\nfunction printError(val) {\n return `[${errorToString.call(val)}]`;\n}\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n if (val === true || val === false) {\n return `${val}`;\n }\n if (val === void 0) {\n return \"undefined\";\n }\n if (val === null) {\n return \"null\";\n }\n const typeOf = typeof val;\n if (typeOf === \"number\") {\n return printNumber(val);\n }\n if (typeOf === \"bigint\") {\n return printBigInt(val);\n }\n if (typeOf === \"string\") {\n if (escapeString) {\n return `\"${val.replaceAll(/\"|\\\\/g, \"\\\\$&\")}\"`;\n }\n return `\"${val}\"`;\n }\n if (typeOf === \"function\") {\n return printFunction(val, printFunctionName);\n }\n if (typeOf === \"symbol\") {\n return printSymbol(val);\n }\n const toStringed = toString.call(val);\n if (toStringed === \"[object WeakMap]\") {\n return \"WeakMap {}\";\n }\n if (toStringed === \"[object WeakSet]\") {\n return \"WeakSet {}\";\n }\n if (toStringed === \"[object Function]\" || toStringed === \"[object GeneratorFunction]\") {\n return printFunction(val, printFunctionName);\n }\n if (toStringed === \"[object Symbol]\") {\n return printSymbol(val);\n }\n if (toStringed === \"[object Date]\") {\n return Number.isNaN(+val) ? \"Date { NaN }\" : toISOString.call(val);\n }\n if (toStringed === \"[object Error]\") {\n return printError(val);\n }\n if (toStringed === \"[object RegExp]\") {\n if (escapeRegex) {\n return regExpToString.call(val).replaceAll(/[$()*+.?[\\\\\\]^{|}]/g, \"\\\\$&\");\n }\n return regExpToString.call(val);\n }\n if (val instanceof Error) {\n return printError(val);\n }\n return null;\n}\nfunction printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON) {\n if (refs.includes(val)) {\n return \"[Circular]\";\n }\n refs = [...refs];\n refs.push(val);\n const hitMaxDepth = ++depth > config.maxDepth;\n const min = config.min;\n if (config.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === \"function\" && !hasCalledToJSON) {\n return printer(val.toJSON(), config, indentation, depth, refs, true);\n }\n const toStringed = toString.call(val);\n if (toStringed === \"[object Arguments]\") {\n return hitMaxDepth ? \"[Arguments]\" : `${min ? \"\" : \"Arguments \"}[${printListItems(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n }\n if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth ? `[${val.constructor.name}]` : `${min ? \"\" : !config.printBasicPrototype && val.constructor.name === \"Array\" ? \"\" : `${val.constructor.name} `}[${printListItems(val, config, indentation, depth, refs, printer)}]`;\n }\n if (toStringed === \"[object Map]\") {\n return hitMaxDepth ? \"[Map]\" : `Map {${printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n \" => \"\n )}}`;\n }\n if (toStringed === \"[object Set]\") {\n return hitMaxDepth ? \"[Set]\" : `Set {${printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n }\n return hitMaxDepth || isWindow(val) ? `[${getConstructorName(val)}]` : `${min ? \"\" : !config.printBasicPrototype && getConstructorName(val) === \"Object\" ? \"\" : `${getConstructorName(val)} `}{${printObjectProperties(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n}\nconst ErrorPlugin = {\n test: (val) => val && val instanceof Error,\n serialize(val, config, indentation, depth, refs, printer2) {\n if (refs.includes(val)) {\n return \"[Circular]\";\n }\n refs = [...refs, val];\n const hitMaxDepth = ++depth > config.maxDepth;\n const { message, cause, ...rest } = val;\n const entries = {\n message,\n ...typeof cause !== \"undefined\" ? { cause } : {},\n ...val instanceof AggregateError ? { errors: val.errors } : {},\n ...rest\n };\n const name = val.name !== \"Error\" ? val.name : getConstructorName(val);\n return hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(\n Object.entries(entries).values(),\n config,\n indentation,\n depth,\n refs,\n printer2\n )}}`;\n }\n};\nfunction isNewPlugin(plugin) {\n return plugin.serialize != null;\n}\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n let printed;\n try {\n printed = isNewPlugin(plugin) ? plugin.serialize(val, config, indentation, depth, refs, printer) : plugin.print(\n val,\n (valChild) => printer(valChild, config, indentation, depth, refs),\n (str) => {\n const indentationNext = indentation + config.indent;\n return indentationNext + str.replaceAll(NEWLINE_REGEXP, `\n${indentationNext}`);\n },\n {\n edgeSpacing: config.spacingOuter,\n min: config.min,\n spacing: config.spacingInner\n },\n config.colors\n );\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n if (typeof printed !== \"string\") {\n throw new TypeError(\n `pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`\n );\n }\n return printed;\n}\nfunction findPlugin(plugins2, val) {\n for (const plugin of plugins2) {\n try {\n if (plugin.test(val)) {\n return plugin;\n }\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n }\n return null;\n}\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n const plugin = findPlugin(config.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, config, indentation, depth, refs);\n }\n const basicResult = printBasicValue(\n val,\n config.printFunctionName,\n config.escapeRegex,\n config.escapeString\n );\n if (basicResult !== null) {\n return basicResult;\n }\n return printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n );\n}\nconst DEFAULT_THEME = {\n comment: \"gray\",\n content: \"reset\",\n prop: \"yellow\",\n tag: \"cyan\",\n value: \"green\"\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\nconst DEFAULT_OPTIONS = {\n callToJSON: true,\n compareKeys: void 0,\n escapeRegex: false,\n escapeString: true,\n highlight: false,\n indent: 2,\n maxDepth: Number.POSITIVE_INFINITY,\n maxWidth: Number.POSITIVE_INFINITY,\n min: false,\n plugins: [],\n printBasicPrototype: true,\n printFunctionName: true,\n theme: DEFAULT_THEME\n};\nfunction validateOptions(options) {\n for (const key of Object.keys(options)) {\n if (!Object.prototype.hasOwnProperty.call(DEFAULT_OPTIONS, key)) {\n throw new Error(`pretty-format: Unknown option \"${key}\".`);\n }\n }\n if (options.min && options.indent !== void 0 && options.indent !== 0) {\n throw new Error(\n 'pretty-format: Options \"min\" and \"indent\" cannot be used together.'\n );\n }\n}\nfunction getColorsHighlight() {\n return DEFAULT_THEME_KEYS.reduce((colors, key) => {\n const value = DEFAULT_THEME[key];\n const color = value && styles[value];\n if (color && typeof color.close === \"string\" && typeof color.open === \"string\") {\n colors[key] = color;\n } else {\n throw new Error(\n `pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`\n );\n }\n return colors;\n }, /* @__PURE__ */ Object.create(null));\n}\nfunction getColorsEmpty() {\n return DEFAULT_THEME_KEYS.reduce((colors, key) => {\n colors[key] = { close: \"\", open: \"\" };\n return colors;\n }, /* @__PURE__ */ Object.create(null));\n}\nfunction getPrintFunctionName(options) {\n return (options == null ? void 0 : options.printFunctionName) ?? DEFAULT_OPTIONS.printFunctionName;\n}\nfunction getEscapeRegex(options) {\n return (options == null ? void 0 : options.escapeRegex) ?? DEFAULT_OPTIONS.escapeRegex;\n}\nfunction getEscapeString(options) {\n return (options == null ? void 0 : options.escapeString) ?? DEFAULT_OPTIONS.escapeString;\n}\nfunction getConfig(options) {\n return {\n callToJSON: (options == null ? void 0 : options.callToJSON) ?? DEFAULT_OPTIONS.callToJSON,\n colors: (options == null ? void 0 : options.highlight) ? getColorsHighlight() : getColorsEmpty(),\n compareKeys: typeof (options == null ? void 0 : options.compareKeys) === \"function\" || (options == null ? void 0 : options.compareKeys) === null ? options.compareKeys : DEFAULT_OPTIONS.compareKeys,\n escapeRegex: getEscapeRegex(options),\n escapeString: getEscapeString(options),\n indent: (options == null ? void 0 : options.min) ? \"\" : createIndent((options == null ? void 0 : options.indent) ?? DEFAULT_OPTIONS.indent),\n maxDepth: (options == null ? void 0 : options.maxDepth) ?? DEFAULT_OPTIONS.maxDepth,\n maxWidth: (options == null ? void 0 : options.maxWidth) ?? DEFAULT_OPTIONS.maxWidth,\n min: (options == null ? void 0 : options.min) ?? DEFAULT_OPTIONS.min,\n plugins: (options == null ? void 0 : options.plugins) ?? DEFAULT_OPTIONS.plugins,\n printBasicPrototype: (options == null ? void 0 : options.printBasicPrototype) ?? true,\n printFunctionName: getPrintFunctionName(options),\n spacingInner: (options == null ? void 0 : options.min) ? \" \" : \"\\n\",\n spacingOuter: (options == null ? void 0 : options.min) ? \"\" : \"\\n\"\n };\n}\nfunction createIndent(indent) {\n return Array.from({ length: indent + 1 }).join(\" \");\n}\nfunction format(val, options) {\n if (options) {\n validateOptions(options);\n if (options.plugins) {\n const plugin = findPlugin(options.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, getConfig(options), \"\", 0, []);\n }\n }\n }\n const basicResult = printBasicValue(\n val,\n getPrintFunctionName(options),\n getEscapeRegex(options),\n getEscapeString(options)\n );\n if (basicResult !== null) {\n return basicResult;\n }\n return printComplexValue(val, getConfig(options), \"\", 0, []);\n}\nconst plugins = {\n AsymmetricMatcher: plugin$5,\n DOMCollection: plugin$4,\n DOMElement: plugin$3,\n Immutable: plugin$2,\n ReactElement: plugin$1,\n ReactTestComponent: plugin,\n Error: ErrorPlugin\n};\n\nexport { DEFAULT_OPTIONS, format, plugins };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@vitest+pretty-format@3.0.9/node_modules/@vitest/pretty-format/dist/index.js"],"sourcesContent":["import styles from 'tinyrainbow';\n\nfunction _mergeNamespaces(n, m) {\n m.forEach(function (e) {\n e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {\n if (k !== 'default' && !(k in n)) {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n });\n return Object.freeze(n);\n}\n\nfunction getKeysOfEnumerableProperties(object, compareKeys) {\n const rawKeys = Object.keys(object);\n const keys = compareKeys === null ? rawKeys : rawKeys.sort(compareKeys);\n if (Object.getOwnPropertySymbols) {\n for (const symbol of Object.getOwnPropertySymbols(object)) {\n if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n keys.push(symbol);\n }\n }\n }\n return keys;\n}\nfunction printIteratorEntries(iterator, config, indentation, depth, refs, printer, separator = \": \") {\n let result = \"\";\n let width = 0;\n let current = iterator.next();\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n while (!current.done) {\n result += indentationNext;\n if (width++ === config.maxWidth) {\n result += \"\\u2026\";\n break;\n }\n const name = printer(\n current.value[0],\n config,\n indentationNext,\n depth,\n refs\n );\n const value = printer(\n current.value[1],\n config,\n indentationNext,\n depth,\n refs\n );\n result += name + separator + value;\n current = iterator.next();\n if (!current.done) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\nfunction printIteratorValues(iterator, config, indentation, depth, refs, printer) {\n let result = \"\";\n let width = 0;\n let current = iterator.next();\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n while (!current.done) {\n result += indentationNext;\n if (width++ === config.maxWidth) {\n result += \"\\u2026\";\n break;\n }\n result += printer(current.value, config, indentationNext, depth, refs);\n current = iterator.next();\n if (!current.done) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n let result = \"\";\n list = list instanceof ArrayBuffer ? new DataView(list) : list;\n const isDataView = (l) => l instanceof DataView;\n const length = isDataView(list) ? list.byteLength : list.length;\n if (length > 0) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n for (let i = 0; i < length; i++) {\n result += indentationNext;\n if (i === config.maxWidth) {\n result += \"\\u2026\";\n break;\n }\n if (isDataView(list) || i in list) {\n result += printer(\n isDataView(list) ? list.getInt8(i) : list[i],\n config,\n indentationNext,\n depth,\n refs\n );\n }\n if (i < length - 1) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n let result = \"\";\n const keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n if (keys.length > 0) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = printer(key, config, indentationNext, depth, refs);\n const value = printer(val[key], config, indentationNext, depth, refs);\n result += `${indentationNext + name}: ${value}`;\n if (i < keys.length - 1) {\n result += `,${config.spacingInner}`;\n } else if (!config.min) {\n result += \",\";\n }\n }\n result += config.spacingOuter + indentation;\n }\n return result;\n}\n\nconst asymmetricMatcher = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"jest.asymmetricMatcher\") : 1267621;\nconst SPACE$2 = \" \";\nconst serialize$5 = (val, config, indentation, depth, refs, printer) => {\n const stringedValue = val.toString();\n if (stringedValue === \"ArrayContaining\" || stringedValue === \"ArrayNotContaining\") {\n if (++depth > config.maxDepth) {\n return `[${stringedValue}]`;\n }\n return `${stringedValue + SPACE$2}[${printListItems(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n }\n if (stringedValue === \"ObjectContaining\" || stringedValue === \"ObjectNotContaining\") {\n if (++depth > config.maxDepth) {\n return `[${stringedValue}]`;\n }\n return `${stringedValue + SPACE$2}{${printObjectProperties(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n }\n if (stringedValue === \"StringMatching\" || stringedValue === \"StringNotMatching\") {\n return stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n }\n if (stringedValue === \"StringContaining\" || stringedValue === \"StringNotContaining\") {\n return stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n }\n if (typeof val.toAsymmetricMatcher !== \"function\") {\n throw new TypeError(\n `Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`\n );\n }\n return val.toAsymmetricMatcher();\n};\nconst test$5 = (val) => val && val.$$typeof === asymmetricMatcher;\nconst plugin$5 = { serialize: serialize$5, test: test$5 };\n\nconst SPACE$1 = \" \";\nconst OBJECT_NAMES = /* @__PURE__ */ new Set([\"DOMStringMap\", \"NamedNodeMap\"]);\nconst ARRAY_REGEXP = /^(?:HTML\\w*Collection|NodeList)$/;\nfunction testName(name) {\n return OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name);\n}\nconst test$4 = (val) => val && val.constructor && !!val.constructor.name && testName(val.constructor.name);\nfunction isNamedNodeMap(collection) {\n return collection.constructor.name === \"NamedNodeMap\";\n}\nconst serialize$4 = (collection, config, indentation, depth, refs, printer) => {\n const name = collection.constructor.name;\n if (++depth > config.maxDepth) {\n return `[${name}]`;\n }\n return (config.min ? \"\" : name + SPACE$1) + (OBJECT_NAMES.has(name) ? `{${printObjectProperties(\n isNamedNodeMap(collection) ? [...collection].reduce(\n (props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n },\n {}\n ) : { ...collection },\n config,\n indentation,\n depth,\n refs,\n printer\n )}}` : `[${printListItems(\n [...collection],\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`);\n};\nconst plugin$4 = { serialize: serialize$4, test: test$4 };\n\nfunction escapeHTML(str) {\n return str.replaceAll(\"<\", \"<\").replaceAll(\">\", \">\");\n}\n\nfunction printProps(keys, props, config, indentation, depth, refs, printer) {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys.map((key) => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n if (typeof value !== \"string\") {\n if (printed.includes(\"\\n\")) {\n printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;\n }\n printed = `{${printed}}`;\n }\n return `${config.spacingInner + indentation + colors.prop.open + key + colors.prop.close}=${colors.value.open}${printed}${colors.value.close}`;\n }).join(\"\");\n}\nfunction printChildren(children, config, indentation, depth, refs, printer) {\n return children.map(\n (child) => config.spacingOuter + indentation + (typeof child === \"string\" ? printText(child, config) : printer(child, config, indentation, depth, refs))\n ).join(\"\");\n}\nfunction printText(text, config) {\n const contentColor = config.colors.content;\n return contentColor.open + escapeHTML(text) + contentColor.close;\n}\nfunction printComment(comment, config) {\n const commentColor = config.colors.comment;\n return `${commentColor.open}<!--${escapeHTML(comment)}-->${commentColor.close}`;\n}\nfunction printElement(type, printedProps, printedChildren, config, indentation) {\n const tagColor = config.colors.tag;\n return `${tagColor.open}<${type}${printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open}${printedChildren ? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}</${type}` : `${printedProps && !config.min ? \"\" : \" \"}/`}>${tagColor.close}`;\n}\nfunction printElementAsLeaf(type, config) {\n const tagColor = config.colors.tag;\n return `${tagColor.open}<${type}${tagColor.close} \\u2026${tagColor.open} />${tagColor.close}`;\n}\n\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^(?:(?:HTML|SVG)\\w*)?Element$/;\nfunction testHasAttribute(val) {\n try {\n return typeof val.hasAttribute === \"function\" && val.hasAttribute(\"is\");\n } catch {\n return false;\n }\n}\nfunction testNode(val) {\n const constructorName = val.constructor.name;\n const { nodeType, tagName } = val;\n const isCustomElement = typeof tagName === \"string\" && tagName.includes(\"-\") || testHasAttribute(val);\n return nodeType === ELEMENT_NODE && (ELEMENT_REGEXP.test(constructorName) || isCustomElement) || nodeType === TEXT_NODE && constructorName === \"Text\" || nodeType === COMMENT_NODE && constructorName === \"Comment\" || nodeType === FRAGMENT_NODE && constructorName === \"DocumentFragment\";\n}\nconst test$3 = (val) => {\n var _a;\n return ((_a = val == null ? void 0 : val.constructor) == null ? void 0 : _a.name) && testNode(val);\n};\nfunction nodeIsText(node) {\n return node.nodeType === TEXT_NODE;\n}\nfunction nodeIsComment(node) {\n return node.nodeType === COMMENT_NODE;\n}\nfunction nodeIsFragment(node) {\n return node.nodeType === FRAGMENT_NODE;\n}\nconst serialize$3 = (node, config, indentation, depth, refs, printer) => {\n if (nodeIsText(node)) {\n return printText(node.data, config);\n }\n if (nodeIsComment(node)) {\n return printComment(node.data, config);\n }\n const type = nodeIsFragment(node) ? \"DocumentFragment\" : node.tagName.toLowerCase();\n if (++depth > config.maxDepth) {\n return printElementAsLeaf(type, config);\n }\n return printElement(\n type,\n printProps(\n nodeIsFragment(node) ? [] : Array.from(node.attributes, (attr) => attr.name).sort(),\n nodeIsFragment(node) ? {} : [...node.attributes].reduce(\n (props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n },\n {}\n ),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n printChildren(\n Array.prototype.slice.call(node.childNodes || node.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\n};\nconst plugin$3 = { serialize: serialize$3, test: test$3 };\n\nconst IS_ITERABLE_SENTINEL = \"@@__IMMUTABLE_ITERABLE__@@\";\nconst IS_LIST_SENTINEL = \"@@__IMMUTABLE_LIST__@@\";\nconst IS_KEYED_SENTINEL = \"@@__IMMUTABLE_KEYED__@@\";\nconst IS_MAP_SENTINEL = \"@@__IMMUTABLE_MAP__@@\";\nconst IS_ORDERED_SENTINEL = \"@@__IMMUTABLE_ORDERED__@@\";\nconst IS_RECORD_SENTINEL = \"@@__IMMUTABLE_RECORD__@@\";\nconst IS_SEQ_SENTINEL = \"@@__IMMUTABLE_SEQ__@@\";\nconst IS_SET_SENTINEL = \"@@__IMMUTABLE_SET__@@\";\nconst IS_STACK_SENTINEL = \"@@__IMMUTABLE_STACK__@@\";\nconst getImmutableName = (name) => `Immutable.${name}`;\nconst printAsLeaf = (name) => `[${name}]`;\nconst SPACE = \" \";\nconst LAZY = \"\\u2026\";\nfunction printImmutableEntries(val, config, indentation, depth, refs, printer, type) {\n return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}{${printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n}\nfunction getRecordEntries(val) {\n let i = 0;\n return {\n next() {\n if (i < val._keys.length) {\n const key = val._keys[i++];\n return { done: false, value: [key, val.get(key)] };\n }\n return { done: true, value: void 0 };\n }\n };\n}\nfunction printImmutableRecord(val, config, indentation, depth, refs, printer) {\n const name = getImmutableName(val._name || \"Record\");\n return ++depth > config.maxDepth ? printAsLeaf(name) : `${name + SPACE}{${printIteratorEntries(\n getRecordEntries(val),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n}\nfunction printImmutableSeq(val, config, indentation, depth, refs, printer) {\n const name = getImmutableName(\"Seq\");\n if (++depth > config.maxDepth) {\n return printAsLeaf(name);\n }\n if (val[IS_KEYED_SENTINEL]) {\n return `${name + SPACE}{${// from Immutable collection of entries or from ECMAScript object\n val._iter || val._object ? printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) : LAZY}}`;\n }\n return `${name + SPACE}[${val._iter || val._array || val._collection || val._iterable ? printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) : LAZY}]`;\n}\nfunction printImmutableValues(val, config, indentation, depth, refs, printer, type) {\n return ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}[${printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n}\nconst serialize$2 = (val, config, indentation, depth, refs, printer) => {\n if (val[IS_MAP_SENTINEL]) {\n return printImmutableEntries(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? \"OrderedMap\" : \"Map\"\n );\n }\n if (val[IS_LIST_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n \"List\"\n );\n }\n if (val[IS_SET_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? \"OrderedSet\" : \"Set\"\n );\n }\n if (val[IS_STACK_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n \"Stack\"\n );\n }\n if (val[IS_SEQ_SENTINEL]) {\n return printImmutableSeq(val, config, indentation, depth, refs, printer);\n }\n return printImmutableRecord(val, config, indentation, depth, refs, printer);\n};\nconst test$2 = (val) => val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\nconst plugin$2 = { serialize: serialize$2, test: test$2 };\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar reactIs$1 = {exports: {}};\n\nvar reactIs_production = {};\n\n/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production;\n\nfunction requireReactIs_production () {\n\tif (hasRequiredReactIs_production) return reactIs_production;\n\thasRequiredReactIs_production = 1;\n\tvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n\t REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n\t REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n\t REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n\t REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n\tvar REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n\t REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n\t REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n\t REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n\t REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n\t REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n\t REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n\t REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n\t REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n\tfunction typeOf(object) {\n\t if (\"object\" === typeof object && null !== object) {\n\t var $$typeof = object.$$typeof;\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t switch (((object = object.type), object)) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t return object;\n\t default:\n\t switch (((object = object && object.$$typeof), object)) {\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t return object;\n\t case REACT_CONSUMER_TYPE:\n\t return object;\n\t default:\n\t return $$typeof;\n\t }\n\t }\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\t}\n\treactIs_production.ContextConsumer = REACT_CONSUMER_TYPE;\n\treactIs_production.ContextProvider = REACT_CONTEXT_TYPE;\n\treactIs_production.Element = REACT_ELEMENT_TYPE;\n\treactIs_production.ForwardRef = REACT_FORWARD_REF_TYPE;\n\treactIs_production.Fragment = REACT_FRAGMENT_TYPE;\n\treactIs_production.Lazy = REACT_LAZY_TYPE;\n\treactIs_production.Memo = REACT_MEMO_TYPE;\n\treactIs_production.Portal = REACT_PORTAL_TYPE;\n\treactIs_production.Profiler = REACT_PROFILER_TYPE;\n\treactIs_production.StrictMode = REACT_STRICT_MODE_TYPE;\n\treactIs_production.Suspense = REACT_SUSPENSE_TYPE;\n\treactIs_production.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\treactIs_production.isContextConsumer = function (object) {\n\t return typeOf(object) === REACT_CONSUMER_TYPE;\n\t};\n\treactIs_production.isContextProvider = function (object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t};\n\treactIs_production.isElement = function (object) {\n\t return (\n\t \"object\" === typeof object &&\n\t null !== object &&\n\t object.$$typeof === REACT_ELEMENT_TYPE\n\t );\n\t};\n\treactIs_production.isForwardRef = function (object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t};\n\treactIs_production.isFragment = function (object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t};\n\treactIs_production.isLazy = function (object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t};\n\treactIs_production.isMemo = function (object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t};\n\treactIs_production.isPortal = function (object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t};\n\treactIs_production.isProfiler = function (object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t};\n\treactIs_production.isStrictMode = function (object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t};\n\treactIs_production.isSuspense = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t};\n\treactIs_production.isSuspenseList = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t};\n\treactIs_production.isValidElementType = function (type) {\n\t return \"string\" === typeof type ||\n\t \"function\" === typeof type ||\n\t type === REACT_FRAGMENT_TYPE ||\n\t type === REACT_PROFILER_TYPE ||\n\t type === REACT_STRICT_MODE_TYPE ||\n\t type === REACT_SUSPENSE_TYPE ||\n\t type === REACT_SUSPENSE_LIST_TYPE ||\n\t type === REACT_OFFSCREEN_TYPE ||\n\t (\"object\" === typeof type &&\n\t null !== type &&\n\t (type.$$typeof === REACT_LAZY_TYPE ||\n\t type.$$typeof === REACT_MEMO_TYPE ||\n\t type.$$typeof === REACT_CONTEXT_TYPE ||\n\t type.$$typeof === REACT_CONSUMER_TYPE ||\n\t type.$$typeof === REACT_FORWARD_REF_TYPE ||\n\t type.$$typeof === REACT_CLIENT_REFERENCE ||\n\t void 0 !== type.getModuleId))\n\t ? true\n\t : false;\n\t};\n\treactIs_production.typeOf = typeOf;\n\treturn reactIs_production;\n}\n\nvar reactIs_development$1 = {};\n\n/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_development$1;\n\nfunction requireReactIs_development$1 () {\n\tif (hasRequiredReactIs_development$1) return reactIs_development$1;\n\thasRequiredReactIs_development$1 = 1;\n\t\"production\" !== process.env.NODE_ENV &&\n\t (function () {\n\t function typeOf(object) {\n\t if (\"object\" === typeof object && null !== object) {\n\t var $$typeof = object.$$typeof;\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t switch (((object = object.type), object)) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t return object;\n\t default:\n\t switch (((object = object && object.$$typeof), object)) {\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t return object;\n\t case REACT_CONSUMER_TYPE:\n\t return object;\n\t default:\n\t return $$typeof;\n\t }\n\t }\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\t }\n\t var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n\t REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n\t REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n\t REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n\t REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n\t var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n\t REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n\t REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n\t REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n\t REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n\t REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n\t REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n\t REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n\t REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n\t reactIs_development$1.ContextConsumer = REACT_CONSUMER_TYPE;\n\t reactIs_development$1.ContextProvider = REACT_CONTEXT_TYPE;\n\t reactIs_development$1.Element = REACT_ELEMENT_TYPE;\n\t reactIs_development$1.ForwardRef = REACT_FORWARD_REF_TYPE;\n\t reactIs_development$1.Fragment = REACT_FRAGMENT_TYPE;\n\t reactIs_development$1.Lazy = REACT_LAZY_TYPE;\n\t reactIs_development$1.Memo = REACT_MEMO_TYPE;\n\t reactIs_development$1.Portal = REACT_PORTAL_TYPE;\n\t reactIs_development$1.Profiler = REACT_PROFILER_TYPE;\n\t reactIs_development$1.StrictMode = REACT_STRICT_MODE_TYPE;\n\t reactIs_development$1.Suspense = REACT_SUSPENSE_TYPE;\n\t reactIs_development$1.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\t reactIs_development$1.isContextConsumer = function (object) {\n\t return typeOf(object) === REACT_CONSUMER_TYPE;\n\t };\n\t reactIs_development$1.isContextProvider = function (object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t };\n\t reactIs_development$1.isElement = function (object) {\n\t return (\n\t \"object\" === typeof object &&\n\t null !== object &&\n\t object.$$typeof === REACT_ELEMENT_TYPE\n\t );\n\t };\n\t reactIs_development$1.isForwardRef = function (object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t };\n\t reactIs_development$1.isFragment = function (object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t };\n\t reactIs_development$1.isLazy = function (object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t };\n\t reactIs_development$1.isMemo = function (object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t };\n\t reactIs_development$1.isPortal = function (object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t };\n\t reactIs_development$1.isProfiler = function (object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t };\n\t reactIs_development$1.isStrictMode = function (object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t };\n\t reactIs_development$1.isSuspense = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t };\n\t reactIs_development$1.isSuspenseList = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t };\n\t reactIs_development$1.isValidElementType = function (type) {\n\t return \"string\" === typeof type ||\n\t \"function\" === typeof type ||\n\t type === REACT_FRAGMENT_TYPE ||\n\t type === REACT_PROFILER_TYPE ||\n\t type === REACT_STRICT_MODE_TYPE ||\n\t type === REACT_SUSPENSE_TYPE ||\n\t type === REACT_SUSPENSE_LIST_TYPE ||\n\t type === REACT_OFFSCREEN_TYPE ||\n\t (\"object\" === typeof type &&\n\t null !== type &&\n\t (type.$$typeof === REACT_LAZY_TYPE ||\n\t type.$$typeof === REACT_MEMO_TYPE ||\n\t type.$$typeof === REACT_CONTEXT_TYPE ||\n\t type.$$typeof === REACT_CONSUMER_TYPE ||\n\t type.$$typeof === REACT_FORWARD_REF_TYPE ||\n\t type.$$typeof === REACT_CLIENT_REFERENCE ||\n\t void 0 !== type.getModuleId))\n\t ? true\n\t : false;\n\t };\n\t reactIs_development$1.typeOf = typeOf;\n\t })();\n\treturn reactIs_development$1;\n}\n\nvar hasRequiredReactIs$1;\n\nfunction requireReactIs$1 () {\n\tif (hasRequiredReactIs$1) return reactIs$1.exports;\n\thasRequiredReactIs$1 = 1;\n\n\tif (process.env.NODE_ENV === 'production') {\n\t reactIs$1.exports = requireReactIs_production();\n\t} else {\n\t reactIs$1.exports = requireReactIs_development$1();\n\t}\n\treturn reactIs$1.exports;\n}\n\nvar reactIsExports$1 = /*@__PURE__*/ requireReactIs$1();\nvar index$1 = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports$1);\n\nvar ReactIs19 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index$1\n}, [reactIsExports$1]);\n\nvar reactIs = {exports: {}};\n\nvar reactIs_production_min = {};\n\n/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production_min;\n\nfunction requireReactIs_production_min () {\n\tif (hasRequiredReactIs_production_min) return reactIs_production_min;\n\thasRequiredReactIs_production_min = 1;\nvar b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\n\tfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m;\n\treactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return false};reactIs_production_min.isConcurrentMode=function(){return false};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p};\n\treactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n};\n\treactIs_production_min.isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?true:false};reactIs_production_min.typeOf=v;\n\treturn reactIs_production_min;\n}\n\nvar reactIs_development = {};\n\n/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_development;\n\nfunction requireReactIs_development () {\n\tif (hasRequiredReactIs_development) return reactIs_development;\n\thasRequiredReactIs_development = 1;\n\n\tif (process.env.NODE_ENV !== \"production\") {\n\t (function() {\n\n\t// ATTENTION\n\t// When adding new symbols to this file,\n\t// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n\t// The Symbol used to tag the ReactElement-like types.\n\tvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\n\tvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\n\tvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\n\tvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\n\tvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\n\tvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\n\tvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\n\tvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\n\tvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\n\tvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\n\tvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\n\tvar REACT_MEMO_TYPE = Symbol.for('react.memo');\n\tvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\n\tvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n\t// -----------------------------------------------------------------------------\n\n\tvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\tvar enableCacheElement = false;\n\tvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\n\tvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n\t// stuff. Intended to enable React core members to more easily debug scheduling\n\t// issues in DEV builds.\n\n\tvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\n\tvar REACT_MODULE_REFERENCE;\n\n\t{\n\t REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n\t}\n\n\tfunction isValidElementType(type) {\n\t if (typeof type === 'string' || typeof type === 'function') {\n\t return true;\n\t } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n\t if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n\t return true;\n\t }\n\n\t if (typeof type === 'object' && type !== null) {\n\t if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n\t // types supported by any Flight configuration anywhere since\n\t // we don't know which Flight build this will end up being used\n\t // with.\n\t type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n\t return true;\n\t }\n\t }\n\n\t return false;\n\t}\n\n\tfunction typeOf(object) {\n\t if (typeof object === 'object' && object !== null) {\n\t var $$typeof = object.$$typeof;\n\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t var type = object.type;\n\n\t switch (type) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t return type;\n\n\t default:\n\t var $$typeofType = type && type.$$typeof;\n\n\t switch ($$typeofType) {\n\t case REACT_SERVER_CONTEXT_TYPE:\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t case REACT_PROVIDER_TYPE:\n\t return $$typeofType;\n\n\t default:\n\t return $$typeof;\n\t }\n\n\t }\n\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\n\t return undefined;\n\t}\n\tvar ContextConsumer = REACT_CONTEXT_TYPE;\n\tvar ContextProvider = REACT_PROVIDER_TYPE;\n\tvar Element = REACT_ELEMENT_TYPE;\n\tvar ForwardRef = REACT_FORWARD_REF_TYPE;\n\tvar Fragment = REACT_FRAGMENT_TYPE;\n\tvar Lazy = REACT_LAZY_TYPE;\n\tvar Memo = REACT_MEMO_TYPE;\n\tvar Portal = REACT_PORTAL_TYPE;\n\tvar Profiler = REACT_PROFILER_TYPE;\n\tvar StrictMode = REACT_STRICT_MODE_TYPE;\n\tvar Suspense = REACT_SUSPENSE_TYPE;\n\tvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\tvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\tvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\n\tfunction isAsyncMode(object) {\n\t {\n\t if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n\t hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n\t console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n\t }\n\t }\n\n\t return false;\n\t}\n\tfunction isConcurrentMode(object) {\n\t {\n\t if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n\t hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n\t console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n\t }\n\t }\n\n\t return false;\n\t}\n\tfunction isContextConsumer(object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t}\n\tfunction isContextProvider(object) {\n\t return typeOf(object) === REACT_PROVIDER_TYPE;\n\t}\n\tfunction isElement(object) {\n\t return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n\t}\n\tfunction isForwardRef(object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t}\n\tfunction isFragment(object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t}\n\tfunction isLazy(object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t}\n\tfunction isMemo(object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t}\n\tfunction isPortal(object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t}\n\tfunction isProfiler(object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t}\n\tfunction isStrictMode(object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t}\n\tfunction isSuspense(object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t}\n\tfunction isSuspenseList(object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t}\n\n\treactIs_development.ContextConsumer = ContextConsumer;\n\treactIs_development.ContextProvider = ContextProvider;\n\treactIs_development.Element = Element;\n\treactIs_development.ForwardRef = ForwardRef;\n\treactIs_development.Fragment = Fragment;\n\treactIs_development.Lazy = Lazy;\n\treactIs_development.Memo = Memo;\n\treactIs_development.Portal = Portal;\n\treactIs_development.Profiler = Profiler;\n\treactIs_development.StrictMode = StrictMode;\n\treactIs_development.Suspense = Suspense;\n\treactIs_development.SuspenseList = SuspenseList;\n\treactIs_development.isAsyncMode = isAsyncMode;\n\treactIs_development.isConcurrentMode = isConcurrentMode;\n\treactIs_development.isContextConsumer = isContextConsumer;\n\treactIs_development.isContextProvider = isContextProvider;\n\treactIs_development.isElement = isElement;\n\treactIs_development.isForwardRef = isForwardRef;\n\treactIs_development.isFragment = isFragment;\n\treactIs_development.isLazy = isLazy;\n\treactIs_development.isMemo = isMemo;\n\treactIs_development.isPortal = isPortal;\n\treactIs_development.isProfiler = isProfiler;\n\treactIs_development.isStrictMode = isStrictMode;\n\treactIs_development.isSuspense = isSuspense;\n\treactIs_development.isSuspenseList = isSuspenseList;\n\treactIs_development.isValidElementType = isValidElementType;\n\treactIs_development.typeOf = typeOf;\n\t })();\n\t}\n\treturn reactIs_development;\n}\n\nvar hasRequiredReactIs;\n\nfunction requireReactIs () {\n\tif (hasRequiredReactIs) return reactIs.exports;\n\thasRequiredReactIs = 1;\n\n\tif (process.env.NODE_ENV === 'production') {\n\t reactIs.exports = requireReactIs_production_min();\n\t} else {\n\t reactIs.exports = requireReactIs_development();\n\t}\n\treturn reactIs.exports;\n}\n\nvar reactIsExports = requireReactIs();\nvar index = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports);\n\nvar ReactIs18 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index\n}, [reactIsExports]);\n\nconst reactIsMethods = [\n \"isAsyncMode\",\n \"isConcurrentMode\",\n \"isContextConsumer\",\n \"isContextProvider\",\n \"isElement\",\n \"isForwardRef\",\n \"isFragment\",\n \"isLazy\",\n \"isMemo\",\n \"isPortal\",\n \"isProfiler\",\n \"isStrictMode\",\n \"isSuspense\",\n \"isSuspenseList\",\n \"isValidElementType\"\n];\nconst ReactIs = Object.fromEntries(\n reactIsMethods.map((m) => [m, (v) => ReactIs18[m](v) || ReactIs19[m](v)])\n);\nfunction getChildren(arg, children = []) {\n if (Array.isArray(arg)) {\n for (const item of arg) {\n getChildren(item, children);\n }\n } else if (arg != null && arg !== false && arg !== \"\") {\n children.push(arg);\n }\n return children;\n}\nfunction getType(element) {\n const type = element.type;\n if (typeof type === \"string\") {\n return type;\n }\n if (typeof type === \"function\") {\n return type.displayName || type.name || \"Unknown\";\n }\n if (ReactIs.isFragment(element)) {\n return \"React.Fragment\";\n }\n if (ReactIs.isSuspense(element)) {\n return \"React.Suspense\";\n }\n if (typeof type === \"object\" && type !== null) {\n if (ReactIs.isContextProvider(element)) {\n return \"Context.Provider\";\n }\n if (ReactIs.isContextConsumer(element)) {\n return \"Context.Consumer\";\n }\n if (ReactIs.isForwardRef(element)) {\n if (type.displayName) {\n return type.displayName;\n }\n const functionName = type.render.displayName || type.render.name || \"\";\n return functionName === \"\" ? \"ForwardRef\" : `ForwardRef(${functionName})`;\n }\n if (ReactIs.isMemo(element)) {\n const functionName = type.displayName || type.type.displayName || type.type.name || \"\";\n return functionName === \"\" ? \"Memo\" : `Memo(${functionName})`;\n }\n }\n return \"UNDEFINED\";\n}\nfunction getPropKeys$1(element) {\n const { props } = element;\n return Object.keys(props).filter((key) => key !== \"children\" && props[key] !== void 0).sort();\n}\nconst serialize$1 = (element, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(getType(element), config) : printElement(\n getType(element),\n printProps(\n getPropKeys$1(element),\n element.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n printChildren(\n getChildren(element.props.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n);\nconst test$1 = (val) => val != null && ReactIs.isElement(val);\nconst plugin$1 = { serialize: serialize$1, test: test$1 };\n\nconst testSymbol = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"react.test.json\") : 245830487;\nfunction getPropKeys(object) {\n const { props } = object;\n return props ? Object.keys(props).filter((key) => props[key] !== void 0).sort() : [];\n}\nconst serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(object.type, config) : printElement(\n object.type,\n object.props ? printProps(\n getPropKeys(object),\n object.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ) : \"\",\n object.children ? printChildren(\n object.children,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ) : \"\",\n config,\n indentation\n);\nconst test = (val) => val && val.$$typeof === testSymbol;\nconst plugin = { serialize, test };\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nfunction getConstructorName(val) {\n return typeof val.constructor === \"function\" && val.constructor.name || \"Object\";\n}\nfunction isWindow(val) {\n return typeof window !== \"undefined\" && val === window;\n}\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/g;\nclass PrettyFormatPluginError extends Error {\n constructor(message, stack) {\n super(message);\n this.stack = stack;\n this.name = this.constructor.name;\n }\n}\nfunction isToStringedArrayType(toStringed) {\n return toStringed === \"[object Array]\" || toStringed === \"[object ArrayBuffer]\" || toStringed === \"[object DataView]\" || toStringed === \"[object Float32Array]\" || toStringed === \"[object Float64Array]\" || toStringed === \"[object Int8Array]\" || toStringed === \"[object Int16Array]\" || toStringed === \"[object Int32Array]\" || toStringed === \"[object Uint8Array]\" || toStringed === \"[object Uint8ClampedArray]\" || toStringed === \"[object Uint16Array]\" || toStringed === \"[object Uint32Array]\";\n}\nfunction printNumber(val) {\n return Object.is(val, -0) ? \"-0\" : String(val);\n}\nfunction printBigInt(val) {\n return String(`${val}n`);\n}\nfunction printFunction(val, printFunctionName) {\n if (!printFunctionName) {\n return \"[Function]\";\n }\n return `[Function ${val.name || \"anonymous\"}]`;\n}\nfunction printSymbol(val) {\n return String(val).replace(SYMBOL_REGEXP, \"Symbol($1)\");\n}\nfunction printError(val) {\n return `[${errorToString.call(val)}]`;\n}\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n if (val === true || val === false) {\n return `${val}`;\n }\n if (val === void 0) {\n return \"undefined\";\n }\n if (val === null) {\n return \"null\";\n }\n const typeOf = typeof val;\n if (typeOf === \"number\") {\n return printNumber(val);\n }\n if (typeOf === \"bigint\") {\n return printBigInt(val);\n }\n if (typeOf === \"string\") {\n if (escapeString) {\n return `\"${val.replaceAll(/\"|\\\\/g, \"\\\\$&\")}\"`;\n }\n return `\"${val}\"`;\n }\n if (typeOf === \"function\") {\n return printFunction(val, printFunctionName);\n }\n if (typeOf === \"symbol\") {\n return printSymbol(val);\n }\n const toStringed = toString.call(val);\n if (toStringed === \"[object WeakMap]\") {\n return \"WeakMap {}\";\n }\n if (toStringed === \"[object WeakSet]\") {\n return \"WeakSet {}\";\n }\n if (toStringed === \"[object Function]\" || toStringed === \"[object GeneratorFunction]\") {\n return printFunction(val, printFunctionName);\n }\n if (toStringed === \"[object Symbol]\") {\n return printSymbol(val);\n }\n if (toStringed === \"[object Date]\") {\n return Number.isNaN(+val) ? \"Date { NaN }\" : toISOString.call(val);\n }\n if (toStringed === \"[object Error]\") {\n return printError(val);\n }\n if (toStringed === \"[object RegExp]\") {\n if (escapeRegex) {\n return regExpToString.call(val).replaceAll(/[$()*+.?[\\\\\\]^{|}]/g, \"\\\\$&\");\n }\n return regExpToString.call(val);\n }\n if (val instanceof Error) {\n return printError(val);\n }\n return null;\n}\nfunction printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON) {\n if (refs.includes(val)) {\n return \"[Circular]\";\n }\n refs = [...refs];\n refs.push(val);\n const hitMaxDepth = ++depth > config.maxDepth;\n const min = config.min;\n if (config.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === \"function\" && !hasCalledToJSON) {\n return printer(val.toJSON(), config, indentation, depth, refs, true);\n }\n const toStringed = toString.call(val);\n if (toStringed === \"[object Arguments]\") {\n return hitMaxDepth ? \"[Arguments]\" : `${min ? \"\" : \"Arguments \"}[${printListItems(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n )}]`;\n }\n if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth ? `[${val.constructor.name}]` : `${min ? \"\" : !config.printBasicPrototype && val.constructor.name === \"Array\" ? \"\" : `${val.constructor.name} `}[${printListItems(val, config, indentation, depth, refs, printer)}]`;\n }\n if (toStringed === \"[object Map]\") {\n return hitMaxDepth ? \"[Map]\" : `Map {${printIteratorEntries(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n \" => \"\n )}}`;\n }\n if (toStringed === \"[object Set]\") {\n return hitMaxDepth ? \"[Set]\" : `Set {${printIteratorValues(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n }\n return hitMaxDepth || isWindow(val) ? `[${getConstructorName(val)}]` : `${min ? \"\" : !config.printBasicPrototype && getConstructorName(val) === \"Object\" ? \"\" : `${getConstructorName(val)} `}{${printObjectProperties(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n )}}`;\n}\nconst ErrorPlugin = {\n test: (val) => val && val instanceof Error,\n serialize(val, config, indentation, depth, refs, printer2) {\n if (refs.includes(val)) {\n return \"[Circular]\";\n }\n refs = [...refs, val];\n const hitMaxDepth = ++depth > config.maxDepth;\n const { message, cause, ...rest } = val;\n const entries = {\n message,\n ...typeof cause !== \"undefined\" ? { cause } : {},\n ...val instanceof AggregateError ? { errors: val.errors } : {},\n ...rest\n };\n const name = val.name !== \"Error\" ? val.name : getConstructorName(val);\n return hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(\n Object.entries(entries).values(),\n config,\n indentation,\n depth,\n refs,\n printer2\n )}}`;\n }\n};\nfunction isNewPlugin(plugin) {\n return plugin.serialize != null;\n}\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n let printed;\n try {\n printed = isNewPlugin(plugin) ? plugin.serialize(val, config, indentation, depth, refs, printer) : plugin.print(\n val,\n (valChild) => printer(valChild, config, indentation, depth, refs),\n (str) => {\n const indentationNext = indentation + config.indent;\n return indentationNext + str.replaceAll(NEWLINE_REGEXP, `\n${indentationNext}`);\n },\n {\n edgeSpacing: config.spacingOuter,\n min: config.min,\n spacing: config.spacingInner\n },\n config.colors\n );\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n if (typeof printed !== \"string\") {\n throw new TypeError(\n `pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`\n );\n }\n return printed;\n}\nfunction findPlugin(plugins2, val) {\n for (const plugin of plugins2) {\n try {\n if (plugin.test(val)) {\n return plugin;\n }\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n }\n return null;\n}\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n const plugin = findPlugin(config.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, config, indentation, depth, refs);\n }\n const basicResult = printBasicValue(\n val,\n config.printFunctionName,\n config.escapeRegex,\n config.escapeString\n );\n if (basicResult !== null) {\n return basicResult;\n }\n return printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n );\n}\nconst DEFAULT_THEME = {\n comment: \"gray\",\n content: \"reset\",\n prop: \"yellow\",\n tag: \"cyan\",\n value: \"green\"\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\nconst DEFAULT_OPTIONS = {\n callToJSON: true,\n compareKeys: void 0,\n escapeRegex: false,\n escapeString: true,\n highlight: false,\n indent: 2,\n maxDepth: Number.POSITIVE_INFINITY,\n maxWidth: Number.POSITIVE_INFINITY,\n min: false,\n plugins: [],\n printBasicPrototype: true,\n printFunctionName: true,\n theme: DEFAULT_THEME\n};\nfunction validateOptions(options) {\n for (const key of Object.keys(options)) {\n if (!Object.prototype.hasOwnProperty.call(DEFAULT_OPTIONS, key)) {\n throw new Error(`pretty-format: Unknown option \"${key}\".`);\n }\n }\n if (options.min && options.indent !== void 0 && options.indent !== 0) {\n throw new Error(\n 'pretty-format: Options \"min\" and \"indent\" cannot be used together.'\n );\n }\n}\nfunction getColorsHighlight() {\n return DEFAULT_THEME_KEYS.reduce((colors, key) => {\n const value = DEFAULT_THEME[key];\n const color = value && styles[value];\n if (color && typeof color.close === \"string\" && typeof color.open === \"string\") {\n colors[key] = color;\n } else {\n throw new Error(\n `pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`\n );\n }\n return colors;\n }, /* @__PURE__ */ Object.create(null));\n}\nfunction getColorsEmpty() {\n return DEFAULT_THEME_KEYS.reduce((colors, key) => {\n colors[key] = { close: \"\", open: \"\" };\n return colors;\n }, /* @__PURE__ */ Object.create(null));\n}\nfunction getPrintFunctionName(options) {\n return (options == null ? void 0 : options.printFunctionName) ?? DEFAULT_OPTIONS.printFunctionName;\n}\nfunction getEscapeRegex(options) {\n return (options == null ? void 0 : options.escapeRegex) ?? DEFAULT_OPTIONS.escapeRegex;\n}\nfunction getEscapeString(options) {\n return (options == null ? void 0 : options.escapeString) ?? DEFAULT_OPTIONS.escapeString;\n}\nfunction getConfig(options) {\n return {\n callToJSON: (options == null ? void 0 : options.callToJSON) ?? DEFAULT_OPTIONS.callToJSON,\n colors: (options == null ? void 0 : options.highlight) ? getColorsHighlight() : getColorsEmpty(),\n compareKeys: typeof (options == null ? void 0 : options.compareKeys) === \"function\" || (options == null ? void 0 : options.compareKeys) === null ? options.compareKeys : DEFAULT_OPTIONS.compareKeys,\n escapeRegex: getEscapeRegex(options),\n escapeString: getEscapeString(options),\n indent: (options == null ? void 0 : options.min) ? \"\" : createIndent((options == null ? void 0 : options.indent) ?? DEFAULT_OPTIONS.indent),\n maxDepth: (options == null ? void 0 : options.maxDepth) ?? DEFAULT_OPTIONS.maxDepth,\n maxWidth: (options == null ? void 0 : options.maxWidth) ?? DEFAULT_OPTIONS.maxWidth,\n min: (options == null ? void 0 : options.min) ?? DEFAULT_OPTIONS.min,\n plugins: (options == null ? void 0 : options.plugins) ?? DEFAULT_OPTIONS.plugins,\n printBasicPrototype: (options == null ? void 0 : options.printBasicPrototype) ?? true,\n printFunctionName: getPrintFunctionName(options),\n spacingInner: (options == null ? void 0 : options.min) ? \" \" : \"\\n\",\n spacingOuter: (options == null ? void 0 : options.min) ? \"\" : \"\\n\"\n };\n}\nfunction createIndent(indent) {\n return Array.from({ length: indent + 1 }).join(\" \");\n}\nfunction format(val, options) {\n if (options) {\n validateOptions(options);\n if (options.plugins) {\n const plugin = findPlugin(options.plugins, val);\n if (plugin !== null) {\n return printPlugin(plugin, val, getConfig(options), \"\", 0, []);\n }\n }\n }\n const basicResult = printBasicValue(\n val,\n getPrintFunctionName(options),\n getEscapeRegex(options),\n getEscapeString(options)\n );\n if (basicResult !== null) {\n return basicResult;\n }\n return printComplexValue(val, getConfig(options), \"\", 0, []);\n}\nconst plugins = {\n AsymmetricMatcher: plugin$5,\n DOMCollection: plugin$4,\n DOMElement: plugin$3,\n Immutable: plugin$2,\n ReactElement: plugin$1,\n ReactTestComponent: plugin,\n Error: ErrorPlugin\n};\n\nexport { DEFAULT_OPTIONS, format, plugins };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import "../../../../chai@5.2.0/node_modules/chai/chai.js";
|
|
|
2
2
|
import { describe, test } from "../../../../@vitest_runner@3.0.9/node_modules/@vitest/runner/dist/index.js";
|
|
3
3
|
import "../../../../@vitest_runner@3.0.9/node_modules/@vitest/runner/dist/utils.js";
|
|
4
4
|
import { require_dist } from "../../../../expect-type@1.2.1/node_modules/expect-type/dist/index.js";
|
|
5
|
-
//#region ../../node_modules/.pnpm/vitest@3.0.9_@types+debug@4.1.13_@types+node@20.19.17_jiti@2.7.0_jsdom@
|
|
5
|
+
//#region ../../node_modules/.pnpm/vitest@3.0.9_@types+debug@4.1.13_@types+node@20.19.17_jiti@2.7.0_jsdom@29.1.1_lightning_c62fa9cfd5255ee94a9655ae033e9be4/node_modules/vitest/dist/index.js
|
|
6
6
|
var import_dist = require_dist();
|
|
7
7
|
//#endregion
|
|
8
8
|
export { describe, import_dist, test };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/vitest@3.0.9_@types+debug@4.1.13_@types+node@20.19.17_jiti@2.7.0_jsdom@
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../node_modules/.pnpm/vitest@3.0.9_@types+debug@4.1.13_@types+node@20.19.17_jiti@2.7.0_jsdom@29.1.1_lightning_c62fa9cfd5255ee94a9655ae033e9be4/node_modules/vitest/dist/index.js"],"sourcesContent":["export { c as createExpect, a as expect, i as inject, v as vi, b as vitest } from './chunks/vi.nSCvwQ7l.js';\nexport { i as isFirstRun, a as runOnce } from './chunks/run-once.2ogXb3JV.js';\nexport { a as assertType, g as getRunningMode, i as isWatchMode } from './chunks/index.D7Ny8f_s.js';\nexport { b as bench } from './chunks/benchmark.DL72EVN-.js';\nexport { expectTypeOf } from 'expect-type';\nexport { afterAll, afterEach, beforeAll, beforeEach, describe, it, onTestFailed, onTestFinished, suite, test } from '@vitest/runner';\nimport * as chai from 'chai';\nexport { chai };\nexport { assert, should } from 'chai';\nimport '@vitest/expect';\nimport '@vitest/runner/utils';\nimport './chunks/utils.C8RiOc4B.js';\nimport '@vitest/utils';\nimport './chunks/_commonjsHelpers.BFTU3MAI.js';\nimport '@vitest/snapshot';\nimport '@vitest/utils/error';\nimport '@vitest/spy';\nimport '@vitest/utils/source-map';\nimport './chunks/date.W2xKR2qe.js';\n"],"x_google_ignoreList":[0],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neon/config-runtime",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.4",
|
|
4
4
|
"description": "Imperative runtime for @neon/config: inspect/plan/apply a neon.ts policy against the Neon API and bundle + deploy Neon Functions. Pulls in esbuild; import this from CLIs and CI, not from neon.ts.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"neon",
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
"tsdown": "^0.14.1",
|
|
48
48
|
"typescript": "^5.9.0",
|
|
49
49
|
"vitest": "^3.0.9",
|
|
50
|
-
"@neon/
|
|
51
|
-
"@neon/
|
|
50
|
+
"@neon/e2e-harness": "0.0.0",
|
|
51
|
+
"@neon/sdk": "7.0.0"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@vercel/nft": "^1.10.2",
|
|
55
55
|
"esbuild": "^0.28.1",
|
|
56
56
|
"fflate": "^0.8.3",
|
|
57
|
-
"@neon/config": "1.8.
|
|
57
|
+
"@neon/config": "1.8.3"
|
|
58
58
|
},
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=20.19.0"
|