@stackline/stable-stringify 1.0.0 → 1.0.1

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/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes are documented here. This project follows Semantic
4
4
  Versioning.
5
5
 
6
+ ## [1.0.1] - 2026-08-16
7
+
8
+ ### Fixed
9
+
10
+ - Canonical object validation no longer consults `Symbol.toStringTag`, so a
11
+ non-enumerable accessor cannot run during strict validation.
12
+ - Canonical arrays now reject enumerable symbol properties with the same
13
+ strict behavior as canonical objects.
14
+ - Documentation versions are rendered from package metadata during builds.
15
+
6
16
  ## [1.0.0] - 2026-08-16
7
17
 
8
18
  ### Added
@@ -20,4 +30,5 @@ Versioning.
20
30
  - 30,000 differential cases against `fast-json-stable-stringify@2.1.0`.
21
31
  - Public documentation, security policy, CI matrix, and live playground.
22
32
 
33
+ [1.0.1]: https://github.com/alexandroit/stackline-stable-stringify/compare/v1.0.0...v1.0.1
23
34
  [1.0.0]: https://github.com/alexandroit/stackline-stable-stringify/releases/tag/v1.0.0
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @stackline/stable-stringify v1.0.0 | MIT */
1
+ /*! @stackline/stable-stringify v1.0.1 | MIT */
2
2
  var StacklineStableStringifyModule = (() => {
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -163,7 +163,10 @@ var StacklineStableStringifyModule = (() => {
163
163
  }
164
164
  enforceDepth(state, task.depth, task.path);
165
165
  const isArray = Array.isArray(value);
166
- if (state.canonical && !isArray) validateCanonicalObject(value, task.path);
166
+ if (state.canonical) {
167
+ rejectEnumerableSymbols(value, task.path);
168
+ if (!isArray) validateCanonicalObject(value, task.path);
169
+ }
167
170
  state.ancestors.set(value, task.path);
168
171
  const frame = createContainerFrame(
169
172
  value,
@@ -266,7 +269,6 @@ ${frame.indent}`, frame.path);
266
269
  keys = state.options.propertyList.slice();
267
270
  }
268
271
  if (state.canonical) {
269
- rejectEnumerableSymbols(value, path);
270
272
  for (const key of keys) {
271
273
  if (hasLoneSurrogate(key)) {
272
274
  throw new CanonicalizationError(
@@ -433,12 +435,6 @@ ${frame.indent}`, frame.path);
433
435
  }
434
436
  function validateCanonicalObject(value, path) {
435
437
  const prototype = Object.getPrototypeOf(value);
436
- if (prototype !== null && objectToString.call(value) !== "[object Object]") {
437
- throw new CanonicalizationError(
438
- "only JSON objects and arrays can be canonicalized",
439
- path
440
- );
441
- }
442
438
  if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {
443
439
  throw new CanonicalizationError(
444
440
  "class instances must be converted to plain JSON objects",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.js"],
4
- "sourcesContent": ["const hasOwn = Object.prototype.hasOwnProperty;\nconst propertyIsEnumerable = Object.prototype.propertyIsEnumerable;\nconst objectToString = Object.prototype.toString;\nconst OMIT = Symbol('omit');\nconst ROOT_PATH = null;\n\nconst SAFE_DEFAULTS = Object.freeze({\n bigint: 'string',\n cycleValue: '[Circular]',\n maxDepth: 100,\n maxEntries: 100000,\n maxLength: 1000000,\n onCycle: 'marker'\n});\n\nconst CANONICAL_DEFAULTS = Object.freeze({\n maxDepth: 1000,\n maxEntries: 100000,\n maxLength: 16 * 1024 * 1024\n});\n\nexport class StableStringifyLimitError extends RangeError {\n constructor(kind, limit, path) {\n const location = formatPath(path);\n super(`Stable stringify ${kind} limit of ${limit} exceeded at ${location}`);\n this.name = 'StableStringifyLimitError';\n this.code = 'ERR_STABLE_STRINGIFY_LIMIT';\n this.kind = kind;\n this.limit = limit;\n this.path = location;\n }\n}\n\nexport class CanonicalizationError extends TypeError {\n constructor(reason, path) {\n const location = formatPath(path);\n super(`JSON canonicalization failed at ${location}: ${reason}`);\n this.name = 'CanonicalizationError';\n this.code = 'ERR_JSON_CANONICALIZATION';\n this.path = location;\n this.reason = reason;\n }\n}\n\nexport function stableStringify(value, inputOptions) {\n const options = normalizeStableOptions(inputOptions);\n return serialize(value, options, false);\n}\n\nexport const stringify = stableStringify;\n\nexport function configure(inputDefaults) {\n const defaults =\n typeof inputDefaults === 'function'\n ? { cmp: inputDefaults }\n : normalizeInputObject(inputDefaults);\n normalizeStableOptions(defaults);\n\n return function configuredStableStringify(value, inputOptions) {\n const overrides =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n return stableStringify(value, { ...defaults, ...overrides });\n };\n}\n\nexport function safeStringify(value, replacer, space, inputOptions) {\n const options = normalizeInputObject(inputOptions);\n const stableOptions = {\n ...SAFE_DEFAULTS,\n ...options,\n maxDepth:\n options.maxDepth === undefined ? options.depthLimit : options.maxDepth,\n maxEntries:\n options.maxEntries === undefined ? options.edgesLimit : options.maxEntries,\n replacer: replacer === undefined ? options.replacer : replacer,\n space: space === undefined ? options.space : space\n };\n\n if (stableOptions.maxDepth === undefined) {\n stableOptions.maxDepth = SAFE_DEFAULTS.maxDepth;\n }\n if (stableOptions.maxEntries === undefined) {\n stableOptions.maxEntries = SAFE_DEFAULTS.maxEntries;\n }\n\n try {\n return stableStringify(value, stableOptions);\n } catch (error) {\n if (options.throwOnError === true) throw error;\n let name = 'UnknownError';\n try {\n if (error && typeof error.name === 'string') {\n name = error.name.slice(0, 80);\n }\n } catch {\n // A thrown value can expose hostile accessors of its own.\n }\n return JSON.stringify(`[Unable to serialize: ${name}]`);\n }\n}\n\nexport function canonicalize(value, inputOptions) {\n const options = normalizeCanonicalOptions(inputOptions);\n return serialize(value, options, true);\n}\n\nexport function canonicalizeBytes(value, inputOptions) {\n return encodeUtf8(canonicalize(value, inputOptions));\n}\n\nfunction serialize(rootValue, options, canonical) {\n const state = {\n ancestors: new WeakMap(),\n canonical,\n chunks: [],\n entries: 0,\n length: 0,\n options\n };\n const holder = { '': rootValue };\n const prepared = prepareValue(rootValue, holder, '', ROOT_PATH, state);\n\n if (prepared === OMIT) return undefined;\n\n const tasks = [\n {\n depth: 0,\n path: ROOT_PATH,\n prepared,\n type: 'value'\n }\n ];\n\n while (tasks.length > 0) {\n const task = tasks.pop();\n if (task.type === 'value') {\n processValueTask(task, tasks, state);\n } else {\n processContainerTask(task, tasks, state);\n }\n }\n\n return state.chunks.join('');\n}\n\nfunction processValueTask(task, tasks, state) {\n if (task.prepared.kind === 'primitive') {\n append(state, task.prepared.text, task.path);\n return;\n }\n\n const value = task.prepared.value;\n const previousPath = state.ancestors.get(value);\n if (previousPath !== undefined || state.ancestors.has(value)) {\n appendCycle(state, previousPath, task.path);\n return;\n }\n\n enforceDepth(state, task.depth, task.path);\n const isArray = Array.isArray(value);\n if (state.canonical && !isArray) validateCanonicalObject(value, task.path);\n\n state.ancestors.set(value, task.path);\n const frame = createContainerFrame(\n value,\n isArray,\n task.depth,\n task.path,\n state\n );\n append(state, isArray ? '[' : '{', task.path);\n\n if (frame.total === 0) {\n append(state, isArray ? ']' : '}', task.path);\n state.ancestors.delete(value);\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction processContainerTask(frame, tasks, state) {\n if (frame.index >= frame.total) {\n if (frame.emitted && state.options.gap !== '') {\n append(state, `\\n${frame.indent}`, frame.path);\n }\n append(state, frame.isArray ? ']' : '}', frame.path);\n state.ancestors.delete(frame.value);\n return;\n }\n\n if (frame.isArray) {\n const index = frame.index;\n frame.index += 1;\n const path = createPath(frame.path, index);\n consumeEntry(state, path);\n const rawValue = readArrayValue(frame.value, index, path, state);\n let prepared = prepareValue(\n rawValue,\n frame.value,\n String(index),\n path,\n state\n );\n if (prepared === OMIT) prepared = primitive('null');\n\n appendItemPrefix(frame, path, state);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n while (frame.index < frame.total) {\n const key = frame.keys[frame.index];\n frame.index += 1;\n const path = createPath(frame.path, key);\n consumeEntry(state, path);\n const rawValue = readObjectValue(frame.value, key, path, state);\n const prepared = prepareValue(rawValue, frame.value, key, path, state);\n if (prepared === OMIT) continue;\n\n appendItemPrefix(frame, path, state);\n append(state, JSON.stringify(key), path);\n append(state, state.options.gap === '' ? ':' : ': ', path);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction createContainerFrame(value, isArray, depth, path, state) {\n let keys;\n let total;\n\n if (isArray) {\n total = value.length;\n } else {\n keys = getObjectKeys(value, path, state);\n total = keys.length;\n }\n\n return {\n depth,\n emitted: false,\n indent:\n state.options.gap === '' ? '' : state.options.gap.repeat(depth),\n index: 0,\n isArray,\n keys,\n path,\n total,\n type: 'container',\n value\n };\n}\n\nfunction getObjectKeys(value, path, state) {\n let keys;\n if (state.canonical || state.options.propertyList === undefined) {\n keys = Object.keys(value);\n } else {\n keys = state.options.propertyList.slice();\n }\n\n if (state.canonical) {\n rejectEnumerableSymbols(value, path);\n for (const key of keys) {\n if (hasLoneSurrogate(key)) {\n throw new CanonicalizationError(\n 'property names must not contain lone UTF-16 surrogates',\n createPath(path, key)\n );\n }\n }\n return keys.sort();\n }\n\n if (state.options.accessors !== 'invoke') {\n keys = keys.filter((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || (!descriptor.get && !descriptor.set)) return true;\n if (state.options.accessors === 'throw') {\n throw new TypeError(\n `Refusing to invoke accessor at ${formatPath(createPath(path, key))}`\n );\n }\n return false;\n });\n }\n\n if (state.options.cmp) {\n const comparator = state.options.cmp;\n keys.sort((left, right) =>\n comparator(\n { key: left, value: readForComparator(value, left, path, state) },\n { key: right, value: readForComparator(value, right, path, state) }\n )\n );\n } else {\n keys.sort();\n }\n return keys;\n}\n\nfunction prepareValue(rawValue, holder, key, path, state) {\n if (state.canonical) return prepareCanonicalValue(rawValue, path);\n\n let value = rawValue;\n if (state.options.toJSON && value !== null && value !== undefined) {\n const method = value.toJSON;\n if (typeof method === 'function') value = method.call(value);\n }\n\n if (state.options.replacerFunction) {\n value = state.options.replacerFunction.call(holder, key, value);\n }\n\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n return primitive(JSON.stringify(value));\n case 'number':\n return primitive(Number.isFinite(value) ? String(value) : 'null');\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'bigint':\n return prepareBigInt(value, state.options.bigint, path);\n case 'object':\n return { kind: 'object', value };\n default:\n return OMIT;\n }\n}\n\nfunction prepareCanonicalValue(value, path) {\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n if (hasLoneSurrogate(value)) {\n throw new CanonicalizationError(\n 'strings must not contain lone UTF-16 surrogates',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'number':\n if (!Number.isFinite(value)) {\n throw new CanonicalizationError(\n 'NaN and Infinity are not valid I-JSON numbers',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'object':\n return { kind: 'object', value };\n case 'bigint':\n throw new CanonicalizationError(\n 'BigInt values must be represented as JSON strings',\n path\n );\n default:\n throw new CanonicalizationError(\n `values of type ${typeof value} are not valid JSON data`,\n path\n );\n }\n}\n\nfunction prepareBigInt(value, mode, path) {\n if (mode === 'string') return primitive(JSON.stringify(String(value)));\n if (mode === 'number') {\n const number = Number(value);\n if (!Number.isSafeInteger(number)) {\n throw new RangeError(\n `BigInt at ${formatPath(path)} cannot be represented as a safe JSON number`\n );\n }\n return primitive(String(number));\n }\n throw new TypeError('Do not know how to serialize a BigInt');\n}\n\nfunction primitive(text) {\n return { kind: 'primitive', text };\n}\n\nfunction readArrayValue(array, index, path, state) {\n if (state.canonical) {\n if (!hasOwn.call(array, index)) {\n throw new CanonicalizationError(\n 'sparse arrays are not valid I-JSON data',\n path\n );\n }\n return readCanonicalDescriptor(array, String(index), path);\n }\n return readStableProperty(array, String(index), path, state.options.accessors);\n}\n\nfunction readObjectValue(object, key, path, state) {\n if (state.canonical) return readCanonicalDescriptor(object, key, path);\n return readStableProperty(object, key, path, state.options.accessors);\n}\n\nfunction readCanonicalDescriptor(object, key, path) {\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (!descriptor || descriptor.get || descriptor.set) {\n throw new CanonicalizationError(\n 'accessor properties are not valid canonical JSON input',\n path\n );\n }\n return descriptor.value;\n}\n\nfunction readStableProperty(object, key, path, accessors) {\n if (accessors === 'invoke') return object[key];\n\n const seen = new WeakSet();\n let current = object;\n while (current !== null && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor) {\n if (!descriptor.get && !descriptor.set) return descriptor.value;\n if (accessors === 'throw') {\n throw new TypeError(`Refusing to invoke accessor at ${formatPath(path)}`);\n }\n return undefined;\n }\n current = Object.getPrototypeOf(current);\n }\n return undefined;\n}\n\nfunction readForComparator(object, key, path, state) {\n return readStableProperty(\n object,\n key,\n createPath(path, key),\n state.options.accessors\n );\n}\n\nfunction validateCanonicalObject(value, path) {\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && objectToString.call(value) !== '[object Object]') {\n throw new CanonicalizationError(\n 'only JSON objects and arrays can be canonicalized',\n path\n );\n }\n if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {\n throw new CanonicalizationError(\n 'class instances must be converted to plain JSON objects',\n path\n );\n }\n}\n\nfunction rejectEnumerableSymbols(value, path) {\n if (typeof Object.getOwnPropertySymbols !== 'function') return;\n const symbols = Object.getOwnPropertySymbols(value);\n if (symbols.some((symbol) => propertyIsEnumerable.call(value, symbol))) {\n throw new CanonicalizationError(\n 'symbol properties are not valid JSON object members',\n path\n );\n }\n}\n\nfunction appendItemPrefix(frame, path, state) {\n if (state.options.gap === '') {\n if (frame.emitted) append(state, ',', path);\n } else {\n const indentation = state.options.gap.repeat(frame.depth + 1);\n append(state, frame.emitted ? `,\\n${indentation}` : `\\n${indentation}`, path);\n }\n frame.emitted = true;\n}\n\nfunction appendCycle(state, previousPath, currentPath) {\n if (state.canonical) {\n throw new CanonicalizationError('circular references are not valid JSON', currentPath);\n }\n\n switch (state.options.onCycle) {\n case 'marker':\n append(state, JSON.stringify(state.options.cycleValue), currentPath);\n return;\n case 'path':\n append(\n state,\n JSON.stringify(`[Circular ${formatPath(previousPath)}]`),\n currentPath\n );\n return;\n case 'null':\n append(state, 'null', currentPath);\n return;\n default:\n throw new TypeError('Converting circular structure to JSON');\n }\n}\n\nfunction append(state, text, path) {\n const nextLength = state.length + text.length;\n if (nextLength > state.options.maxLength) {\n throw new StableStringifyLimitError(\n 'length',\n state.options.maxLength,\n path\n );\n }\n state.length = nextLength;\n state.chunks.push(text);\n}\n\nfunction enforceDepth(state, depth, path) {\n if (depth > state.options.maxDepth) {\n throw new StableStringifyLimitError(\n 'depth',\n state.options.maxDepth,\n path\n );\n }\n}\n\nfunction consumeEntry(state, path) {\n state.entries += 1;\n if (state.entries > state.options.maxEntries) {\n throw new StableStringifyLimitError(\n 'entry',\n state.options.maxEntries,\n path\n );\n }\n}\n\nfunction normalizeStableOptions(inputOptions) {\n const input =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n\n if (input.cmp !== undefined && typeof input.cmp !== 'function') {\n throw new TypeError('cmp must be a function');\n }\n if (input.cycles !== undefined && typeof input.cycles !== 'boolean') {\n throw new TypeError('cycles must be a boolean');\n }\n if (\n input.replacer !== undefined &&\n input.replacer !== null &&\n typeof input.replacer !== 'function' &&\n !Array.isArray(input.replacer)\n ) {\n throw new TypeError('replacer must be a function or an array');\n }\n\n const onCycle =\n input.onCycle === undefined\n ? input.cycles === true\n ? 'marker'\n : 'throw'\n : input.onCycle;\n if (!['throw', 'marker', 'path', 'null'].includes(onCycle)) {\n throw new TypeError(\n \"onCycle must be 'throw', 'marker', 'path', or 'null'\"\n );\n }\n\n const bigint = input.bigint === undefined ? 'throw' : input.bigint;\n if (!['throw', 'string', 'number'].includes(bigint)) {\n throw new TypeError(\"bigint must be 'throw', 'string', or 'number'\");\n }\n\n const accessors = input.accessors === undefined ? 'invoke' : input.accessors;\n if (!['invoke', 'omit', 'throw'].includes(accessors)) {\n throw new TypeError(\"accessors must be 'invoke', 'omit', or 'throw'\");\n }\n\n if (input.toJSON !== undefined && typeof input.toJSON !== 'boolean') {\n throw new TypeError('toJSON must be a boolean');\n }\n if (\n input.cycleValue !== undefined &&\n typeof input.cycleValue !== 'string'\n ) {\n throw new TypeError('cycleValue must be a string');\n }\n\n return {\n accessors,\n bigint,\n cmp: input.cmp,\n cycleValue:\n input.cycleValue === undefined ? '__cycle__' : input.cycleValue,\n gap: normalizeGap(input.space),\n maxDepth: normalizeLimit(input.maxDepth, Infinity, 'maxDepth'),\n maxEntries: normalizeLimit(input.maxEntries, Infinity, 'maxEntries'),\n maxLength: normalizeLimit(input.maxLength, Infinity, 'maxLength'),\n onCycle,\n propertyList: Array.isArray(input.replacer)\n ? normalizePropertyList(input.replacer)\n : undefined,\n replacerFunction:\n typeof input.replacer === 'function' ? input.replacer : undefined,\n toJSON: input.toJSON === undefined ? true : input.toJSON\n };\n}\n\nfunction normalizeCanonicalOptions(inputOptions) {\n const input = normalizeInputObject(inputOptions);\n return {\n accessors: 'throw',\n bigint: 'throw',\n cmp: undefined,\n cycleValue: '',\n gap: '',\n maxDepth: normalizeLimit(\n input.maxDepth,\n CANONICAL_DEFAULTS.maxDepth,\n 'maxDepth'\n ),\n maxEntries: normalizeLimit(\n input.maxEntries,\n CANONICAL_DEFAULTS.maxEntries,\n 'maxEntries'\n ),\n maxLength: normalizeLimit(\n input.maxLength,\n CANONICAL_DEFAULTS.maxLength,\n 'maxLength'\n ),\n onCycle: 'throw',\n propertyList: undefined,\n replacerFunction: undefined,\n toJSON: false\n };\n}\n\nfunction normalizeInputObject(value) {\n if (value === undefined || value === null) return {};\n if (typeof value !== 'object') {\n throw new TypeError('options must be an object when provided');\n }\n return { ...value };\n}\n\nfunction normalizeLimit(value, fallback, name) {\n const resolved = value === undefined ? fallback : value;\n if (resolved === Infinity) return resolved;\n if (!Number.isSafeInteger(resolved) || resolved < 0) {\n throw new TypeError(\n `${name} must be a non-negative safe integer or Infinity`\n );\n }\n return resolved;\n}\n\nfunction normalizeGap(space) {\n if (typeof space === 'number') {\n return ' '.repeat(Math.min(10, Math.max(0, Math.trunc(space))));\n }\n if (typeof space === 'string') return space.slice(0, 10);\n return '';\n}\n\nfunction normalizePropertyList(input) {\n const output = [];\n const seen = new Set();\n for (const item of input) {\n let key;\n if (typeof item === 'string' || typeof item === 'number') {\n key = String(item);\n } else if (\n item &&\n (objectToString.call(item) === '[object String]' ||\n objectToString.call(item) === '[object Number]')\n ) {\n key = String(item);\n }\n if (key !== undefined && !seen.has(key)) {\n seen.add(key);\n output.push(key);\n }\n }\n return output;\n}\n\nfunction hasLoneSurrogate(value) {\n for (let index = 0; index < value.length; index += 1) {\n const code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n if (!(next >= 0xdc00 && next <= 0xdfff)) return true;\n index += 1;\n } else if (code >= 0xdc00 && code <= 0xdfff) {\n return true;\n }\n }\n return false;\n}\n\nfunction createPath(parent, key) {\n return { key, parent };\n}\n\nfunction formatPath(path) {\n if (path === ROOT_PATH) return '<root>';\n const parts = [];\n let current = path;\n while (current !== ROOT_PATH) {\n parts.push(current.key);\n current = current.parent;\n }\n parts.reverse();\n\n let output = '<root>';\n for (const part of parts) {\n if (typeof part === 'number') {\n output += `[${part}]`;\n } else if (/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(part)) {\n output += `.${part}`;\n } else {\n output += `[${JSON.stringify(part)}]`;\n }\n }\n return output;\n}\n\nfunction encodeUtf8(value) {\n if (typeof TextEncoder === 'function') return new TextEncoder().encode(value);\n\n const bytes = [];\n for (let index = 0; index < value.length; index += 1) {\n let code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n code = ((code - 0xd800) << 10) + (next - 0xdc00) + 0x10000;\n index += 1;\n }\n\n if (code <= 0x7f) {\n bytes.push(code);\n } else if (code <= 0x7ff) {\n bytes.push(0xc0 | (code >> 6), 0x80 | (code & 0x3f));\n } else if (code <= 0xffff) {\n bytes.push(\n 0xe0 | (code >> 12),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n } else {\n bytes.push(\n 0xf0 | (code >> 18),\n 0x80 | ((code >> 12) & 0x3f),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n }\n }\n return Uint8Array.from(bytes);\n}\n\nObject.defineProperties(stableStringify, {\n CanonicalizationError: { value: CanonicalizationError },\n StableStringifyLimitError: { value: StableStringifyLimitError },\n canonicalize: { value: canonicalize },\n canonicalizeBytes: { value: canonicalizeBytes },\n configure: { value: configure },\n default: { value: stableStringify },\n safeStringify: { value: safeStringify },\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify },\n stringify: { value: stableStringify }\n});\n\nObject.defineProperties(safeStringify, {\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify }\n});\n\nexport default stableStringify;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["const hasOwn = Object.prototype.hasOwnProperty;\nconst propertyIsEnumerable = Object.prototype.propertyIsEnumerable;\nconst objectToString = Object.prototype.toString;\nconst OMIT = Symbol('omit');\nconst ROOT_PATH = null;\n\nconst SAFE_DEFAULTS = Object.freeze({\n bigint: 'string',\n cycleValue: '[Circular]',\n maxDepth: 100,\n maxEntries: 100000,\n maxLength: 1000000,\n onCycle: 'marker'\n});\n\nconst CANONICAL_DEFAULTS = Object.freeze({\n maxDepth: 1000,\n maxEntries: 100000,\n maxLength: 16 * 1024 * 1024\n});\n\nexport class StableStringifyLimitError extends RangeError {\n constructor(kind, limit, path) {\n const location = formatPath(path);\n super(`Stable stringify ${kind} limit of ${limit} exceeded at ${location}`);\n this.name = 'StableStringifyLimitError';\n this.code = 'ERR_STABLE_STRINGIFY_LIMIT';\n this.kind = kind;\n this.limit = limit;\n this.path = location;\n }\n}\n\nexport class CanonicalizationError extends TypeError {\n constructor(reason, path) {\n const location = formatPath(path);\n super(`JSON canonicalization failed at ${location}: ${reason}`);\n this.name = 'CanonicalizationError';\n this.code = 'ERR_JSON_CANONICALIZATION';\n this.path = location;\n this.reason = reason;\n }\n}\n\nexport function stableStringify(value, inputOptions) {\n const options = normalizeStableOptions(inputOptions);\n return serialize(value, options, false);\n}\n\nexport const stringify = stableStringify;\n\nexport function configure(inputDefaults) {\n const defaults =\n typeof inputDefaults === 'function'\n ? { cmp: inputDefaults }\n : normalizeInputObject(inputDefaults);\n normalizeStableOptions(defaults);\n\n return function configuredStableStringify(value, inputOptions) {\n const overrides =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n return stableStringify(value, { ...defaults, ...overrides });\n };\n}\n\nexport function safeStringify(value, replacer, space, inputOptions) {\n const options = normalizeInputObject(inputOptions);\n const stableOptions = {\n ...SAFE_DEFAULTS,\n ...options,\n maxDepth:\n options.maxDepth === undefined ? options.depthLimit : options.maxDepth,\n maxEntries:\n options.maxEntries === undefined ? options.edgesLimit : options.maxEntries,\n replacer: replacer === undefined ? options.replacer : replacer,\n space: space === undefined ? options.space : space\n };\n\n if (stableOptions.maxDepth === undefined) {\n stableOptions.maxDepth = SAFE_DEFAULTS.maxDepth;\n }\n if (stableOptions.maxEntries === undefined) {\n stableOptions.maxEntries = SAFE_DEFAULTS.maxEntries;\n }\n\n try {\n return stableStringify(value, stableOptions);\n } catch (error) {\n if (options.throwOnError === true) throw error;\n let name = 'UnknownError';\n try {\n if (error && typeof error.name === 'string') {\n name = error.name.slice(0, 80);\n }\n } catch {\n // A thrown value can expose hostile accessors of its own.\n }\n return JSON.stringify(`[Unable to serialize: ${name}]`);\n }\n}\n\nexport function canonicalize(value, inputOptions) {\n const options = normalizeCanonicalOptions(inputOptions);\n return serialize(value, options, true);\n}\n\nexport function canonicalizeBytes(value, inputOptions) {\n return encodeUtf8(canonicalize(value, inputOptions));\n}\n\nfunction serialize(rootValue, options, canonical) {\n const state = {\n ancestors: new WeakMap(),\n canonical,\n chunks: [],\n entries: 0,\n length: 0,\n options\n };\n const holder = { '': rootValue };\n const prepared = prepareValue(rootValue, holder, '', ROOT_PATH, state);\n\n if (prepared === OMIT) return undefined;\n\n const tasks = [\n {\n depth: 0,\n path: ROOT_PATH,\n prepared,\n type: 'value'\n }\n ];\n\n while (tasks.length > 0) {\n const task = tasks.pop();\n if (task.type === 'value') {\n processValueTask(task, tasks, state);\n } else {\n processContainerTask(task, tasks, state);\n }\n }\n\n return state.chunks.join('');\n}\n\nfunction processValueTask(task, tasks, state) {\n if (task.prepared.kind === 'primitive') {\n append(state, task.prepared.text, task.path);\n return;\n }\n\n const value = task.prepared.value;\n const previousPath = state.ancestors.get(value);\n if (previousPath !== undefined || state.ancestors.has(value)) {\n appendCycle(state, previousPath, task.path);\n return;\n }\n\n enforceDepth(state, task.depth, task.path);\n const isArray = Array.isArray(value);\n if (state.canonical) {\n rejectEnumerableSymbols(value, task.path);\n if (!isArray) validateCanonicalObject(value, task.path);\n }\n\n state.ancestors.set(value, task.path);\n const frame = createContainerFrame(\n value,\n isArray,\n task.depth,\n task.path,\n state\n );\n append(state, isArray ? '[' : '{', task.path);\n\n if (frame.total === 0) {\n append(state, isArray ? ']' : '}', task.path);\n state.ancestors.delete(value);\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction processContainerTask(frame, tasks, state) {\n if (frame.index >= frame.total) {\n if (frame.emitted && state.options.gap !== '') {\n append(state, `\\n${frame.indent}`, frame.path);\n }\n append(state, frame.isArray ? ']' : '}', frame.path);\n state.ancestors.delete(frame.value);\n return;\n }\n\n if (frame.isArray) {\n const index = frame.index;\n frame.index += 1;\n const path = createPath(frame.path, index);\n consumeEntry(state, path);\n const rawValue = readArrayValue(frame.value, index, path, state);\n let prepared = prepareValue(\n rawValue,\n frame.value,\n String(index),\n path,\n state\n );\n if (prepared === OMIT) prepared = primitive('null');\n\n appendItemPrefix(frame, path, state);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n while (frame.index < frame.total) {\n const key = frame.keys[frame.index];\n frame.index += 1;\n const path = createPath(frame.path, key);\n consumeEntry(state, path);\n const rawValue = readObjectValue(frame.value, key, path, state);\n const prepared = prepareValue(rawValue, frame.value, key, path, state);\n if (prepared === OMIT) continue;\n\n appendItemPrefix(frame, path, state);\n append(state, JSON.stringify(key), path);\n append(state, state.options.gap === '' ? ':' : ': ', path);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction createContainerFrame(value, isArray, depth, path, state) {\n let keys;\n let total;\n\n if (isArray) {\n total = value.length;\n } else {\n keys = getObjectKeys(value, path, state);\n total = keys.length;\n }\n\n return {\n depth,\n emitted: false,\n indent:\n state.options.gap === '' ? '' : state.options.gap.repeat(depth),\n index: 0,\n isArray,\n keys,\n path,\n total,\n type: 'container',\n value\n };\n}\n\nfunction getObjectKeys(value, path, state) {\n let keys;\n if (state.canonical || state.options.propertyList === undefined) {\n keys = Object.keys(value);\n } else {\n keys = state.options.propertyList.slice();\n }\n\n if (state.canonical) {\n for (const key of keys) {\n if (hasLoneSurrogate(key)) {\n throw new CanonicalizationError(\n 'property names must not contain lone UTF-16 surrogates',\n createPath(path, key)\n );\n }\n }\n return keys.sort();\n }\n\n if (state.options.accessors !== 'invoke') {\n keys = keys.filter((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || (!descriptor.get && !descriptor.set)) return true;\n if (state.options.accessors === 'throw') {\n throw new TypeError(\n `Refusing to invoke accessor at ${formatPath(createPath(path, key))}`\n );\n }\n return false;\n });\n }\n\n if (state.options.cmp) {\n const comparator = state.options.cmp;\n keys.sort((left, right) =>\n comparator(\n { key: left, value: readForComparator(value, left, path, state) },\n { key: right, value: readForComparator(value, right, path, state) }\n )\n );\n } else {\n keys.sort();\n }\n return keys;\n}\n\nfunction prepareValue(rawValue, holder, key, path, state) {\n if (state.canonical) return prepareCanonicalValue(rawValue, path);\n\n let value = rawValue;\n if (state.options.toJSON && value !== null && value !== undefined) {\n const method = value.toJSON;\n if (typeof method === 'function') value = method.call(value);\n }\n\n if (state.options.replacerFunction) {\n value = state.options.replacerFunction.call(holder, key, value);\n }\n\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n return primitive(JSON.stringify(value));\n case 'number':\n return primitive(Number.isFinite(value) ? String(value) : 'null');\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'bigint':\n return prepareBigInt(value, state.options.bigint, path);\n case 'object':\n return { kind: 'object', value };\n default:\n return OMIT;\n }\n}\n\nfunction prepareCanonicalValue(value, path) {\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n if (hasLoneSurrogate(value)) {\n throw new CanonicalizationError(\n 'strings must not contain lone UTF-16 surrogates',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'number':\n if (!Number.isFinite(value)) {\n throw new CanonicalizationError(\n 'NaN and Infinity are not valid I-JSON numbers',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'object':\n return { kind: 'object', value };\n case 'bigint':\n throw new CanonicalizationError(\n 'BigInt values must be represented as JSON strings',\n path\n );\n default:\n throw new CanonicalizationError(\n `values of type ${typeof value} are not valid JSON data`,\n path\n );\n }\n}\n\nfunction prepareBigInt(value, mode, path) {\n if (mode === 'string') return primitive(JSON.stringify(String(value)));\n if (mode === 'number') {\n const number = Number(value);\n if (!Number.isSafeInteger(number)) {\n throw new RangeError(\n `BigInt at ${formatPath(path)} cannot be represented as a safe JSON number`\n );\n }\n return primitive(String(number));\n }\n throw new TypeError('Do not know how to serialize a BigInt');\n}\n\nfunction primitive(text) {\n return { kind: 'primitive', text };\n}\n\nfunction readArrayValue(array, index, path, state) {\n if (state.canonical) {\n if (!hasOwn.call(array, index)) {\n throw new CanonicalizationError(\n 'sparse arrays are not valid I-JSON data',\n path\n );\n }\n return readCanonicalDescriptor(array, String(index), path);\n }\n return readStableProperty(array, String(index), path, state.options.accessors);\n}\n\nfunction readObjectValue(object, key, path, state) {\n if (state.canonical) return readCanonicalDescriptor(object, key, path);\n return readStableProperty(object, key, path, state.options.accessors);\n}\n\nfunction readCanonicalDescriptor(object, key, path) {\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (!descriptor || descriptor.get || descriptor.set) {\n throw new CanonicalizationError(\n 'accessor properties are not valid canonical JSON input',\n path\n );\n }\n return descriptor.value;\n}\n\nfunction readStableProperty(object, key, path, accessors) {\n if (accessors === 'invoke') return object[key];\n\n const seen = new WeakSet();\n let current = object;\n while (current !== null && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor) {\n if (!descriptor.get && !descriptor.set) return descriptor.value;\n if (accessors === 'throw') {\n throw new TypeError(`Refusing to invoke accessor at ${formatPath(path)}`);\n }\n return undefined;\n }\n current = Object.getPrototypeOf(current);\n }\n return undefined;\n}\n\nfunction readForComparator(object, key, path, state) {\n return readStableProperty(\n object,\n key,\n createPath(path, key),\n state.options.accessors\n );\n}\n\nfunction validateCanonicalObject(value, path) {\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {\n throw new CanonicalizationError(\n 'class instances must be converted to plain JSON objects',\n path\n );\n }\n}\n\nfunction rejectEnumerableSymbols(value, path) {\n if (typeof Object.getOwnPropertySymbols !== 'function') return;\n const symbols = Object.getOwnPropertySymbols(value);\n if (symbols.some((symbol) => propertyIsEnumerable.call(value, symbol))) {\n throw new CanonicalizationError(\n 'symbol properties are not valid JSON object members',\n path\n );\n }\n}\n\nfunction appendItemPrefix(frame, path, state) {\n if (state.options.gap === '') {\n if (frame.emitted) append(state, ',', path);\n } else {\n const indentation = state.options.gap.repeat(frame.depth + 1);\n append(state, frame.emitted ? `,\\n${indentation}` : `\\n${indentation}`, path);\n }\n frame.emitted = true;\n}\n\nfunction appendCycle(state, previousPath, currentPath) {\n if (state.canonical) {\n throw new CanonicalizationError('circular references are not valid JSON', currentPath);\n }\n\n switch (state.options.onCycle) {\n case 'marker':\n append(state, JSON.stringify(state.options.cycleValue), currentPath);\n return;\n case 'path':\n append(\n state,\n JSON.stringify(`[Circular ${formatPath(previousPath)}]`),\n currentPath\n );\n return;\n case 'null':\n append(state, 'null', currentPath);\n return;\n default:\n throw new TypeError('Converting circular structure to JSON');\n }\n}\n\nfunction append(state, text, path) {\n const nextLength = state.length + text.length;\n if (nextLength > state.options.maxLength) {\n throw new StableStringifyLimitError(\n 'length',\n state.options.maxLength,\n path\n );\n }\n state.length = nextLength;\n state.chunks.push(text);\n}\n\nfunction enforceDepth(state, depth, path) {\n if (depth > state.options.maxDepth) {\n throw new StableStringifyLimitError(\n 'depth',\n state.options.maxDepth,\n path\n );\n }\n}\n\nfunction consumeEntry(state, path) {\n state.entries += 1;\n if (state.entries > state.options.maxEntries) {\n throw new StableStringifyLimitError(\n 'entry',\n state.options.maxEntries,\n path\n );\n }\n}\n\nfunction normalizeStableOptions(inputOptions) {\n const input =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n\n if (input.cmp !== undefined && typeof input.cmp !== 'function') {\n throw new TypeError('cmp must be a function');\n }\n if (input.cycles !== undefined && typeof input.cycles !== 'boolean') {\n throw new TypeError('cycles must be a boolean');\n }\n if (\n input.replacer !== undefined &&\n input.replacer !== null &&\n typeof input.replacer !== 'function' &&\n !Array.isArray(input.replacer)\n ) {\n throw new TypeError('replacer must be a function or an array');\n }\n\n const onCycle =\n input.onCycle === undefined\n ? input.cycles === true\n ? 'marker'\n : 'throw'\n : input.onCycle;\n if (!['throw', 'marker', 'path', 'null'].includes(onCycle)) {\n throw new TypeError(\n \"onCycle must be 'throw', 'marker', 'path', or 'null'\"\n );\n }\n\n const bigint = input.bigint === undefined ? 'throw' : input.bigint;\n if (!['throw', 'string', 'number'].includes(bigint)) {\n throw new TypeError(\"bigint must be 'throw', 'string', or 'number'\");\n }\n\n const accessors = input.accessors === undefined ? 'invoke' : input.accessors;\n if (!['invoke', 'omit', 'throw'].includes(accessors)) {\n throw new TypeError(\"accessors must be 'invoke', 'omit', or 'throw'\");\n }\n\n if (input.toJSON !== undefined && typeof input.toJSON !== 'boolean') {\n throw new TypeError('toJSON must be a boolean');\n }\n if (\n input.cycleValue !== undefined &&\n typeof input.cycleValue !== 'string'\n ) {\n throw new TypeError('cycleValue must be a string');\n }\n\n return {\n accessors,\n bigint,\n cmp: input.cmp,\n cycleValue:\n input.cycleValue === undefined ? '__cycle__' : input.cycleValue,\n gap: normalizeGap(input.space),\n maxDepth: normalizeLimit(input.maxDepth, Infinity, 'maxDepth'),\n maxEntries: normalizeLimit(input.maxEntries, Infinity, 'maxEntries'),\n maxLength: normalizeLimit(input.maxLength, Infinity, 'maxLength'),\n onCycle,\n propertyList: Array.isArray(input.replacer)\n ? normalizePropertyList(input.replacer)\n : undefined,\n replacerFunction:\n typeof input.replacer === 'function' ? input.replacer : undefined,\n toJSON: input.toJSON === undefined ? true : input.toJSON\n };\n}\n\nfunction normalizeCanonicalOptions(inputOptions) {\n const input = normalizeInputObject(inputOptions);\n return {\n accessors: 'throw',\n bigint: 'throw',\n cmp: undefined,\n cycleValue: '',\n gap: '',\n maxDepth: normalizeLimit(\n input.maxDepth,\n CANONICAL_DEFAULTS.maxDepth,\n 'maxDepth'\n ),\n maxEntries: normalizeLimit(\n input.maxEntries,\n CANONICAL_DEFAULTS.maxEntries,\n 'maxEntries'\n ),\n maxLength: normalizeLimit(\n input.maxLength,\n CANONICAL_DEFAULTS.maxLength,\n 'maxLength'\n ),\n onCycle: 'throw',\n propertyList: undefined,\n replacerFunction: undefined,\n toJSON: false\n };\n}\n\nfunction normalizeInputObject(value) {\n if (value === undefined || value === null) return {};\n if (typeof value !== 'object') {\n throw new TypeError('options must be an object when provided');\n }\n return { ...value };\n}\n\nfunction normalizeLimit(value, fallback, name) {\n const resolved = value === undefined ? fallback : value;\n if (resolved === Infinity) return resolved;\n if (!Number.isSafeInteger(resolved) || resolved < 0) {\n throw new TypeError(\n `${name} must be a non-negative safe integer or Infinity`\n );\n }\n return resolved;\n}\n\nfunction normalizeGap(space) {\n if (typeof space === 'number') {\n return ' '.repeat(Math.min(10, Math.max(0, Math.trunc(space))));\n }\n if (typeof space === 'string') return space.slice(0, 10);\n return '';\n}\n\nfunction normalizePropertyList(input) {\n const output = [];\n const seen = new Set();\n for (const item of input) {\n let key;\n if (typeof item === 'string' || typeof item === 'number') {\n key = String(item);\n } else if (\n item &&\n (objectToString.call(item) === '[object String]' ||\n objectToString.call(item) === '[object Number]')\n ) {\n key = String(item);\n }\n if (key !== undefined && !seen.has(key)) {\n seen.add(key);\n output.push(key);\n }\n }\n return output;\n}\n\nfunction hasLoneSurrogate(value) {\n for (let index = 0; index < value.length; index += 1) {\n const code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n if (!(next >= 0xdc00 && next <= 0xdfff)) return true;\n index += 1;\n } else if (code >= 0xdc00 && code <= 0xdfff) {\n return true;\n }\n }\n return false;\n}\n\nfunction createPath(parent, key) {\n return { key, parent };\n}\n\nfunction formatPath(path) {\n if (path === ROOT_PATH) return '<root>';\n const parts = [];\n let current = path;\n while (current !== ROOT_PATH) {\n parts.push(current.key);\n current = current.parent;\n }\n parts.reverse();\n\n let output = '<root>';\n for (const part of parts) {\n if (typeof part === 'number') {\n output += `[${part}]`;\n } else if (/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(part)) {\n output += `.${part}`;\n } else {\n output += `[${JSON.stringify(part)}]`;\n }\n }\n return output;\n}\n\nfunction encodeUtf8(value) {\n if (typeof TextEncoder === 'function') return new TextEncoder().encode(value);\n\n const bytes = [];\n for (let index = 0; index < value.length; index += 1) {\n let code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n code = ((code - 0xd800) << 10) + (next - 0xdc00) + 0x10000;\n index += 1;\n }\n\n if (code <= 0x7f) {\n bytes.push(code);\n } else if (code <= 0x7ff) {\n bytes.push(0xc0 | (code >> 6), 0x80 | (code & 0x3f));\n } else if (code <= 0xffff) {\n bytes.push(\n 0xe0 | (code >> 12),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n } else {\n bytes.push(\n 0xf0 | (code >> 18),\n 0x80 | ((code >> 12) & 0x3f),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n }\n }\n return Uint8Array.from(bytes);\n}\n\nObject.defineProperties(stableStringify, {\n CanonicalizationError: { value: CanonicalizationError },\n StableStringifyLimitError: { value: StableStringifyLimitError },\n canonicalize: { value: canonicalize },\n canonicalizeBytes: { value: canonicalizeBytes },\n configure: { value: configure },\n default: { value: stableStringify },\n safeStringify: { value: safeStringify },\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify },\n stringify: { value: stableStringify }\n});\n\nObject.defineProperties(safeStringify, {\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify }\n});\n\nexport default stableStringify;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @stackline/stable-stringify v1.0.0 | MIT */
1
+ /*! @stackline/stable-stringify v1.0.1 | MIT */
2
2
 
3
3
  // src/index.js
4
4
  var hasOwn = Object.prototype.hasOwnProperty;
@@ -133,7 +133,10 @@ function processValueTask(task, tasks, state) {
133
133
  }
134
134
  enforceDepth(state, task.depth, task.path);
135
135
  const isArray = Array.isArray(value);
136
- if (state.canonical && !isArray) validateCanonicalObject(value, task.path);
136
+ if (state.canonical) {
137
+ rejectEnumerableSymbols(value, task.path);
138
+ if (!isArray) validateCanonicalObject(value, task.path);
139
+ }
137
140
  state.ancestors.set(value, task.path);
138
141
  const frame = createContainerFrame(
139
142
  value,
@@ -236,7 +239,6 @@ function getObjectKeys(value, path, state) {
236
239
  keys = state.options.propertyList.slice();
237
240
  }
238
241
  if (state.canonical) {
239
- rejectEnumerableSymbols(value, path);
240
242
  for (const key of keys) {
241
243
  if (hasLoneSurrogate(key)) {
242
244
  throw new CanonicalizationError(
@@ -403,12 +405,6 @@ function readForComparator(object, key, path, state) {
403
405
  }
404
406
  function validateCanonicalObject(value, path) {
405
407
  const prototype = Object.getPrototypeOf(value);
406
- if (prototype !== null && objectToString.call(value) !== "[object Object]") {
407
- throw new CanonicalizationError(
408
- "only JSON objects and arrays can be canonicalized",
409
- path
410
- );
411
- }
412
408
  if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {
413
409
  throw new CanonicalizationError(
414
410
  "class instances must be converted to plain JSON objects",
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.js"],
4
- "sourcesContent": ["const hasOwn = Object.prototype.hasOwnProperty;\nconst propertyIsEnumerable = Object.prototype.propertyIsEnumerable;\nconst objectToString = Object.prototype.toString;\nconst OMIT = Symbol('omit');\nconst ROOT_PATH = null;\n\nconst SAFE_DEFAULTS = Object.freeze({\n bigint: 'string',\n cycleValue: '[Circular]',\n maxDepth: 100,\n maxEntries: 100000,\n maxLength: 1000000,\n onCycle: 'marker'\n});\n\nconst CANONICAL_DEFAULTS = Object.freeze({\n maxDepth: 1000,\n maxEntries: 100000,\n maxLength: 16 * 1024 * 1024\n});\n\nexport class StableStringifyLimitError extends RangeError {\n constructor(kind, limit, path) {\n const location = formatPath(path);\n super(`Stable stringify ${kind} limit of ${limit} exceeded at ${location}`);\n this.name = 'StableStringifyLimitError';\n this.code = 'ERR_STABLE_STRINGIFY_LIMIT';\n this.kind = kind;\n this.limit = limit;\n this.path = location;\n }\n}\n\nexport class CanonicalizationError extends TypeError {\n constructor(reason, path) {\n const location = formatPath(path);\n super(`JSON canonicalization failed at ${location}: ${reason}`);\n this.name = 'CanonicalizationError';\n this.code = 'ERR_JSON_CANONICALIZATION';\n this.path = location;\n this.reason = reason;\n }\n}\n\nexport function stableStringify(value, inputOptions) {\n const options = normalizeStableOptions(inputOptions);\n return serialize(value, options, false);\n}\n\nexport const stringify = stableStringify;\n\nexport function configure(inputDefaults) {\n const defaults =\n typeof inputDefaults === 'function'\n ? { cmp: inputDefaults }\n : normalizeInputObject(inputDefaults);\n normalizeStableOptions(defaults);\n\n return function configuredStableStringify(value, inputOptions) {\n const overrides =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n return stableStringify(value, { ...defaults, ...overrides });\n };\n}\n\nexport function safeStringify(value, replacer, space, inputOptions) {\n const options = normalizeInputObject(inputOptions);\n const stableOptions = {\n ...SAFE_DEFAULTS,\n ...options,\n maxDepth:\n options.maxDepth === undefined ? options.depthLimit : options.maxDepth,\n maxEntries:\n options.maxEntries === undefined ? options.edgesLimit : options.maxEntries,\n replacer: replacer === undefined ? options.replacer : replacer,\n space: space === undefined ? options.space : space\n };\n\n if (stableOptions.maxDepth === undefined) {\n stableOptions.maxDepth = SAFE_DEFAULTS.maxDepth;\n }\n if (stableOptions.maxEntries === undefined) {\n stableOptions.maxEntries = SAFE_DEFAULTS.maxEntries;\n }\n\n try {\n return stableStringify(value, stableOptions);\n } catch (error) {\n if (options.throwOnError === true) throw error;\n let name = 'UnknownError';\n try {\n if (error && typeof error.name === 'string') {\n name = error.name.slice(0, 80);\n }\n } catch {\n // A thrown value can expose hostile accessors of its own.\n }\n return JSON.stringify(`[Unable to serialize: ${name}]`);\n }\n}\n\nexport function canonicalize(value, inputOptions) {\n const options = normalizeCanonicalOptions(inputOptions);\n return serialize(value, options, true);\n}\n\nexport function canonicalizeBytes(value, inputOptions) {\n return encodeUtf8(canonicalize(value, inputOptions));\n}\n\nfunction serialize(rootValue, options, canonical) {\n const state = {\n ancestors: new WeakMap(),\n canonical,\n chunks: [],\n entries: 0,\n length: 0,\n options\n };\n const holder = { '': rootValue };\n const prepared = prepareValue(rootValue, holder, '', ROOT_PATH, state);\n\n if (prepared === OMIT) return undefined;\n\n const tasks = [\n {\n depth: 0,\n path: ROOT_PATH,\n prepared,\n type: 'value'\n }\n ];\n\n while (tasks.length > 0) {\n const task = tasks.pop();\n if (task.type === 'value') {\n processValueTask(task, tasks, state);\n } else {\n processContainerTask(task, tasks, state);\n }\n }\n\n return state.chunks.join('');\n}\n\nfunction processValueTask(task, tasks, state) {\n if (task.prepared.kind === 'primitive') {\n append(state, task.prepared.text, task.path);\n return;\n }\n\n const value = task.prepared.value;\n const previousPath = state.ancestors.get(value);\n if (previousPath !== undefined || state.ancestors.has(value)) {\n appendCycle(state, previousPath, task.path);\n return;\n }\n\n enforceDepth(state, task.depth, task.path);\n const isArray = Array.isArray(value);\n if (state.canonical && !isArray) validateCanonicalObject(value, task.path);\n\n state.ancestors.set(value, task.path);\n const frame = createContainerFrame(\n value,\n isArray,\n task.depth,\n task.path,\n state\n );\n append(state, isArray ? '[' : '{', task.path);\n\n if (frame.total === 0) {\n append(state, isArray ? ']' : '}', task.path);\n state.ancestors.delete(value);\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction processContainerTask(frame, tasks, state) {\n if (frame.index >= frame.total) {\n if (frame.emitted && state.options.gap !== '') {\n append(state, `\\n${frame.indent}`, frame.path);\n }\n append(state, frame.isArray ? ']' : '}', frame.path);\n state.ancestors.delete(frame.value);\n return;\n }\n\n if (frame.isArray) {\n const index = frame.index;\n frame.index += 1;\n const path = createPath(frame.path, index);\n consumeEntry(state, path);\n const rawValue = readArrayValue(frame.value, index, path, state);\n let prepared = prepareValue(\n rawValue,\n frame.value,\n String(index),\n path,\n state\n );\n if (prepared === OMIT) prepared = primitive('null');\n\n appendItemPrefix(frame, path, state);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n while (frame.index < frame.total) {\n const key = frame.keys[frame.index];\n frame.index += 1;\n const path = createPath(frame.path, key);\n consumeEntry(state, path);\n const rawValue = readObjectValue(frame.value, key, path, state);\n const prepared = prepareValue(rawValue, frame.value, key, path, state);\n if (prepared === OMIT) continue;\n\n appendItemPrefix(frame, path, state);\n append(state, JSON.stringify(key), path);\n append(state, state.options.gap === '' ? ':' : ': ', path);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction createContainerFrame(value, isArray, depth, path, state) {\n let keys;\n let total;\n\n if (isArray) {\n total = value.length;\n } else {\n keys = getObjectKeys(value, path, state);\n total = keys.length;\n }\n\n return {\n depth,\n emitted: false,\n indent:\n state.options.gap === '' ? '' : state.options.gap.repeat(depth),\n index: 0,\n isArray,\n keys,\n path,\n total,\n type: 'container',\n value\n };\n}\n\nfunction getObjectKeys(value, path, state) {\n let keys;\n if (state.canonical || state.options.propertyList === undefined) {\n keys = Object.keys(value);\n } else {\n keys = state.options.propertyList.slice();\n }\n\n if (state.canonical) {\n rejectEnumerableSymbols(value, path);\n for (const key of keys) {\n if (hasLoneSurrogate(key)) {\n throw new CanonicalizationError(\n 'property names must not contain lone UTF-16 surrogates',\n createPath(path, key)\n );\n }\n }\n return keys.sort();\n }\n\n if (state.options.accessors !== 'invoke') {\n keys = keys.filter((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || (!descriptor.get && !descriptor.set)) return true;\n if (state.options.accessors === 'throw') {\n throw new TypeError(\n `Refusing to invoke accessor at ${formatPath(createPath(path, key))}`\n );\n }\n return false;\n });\n }\n\n if (state.options.cmp) {\n const comparator = state.options.cmp;\n keys.sort((left, right) =>\n comparator(\n { key: left, value: readForComparator(value, left, path, state) },\n { key: right, value: readForComparator(value, right, path, state) }\n )\n );\n } else {\n keys.sort();\n }\n return keys;\n}\n\nfunction prepareValue(rawValue, holder, key, path, state) {\n if (state.canonical) return prepareCanonicalValue(rawValue, path);\n\n let value = rawValue;\n if (state.options.toJSON && value !== null && value !== undefined) {\n const method = value.toJSON;\n if (typeof method === 'function') value = method.call(value);\n }\n\n if (state.options.replacerFunction) {\n value = state.options.replacerFunction.call(holder, key, value);\n }\n\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n return primitive(JSON.stringify(value));\n case 'number':\n return primitive(Number.isFinite(value) ? String(value) : 'null');\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'bigint':\n return prepareBigInt(value, state.options.bigint, path);\n case 'object':\n return { kind: 'object', value };\n default:\n return OMIT;\n }\n}\n\nfunction prepareCanonicalValue(value, path) {\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n if (hasLoneSurrogate(value)) {\n throw new CanonicalizationError(\n 'strings must not contain lone UTF-16 surrogates',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'number':\n if (!Number.isFinite(value)) {\n throw new CanonicalizationError(\n 'NaN and Infinity are not valid I-JSON numbers',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'object':\n return { kind: 'object', value };\n case 'bigint':\n throw new CanonicalizationError(\n 'BigInt values must be represented as JSON strings',\n path\n );\n default:\n throw new CanonicalizationError(\n `values of type ${typeof value} are not valid JSON data`,\n path\n );\n }\n}\n\nfunction prepareBigInt(value, mode, path) {\n if (mode === 'string') return primitive(JSON.stringify(String(value)));\n if (mode === 'number') {\n const number = Number(value);\n if (!Number.isSafeInteger(number)) {\n throw new RangeError(\n `BigInt at ${formatPath(path)} cannot be represented as a safe JSON number`\n );\n }\n return primitive(String(number));\n }\n throw new TypeError('Do not know how to serialize a BigInt');\n}\n\nfunction primitive(text) {\n return { kind: 'primitive', text };\n}\n\nfunction readArrayValue(array, index, path, state) {\n if (state.canonical) {\n if (!hasOwn.call(array, index)) {\n throw new CanonicalizationError(\n 'sparse arrays are not valid I-JSON data',\n path\n );\n }\n return readCanonicalDescriptor(array, String(index), path);\n }\n return readStableProperty(array, String(index), path, state.options.accessors);\n}\n\nfunction readObjectValue(object, key, path, state) {\n if (state.canonical) return readCanonicalDescriptor(object, key, path);\n return readStableProperty(object, key, path, state.options.accessors);\n}\n\nfunction readCanonicalDescriptor(object, key, path) {\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (!descriptor || descriptor.get || descriptor.set) {\n throw new CanonicalizationError(\n 'accessor properties are not valid canonical JSON input',\n path\n );\n }\n return descriptor.value;\n}\n\nfunction readStableProperty(object, key, path, accessors) {\n if (accessors === 'invoke') return object[key];\n\n const seen = new WeakSet();\n let current = object;\n while (current !== null && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor) {\n if (!descriptor.get && !descriptor.set) return descriptor.value;\n if (accessors === 'throw') {\n throw new TypeError(`Refusing to invoke accessor at ${formatPath(path)}`);\n }\n return undefined;\n }\n current = Object.getPrototypeOf(current);\n }\n return undefined;\n}\n\nfunction readForComparator(object, key, path, state) {\n return readStableProperty(\n object,\n key,\n createPath(path, key),\n state.options.accessors\n );\n}\n\nfunction validateCanonicalObject(value, path) {\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && objectToString.call(value) !== '[object Object]') {\n throw new CanonicalizationError(\n 'only JSON objects and arrays can be canonicalized',\n path\n );\n }\n if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {\n throw new CanonicalizationError(\n 'class instances must be converted to plain JSON objects',\n path\n );\n }\n}\n\nfunction rejectEnumerableSymbols(value, path) {\n if (typeof Object.getOwnPropertySymbols !== 'function') return;\n const symbols = Object.getOwnPropertySymbols(value);\n if (symbols.some((symbol) => propertyIsEnumerable.call(value, symbol))) {\n throw new CanonicalizationError(\n 'symbol properties are not valid JSON object members',\n path\n );\n }\n}\n\nfunction appendItemPrefix(frame, path, state) {\n if (state.options.gap === '') {\n if (frame.emitted) append(state, ',', path);\n } else {\n const indentation = state.options.gap.repeat(frame.depth + 1);\n append(state, frame.emitted ? `,\\n${indentation}` : `\\n${indentation}`, path);\n }\n frame.emitted = true;\n}\n\nfunction appendCycle(state, previousPath, currentPath) {\n if (state.canonical) {\n throw new CanonicalizationError('circular references are not valid JSON', currentPath);\n }\n\n switch (state.options.onCycle) {\n case 'marker':\n append(state, JSON.stringify(state.options.cycleValue), currentPath);\n return;\n case 'path':\n append(\n state,\n JSON.stringify(`[Circular ${formatPath(previousPath)}]`),\n currentPath\n );\n return;\n case 'null':\n append(state, 'null', currentPath);\n return;\n default:\n throw new TypeError('Converting circular structure to JSON');\n }\n}\n\nfunction append(state, text, path) {\n const nextLength = state.length + text.length;\n if (nextLength > state.options.maxLength) {\n throw new StableStringifyLimitError(\n 'length',\n state.options.maxLength,\n path\n );\n }\n state.length = nextLength;\n state.chunks.push(text);\n}\n\nfunction enforceDepth(state, depth, path) {\n if (depth > state.options.maxDepth) {\n throw new StableStringifyLimitError(\n 'depth',\n state.options.maxDepth,\n path\n );\n }\n}\n\nfunction consumeEntry(state, path) {\n state.entries += 1;\n if (state.entries > state.options.maxEntries) {\n throw new StableStringifyLimitError(\n 'entry',\n state.options.maxEntries,\n path\n );\n }\n}\n\nfunction normalizeStableOptions(inputOptions) {\n const input =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n\n if (input.cmp !== undefined && typeof input.cmp !== 'function') {\n throw new TypeError('cmp must be a function');\n }\n if (input.cycles !== undefined && typeof input.cycles !== 'boolean') {\n throw new TypeError('cycles must be a boolean');\n }\n if (\n input.replacer !== undefined &&\n input.replacer !== null &&\n typeof input.replacer !== 'function' &&\n !Array.isArray(input.replacer)\n ) {\n throw new TypeError('replacer must be a function or an array');\n }\n\n const onCycle =\n input.onCycle === undefined\n ? input.cycles === true\n ? 'marker'\n : 'throw'\n : input.onCycle;\n if (!['throw', 'marker', 'path', 'null'].includes(onCycle)) {\n throw new TypeError(\n \"onCycle must be 'throw', 'marker', 'path', or 'null'\"\n );\n }\n\n const bigint = input.bigint === undefined ? 'throw' : input.bigint;\n if (!['throw', 'string', 'number'].includes(bigint)) {\n throw new TypeError(\"bigint must be 'throw', 'string', or 'number'\");\n }\n\n const accessors = input.accessors === undefined ? 'invoke' : input.accessors;\n if (!['invoke', 'omit', 'throw'].includes(accessors)) {\n throw new TypeError(\"accessors must be 'invoke', 'omit', or 'throw'\");\n }\n\n if (input.toJSON !== undefined && typeof input.toJSON !== 'boolean') {\n throw new TypeError('toJSON must be a boolean');\n }\n if (\n input.cycleValue !== undefined &&\n typeof input.cycleValue !== 'string'\n ) {\n throw new TypeError('cycleValue must be a string');\n }\n\n return {\n accessors,\n bigint,\n cmp: input.cmp,\n cycleValue:\n input.cycleValue === undefined ? '__cycle__' : input.cycleValue,\n gap: normalizeGap(input.space),\n maxDepth: normalizeLimit(input.maxDepth, Infinity, 'maxDepth'),\n maxEntries: normalizeLimit(input.maxEntries, Infinity, 'maxEntries'),\n maxLength: normalizeLimit(input.maxLength, Infinity, 'maxLength'),\n onCycle,\n propertyList: Array.isArray(input.replacer)\n ? normalizePropertyList(input.replacer)\n : undefined,\n replacerFunction:\n typeof input.replacer === 'function' ? input.replacer : undefined,\n toJSON: input.toJSON === undefined ? true : input.toJSON\n };\n}\n\nfunction normalizeCanonicalOptions(inputOptions) {\n const input = normalizeInputObject(inputOptions);\n return {\n accessors: 'throw',\n bigint: 'throw',\n cmp: undefined,\n cycleValue: '',\n gap: '',\n maxDepth: normalizeLimit(\n input.maxDepth,\n CANONICAL_DEFAULTS.maxDepth,\n 'maxDepth'\n ),\n maxEntries: normalizeLimit(\n input.maxEntries,\n CANONICAL_DEFAULTS.maxEntries,\n 'maxEntries'\n ),\n maxLength: normalizeLimit(\n input.maxLength,\n CANONICAL_DEFAULTS.maxLength,\n 'maxLength'\n ),\n onCycle: 'throw',\n propertyList: undefined,\n replacerFunction: undefined,\n toJSON: false\n };\n}\n\nfunction normalizeInputObject(value) {\n if (value === undefined || value === null) return {};\n if (typeof value !== 'object') {\n throw new TypeError('options must be an object when provided');\n }\n return { ...value };\n}\n\nfunction normalizeLimit(value, fallback, name) {\n const resolved = value === undefined ? fallback : value;\n if (resolved === Infinity) return resolved;\n if (!Number.isSafeInteger(resolved) || resolved < 0) {\n throw new TypeError(\n `${name} must be a non-negative safe integer or Infinity`\n );\n }\n return resolved;\n}\n\nfunction normalizeGap(space) {\n if (typeof space === 'number') {\n return ' '.repeat(Math.min(10, Math.max(0, Math.trunc(space))));\n }\n if (typeof space === 'string') return space.slice(0, 10);\n return '';\n}\n\nfunction normalizePropertyList(input) {\n const output = [];\n const seen = new Set();\n for (const item of input) {\n let key;\n if (typeof item === 'string' || typeof item === 'number') {\n key = String(item);\n } else if (\n item &&\n (objectToString.call(item) === '[object String]' ||\n objectToString.call(item) === '[object Number]')\n ) {\n key = String(item);\n }\n if (key !== undefined && !seen.has(key)) {\n seen.add(key);\n output.push(key);\n }\n }\n return output;\n}\n\nfunction hasLoneSurrogate(value) {\n for (let index = 0; index < value.length; index += 1) {\n const code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n if (!(next >= 0xdc00 && next <= 0xdfff)) return true;\n index += 1;\n } else if (code >= 0xdc00 && code <= 0xdfff) {\n return true;\n }\n }\n return false;\n}\n\nfunction createPath(parent, key) {\n return { key, parent };\n}\n\nfunction formatPath(path) {\n if (path === ROOT_PATH) return '<root>';\n const parts = [];\n let current = path;\n while (current !== ROOT_PATH) {\n parts.push(current.key);\n current = current.parent;\n }\n parts.reverse();\n\n let output = '<root>';\n for (const part of parts) {\n if (typeof part === 'number') {\n output += `[${part}]`;\n } else if (/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(part)) {\n output += `.${part}`;\n } else {\n output += `[${JSON.stringify(part)}]`;\n }\n }\n return output;\n}\n\nfunction encodeUtf8(value) {\n if (typeof TextEncoder === 'function') return new TextEncoder().encode(value);\n\n const bytes = [];\n for (let index = 0; index < value.length; index += 1) {\n let code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n code = ((code - 0xd800) << 10) + (next - 0xdc00) + 0x10000;\n index += 1;\n }\n\n if (code <= 0x7f) {\n bytes.push(code);\n } else if (code <= 0x7ff) {\n bytes.push(0xc0 | (code >> 6), 0x80 | (code & 0x3f));\n } else if (code <= 0xffff) {\n bytes.push(\n 0xe0 | (code >> 12),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n } else {\n bytes.push(\n 0xf0 | (code >> 18),\n 0x80 | ((code >> 12) & 0x3f),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n }\n }\n return Uint8Array.from(bytes);\n}\n\nObject.defineProperties(stableStringify, {\n CanonicalizationError: { value: CanonicalizationError },\n StableStringifyLimitError: { value: StableStringifyLimitError },\n canonicalize: { value: canonicalize },\n canonicalizeBytes: { value: canonicalizeBytes },\n configure: { value: configure },\n default: { value: stableStringify },\n safeStringify: { value: safeStringify },\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify },\n stringify: { value: stableStringify }\n});\n\nObject.defineProperties(safeStringify, {\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify }\n});\n\nexport default stableStringify;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["const hasOwn = Object.prototype.hasOwnProperty;\nconst propertyIsEnumerable = Object.prototype.propertyIsEnumerable;\nconst objectToString = Object.prototype.toString;\nconst OMIT = Symbol('omit');\nconst ROOT_PATH = null;\n\nconst SAFE_DEFAULTS = Object.freeze({\n bigint: 'string',\n cycleValue: '[Circular]',\n maxDepth: 100,\n maxEntries: 100000,\n maxLength: 1000000,\n onCycle: 'marker'\n});\n\nconst CANONICAL_DEFAULTS = Object.freeze({\n maxDepth: 1000,\n maxEntries: 100000,\n maxLength: 16 * 1024 * 1024\n});\n\nexport class StableStringifyLimitError extends RangeError {\n constructor(kind, limit, path) {\n const location = formatPath(path);\n super(`Stable stringify ${kind} limit of ${limit} exceeded at ${location}`);\n this.name = 'StableStringifyLimitError';\n this.code = 'ERR_STABLE_STRINGIFY_LIMIT';\n this.kind = kind;\n this.limit = limit;\n this.path = location;\n }\n}\n\nexport class CanonicalizationError extends TypeError {\n constructor(reason, path) {\n const location = formatPath(path);\n super(`JSON canonicalization failed at ${location}: ${reason}`);\n this.name = 'CanonicalizationError';\n this.code = 'ERR_JSON_CANONICALIZATION';\n this.path = location;\n this.reason = reason;\n }\n}\n\nexport function stableStringify(value, inputOptions) {\n const options = normalizeStableOptions(inputOptions);\n return serialize(value, options, false);\n}\n\nexport const stringify = stableStringify;\n\nexport function configure(inputDefaults) {\n const defaults =\n typeof inputDefaults === 'function'\n ? { cmp: inputDefaults }\n : normalizeInputObject(inputDefaults);\n normalizeStableOptions(defaults);\n\n return function configuredStableStringify(value, inputOptions) {\n const overrides =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n return stableStringify(value, { ...defaults, ...overrides });\n };\n}\n\nexport function safeStringify(value, replacer, space, inputOptions) {\n const options = normalizeInputObject(inputOptions);\n const stableOptions = {\n ...SAFE_DEFAULTS,\n ...options,\n maxDepth:\n options.maxDepth === undefined ? options.depthLimit : options.maxDepth,\n maxEntries:\n options.maxEntries === undefined ? options.edgesLimit : options.maxEntries,\n replacer: replacer === undefined ? options.replacer : replacer,\n space: space === undefined ? options.space : space\n };\n\n if (stableOptions.maxDepth === undefined) {\n stableOptions.maxDepth = SAFE_DEFAULTS.maxDepth;\n }\n if (stableOptions.maxEntries === undefined) {\n stableOptions.maxEntries = SAFE_DEFAULTS.maxEntries;\n }\n\n try {\n return stableStringify(value, stableOptions);\n } catch (error) {\n if (options.throwOnError === true) throw error;\n let name = 'UnknownError';\n try {\n if (error && typeof error.name === 'string') {\n name = error.name.slice(0, 80);\n }\n } catch {\n // A thrown value can expose hostile accessors of its own.\n }\n return JSON.stringify(`[Unable to serialize: ${name}]`);\n }\n}\n\nexport function canonicalize(value, inputOptions) {\n const options = normalizeCanonicalOptions(inputOptions);\n return serialize(value, options, true);\n}\n\nexport function canonicalizeBytes(value, inputOptions) {\n return encodeUtf8(canonicalize(value, inputOptions));\n}\n\nfunction serialize(rootValue, options, canonical) {\n const state = {\n ancestors: new WeakMap(),\n canonical,\n chunks: [],\n entries: 0,\n length: 0,\n options\n };\n const holder = { '': rootValue };\n const prepared = prepareValue(rootValue, holder, '', ROOT_PATH, state);\n\n if (prepared === OMIT) return undefined;\n\n const tasks = [\n {\n depth: 0,\n path: ROOT_PATH,\n prepared,\n type: 'value'\n }\n ];\n\n while (tasks.length > 0) {\n const task = tasks.pop();\n if (task.type === 'value') {\n processValueTask(task, tasks, state);\n } else {\n processContainerTask(task, tasks, state);\n }\n }\n\n return state.chunks.join('');\n}\n\nfunction processValueTask(task, tasks, state) {\n if (task.prepared.kind === 'primitive') {\n append(state, task.prepared.text, task.path);\n return;\n }\n\n const value = task.prepared.value;\n const previousPath = state.ancestors.get(value);\n if (previousPath !== undefined || state.ancestors.has(value)) {\n appendCycle(state, previousPath, task.path);\n return;\n }\n\n enforceDepth(state, task.depth, task.path);\n const isArray = Array.isArray(value);\n if (state.canonical) {\n rejectEnumerableSymbols(value, task.path);\n if (!isArray) validateCanonicalObject(value, task.path);\n }\n\n state.ancestors.set(value, task.path);\n const frame = createContainerFrame(\n value,\n isArray,\n task.depth,\n task.path,\n state\n );\n append(state, isArray ? '[' : '{', task.path);\n\n if (frame.total === 0) {\n append(state, isArray ? ']' : '}', task.path);\n state.ancestors.delete(value);\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction processContainerTask(frame, tasks, state) {\n if (frame.index >= frame.total) {\n if (frame.emitted && state.options.gap !== '') {\n append(state, `\\n${frame.indent}`, frame.path);\n }\n append(state, frame.isArray ? ']' : '}', frame.path);\n state.ancestors.delete(frame.value);\n return;\n }\n\n if (frame.isArray) {\n const index = frame.index;\n frame.index += 1;\n const path = createPath(frame.path, index);\n consumeEntry(state, path);\n const rawValue = readArrayValue(frame.value, index, path, state);\n let prepared = prepareValue(\n rawValue,\n frame.value,\n String(index),\n path,\n state\n );\n if (prepared === OMIT) prepared = primitive('null');\n\n appendItemPrefix(frame, path, state);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n while (frame.index < frame.total) {\n const key = frame.keys[frame.index];\n frame.index += 1;\n const path = createPath(frame.path, key);\n consumeEntry(state, path);\n const rawValue = readObjectValue(frame.value, key, path, state);\n const prepared = prepareValue(rawValue, frame.value, key, path, state);\n if (prepared === OMIT) continue;\n\n appendItemPrefix(frame, path, state);\n append(state, JSON.stringify(key), path);\n append(state, state.options.gap === '' ? ':' : ': ', path);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction createContainerFrame(value, isArray, depth, path, state) {\n let keys;\n let total;\n\n if (isArray) {\n total = value.length;\n } else {\n keys = getObjectKeys(value, path, state);\n total = keys.length;\n }\n\n return {\n depth,\n emitted: false,\n indent:\n state.options.gap === '' ? '' : state.options.gap.repeat(depth),\n index: 0,\n isArray,\n keys,\n path,\n total,\n type: 'container',\n value\n };\n}\n\nfunction getObjectKeys(value, path, state) {\n let keys;\n if (state.canonical || state.options.propertyList === undefined) {\n keys = Object.keys(value);\n } else {\n keys = state.options.propertyList.slice();\n }\n\n if (state.canonical) {\n for (const key of keys) {\n if (hasLoneSurrogate(key)) {\n throw new CanonicalizationError(\n 'property names must not contain lone UTF-16 surrogates',\n createPath(path, key)\n );\n }\n }\n return keys.sort();\n }\n\n if (state.options.accessors !== 'invoke') {\n keys = keys.filter((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || (!descriptor.get && !descriptor.set)) return true;\n if (state.options.accessors === 'throw') {\n throw new TypeError(\n `Refusing to invoke accessor at ${formatPath(createPath(path, key))}`\n );\n }\n return false;\n });\n }\n\n if (state.options.cmp) {\n const comparator = state.options.cmp;\n keys.sort((left, right) =>\n comparator(\n { key: left, value: readForComparator(value, left, path, state) },\n { key: right, value: readForComparator(value, right, path, state) }\n )\n );\n } else {\n keys.sort();\n }\n return keys;\n}\n\nfunction prepareValue(rawValue, holder, key, path, state) {\n if (state.canonical) return prepareCanonicalValue(rawValue, path);\n\n let value = rawValue;\n if (state.options.toJSON && value !== null && value !== undefined) {\n const method = value.toJSON;\n if (typeof method === 'function') value = method.call(value);\n }\n\n if (state.options.replacerFunction) {\n value = state.options.replacerFunction.call(holder, key, value);\n }\n\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n return primitive(JSON.stringify(value));\n case 'number':\n return primitive(Number.isFinite(value) ? String(value) : 'null');\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'bigint':\n return prepareBigInt(value, state.options.bigint, path);\n case 'object':\n return { kind: 'object', value };\n default:\n return OMIT;\n }\n}\n\nfunction prepareCanonicalValue(value, path) {\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n if (hasLoneSurrogate(value)) {\n throw new CanonicalizationError(\n 'strings must not contain lone UTF-16 surrogates',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'number':\n if (!Number.isFinite(value)) {\n throw new CanonicalizationError(\n 'NaN and Infinity are not valid I-JSON numbers',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'object':\n return { kind: 'object', value };\n case 'bigint':\n throw new CanonicalizationError(\n 'BigInt values must be represented as JSON strings',\n path\n );\n default:\n throw new CanonicalizationError(\n `values of type ${typeof value} are not valid JSON data`,\n path\n );\n }\n}\n\nfunction prepareBigInt(value, mode, path) {\n if (mode === 'string') return primitive(JSON.stringify(String(value)));\n if (mode === 'number') {\n const number = Number(value);\n if (!Number.isSafeInteger(number)) {\n throw new RangeError(\n `BigInt at ${formatPath(path)} cannot be represented as a safe JSON number`\n );\n }\n return primitive(String(number));\n }\n throw new TypeError('Do not know how to serialize a BigInt');\n}\n\nfunction primitive(text) {\n return { kind: 'primitive', text };\n}\n\nfunction readArrayValue(array, index, path, state) {\n if (state.canonical) {\n if (!hasOwn.call(array, index)) {\n throw new CanonicalizationError(\n 'sparse arrays are not valid I-JSON data',\n path\n );\n }\n return readCanonicalDescriptor(array, String(index), path);\n }\n return readStableProperty(array, String(index), path, state.options.accessors);\n}\n\nfunction readObjectValue(object, key, path, state) {\n if (state.canonical) return readCanonicalDescriptor(object, key, path);\n return readStableProperty(object, key, path, state.options.accessors);\n}\n\nfunction readCanonicalDescriptor(object, key, path) {\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (!descriptor || descriptor.get || descriptor.set) {\n throw new CanonicalizationError(\n 'accessor properties are not valid canonical JSON input',\n path\n );\n }\n return descriptor.value;\n}\n\nfunction readStableProperty(object, key, path, accessors) {\n if (accessors === 'invoke') return object[key];\n\n const seen = new WeakSet();\n let current = object;\n while (current !== null && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor) {\n if (!descriptor.get && !descriptor.set) return descriptor.value;\n if (accessors === 'throw') {\n throw new TypeError(`Refusing to invoke accessor at ${formatPath(path)}`);\n }\n return undefined;\n }\n current = Object.getPrototypeOf(current);\n }\n return undefined;\n}\n\nfunction readForComparator(object, key, path, state) {\n return readStableProperty(\n object,\n key,\n createPath(path, key),\n state.options.accessors\n );\n}\n\nfunction validateCanonicalObject(value, path) {\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {\n throw new CanonicalizationError(\n 'class instances must be converted to plain JSON objects',\n path\n );\n }\n}\n\nfunction rejectEnumerableSymbols(value, path) {\n if (typeof Object.getOwnPropertySymbols !== 'function') return;\n const symbols = Object.getOwnPropertySymbols(value);\n if (symbols.some((symbol) => propertyIsEnumerable.call(value, symbol))) {\n throw new CanonicalizationError(\n 'symbol properties are not valid JSON object members',\n path\n );\n }\n}\n\nfunction appendItemPrefix(frame, path, state) {\n if (state.options.gap === '') {\n if (frame.emitted) append(state, ',', path);\n } else {\n const indentation = state.options.gap.repeat(frame.depth + 1);\n append(state, frame.emitted ? `,\\n${indentation}` : `\\n${indentation}`, path);\n }\n frame.emitted = true;\n}\n\nfunction appendCycle(state, previousPath, currentPath) {\n if (state.canonical) {\n throw new CanonicalizationError('circular references are not valid JSON', currentPath);\n }\n\n switch (state.options.onCycle) {\n case 'marker':\n append(state, JSON.stringify(state.options.cycleValue), currentPath);\n return;\n case 'path':\n append(\n state,\n JSON.stringify(`[Circular ${formatPath(previousPath)}]`),\n currentPath\n );\n return;\n case 'null':\n append(state, 'null', currentPath);\n return;\n default:\n throw new TypeError('Converting circular structure to JSON');\n }\n}\n\nfunction append(state, text, path) {\n const nextLength = state.length + text.length;\n if (nextLength > state.options.maxLength) {\n throw new StableStringifyLimitError(\n 'length',\n state.options.maxLength,\n path\n );\n }\n state.length = nextLength;\n state.chunks.push(text);\n}\n\nfunction enforceDepth(state, depth, path) {\n if (depth > state.options.maxDepth) {\n throw new StableStringifyLimitError(\n 'depth',\n state.options.maxDepth,\n path\n );\n }\n}\n\nfunction consumeEntry(state, path) {\n state.entries += 1;\n if (state.entries > state.options.maxEntries) {\n throw new StableStringifyLimitError(\n 'entry',\n state.options.maxEntries,\n path\n );\n }\n}\n\nfunction normalizeStableOptions(inputOptions) {\n const input =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n\n if (input.cmp !== undefined && typeof input.cmp !== 'function') {\n throw new TypeError('cmp must be a function');\n }\n if (input.cycles !== undefined && typeof input.cycles !== 'boolean') {\n throw new TypeError('cycles must be a boolean');\n }\n if (\n input.replacer !== undefined &&\n input.replacer !== null &&\n typeof input.replacer !== 'function' &&\n !Array.isArray(input.replacer)\n ) {\n throw new TypeError('replacer must be a function or an array');\n }\n\n const onCycle =\n input.onCycle === undefined\n ? input.cycles === true\n ? 'marker'\n : 'throw'\n : input.onCycle;\n if (!['throw', 'marker', 'path', 'null'].includes(onCycle)) {\n throw new TypeError(\n \"onCycle must be 'throw', 'marker', 'path', or 'null'\"\n );\n }\n\n const bigint = input.bigint === undefined ? 'throw' : input.bigint;\n if (!['throw', 'string', 'number'].includes(bigint)) {\n throw new TypeError(\"bigint must be 'throw', 'string', or 'number'\");\n }\n\n const accessors = input.accessors === undefined ? 'invoke' : input.accessors;\n if (!['invoke', 'omit', 'throw'].includes(accessors)) {\n throw new TypeError(\"accessors must be 'invoke', 'omit', or 'throw'\");\n }\n\n if (input.toJSON !== undefined && typeof input.toJSON !== 'boolean') {\n throw new TypeError('toJSON must be a boolean');\n }\n if (\n input.cycleValue !== undefined &&\n typeof input.cycleValue !== 'string'\n ) {\n throw new TypeError('cycleValue must be a string');\n }\n\n return {\n accessors,\n bigint,\n cmp: input.cmp,\n cycleValue:\n input.cycleValue === undefined ? '__cycle__' : input.cycleValue,\n gap: normalizeGap(input.space),\n maxDepth: normalizeLimit(input.maxDepth, Infinity, 'maxDepth'),\n maxEntries: normalizeLimit(input.maxEntries, Infinity, 'maxEntries'),\n maxLength: normalizeLimit(input.maxLength, Infinity, 'maxLength'),\n onCycle,\n propertyList: Array.isArray(input.replacer)\n ? normalizePropertyList(input.replacer)\n : undefined,\n replacerFunction:\n typeof input.replacer === 'function' ? input.replacer : undefined,\n toJSON: input.toJSON === undefined ? true : input.toJSON\n };\n}\n\nfunction normalizeCanonicalOptions(inputOptions) {\n const input = normalizeInputObject(inputOptions);\n return {\n accessors: 'throw',\n bigint: 'throw',\n cmp: undefined,\n cycleValue: '',\n gap: '',\n maxDepth: normalizeLimit(\n input.maxDepth,\n CANONICAL_DEFAULTS.maxDepth,\n 'maxDepth'\n ),\n maxEntries: normalizeLimit(\n input.maxEntries,\n CANONICAL_DEFAULTS.maxEntries,\n 'maxEntries'\n ),\n maxLength: normalizeLimit(\n input.maxLength,\n CANONICAL_DEFAULTS.maxLength,\n 'maxLength'\n ),\n onCycle: 'throw',\n propertyList: undefined,\n replacerFunction: undefined,\n toJSON: false\n };\n}\n\nfunction normalizeInputObject(value) {\n if (value === undefined || value === null) return {};\n if (typeof value !== 'object') {\n throw new TypeError('options must be an object when provided');\n }\n return { ...value };\n}\n\nfunction normalizeLimit(value, fallback, name) {\n const resolved = value === undefined ? fallback : value;\n if (resolved === Infinity) return resolved;\n if (!Number.isSafeInteger(resolved) || resolved < 0) {\n throw new TypeError(\n `${name} must be a non-negative safe integer or Infinity`\n );\n }\n return resolved;\n}\n\nfunction normalizeGap(space) {\n if (typeof space === 'number') {\n return ' '.repeat(Math.min(10, Math.max(0, Math.trunc(space))));\n }\n if (typeof space === 'string') return space.slice(0, 10);\n return '';\n}\n\nfunction normalizePropertyList(input) {\n const output = [];\n const seen = new Set();\n for (const item of input) {\n let key;\n if (typeof item === 'string' || typeof item === 'number') {\n key = String(item);\n } else if (\n item &&\n (objectToString.call(item) === '[object String]' ||\n objectToString.call(item) === '[object Number]')\n ) {\n key = String(item);\n }\n if (key !== undefined && !seen.has(key)) {\n seen.add(key);\n output.push(key);\n }\n }\n return output;\n}\n\nfunction hasLoneSurrogate(value) {\n for (let index = 0; index < value.length; index += 1) {\n const code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n if (!(next >= 0xdc00 && next <= 0xdfff)) return true;\n index += 1;\n } else if (code >= 0xdc00 && code <= 0xdfff) {\n return true;\n }\n }\n return false;\n}\n\nfunction createPath(parent, key) {\n return { key, parent };\n}\n\nfunction formatPath(path) {\n if (path === ROOT_PATH) return '<root>';\n const parts = [];\n let current = path;\n while (current !== ROOT_PATH) {\n parts.push(current.key);\n current = current.parent;\n }\n parts.reverse();\n\n let output = '<root>';\n for (const part of parts) {\n if (typeof part === 'number') {\n output += `[${part}]`;\n } else if (/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(part)) {\n output += `.${part}`;\n } else {\n output += `[${JSON.stringify(part)}]`;\n }\n }\n return output;\n}\n\nfunction encodeUtf8(value) {\n if (typeof TextEncoder === 'function') return new TextEncoder().encode(value);\n\n const bytes = [];\n for (let index = 0; index < value.length; index += 1) {\n let code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n code = ((code - 0xd800) << 10) + (next - 0xdc00) + 0x10000;\n index += 1;\n }\n\n if (code <= 0x7f) {\n bytes.push(code);\n } else if (code <= 0x7ff) {\n bytes.push(0xc0 | (code >> 6), 0x80 | (code & 0x3f));\n } else if (code <= 0xffff) {\n bytes.push(\n 0xe0 | (code >> 12),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n } else {\n bytes.push(\n 0xf0 | (code >> 18),\n 0x80 | ((code >> 12) & 0x3f),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n }\n }\n return Uint8Array.from(bytes);\n}\n\nObject.defineProperties(stableStringify, {\n CanonicalizationError: { value: CanonicalizationError },\n StableStringifyLimitError: { value: StableStringifyLimitError },\n canonicalize: { value: canonicalize },\n canonicalizeBytes: { value: canonicalizeBytes },\n configure: { value: configure },\n default: { value: stableStringify },\n safeStringify: { value: safeStringify },\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify },\n stringify: { value: stableStringify }\n});\n\nObject.defineProperties(safeStringify, {\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify }\n});\n\nexport default stableStringify;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/index.min.js CHANGED
@@ -1,7 +1,7 @@
1
- /*! @stackline/stable-stringify v1.0.0 | MIT */
2
- var StacklineStableStringifyModule=(()=>{var x=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var V=(e,n)=>{for(var t in n)x(e,t,{get:n[t],enumerable:!0})},_=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of P(n))!F.call(e,o)&&o!==t&&x(e,o,{get:()=>n[o],enumerable:!(r=k(n,o))||r.enumerable});return e};var R=e=>_(x({},"__esModule",{value:!0}),e);var ue={};V(ue,{CanonicalizationError:()=>s,StableStringifyLimitError:()=>l,canonicalize:()=>j,canonicalizeBytes:()=>I,configure:()=>C,default:()=>se,safeStringify:()=>N,stableStringify:()=>u,stringify:()=>M});var U=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,S=Object.prototype.toString,m=Symbol("omit"),b=null,w=Object.freeze({bigint:"string",cycleValue:"[Circular]",maxDepth:100,maxEntries:1e5,maxLength:1e6,onCycle:"marker"}),O=Object.freeze({maxDepth:1e3,maxEntries:1e5,maxLength:16*1024*1024}),l=class extends RangeError{constructor(n,t,r){let o=h(r);super(`Stable stringify ${n} limit of ${t} exceeded at ${o}`),this.name="StableStringifyLimitError",this.code="ERR_STABLE_STRINGIFY_LIMIT",this.kind=n,this.limit=t,this.path=o}},s=class extends TypeError{constructor(n,t){let r=h(t);super(`JSON canonicalization failed at ${r}: ${n}`),this.name="CanonicalizationError",this.code="ERR_JSON_CANONICALIZATION",this.path=r,this.reason=n}};function u(e,n){let t=$(n);return A(e,t,!1)}var M=u;function C(e){let n=typeof e=="function"?{cmp:e}:y(e);return $(n),function(r,o){let i=typeof o=="function"?{cmp:o}:y(o);return u(r,{...n,...i})}}function N(e,n,t,r){let o=y(r),i={...w,...o,maxDepth:o.maxDepth===void 0?o.depthLimit:o.maxDepth,maxEntries:o.maxEntries===void 0?o.edgesLimit:o.maxEntries,replacer:n===void 0?o.replacer:n,space:t===void 0?o.space:t};i.maxDepth===void 0&&(i.maxDepth=w.maxDepth),i.maxEntries===void 0&&(i.maxEntries=w.maxEntries);try{return u(e,i)}catch(c){if(o.throwOnError===!0)throw c;let f="UnknownError";try{c&&typeof c.name=="string"&&(f=c.name.slice(0,80))}catch(ae){}return JSON.stringify(`[Unable to serialize: ${f}]`)}}function j(e,n){let t=re(n);return A(e,t,!0)}function I(e,n){return ce(j(e,n))}function A(e,n,t){let r={ancestors:new WeakMap,canonical:t,chunks:[],entries:0,length:0,options:n},i=E(e,{"":e},"",b,r);if(i===m)return;let c=[{depth:0,path:b,prepared:i,type:"value"}];for(;c.length>0;){let f=c.pop();f.type==="value"?Z(f,c,r):G(f,c,r)}return r.chunks.join("")}function Z(e,n,t){if(e.prepared.kind==="primitive"){a(t,e.prepared.text,e.path);return}let r=e.prepared.value,o=t.ancestors.get(r);if(o!==void 0||t.ancestors.has(r)){ne(t,o,e.path);return}te(t,e.depth,e.path);let i=Array.isArray(r);t.canonical&&!i&&X(r,e.path),t.ancestors.set(r,e.path);let c=W(r,i,e.depth,e.path,t);if(a(t,i?"[":"{",e.path),c.total===0){a(t,i?"]":"}",e.path),t.ancestors.delete(r);return}n.push(c)}function G(e,n,t){if(e.index>=e.total){e.emitted&&t.options.gap!==""&&a(t,`
3
- ${e.indent}`,e.path),a(t,e.isArray?"]":"}",e.path),t.ancestors.delete(e.value);return}if(e.isArray){let r=e.index;e.index+=1;let o=g(e.path,r);L(t,o);let i=q(e.value,r,o,t),c=E(i,e.value,String(r),o,t);c===m&&(c=p("null")),v(e,o,t),n.push(e),n.push({depth:e.depth+1,path:o,prepared:c,type:"value"});return}for(;e.index<e.total;){let r=e.keys[e.index];e.index+=1;let o=g(e.path,r);L(t,o);let i=Q(e.value,r,o,t),c=E(i,e.value,r,o,t);if(c!==m){v(e,o,t),a(t,JSON.stringify(r),o),a(t,t.options.gap===""?":":": ",o),n.push(e),n.push({depth:e.depth+1,path:o,prepared:c,type:"value"});return}}n.push(e)}function W(e,n,t,r,o){let i,c;return n?c=e.length:(i=H(e,r,o),c=i.length),{depth:t,emitted:!1,indent:o.options.gap===""?"":o.options.gap.repeat(t),index:0,isArray:n,keys:i,path:r,total:c,type:"container",value:e}}function H(e,n,t){let r;if(t.canonical||t.options.propertyList===void 0?r=Object.keys(e):r=t.options.propertyList.slice(),t.canonical){ee(e,n);for(let o of r)if(z(o))throw new s("property names must not contain lone UTF-16 surrogates",g(n,o));return r.sort()}if(t.options.accessors!=="invoke"&&(r=r.filter(o=>{let i=Object.getOwnPropertyDescriptor(e,o);if(!i||!i.get&&!i.set)return!0;if(t.options.accessors==="throw")throw new TypeError(`Refusing to invoke accessor at ${h(g(n,o))}`);return!1})),t.options.cmp){let o=t.options.cmp;r.sort((i,c)=>o({key:i,value:T(e,i,n,t)},{key:c,value:T(e,c,n,t)}))}else r.sort();return r}function E(e,n,t,r,o){if(o.canonical)return K(e,r);let i=e;if(o.options.toJSON&&i!==null&&i!==void 0){let c=i.toJSON;typeof c=="function"&&(i=c.call(i))}if(o.options.replacerFunction&&(i=o.options.replacerFunction.call(n,t,i)),i===null)return p("null");switch(typeof i){case"string":return p(JSON.stringify(i));case"number":return p(Number.isFinite(i)?String(i):"null");case"boolean":return p(i?"true":"false");case"bigint":return Y(i,o.options.bigint,r);case"object":return{kind:"object",value:i};default:return m}}function K(e,n){if(e===null)return p("null");switch(typeof e){case"string":if(z(e))throw new s("strings must not contain lone UTF-16 surrogates",n);return p(JSON.stringify(e));case"number":if(!Number.isFinite(e))throw new s("NaN and Infinity are not valid I-JSON numbers",n);return p(JSON.stringify(e));case"boolean":return p(e?"true":"false");case"object":return{kind:"object",value:e};case"bigint":throw new s("BigInt values must be represented as JSON strings",n);default:throw new s(`values of type ${typeof e} are not valid JSON data`,n)}}function Y(e,n,t){if(n==="string")return p(JSON.stringify(String(e)));if(n==="number"){let r=Number(e);if(!Number.isSafeInteger(r))throw new RangeError(`BigInt at ${h(t)} cannot be represented as a safe JSON number`);return p(String(r))}throw new TypeError("Do not know how to serialize a BigInt")}function p(e){return{kind:"primitive",text:e}}function q(e,n,t,r){if(r.canonical){if(!U.call(e,n))throw new s("sparse arrays are not valid I-JSON data",t);return D(e,String(n),t)}return J(e,String(n),t,r.options.accessors)}function Q(e,n,t,r){return r.canonical?D(e,n,t):J(e,n,t,r.options.accessors)}function D(e,n,t){let r=Object.getOwnPropertyDescriptor(e,n);if(!r||r.get||r.set)throw new s("accessor properties are not valid canonical JSON input",t);return r.value}function J(e,n,t,r){if(r==="invoke")return e[n];let o=new WeakSet,i=e;for(;i!==null&&!o.has(i);){o.add(i);let c=Object.getOwnPropertyDescriptor(i,n);if(c){if(!c.get&&!c.set)return c.value;if(r==="throw")throw new TypeError(`Refusing to invoke accessor at ${h(t)}`);return}i=Object.getPrototypeOf(i)}}function T(e,n,t,r){return J(e,n,g(t,n),r.options.accessors)}function X(e,n){let t=Object.getPrototypeOf(e);if(t!==null&&S.call(e)!=="[object Object]")throw new s("only JSON objects and arrays can be canonicalized",n);if(t!==null&&Object.getPrototypeOf(t)!==null)throw new s("class instances must be converted to plain JSON objects",n)}function ee(e,n){if(typeof Object.getOwnPropertySymbols!="function")return;if(Object.getOwnPropertySymbols(e).some(r=>B.call(e,r)))throw new s("symbol properties are not valid JSON object members",n)}function v(e,n,t){if(t.options.gap==="")e.emitted&&a(t,",",n);else{let r=t.options.gap.repeat(e.depth+1);a(t,e.emitted?`,
1
+ /*! @stackline/stable-stringify v1.0.1 | MIT */
2
+ var StacklineStableStringifyModule=(()=>{var b=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var V=(e,n)=>{for(var t in n)b(e,t,{get:n[t],enumerable:!0})},_=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of P(n))!F.call(e,o)&&o!==t&&b(e,o,{get:()=>n[o],enumerable:!(r=k(n,o))||r.enumerable});return e};var R=e=>_(b({},"__esModule",{value:!0}),e);var ue={};V(ue,{CanonicalizationError:()=>s,StableStringifyLimitError:()=>f,canonicalize:()=>N,canonicalizeBytes:()=>I,configure:()=>C,default:()=>se,safeStringify:()=>E,stableStringify:()=>u,stringify:()=>M});var U=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,v=Object.prototype.toString,m=Symbol("omit"),x=null,w=Object.freeze({bigint:"string",cycleValue:"[Circular]",maxDepth:100,maxEntries:1e5,maxLength:1e6,onCycle:"marker"}),S=Object.freeze({maxDepth:1e3,maxEntries:1e5,maxLength:16*1024*1024}),f=class extends RangeError{constructor(n,t,r){let o=h(r);super(`Stable stringify ${n} limit of ${t} exceeded at ${o}`),this.name="StableStringifyLimitError",this.code="ERR_STABLE_STRINGIFY_LIMIT",this.kind=n,this.limit=t,this.path=o}},s=class extends TypeError{constructor(n,t){let r=h(t);super(`JSON canonicalization failed at ${r}: ${n}`),this.name="CanonicalizationError",this.code="ERR_JSON_CANONICALIZATION",this.path=r,this.reason=n}};function u(e,n){let t=$(n);return A(e,t,!1)}var M=u;function C(e){let n=typeof e=="function"?{cmp:e}:y(e);return $(n),function(r,o){let i=typeof o=="function"?{cmp:o}:y(o);return u(r,{...n,...i})}}function E(e,n,t,r){let o=y(r),i={...w,...o,maxDepth:o.maxDepth===void 0?o.depthLimit:o.maxDepth,maxEntries:o.maxEntries===void 0?o.edgesLimit:o.maxEntries,replacer:n===void 0?o.replacer:n,space:t===void 0?o.space:t};i.maxDepth===void 0&&(i.maxDepth=w.maxDepth),i.maxEntries===void 0&&(i.maxEntries=w.maxEntries);try{return u(e,i)}catch(c){if(o.throwOnError===!0)throw c;let l="UnknownError";try{c&&typeof c.name=="string"&&(l=c.name.slice(0,80))}catch(ae){}return JSON.stringify(`[Unable to serialize: ${l}]`)}}function N(e,n){let t=re(n);return A(e,t,!0)}function I(e,n){return ce(N(e,n))}function A(e,n,t){let r={ancestors:new WeakMap,canonical:t,chunks:[],entries:0,length:0,options:n},i=O(e,{"":e},"",x,r);if(i===m)return;let c=[{depth:0,path:x,prepared:i,type:"value"}];for(;c.length>0;){let l=c.pop();l.type==="value"?Z(l,c,r):G(l,c,r)}return r.chunks.join("")}function Z(e,n,t){if(e.prepared.kind==="primitive"){a(t,e.prepared.text,e.path);return}let r=e.prepared.value,o=t.ancestors.get(r);if(o!==void 0||t.ancestors.has(r)){ne(t,o,e.path);return}te(t,e.depth,e.path);let i=Array.isArray(r);t.canonical&&(ee(r,e.path),i||X(r,e.path)),t.ancestors.set(r,e.path);let c=W(r,i,e.depth,e.path,t);if(a(t,i?"[":"{",e.path),c.total===0){a(t,i?"]":"}",e.path),t.ancestors.delete(r);return}n.push(c)}function G(e,n,t){if(e.index>=e.total){e.emitted&&t.options.gap!==""&&a(t,`
3
+ ${e.indent}`,e.path),a(t,e.isArray?"]":"}",e.path),t.ancestors.delete(e.value);return}if(e.isArray){let r=e.index;e.index+=1;let o=g(e.path,r);L(t,o);let i=q(e.value,r,o,t),c=O(i,e.value,String(r),o,t);c===m&&(c=p("null")),J(e,o,t),n.push(e),n.push({depth:e.depth+1,path:o,prepared:c,type:"value"});return}for(;e.index<e.total;){let r=e.keys[e.index];e.index+=1;let o=g(e.path,r);L(t,o);let i=Q(e.value,r,o,t),c=O(i,e.value,r,o,t);if(c!==m){J(e,o,t),a(t,JSON.stringify(r),o),a(t,t.options.gap===""?":":": ",o),n.push(e),n.push({depth:e.depth+1,path:o,prepared:c,type:"value"});return}}n.push(e)}function W(e,n,t,r,o){let i,c;return n?c=e.length:(i=H(e,r,o),c=i.length),{depth:t,emitted:!1,indent:o.options.gap===""?"":o.options.gap.repeat(t),index:0,isArray:n,keys:i,path:r,total:c,type:"container",value:e}}function H(e,n,t){let r;if(t.canonical||t.options.propertyList===void 0?r=Object.keys(e):r=t.options.propertyList.slice(),t.canonical){for(let o of r)if(z(o))throw new s("property names must not contain lone UTF-16 surrogates",g(n,o));return r.sort()}if(t.options.accessors!=="invoke"&&(r=r.filter(o=>{let i=Object.getOwnPropertyDescriptor(e,o);if(!i||!i.get&&!i.set)return!0;if(t.options.accessors==="throw")throw new TypeError(`Refusing to invoke accessor at ${h(g(n,o))}`);return!1})),t.options.cmp){let o=t.options.cmp;r.sort((i,c)=>o({key:i,value:T(e,i,n,t)},{key:c,value:T(e,c,n,t)}))}else r.sort();return r}function O(e,n,t,r,o){if(o.canonical)return K(e,r);let i=e;if(o.options.toJSON&&i!==null&&i!==void 0){let c=i.toJSON;typeof c=="function"&&(i=c.call(i))}if(o.options.replacerFunction&&(i=o.options.replacerFunction.call(n,t,i)),i===null)return p("null");switch(typeof i){case"string":return p(JSON.stringify(i));case"number":return p(Number.isFinite(i)?String(i):"null");case"boolean":return p(i?"true":"false");case"bigint":return Y(i,o.options.bigint,r);case"object":return{kind:"object",value:i};default:return m}}function K(e,n){if(e===null)return p("null");switch(typeof e){case"string":if(z(e))throw new s("strings must not contain lone UTF-16 surrogates",n);return p(JSON.stringify(e));case"number":if(!Number.isFinite(e))throw new s("NaN and Infinity are not valid I-JSON numbers",n);return p(JSON.stringify(e));case"boolean":return p(e?"true":"false");case"object":return{kind:"object",value:e};case"bigint":throw new s("BigInt values must be represented as JSON strings",n);default:throw new s(`values of type ${typeof e} are not valid JSON data`,n)}}function Y(e,n,t){if(n==="string")return p(JSON.stringify(String(e)));if(n==="number"){let r=Number(e);if(!Number.isSafeInteger(r))throw new RangeError(`BigInt at ${h(t)} cannot be represented as a safe JSON number`);return p(String(r))}throw new TypeError("Do not know how to serialize a BigInt")}function p(e){return{kind:"primitive",text:e}}function q(e,n,t,r){if(r.canonical){if(!U.call(e,n))throw new s("sparse arrays are not valid I-JSON data",t);return D(e,String(n),t)}return j(e,String(n),t,r.options.accessors)}function Q(e,n,t,r){return r.canonical?D(e,n,t):j(e,n,t,r.options.accessors)}function D(e,n,t){let r=Object.getOwnPropertyDescriptor(e,n);if(!r||r.get||r.set)throw new s("accessor properties are not valid canonical JSON input",t);return r.value}function j(e,n,t,r){if(r==="invoke")return e[n];let o=new WeakSet,i=e;for(;i!==null&&!o.has(i);){o.add(i);let c=Object.getOwnPropertyDescriptor(i,n);if(c){if(!c.get&&!c.set)return c.value;if(r==="throw")throw new TypeError(`Refusing to invoke accessor at ${h(t)}`);return}i=Object.getPrototypeOf(i)}}function T(e,n,t,r){return j(e,n,g(t,n),r.options.accessors)}function X(e,n){let t=Object.getPrototypeOf(e);if(t!==null&&Object.getPrototypeOf(t)!==null)throw new s("class instances must be converted to plain JSON objects",n)}function ee(e,n){if(typeof Object.getOwnPropertySymbols!="function")return;if(Object.getOwnPropertySymbols(e).some(r=>B.call(e,r)))throw new s("symbol properties are not valid JSON object members",n)}function J(e,n,t){if(t.options.gap==="")e.emitted&&a(t,",",n);else{let r=t.options.gap.repeat(e.depth+1);a(t,e.emitted?`,
4
4
  ${r}`:`
5
- ${r}`,n)}e.emitted=!0}function ne(e,n,t){if(e.canonical)throw new s("circular references are not valid JSON",t);switch(e.options.onCycle){case"marker":a(e,JSON.stringify(e.options.cycleValue),t);return;case"path":a(e,JSON.stringify(`[Circular ${h(n)}]`),t);return;case"null":a(e,"null",t);return;default:throw new TypeError("Converting circular structure to JSON")}}function a(e,n,t){let r=e.length+n.length;if(r>e.options.maxLength)throw new l("length",e.options.maxLength,t);e.length=r,e.chunks.push(n)}function te(e,n,t){if(n>e.options.maxDepth)throw new l("depth",e.options.maxDepth,t)}function L(e,n){if(e.entries+=1,e.entries>e.options.maxEntries)throw new l("entry",e.options.maxEntries,n)}function $(e){let n=typeof e=="function"?{cmp:e}:y(e);if(n.cmp!==void 0&&typeof n.cmp!="function")throw new TypeError("cmp must be a function");if(n.cycles!==void 0&&typeof n.cycles!="boolean")throw new TypeError("cycles must be a boolean");if(n.replacer!==void 0&&n.replacer!==null&&typeof n.replacer!="function"&&!Array.isArray(n.replacer))throw new TypeError("replacer must be a function or an array");let t=n.onCycle===void 0?n.cycles===!0?"marker":"throw":n.onCycle;if(!["throw","marker","path","null"].includes(t))throw new TypeError("onCycle must be 'throw', 'marker', 'path', or 'null'");let r=n.bigint===void 0?"throw":n.bigint;if(!["throw","string","number"].includes(r))throw new TypeError("bigint must be 'throw', 'string', or 'number'");let o=n.accessors===void 0?"invoke":n.accessors;if(!["invoke","omit","throw"].includes(o))throw new TypeError("accessors must be 'invoke', 'omit', or 'throw'");if(n.toJSON!==void 0&&typeof n.toJSON!="boolean")throw new TypeError("toJSON must be a boolean");if(n.cycleValue!==void 0&&typeof n.cycleValue!="string")throw new TypeError("cycleValue must be a string");return{accessors:o,bigint:r,cmp:n.cmp,cycleValue:n.cycleValue===void 0?"__cycle__":n.cycleValue,gap:oe(n.space),maxDepth:d(n.maxDepth,1/0,"maxDepth"),maxEntries:d(n.maxEntries,1/0,"maxEntries"),maxLength:d(n.maxLength,1/0,"maxLength"),onCycle:t,propertyList:Array.isArray(n.replacer)?ie(n.replacer):void 0,replacerFunction:typeof n.replacer=="function"?n.replacer:void 0,toJSON:n.toJSON===void 0?!0:n.toJSON}}function re(e){let n=y(e);return{accessors:"throw",bigint:"throw",cmp:void 0,cycleValue:"",gap:"",maxDepth:d(n.maxDepth,O.maxDepth,"maxDepth"),maxEntries:d(n.maxEntries,O.maxEntries,"maxEntries"),maxLength:d(n.maxLength,O.maxLength,"maxLength"),onCycle:"throw",propertyList:void 0,replacerFunction:void 0,toJSON:!1}}function y(e){if(e==null)return{};if(typeof e!="object")throw new TypeError("options must be an object when provided");return{...e}}function d(e,n,t){let r=e===void 0?n:e;if(r===1/0)return r;if(!Number.isSafeInteger(r)||r<0)throw new TypeError(`${t} must be a non-negative safe integer or Infinity`);return r}function oe(e){return typeof e=="number"?" ".repeat(Math.min(10,Math.max(0,Math.trunc(e)))):typeof e=="string"?e.slice(0,10):""}function ie(e){let n=[],t=new Set;for(let r of e){let o;(typeof r=="string"||typeof r=="number"||r&&(S.call(r)==="[object String]"||S.call(r)==="[object Number]"))&&(o=String(r)),o!==void 0&&!t.has(o)&&(t.add(o),n.push(o))}return n}function z(e){for(let n=0;n<e.length;n+=1){let t=e.charCodeAt(n);if(t>=55296&&t<=56319){let r=e.charCodeAt(n+1);if(!(r>=56320&&r<=57343))return!0;n+=1}else if(t>=56320&&t<=57343)return!0}return!1}function g(e,n){return{key:n,parent:e}}function h(e){if(e===b)return"<root>";let n=[],t=e;for(;t!==b;)n.push(t.key),t=t.parent;n.reverse();let r="<root>";for(let o of n)typeof o=="number"?r+=`[${o}]`:/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(o)?r+=`.${o}`:r+=`[${JSON.stringify(o)}]`;return r}function ce(e){if(typeof TextEncoder=="function")return new TextEncoder().encode(e);let n=[];for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r>=55296&&r<=56319){let o=e.charCodeAt(t+1);r=(r-55296<<10)+(o-56320)+65536,t+=1}r<=127?n.push(r):r<=2047?n.push(192|r>>6,128|r&63):r<=65535?n.push(224|r>>12,128|r>>6&63,128|r&63):n.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|r&63)}return Uint8Array.from(n)}Object.defineProperties(u,{CanonicalizationError:{value:s},StableStringifyLimitError:{value:l},canonicalize:{value:j},canonicalizeBytes:{value:I},configure:{value:C},default:{value:u},safeStringify:{value:N},stable:{value:u},stableStringify:{value:u},stringify:{value:u}});Object.defineProperties(N,{stable:{value:u},stableStringify:{value:u}});var se=u;return R(ue);})();
5
+ ${r}`,n)}e.emitted=!0}function ne(e,n,t){if(e.canonical)throw new s("circular references are not valid JSON",t);switch(e.options.onCycle){case"marker":a(e,JSON.stringify(e.options.cycleValue),t);return;case"path":a(e,JSON.stringify(`[Circular ${h(n)}]`),t);return;case"null":a(e,"null",t);return;default:throw new TypeError("Converting circular structure to JSON")}}function a(e,n,t){let r=e.length+n.length;if(r>e.options.maxLength)throw new f("length",e.options.maxLength,t);e.length=r,e.chunks.push(n)}function te(e,n,t){if(n>e.options.maxDepth)throw new f("depth",e.options.maxDepth,t)}function L(e,n){if(e.entries+=1,e.entries>e.options.maxEntries)throw new f("entry",e.options.maxEntries,n)}function $(e){let n=typeof e=="function"?{cmp:e}:y(e);if(n.cmp!==void 0&&typeof n.cmp!="function")throw new TypeError("cmp must be a function");if(n.cycles!==void 0&&typeof n.cycles!="boolean")throw new TypeError("cycles must be a boolean");if(n.replacer!==void 0&&n.replacer!==null&&typeof n.replacer!="function"&&!Array.isArray(n.replacer))throw new TypeError("replacer must be a function or an array");let t=n.onCycle===void 0?n.cycles===!0?"marker":"throw":n.onCycle;if(!["throw","marker","path","null"].includes(t))throw new TypeError("onCycle must be 'throw', 'marker', 'path', or 'null'");let r=n.bigint===void 0?"throw":n.bigint;if(!["throw","string","number"].includes(r))throw new TypeError("bigint must be 'throw', 'string', or 'number'");let o=n.accessors===void 0?"invoke":n.accessors;if(!["invoke","omit","throw"].includes(o))throw new TypeError("accessors must be 'invoke', 'omit', or 'throw'");if(n.toJSON!==void 0&&typeof n.toJSON!="boolean")throw new TypeError("toJSON must be a boolean");if(n.cycleValue!==void 0&&typeof n.cycleValue!="string")throw new TypeError("cycleValue must be a string");return{accessors:o,bigint:r,cmp:n.cmp,cycleValue:n.cycleValue===void 0?"__cycle__":n.cycleValue,gap:oe(n.space),maxDepth:d(n.maxDepth,1/0,"maxDepth"),maxEntries:d(n.maxEntries,1/0,"maxEntries"),maxLength:d(n.maxLength,1/0,"maxLength"),onCycle:t,propertyList:Array.isArray(n.replacer)?ie(n.replacer):void 0,replacerFunction:typeof n.replacer=="function"?n.replacer:void 0,toJSON:n.toJSON===void 0?!0:n.toJSON}}function re(e){let n=y(e);return{accessors:"throw",bigint:"throw",cmp:void 0,cycleValue:"",gap:"",maxDepth:d(n.maxDepth,S.maxDepth,"maxDepth"),maxEntries:d(n.maxEntries,S.maxEntries,"maxEntries"),maxLength:d(n.maxLength,S.maxLength,"maxLength"),onCycle:"throw",propertyList:void 0,replacerFunction:void 0,toJSON:!1}}function y(e){if(e==null)return{};if(typeof e!="object")throw new TypeError("options must be an object when provided");return{...e}}function d(e,n,t){let r=e===void 0?n:e;if(r===1/0)return r;if(!Number.isSafeInteger(r)||r<0)throw new TypeError(`${t} must be a non-negative safe integer or Infinity`);return r}function oe(e){return typeof e=="number"?" ".repeat(Math.min(10,Math.max(0,Math.trunc(e)))):typeof e=="string"?e.slice(0,10):""}function ie(e){let n=[],t=new Set;for(let r of e){let o;(typeof r=="string"||typeof r=="number"||r&&(v.call(r)==="[object String]"||v.call(r)==="[object Number]"))&&(o=String(r)),o!==void 0&&!t.has(o)&&(t.add(o),n.push(o))}return n}function z(e){for(let n=0;n<e.length;n+=1){let t=e.charCodeAt(n);if(t>=55296&&t<=56319){let r=e.charCodeAt(n+1);if(!(r>=56320&&r<=57343))return!0;n+=1}else if(t>=56320&&t<=57343)return!0}return!1}function g(e,n){return{key:n,parent:e}}function h(e){if(e===x)return"<root>";let n=[],t=e;for(;t!==x;)n.push(t.key),t=t.parent;n.reverse();let r="<root>";for(let o of n)typeof o=="number"?r+=`[${o}]`:/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(o)?r+=`.${o}`:r+=`[${JSON.stringify(o)}]`;return r}function ce(e){if(typeof TextEncoder=="function")return new TextEncoder().encode(e);let n=[];for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r>=55296&&r<=56319){let o=e.charCodeAt(t+1);r=(r-55296<<10)+(o-56320)+65536,t+=1}r<=127?n.push(r):r<=2047?n.push(192|r>>6,128|r&63):r<=65535?n.push(224|r>>12,128|r>>6&63,128|r&63):n.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|r&63)}return Uint8Array.from(n)}Object.defineProperties(u,{CanonicalizationError:{value:s},StableStringifyLimitError:{value:f},canonicalize:{value:N},canonicalizeBytes:{value:I},configure:{value:C},default:{value:u},safeStringify:{value:E},stable:{value:u},stableStringify:{value:u},stringify:{value:u}});Object.defineProperties(E,{stable:{value:u},stableStringify:{value:u}});var se=u;return R(ue);})();
6
6
  (typeof globalThis !== 'undefined' ? globalThis : window).StacklineStableStringify = StacklineStableStringifyModule.default;
7
7
  //# sourceMappingURL=index.min.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.js"],
4
- "sourcesContent": ["const hasOwn = Object.prototype.hasOwnProperty;\nconst propertyIsEnumerable = Object.prototype.propertyIsEnumerable;\nconst objectToString = Object.prototype.toString;\nconst OMIT = Symbol('omit');\nconst ROOT_PATH = null;\n\nconst SAFE_DEFAULTS = Object.freeze({\n bigint: 'string',\n cycleValue: '[Circular]',\n maxDepth: 100,\n maxEntries: 100000,\n maxLength: 1000000,\n onCycle: 'marker'\n});\n\nconst CANONICAL_DEFAULTS = Object.freeze({\n maxDepth: 1000,\n maxEntries: 100000,\n maxLength: 16 * 1024 * 1024\n});\n\nexport class StableStringifyLimitError extends RangeError {\n constructor(kind, limit, path) {\n const location = formatPath(path);\n super(`Stable stringify ${kind} limit of ${limit} exceeded at ${location}`);\n this.name = 'StableStringifyLimitError';\n this.code = 'ERR_STABLE_STRINGIFY_LIMIT';\n this.kind = kind;\n this.limit = limit;\n this.path = location;\n }\n}\n\nexport class CanonicalizationError extends TypeError {\n constructor(reason, path) {\n const location = formatPath(path);\n super(`JSON canonicalization failed at ${location}: ${reason}`);\n this.name = 'CanonicalizationError';\n this.code = 'ERR_JSON_CANONICALIZATION';\n this.path = location;\n this.reason = reason;\n }\n}\n\nexport function stableStringify(value, inputOptions) {\n const options = normalizeStableOptions(inputOptions);\n return serialize(value, options, false);\n}\n\nexport const stringify = stableStringify;\n\nexport function configure(inputDefaults) {\n const defaults =\n typeof inputDefaults === 'function'\n ? { cmp: inputDefaults }\n : normalizeInputObject(inputDefaults);\n normalizeStableOptions(defaults);\n\n return function configuredStableStringify(value, inputOptions) {\n const overrides =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n return stableStringify(value, { ...defaults, ...overrides });\n };\n}\n\nexport function safeStringify(value, replacer, space, inputOptions) {\n const options = normalizeInputObject(inputOptions);\n const stableOptions = {\n ...SAFE_DEFAULTS,\n ...options,\n maxDepth:\n options.maxDepth === undefined ? options.depthLimit : options.maxDepth,\n maxEntries:\n options.maxEntries === undefined ? options.edgesLimit : options.maxEntries,\n replacer: replacer === undefined ? options.replacer : replacer,\n space: space === undefined ? options.space : space\n };\n\n if (stableOptions.maxDepth === undefined) {\n stableOptions.maxDepth = SAFE_DEFAULTS.maxDepth;\n }\n if (stableOptions.maxEntries === undefined) {\n stableOptions.maxEntries = SAFE_DEFAULTS.maxEntries;\n }\n\n try {\n return stableStringify(value, stableOptions);\n } catch (error) {\n if (options.throwOnError === true) throw error;\n let name = 'UnknownError';\n try {\n if (error && typeof error.name === 'string') {\n name = error.name.slice(0, 80);\n }\n } catch {\n // A thrown value can expose hostile accessors of its own.\n }\n return JSON.stringify(`[Unable to serialize: ${name}]`);\n }\n}\n\nexport function canonicalize(value, inputOptions) {\n const options = normalizeCanonicalOptions(inputOptions);\n return serialize(value, options, true);\n}\n\nexport function canonicalizeBytes(value, inputOptions) {\n return encodeUtf8(canonicalize(value, inputOptions));\n}\n\nfunction serialize(rootValue, options, canonical) {\n const state = {\n ancestors: new WeakMap(),\n canonical,\n chunks: [],\n entries: 0,\n length: 0,\n options\n };\n const holder = { '': rootValue };\n const prepared = prepareValue(rootValue, holder, '', ROOT_PATH, state);\n\n if (prepared === OMIT) return undefined;\n\n const tasks = [\n {\n depth: 0,\n path: ROOT_PATH,\n prepared,\n type: 'value'\n }\n ];\n\n while (tasks.length > 0) {\n const task = tasks.pop();\n if (task.type === 'value') {\n processValueTask(task, tasks, state);\n } else {\n processContainerTask(task, tasks, state);\n }\n }\n\n return state.chunks.join('');\n}\n\nfunction processValueTask(task, tasks, state) {\n if (task.prepared.kind === 'primitive') {\n append(state, task.prepared.text, task.path);\n return;\n }\n\n const value = task.prepared.value;\n const previousPath = state.ancestors.get(value);\n if (previousPath !== undefined || state.ancestors.has(value)) {\n appendCycle(state, previousPath, task.path);\n return;\n }\n\n enforceDepth(state, task.depth, task.path);\n const isArray = Array.isArray(value);\n if (state.canonical && !isArray) validateCanonicalObject(value, task.path);\n\n state.ancestors.set(value, task.path);\n const frame = createContainerFrame(\n value,\n isArray,\n task.depth,\n task.path,\n state\n );\n append(state, isArray ? '[' : '{', task.path);\n\n if (frame.total === 0) {\n append(state, isArray ? ']' : '}', task.path);\n state.ancestors.delete(value);\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction processContainerTask(frame, tasks, state) {\n if (frame.index >= frame.total) {\n if (frame.emitted && state.options.gap !== '') {\n append(state, `\\n${frame.indent}`, frame.path);\n }\n append(state, frame.isArray ? ']' : '}', frame.path);\n state.ancestors.delete(frame.value);\n return;\n }\n\n if (frame.isArray) {\n const index = frame.index;\n frame.index += 1;\n const path = createPath(frame.path, index);\n consumeEntry(state, path);\n const rawValue = readArrayValue(frame.value, index, path, state);\n let prepared = prepareValue(\n rawValue,\n frame.value,\n String(index),\n path,\n state\n );\n if (prepared === OMIT) prepared = primitive('null');\n\n appendItemPrefix(frame, path, state);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n while (frame.index < frame.total) {\n const key = frame.keys[frame.index];\n frame.index += 1;\n const path = createPath(frame.path, key);\n consumeEntry(state, path);\n const rawValue = readObjectValue(frame.value, key, path, state);\n const prepared = prepareValue(rawValue, frame.value, key, path, state);\n if (prepared === OMIT) continue;\n\n appendItemPrefix(frame, path, state);\n append(state, JSON.stringify(key), path);\n append(state, state.options.gap === '' ? ':' : ': ', path);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction createContainerFrame(value, isArray, depth, path, state) {\n let keys;\n let total;\n\n if (isArray) {\n total = value.length;\n } else {\n keys = getObjectKeys(value, path, state);\n total = keys.length;\n }\n\n return {\n depth,\n emitted: false,\n indent:\n state.options.gap === '' ? '' : state.options.gap.repeat(depth),\n index: 0,\n isArray,\n keys,\n path,\n total,\n type: 'container',\n value\n };\n}\n\nfunction getObjectKeys(value, path, state) {\n let keys;\n if (state.canonical || state.options.propertyList === undefined) {\n keys = Object.keys(value);\n } else {\n keys = state.options.propertyList.slice();\n }\n\n if (state.canonical) {\n rejectEnumerableSymbols(value, path);\n for (const key of keys) {\n if (hasLoneSurrogate(key)) {\n throw new CanonicalizationError(\n 'property names must not contain lone UTF-16 surrogates',\n createPath(path, key)\n );\n }\n }\n return keys.sort();\n }\n\n if (state.options.accessors !== 'invoke') {\n keys = keys.filter((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || (!descriptor.get && !descriptor.set)) return true;\n if (state.options.accessors === 'throw') {\n throw new TypeError(\n `Refusing to invoke accessor at ${formatPath(createPath(path, key))}`\n );\n }\n return false;\n });\n }\n\n if (state.options.cmp) {\n const comparator = state.options.cmp;\n keys.sort((left, right) =>\n comparator(\n { key: left, value: readForComparator(value, left, path, state) },\n { key: right, value: readForComparator(value, right, path, state) }\n )\n );\n } else {\n keys.sort();\n }\n return keys;\n}\n\nfunction prepareValue(rawValue, holder, key, path, state) {\n if (state.canonical) return prepareCanonicalValue(rawValue, path);\n\n let value = rawValue;\n if (state.options.toJSON && value !== null && value !== undefined) {\n const method = value.toJSON;\n if (typeof method === 'function') value = method.call(value);\n }\n\n if (state.options.replacerFunction) {\n value = state.options.replacerFunction.call(holder, key, value);\n }\n\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n return primitive(JSON.stringify(value));\n case 'number':\n return primitive(Number.isFinite(value) ? String(value) : 'null');\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'bigint':\n return prepareBigInt(value, state.options.bigint, path);\n case 'object':\n return { kind: 'object', value };\n default:\n return OMIT;\n }\n}\n\nfunction prepareCanonicalValue(value, path) {\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n if (hasLoneSurrogate(value)) {\n throw new CanonicalizationError(\n 'strings must not contain lone UTF-16 surrogates',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'number':\n if (!Number.isFinite(value)) {\n throw new CanonicalizationError(\n 'NaN and Infinity are not valid I-JSON numbers',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'object':\n return { kind: 'object', value };\n case 'bigint':\n throw new CanonicalizationError(\n 'BigInt values must be represented as JSON strings',\n path\n );\n default:\n throw new CanonicalizationError(\n `values of type ${typeof value} are not valid JSON data`,\n path\n );\n }\n}\n\nfunction prepareBigInt(value, mode, path) {\n if (mode === 'string') return primitive(JSON.stringify(String(value)));\n if (mode === 'number') {\n const number = Number(value);\n if (!Number.isSafeInteger(number)) {\n throw new RangeError(\n `BigInt at ${formatPath(path)} cannot be represented as a safe JSON number`\n );\n }\n return primitive(String(number));\n }\n throw new TypeError('Do not know how to serialize a BigInt');\n}\n\nfunction primitive(text) {\n return { kind: 'primitive', text };\n}\n\nfunction readArrayValue(array, index, path, state) {\n if (state.canonical) {\n if (!hasOwn.call(array, index)) {\n throw new CanonicalizationError(\n 'sparse arrays are not valid I-JSON data',\n path\n );\n }\n return readCanonicalDescriptor(array, String(index), path);\n }\n return readStableProperty(array, String(index), path, state.options.accessors);\n}\n\nfunction readObjectValue(object, key, path, state) {\n if (state.canonical) return readCanonicalDescriptor(object, key, path);\n return readStableProperty(object, key, path, state.options.accessors);\n}\n\nfunction readCanonicalDescriptor(object, key, path) {\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (!descriptor || descriptor.get || descriptor.set) {\n throw new CanonicalizationError(\n 'accessor properties are not valid canonical JSON input',\n path\n );\n }\n return descriptor.value;\n}\n\nfunction readStableProperty(object, key, path, accessors) {\n if (accessors === 'invoke') return object[key];\n\n const seen = new WeakSet();\n let current = object;\n while (current !== null && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor) {\n if (!descriptor.get && !descriptor.set) return descriptor.value;\n if (accessors === 'throw') {\n throw new TypeError(`Refusing to invoke accessor at ${formatPath(path)}`);\n }\n return undefined;\n }\n current = Object.getPrototypeOf(current);\n }\n return undefined;\n}\n\nfunction readForComparator(object, key, path, state) {\n return readStableProperty(\n object,\n key,\n createPath(path, key),\n state.options.accessors\n );\n}\n\nfunction validateCanonicalObject(value, path) {\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && objectToString.call(value) !== '[object Object]') {\n throw new CanonicalizationError(\n 'only JSON objects and arrays can be canonicalized',\n path\n );\n }\n if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {\n throw new CanonicalizationError(\n 'class instances must be converted to plain JSON objects',\n path\n );\n }\n}\n\nfunction rejectEnumerableSymbols(value, path) {\n if (typeof Object.getOwnPropertySymbols !== 'function') return;\n const symbols = Object.getOwnPropertySymbols(value);\n if (symbols.some((symbol) => propertyIsEnumerable.call(value, symbol))) {\n throw new CanonicalizationError(\n 'symbol properties are not valid JSON object members',\n path\n );\n }\n}\n\nfunction appendItemPrefix(frame, path, state) {\n if (state.options.gap === '') {\n if (frame.emitted) append(state, ',', path);\n } else {\n const indentation = state.options.gap.repeat(frame.depth + 1);\n append(state, frame.emitted ? `,\\n${indentation}` : `\\n${indentation}`, path);\n }\n frame.emitted = true;\n}\n\nfunction appendCycle(state, previousPath, currentPath) {\n if (state.canonical) {\n throw new CanonicalizationError('circular references are not valid JSON', currentPath);\n }\n\n switch (state.options.onCycle) {\n case 'marker':\n append(state, JSON.stringify(state.options.cycleValue), currentPath);\n return;\n case 'path':\n append(\n state,\n JSON.stringify(`[Circular ${formatPath(previousPath)}]`),\n currentPath\n );\n return;\n case 'null':\n append(state, 'null', currentPath);\n return;\n default:\n throw new TypeError('Converting circular structure to JSON');\n }\n}\n\nfunction append(state, text, path) {\n const nextLength = state.length + text.length;\n if (nextLength > state.options.maxLength) {\n throw new StableStringifyLimitError(\n 'length',\n state.options.maxLength,\n path\n );\n }\n state.length = nextLength;\n state.chunks.push(text);\n}\n\nfunction enforceDepth(state, depth, path) {\n if (depth > state.options.maxDepth) {\n throw new StableStringifyLimitError(\n 'depth',\n state.options.maxDepth,\n path\n );\n }\n}\n\nfunction consumeEntry(state, path) {\n state.entries += 1;\n if (state.entries > state.options.maxEntries) {\n throw new StableStringifyLimitError(\n 'entry',\n state.options.maxEntries,\n path\n );\n }\n}\n\nfunction normalizeStableOptions(inputOptions) {\n const input =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n\n if (input.cmp !== undefined && typeof input.cmp !== 'function') {\n throw new TypeError('cmp must be a function');\n }\n if (input.cycles !== undefined && typeof input.cycles !== 'boolean') {\n throw new TypeError('cycles must be a boolean');\n }\n if (\n input.replacer !== undefined &&\n input.replacer !== null &&\n typeof input.replacer !== 'function' &&\n !Array.isArray(input.replacer)\n ) {\n throw new TypeError('replacer must be a function or an array');\n }\n\n const onCycle =\n input.onCycle === undefined\n ? input.cycles === true\n ? 'marker'\n : 'throw'\n : input.onCycle;\n if (!['throw', 'marker', 'path', 'null'].includes(onCycle)) {\n throw new TypeError(\n \"onCycle must be 'throw', 'marker', 'path', or 'null'\"\n );\n }\n\n const bigint = input.bigint === undefined ? 'throw' : input.bigint;\n if (!['throw', 'string', 'number'].includes(bigint)) {\n throw new TypeError(\"bigint must be 'throw', 'string', or 'number'\");\n }\n\n const accessors = input.accessors === undefined ? 'invoke' : input.accessors;\n if (!['invoke', 'omit', 'throw'].includes(accessors)) {\n throw new TypeError(\"accessors must be 'invoke', 'omit', or 'throw'\");\n }\n\n if (input.toJSON !== undefined && typeof input.toJSON !== 'boolean') {\n throw new TypeError('toJSON must be a boolean');\n }\n if (\n input.cycleValue !== undefined &&\n typeof input.cycleValue !== 'string'\n ) {\n throw new TypeError('cycleValue must be a string');\n }\n\n return {\n accessors,\n bigint,\n cmp: input.cmp,\n cycleValue:\n input.cycleValue === undefined ? '__cycle__' : input.cycleValue,\n gap: normalizeGap(input.space),\n maxDepth: normalizeLimit(input.maxDepth, Infinity, 'maxDepth'),\n maxEntries: normalizeLimit(input.maxEntries, Infinity, 'maxEntries'),\n maxLength: normalizeLimit(input.maxLength, Infinity, 'maxLength'),\n onCycle,\n propertyList: Array.isArray(input.replacer)\n ? normalizePropertyList(input.replacer)\n : undefined,\n replacerFunction:\n typeof input.replacer === 'function' ? input.replacer : undefined,\n toJSON: input.toJSON === undefined ? true : input.toJSON\n };\n}\n\nfunction normalizeCanonicalOptions(inputOptions) {\n const input = normalizeInputObject(inputOptions);\n return {\n accessors: 'throw',\n bigint: 'throw',\n cmp: undefined,\n cycleValue: '',\n gap: '',\n maxDepth: normalizeLimit(\n input.maxDepth,\n CANONICAL_DEFAULTS.maxDepth,\n 'maxDepth'\n ),\n maxEntries: normalizeLimit(\n input.maxEntries,\n CANONICAL_DEFAULTS.maxEntries,\n 'maxEntries'\n ),\n maxLength: normalizeLimit(\n input.maxLength,\n CANONICAL_DEFAULTS.maxLength,\n 'maxLength'\n ),\n onCycle: 'throw',\n propertyList: undefined,\n replacerFunction: undefined,\n toJSON: false\n };\n}\n\nfunction normalizeInputObject(value) {\n if (value === undefined || value === null) return {};\n if (typeof value !== 'object') {\n throw new TypeError('options must be an object when provided');\n }\n return { ...value };\n}\n\nfunction normalizeLimit(value, fallback, name) {\n const resolved = value === undefined ? fallback : value;\n if (resolved === Infinity) return resolved;\n if (!Number.isSafeInteger(resolved) || resolved < 0) {\n throw new TypeError(\n `${name} must be a non-negative safe integer or Infinity`\n );\n }\n return resolved;\n}\n\nfunction normalizeGap(space) {\n if (typeof space === 'number') {\n return ' '.repeat(Math.min(10, Math.max(0, Math.trunc(space))));\n }\n if (typeof space === 'string') return space.slice(0, 10);\n return '';\n}\n\nfunction normalizePropertyList(input) {\n const output = [];\n const seen = new Set();\n for (const item of input) {\n let key;\n if (typeof item === 'string' || typeof item === 'number') {\n key = String(item);\n } else if (\n item &&\n (objectToString.call(item) === '[object String]' ||\n objectToString.call(item) === '[object Number]')\n ) {\n key = String(item);\n }\n if (key !== undefined && !seen.has(key)) {\n seen.add(key);\n output.push(key);\n }\n }\n return output;\n}\n\nfunction hasLoneSurrogate(value) {\n for (let index = 0; index < value.length; index += 1) {\n const code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n if (!(next >= 0xdc00 && next <= 0xdfff)) return true;\n index += 1;\n } else if (code >= 0xdc00 && code <= 0xdfff) {\n return true;\n }\n }\n return false;\n}\n\nfunction createPath(parent, key) {\n return { key, parent };\n}\n\nfunction formatPath(path) {\n if (path === ROOT_PATH) return '<root>';\n const parts = [];\n let current = path;\n while (current !== ROOT_PATH) {\n parts.push(current.key);\n current = current.parent;\n }\n parts.reverse();\n\n let output = '<root>';\n for (const part of parts) {\n if (typeof part === 'number') {\n output += `[${part}]`;\n } else if (/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(part)) {\n output += `.${part}`;\n } else {\n output += `[${JSON.stringify(part)}]`;\n }\n }\n return output;\n}\n\nfunction encodeUtf8(value) {\n if (typeof TextEncoder === 'function') return new TextEncoder().encode(value);\n\n const bytes = [];\n for (let index = 0; index < value.length; index += 1) {\n let code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n code = ((code - 0xd800) << 10) + (next - 0xdc00) + 0x10000;\n index += 1;\n }\n\n if (code <= 0x7f) {\n bytes.push(code);\n } else if (code <= 0x7ff) {\n bytes.push(0xc0 | (code >> 6), 0x80 | (code & 0x3f));\n } else if (code <= 0xffff) {\n bytes.push(\n 0xe0 | (code >> 12),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n } else {\n bytes.push(\n 0xf0 | (code >> 18),\n 0x80 | ((code >> 12) & 0x3f),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n }\n }\n return Uint8Array.from(bytes);\n}\n\nObject.defineProperties(stableStringify, {\n CanonicalizationError: { value: CanonicalizationError },\n StableStringifyLimitError: { value: StableStringifyLimitError },\n canonicalize: { value: canonicalize },\n canonicalizeBytes: { value: canonicalizeBytes },\n configure: { value: configure },\n default: { value: stableStringify },\n safeStringify: { value: safeStringify },\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify },\n stringify: { value: stableStringify }\n});\n\nObject.defineProperties(safeStringify, {\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify }\n});\n\nexport default stableStringify;\n"],
5
- "mappings": "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",
6
- "names": ["index_exports", "__export", "CanonicalizationError", "StableStringifyLimitError", "canonicalize", "canonicalizeBytes", "configure", "index_default", "safeStringify", "stableStringify", "stringify", "hasOwn", "propertyIsEnumerable", "objectToString", "OMIT", "ROOT_PATH", "SAFE_DEFAULTS", "CANONICAL_DEFAULTS", "kind", "limit", "path", "location", "formatPath", "reason", "value", "inputOptions", "options", "normalizeStableOptions", "serialize", "inputDefaults", "defaults", "normalizeInputObject", "overrides", "replacer", "space", "stableOptions", "error", "name", "e", "normalizeCanonicalOptions", "encodeUtf8", "rootValue", "canonical", "state", "prepared", "prepareValue", "tasks", "task", "processValueTask", "processContainerTask", "append", "previousPath", "appendCycle", "enforceDepth", "isArray", "validateCanonicalObject", "frame", "createContainerFrame", "index", "createPath", "consumeEntry", "rawValue", "readArrayValue", "primitive", "appendItemPrefix", "key", "readObjectValue", "depth", "keys", "total", "getObjectKeys", "rejectEnumerableSymbols", "hasLoneSurrogate", "descriptor", "comparator", "left", "right", "readForComparator", "holder", "prepareCanonicalValue", "method", "prepareBigInt", "mode", "number", "text", "array", "readCanonicalDescriptor", "readStableProperty", "object", "accessors", "seen", "current", "prototype", "symbol", "indentation", "currentPath", "nextLength", "input", "onCycle", "bigint", "normalizeGap", "normalizeLimit", "normalizePropertyList", "fallback", "resolved", "output", "item", "code", "next", "parent", "parts", "part", "bytes"]
4
+ "sourcesContent": ["const hasOwn = Object.prototype.hasOwnProperty;\nconst propertyIsEnumerable = Object.prototype.propertyIsEnumerable;\nconst objectToString = Object.prototype.toString;\nconst OMIT = Symbol('omit');\nconst ROOT_PATH = null;\n\nconst SAFE_DEFAULTS = Object.freeze({\n bigint: 'string',\n cycleValue: '[Circular]',\n maxDepth: 100,\n maxEntries: 100000,\n maxLength: 1000000,\n onCycle: 'marker'\n});\n\nconst CANONICAL_DEFAULTS = Object.freeze({\n maxDepth: 1000,\n maxEntries: 100000,\n maxLength: 16 * 1024 * 1024\n});\n\nexport class StableStringifyLimitError extends RangeError {\n constructor(kind, limit, path) {\n const location = formatPath(path);\n super(`Stable stringify ${kind} limit of ${limit} exceeded at ${location}`);\n this.name = 'StableStringifyLimitError';\n this.code = 'ERR_STABLE_STRINGIFY_LIMIT';\n this.kind = kind;\n this.limit = limit;\n this.path = location;\n }\n}\n\nexport class CanonicalizationError extends TypeError {\n constructor(reason, path) {\n const location = formatPath(path);\n super(`JSON canonicalization failed at ${location}: ${reason}`);\n this.name = 'CanonicalizationError';\n this.code = 'ERR_JSON_CANONICALIZATION';\n this.path = location;\n this.reason = reason;\n }\n}\n\nexport function stableStringify(value, inputOptions) {\n const options = normalizeStableOptions(inputOptions);\n return serialize(value, options, false);\n}\n\nexport const stringify = stableStringify;\n\nexport function configure(inputDefaults) {\n const defaults =\n typeof inputDefaults === 'function'\n ? { cmp: inputDefaults }\n : normalizeInputObject(inputDefaults);\n normalizeStableOptions(defaults);\n\n return function configuredStableStringify(value, inputOptions) {\n const overrides =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n return stableStringify(value, { ...defaults, ...overrides });\n };\n}\n\nexport function safeStringify(value, replacer, space, inputOptions) {\n const options = normalizeInputObject(inputOptions);\n const stableOptions = {\n ...SAFE_DEFAULTS,\n ...options,\n maxDepth:\n options.maxDepth === undefined ? options.depthLimit : options.maxDepth,\n maxEntries:\n options.maxEntries === undefined ? options.edgesLimit : options.maxEntries,\n replacer: replacer === undefined ? options.replacer : replacer,\n space: space === undefined ? options.space : space\n };\n\n if (stableOptions.maxDepth === undefined) {\n stableOptions.maxDepth = SAFE_DEFAULTS.maxDepth;\n }\n if (stableOptions.maxEntries === undefined) {\n stableOptions.maxEntries = SAFE_DEFAULTS.maxEntries;\n }\n\n try {\n return stableStringify(value, stableOptions);\n } catch (error) {\n if (options.throwOnError === true) throw error;\n let name = 'UnknownError';\n try {\n if (error && typeof error.name === 'string') {\n name = error.name.slice(0, 80);\n }\n } catch {\n // A thrown value can expose hostile accessors of its own.\n }\n return JSON.stringify(`[Unable to serialize: ${name}]`);\n }\n}\n\nexport function canonicalize(value, inputOptions) {\n const options = normalizeCanonicalOptions(inputOptions);\n return serialize(value, options, true);\n}\n\nexport function canonicalizeBytes(value, inputOptions) {\n return encodeUtf8(canonicalize(value, inputOptions));\n}\n\nfunction serialize(rootValue, options, canonical) {\n const state = {\n ancestors: new WeakMap(),\n canonical,\n chunks: [],\n entries: 0,\n length: 0,\n options\n };\n const holder = { '': rootValue };\n const prepared = prepareValue(rootValue, holder, '', ROOT_PATH, state);\n\n if (prepared === OMIT) return undefined;\n\n const tasks = [\n {\n depth: 0,\n path: ROOT_PATH,\n prepared,\n type: 'value'\n }\n ];\n\n while (tasks.length > 0) {\n const task = tasks.pop();\n if (task.type === 'value') {\n processValueTask(task, tasks, state);\n } else {\n processContainerTask(task, tasks, state);\n }\n }\n\n return state.chunks.join('');\n}\n\nfunction processValueTask(task, tasks, state) {\n if (task.prepared.kind === 'primitive') {\n append(state, task.prepared.text, task.path);\n return;\n }\n\n const value = task.prepared.value;\n const previousPath = state.ancestors.get(value);\n if (previousPath !== undefined || state.ancestors.has(value)) {\n appendCycle(state, previousPath, task.path);\n return;\n }\n\n enforceDepth(state, task.depth, task.path);\n const isArray = Array.isArray(value);\n if (state.canonical) {\n rejectEnumerableSymbols(value, task.path);\n if (!isArray) validateCanonicalObject(value, task.path);\n }\n\n state.ancestors.set(value, task.path);\n const frame = createContainerFrame(\n value,\n isArray,\n task.depth,\n task.path,\n state\n );\n append(state, isArray ? '[' : '{', task.path);\n\n if (frame.total === 0) {\n append(state, isArray ? ']' : '}', task.path);\n state.ancestors.delete(value);\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction processContainerTask(frame, tasks, state) {\n if (frame.index >= frame.total) {\n if (frame.emitted && state.options.gap !== '') {\n append(state, `\\n${frame.indent}`, frame.path);\n }\n append(state, frame.isArray ? ']' : '}', frame.path);\n state.ancestors.delete(frame.value);\n return;\n }\n\n if (frame.isArray) {\n const index = frame.index;\n frame.index += 1;\n const path = createPath(frame.path, index);\n consumeEntry(state, path);\n const rawValue = readArrayValue(frame.value, index, path, state);\n let prepared = prepareValue(\n rawValue,\n frame.value,\n String(index),\n path,\n state\n );\n if (prepared === OMIT) prepared = primitive('null');\n\n appendItemPrefix(frame, path, state);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n while (frame.index < frame.total) {\n const key = frame.keys[frame.index];\n frame.index += 1;\n const path = createPath(frame.path, key);\n consumeEntry(state, path);\n const rawValue = readObjectValue(frame.value, key, path, state);\n const prepared = prepareValue(rawValue, frame.value, key, path, state);\n if (prepared === OMIT) continue;\n\n appendItemPrefix(frame, path, state);\n append(state, JSON.stringify(key), path);\n append(state, state.options.gap === '' ? ':' : ': ', path);\n tasks.push(frame);\n tasks.push({\n depth: frame.depth + 1,\n path,\n prepared,\n type: 'value'\n });\n return;\n }\n\n tasks.push(frame);\n}\n\nfunction createContainerFrame(value, isArray, depth, path, state) {\n let keys;\n let total;\n\n if (isArray) {\n total = value.length;\n } else {\n keys = getObjectKeys(value, path, state);\n total = keys.length;\n }\n\n return {\n depth,\n emitted: false,\n indent:\n state.options.gap === '' ? '' : state.options.gap.repeat(depth),\n index: 0,\n isArray,\n keys,\n path,\n total,\n type: 'container',\n value\n };\n}\n\nfunction getObjectKeys(value, path, state) {\n let keys;\n if (state.canonical || state.options.propertyList === undefined) {\n keys = Object.keys(value);\n } else {\n keys = state.options.propertyList.slice();\n }\n\n if (state.canonical) {\n for (const key of keys) {\n if (hasLoneSurrogate(key)) {\n throw new CanonicalizationError(\n 'property names must not contain lone UTF-16 surrogates',\n createPath(path, key)\n );\n }\n }\n return keys.sort();\n }\n\n if (state.options.accessors !== 'invoke') {\n keys = keys.filter((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || (!descriptor.get && !descriptor.set)) return true;\n if (state.options.accessors === 'throw') {\n throw new TypeError(\n `Refusing to invoke accessor at ${formatPath(createPath(path, key))}`\n );\n }\n return false;\n });\n }\n\n if (state.options.cmp) {\n const comparator = state.options.cmp;\n keys.sort((left, right) =>\n comparator(\n { key: left, value: readForComparator(value, left, path, state) },\n { key: right, value: readForComparator(value, right, path, state) }\n )\n );\n } else {\n keys.sort();\n }\n return keys;\n}\n\nfunction prepareValue(rawValue, holder, key, path, state) {\n if (state.canonical) return prepareCanonicalValue(rawValue, path);\n\n let value = rawValue;\n if (state.options.toJSON && value !== null && value !== undefined) {\n const method = value.toJSON;\n if (typeof method === 'function') value = method.call(value);\n }\n\n if (state.options.replacerFunction) {\n value = state.options.replacerFunction.call(holder, key, value);\n }\n\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n return primitive(JSON.stringify(value));\n case 'number':\n return primitive(Number.isFinite(value) ? String(value) : 'null');\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'bigint':\n return prepareBigInt(value, state.options.bigint, path);\n case 'object':\n return { kind: 'object', value };\n default:\n return OMIT;\n }\n}\n\nfunction prepareCanonicalValue(value, path) {\n if (value === null) return primitive('null');\n\n switch (typeof value) {\n case 'string':\n if (hasLoneSurrogate(value)) {\n throw new CanonicalizationError(\n 'strings must not contain lone UTF-16 surrogates',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'number':\n if (!Number.isFinite(value)) {\n throw new CanonicalizationError(\n 'NaN and Infinity are not valid I-JSON numbers',\n path\n );\n }\n return primitive(JSON.stringify(value));\n case 'boolean':\n return primitive(value ? 'true' : 'false');\n case 'object':\n return { kind: 'object', value };\n case 'bigint':\n throw new CanonicalizationError(\n 'BigInt values must be represented as JSON strings',\n path\n );\n default:\n throw new CanonicalizationError(\n `values of type ${typeof value} are not valid JSON data`,\n path\n );\n }\n}\n\nfunction prepareBigInt(value, mode, path) {\n if (mode === 'string') return primitive(JSON.stringify(String(value)));\n if (mode === 'number') {\n const number = Number(value);\n if (!Number.isSafeInteger(number)) {\n throw new RangeError(\n `BigInt at ${formatPath(path)} cannot be represented as a safe JSON number`\n );\n }\n return primitive(String(number));\n }\n throw new TypeError('Do not know how to serialize a BigInt');\n}\n\nfunction primitive(text) {\n return { kind: 'primitive', text };\n}\n\nfunction readArrayValue(array, index, path, state) {\n if (state.canonical) {\n if (!hasOwn.call(array, index)) {\n throw new CanonicalizationError(\n 'sparse arrays are not valid I-JSON data',\n path\n );\n }\n return readCanonicalDescriptor(array, String(index), path);\n }\n return readStableProperty(array, String(index), path, state.options.accessors);\n}\n\nfunction readObjectValue(object, key, path, state) {\n if (state.canonical) return readCanonicalDescriptor(object, key, path);\n return readStableProperty(object, key, path, state.options.accessors);\n}\n\nfunction readCanonicalDescriptor(object, key, path) {\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (!descriptor || descriptor.get || descriptor.set) {\n throw new CanonicalizationError(\n 'accessor properties are not valid canonical JSON input',\n path\n );\n }\n return descriptor.value;\n}\n\nfunction readStableProperty(object, key, path, accessors) {\n if (accessors === 'invoke') return object[key];\n\n const seen = new WeakSet();\n let current = object;\n while (current !== null && !seen.has(current)) {\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor) {\n if (!descriptor.get && !descriptor.set) return descriptor.value;\n if (accessors === 'throw') {\n throw new TypeError(`Refusing to invoke accessor at ${formatPath(path)}`);\n }\n return undefined;\n }\n current = Object.getPrototypeOf(current);\n }\n return undefined;\n}\n\nfunction readForComparator(object, key, path, state) {\n return readStableProperty(\n object,\n key,\n createPath(path, key),\n state.options.accessors\n );\n}\n\nfunction validateCanonicalObject(value, path) {\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && Object.getPrototypeOf(prototype) !== null) {\n throw new CanonicalizationError(\n 'class instances must be converted to plain JSON objects',\n path\n );\n }\n}\n\nfunction rejectEnumerableSymbols(value, path) {\n if (typeof Object.getOwnPropertySymbols !== 'function') return;\n const symbols = Object.getOwnPropertySymbols(value);\n if (symbols.some((symbol) => propertyIsEnumerable.call(value, symbol))) {\n throw new CanonicalizationError(\n 'symbol properties are not valid JSON object members',\n path\n );\n }\n}\n\nfunction appendItemPrefix(frame, path, state) {\n if (state.options.gap === '') {\n if (frame.emitted) append(state, ',', path);\n } else {\n const indentation = state.options.gap.repeat(frame.depth + 1);\n append(state, frame.emitted ? `,\\n${indentation}` : `\\n${indentation}`, path);\n }\n frame.emitted = true;\n}\n\nfunction appendCycle(state, previousPath, currentPath) {\n if (state.canonical) {\n throw new CanonicalizationError('circular references are not valid JSON', currentPath);\n }\n\n switch (state.options.onCycle) {\n case 'marker':\n append(state, JSON.stringify(state.options.cycleValue), currentPath);\n return;\n case 'path':\n append(\n state,\n JSON.stringify(`[Circular ${formatPath(previousPath)}]`),\n currentPath\n );\n return;\n case 'null':\n append(state, 'null', currentPath);\n return;\n default:\n throw new TypeError('Converting circular structure to JSON');\n }\n}\n\nfunction append(state, text, path) {\n const nextLength = state.length + text.length;\n if (nextLength > state.options.maxLength) {\n throw new StableStringifyLimitError(\n 'length',\n state.options.maxLength,\n path\n );\n }\n state.length = nextLength;\n state.chunks.push(text);\n}\n\nfunction enforceDepth(state, depth, path) {\n if (depth > state.options.maxDepth) {\n throw new StableStringifyLimitError(\n 'depth',\n state.options.maxDepth,\n path\n );\n }\n}\n\nfunction consumeEntry(state, path) {\n state.entries += 1;\n if (state.entries > state.options.maxEntries) {\n throw new StableStringifyLimitError(\n 'entry',\n state.options.maxEntries,\n path\n );\n }\n}\n\nfunction normalizeStableOptions(inputOptions) {\n const input =\n typeof inputOptions === 'function'\n ? { cmp: inputOptions }\n : normalizeInputObject(inputOptions);\n\n if (input.cmp !== undefined && typeof input.cmp !== 'function') {\n throw new TypeError('cmp must be a function');\n }\n if (input.cycles !== undefined && typeof input.cycles !== 'boolean') {\n throw new TypeError('cycles must be a boolean');\n }\n if (\n input.replacer !== undefined &&\n input.replacer !== null &&\n typeof input.replacer !== 'function' &&\n !Array.isArray(input.replacer)\n ) {\n throw new TypeError('replacer must be a function or an array');\n }\n\n const onCycle =\n input.onCycle === undefined\n ? input.cycles === true\n ? 'marker'\n : 'throw'\n : input.onCycle;\n if (!['throw', 'marker', 'path', 'null'].includes(onCycle)) {\n throw new TypeError(\n \"onCycle must be 'throw', 'marker', 'path', or 'null'\"\n );\n }\n\n const bigint = input.bigint === undefined ? 'throw' : input.bigint;\n if (!['throw', 'string', 'number'].includes(bigint)) {\n throw new TypeError(\"bigint must be 'throw', 'string', or 'number'\");\n }\n\n const accessors = input.accessors === undefined ? 'invoke' : input.accessors;\n if (!['invoke', 'omit', 'throw'].includes(accessors)) {\n throw new TypeError(\"accessors must be 'invoke', 'omit', or 'throw'\");\n }\n\n if (input.toJSON !== undefined && typeof input.toJSON !== 'boolean') {\n throw new TypeError('toJSON must be a boolean');\n }\n if (\n input.cycleValue !== undefined &&\n typeof input.cycleValue !== 'string'\n ) {\n throw new TypeError('cycleValue must be a string');\n }\n\n return {\n accessors,\n bigint,\n cmp: input.cmp,\n cycleValue:\n input.cycleValue === undefined ? '__cycle__' : input.cycleValue,\n gap: normalizeGap(input.space),\n maxDepth: normalizeLimit(input.maxDepth, Infinity, 'maxDepth'),\n maxEntries: normalizeLimit(input.maxEntries, Infinity, 'maxEntries'),\n maxLength: normalizeLimit(input.maxLength, Infinity, 'maxLength'),\n onCycle,\n propertyList: Array.isArray(input.replacer)\n ? normalizePropertyList(input.replacer)\n : undefined,\n replacerFunction:\n typeof input.replacer === 'function' ? input.replacer : undefined,\n toJSON: input.toJSON === undefined ? true : input.toJSON\n };\n}\n\nfunction normalizeCanonicalOptions(inputOptions) {\n const input = normalizeInputObject(inputOptions);\n return {\n accessors: 'throw',\n bigint: 'throw',\n cmp: undefined,\n cycleValue: '',\n gap: '',\n maxDepth: normalizeLimit(\n input.maxDepth,\n CANONICAL_DEFAULTS.maxDepth,\n 'maxDepth'\n ),\n maxEntries: normalizeLimit(\n input.maxEntries,\n CANONICAL_DEFAULTS.maxEntries,\n 'maxEntries'\n ),\n maxLength: normalizeLimit(\n input.maxLength,\n CANONICAL_DEFAULTS.maxLength,\n 'maxLength'\n ),\n onCycle: 'throw',\n propertyList: undefined,\n replacerFunction: undefined,\n toJSON: false\n };\n}\n\nfunction normalizeInputObject(value) {\n if (value === undefined || value === null) return {};\n if (typeof value !== 'object') {\n throw new TypeError('options must be an object when provided');\n }\n return { ...value };\n}\n\nfunction normalizeLimit(value, fallback, name) {\n const resolved = value === undefined ? fallback : value;\n if (resolved === Infinity) return resolved;\n if (!Number.isSafeInteger(resolved) || resolved < 0) {\n throw new TypeError(\n `${name} must be a non-negative safe integer or Infinity`\n );\n }\n return resolved;\n}\n\nfunction normalizeGap(space) {\n if (typeof space === 'number') {\n return ' '.repeat(Math.min(10, Math.max(0, Math.trunc(space))));\n }\n if (typeof space === 'string') return space.slice(0, 10);\n return '';\n}\n\nfunction normalizePropertyList(input) {\n const output = [];\n const seen = new Set();\n for (const item of input) {\n let key;\n if (typeof item === 'string' || typeof item === 'number') {\n key = String(item);\n } else if (\n item &&\n (objectToString.call(item) === '[object String]' ||\n objectToString.call(item) === '[object Number]')\n ) {\n key = String(item);\n }\n if (key !== undefined && !seen.has(key)) {\n seen.add(key);\n output.push(key);\n }\n }\n return output;\n}\n\nfunction hasLoneSurrogate(value) {\n for (let index = 0; index < value.length; index += 1) {\n const code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n if (!(next >= 0xdc00 && next <= 0xdfff)) return true;\n index += 1;\n } else if (code >= 0xdc00 && code <= 0xdfff) {\n return true;\n }\n }\n return false;\n}\n\nfunction createPath(parent, key) {\n return { key, parent };\n}\n\nfunction formatPath(path) {\n if (path === ROOT_PATH) return '<root>';\n const parts = [];\n let current = path;\n while (current !== ROOT_PATH) {\n parts.push(current.key);\n current = current.parent;\n }\n parts.reverse();\n\n let output = '<root>';\n for (const part of parts) {\n if (typeof part === 'number') {\n output += `[${part}]`;\n } else if (/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(part)) {\n output += `.${part}`;\n } else {\n output += `[${JSON.stringify(part)}]`;\n }\n }\n return output;\n}\n\nfunction encodeUtf8(value) {\n if (typeof TextEncoder === 'function') return new TextEncoder().encode(value);\n\n const bytes = [];\n for (let index = 0; index < value.length; index += 1) {\n let code = value.charCodeAt(index);\n if (code >= 0xd800 && code <= 0xdbff) {\n const next = value.charCodeAt(index + 1);\n code = ((code - 0xd800) << 10) + (next - 0xdc00) + 0x10000;\n index += 1;\n }\n\n if (code <= 0x7f) {\n bytes.push(code);\n } else if (code <= 0x7ff) {\n bytes.push(0xc0 | (code >> 6), 0x80 | (code & 0x3f));\n } else if (code <= 0xffff) {\n bytes.push(\n 0xe0 | (code >> 12),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n } else {\n bytes.push(\n 0xf0 | (code >> 18),\n 0x80 | ((code >> 12) & 0x3f),\n 0x80 | ((code >> 6) & 0x3f),\n 0x80 | (code & 0x3f)\n );\n }\n }\n return Uint8Array.from(bytes);\n}\n\nObject.defineProperties(stableStringify, {\n CanonicalizationError: { value: CanonicalizationError },\n StableStringifyLimitError: { value: StableStringifyLimitError },\n canonicalize: { value: canonicalize },\n canonicalizeBytes: { value: canonicalizeBytes },\n configure: { value: configure },\n default: { value: stableStringify },\n safeStringify: { value: safeStringify },\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify },\n stringify: { value: stableStringify }\n});\n\nObject.defineProperties(safeStringify, {\n stable: { value: stableStringify },\n stableStringify: { value: stableStringify }\n});\n\nexport default stableStringify;\n"],
5
+ "mappings": "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",
6
+ "names": ["index_exports", "__export", "CanonicalizationError", "StableStringifyLimitError", "canonicalize", "canonicalizeBytes", "configure", "index_default", "safeStringify", "stableStringify", "stringify", "hasOwn", "propertyIsEnumerable", "objectToString", "OMIT", "ROOT_PATH", "SAFE_DEFAULTS", "CANONICAL_DEFAULTS", "kind", "limit", "path", "location", "formatPath", "reason", "value", "inputOptions", "options", "normalizeStableOptions", "serialize", "inputDefaults", "defaults", "normalizeInputObject", "overrides", "replacer", "space", "stableOptions", "error", "name", "e", "normalizeCanonicalOptions", "encodeUtf8", "rootValue", "canonical", "state", "prepared", "prepareValue", "tasks", "task", "processValueTask", "processContainerTask", "append", "previousPath", "appendCycle", "enforceDepth", "isArray", "rejectEnumerableSymbols", "validateCanonicalObject", "frame", "createContainerFrame", "index", "createPath", "consumeEntry", "rawValue", "readArrayValue", "primitive", "appendItemPrefix", "key", "readObjectValue", "depth", "keys", "total", "getObjectKeys", "hasLoneSurrogate", "descriptor", "comparator", "left", "right", "readForComparator", "holder", "prepareCanonicalValue", "method", "prepareBigInt", "mode", "number", "text", "array", "readCanonicalDescriptor", "readStableProperty", "object", "accessors", "seen", "current", "prototype", "symbol", "indentation", "currentPath", "nextLength", "input", "onCycle", "bigint", "normalizeGap", "normalizeLimit", "normalizePropertyList", "fallback", "resolved", "output", "item", "code", "next", "parent", "parts", "part", "bytes"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackline/stable-stringify",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Deterministic, cycle-aware JSON serialization with a fast-json-stable-stringify-compatible API and RFC 8785 canonicalization",
5
5
  "keywords": [
6
6
  "stable-stringify",