{"version":3,"file":"validating-store-Bf1HDEz4.js","sources":["../../../node_modules/@fluent/dom/esm/overlay.js","../../../node_modules/@nubolab-ffwd/svelte-fluent/dist/internal/Overlay.svelte","../../../node_modules/walkjs/lib/types.js","../../../node_modules/walkjs/lib/defaults.js","../../../node_modules/walkjs/lib/node.js","../../../node_modules/walkjs/lib/callback.js","../../../node_modules/walkjs/lib/break.js","../../../node_modules/walkjs/lib/walk.js","../../../node_modules/walkjs/lib/builders.js","../../../node_modules/walkjs/lib/utils/apply.js","../../../node_modules/walkjs/lib/utils/deepCopy.js","../../../node_modules/walkjs/lib/utils/compare.js","../../../node_modules/walkjs/lib/utils/reduce.js","../../../node_modules/walkjs/lib/index.js","../../../Scripts/validating-store.ts"],"sourcesContent":["/* eslint no-console: [\"error\", {allow: [\"warn\"]}] */\n/* global console */\n// Match the opening angle bracket (<) in HTML tags, and HTML entities like\n// &, &, &.\nconst reOverlay = /<|&#?\\w+;/;\n/**\n * Elements allowed in translations even if they are not present in the source\n * HTML. They are text-level elements as defined by the HTML5 spec:\n * https://www.w3.org/TR/html5/text-level-semantics.html with the exception of:\n *\n * - a - because we don't allow href on it anyways,\n * - ruby, rt, rp - because we don't allow nested elements to be inserted.\n */\nconst TEXT_LEVEL_ELEMENTS = {\n \"http://www.w3.org/1999/xhtml\": [\n \"em\",\n \"strong\",\n \"small\",\n \"s\",\n \"cite\",\n \"q\",\n \"dfn\",\n \"abbr\",\n \"data\",\n \"time\",\n \"code\",\n \"var\",\n \"samp\",\n \"kbd\",\n \"sub\",\n \"sup\",\n \"i\",\n \"b\",\n \"u\",\n \"mark\",\n \"bdi\",\n \"bdo\",\n \"span\",\n \"br\",\n \"wbr\",\n ],\n};\nconst LOCALIZABLE_ATTRIBUTES = {\n \"http://www.w3.org/1999/xhtml\": {\n global: [\"title\", \"aria-label\", \"aria-valuetext\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n // value is special-cased in isAttrNameLocalizable\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"],\n },\n \"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\": {\n global: [\n \"accesskey\",\n \"aria-label\",\n \"aria-valuetext\",\n \"label\",\n \"title\",\n \"tooltiptext\",\n ],\n description: [\"value\"],\n key: [\"key\", \"keycode\"],\n label: [\"value\"],\n textbox: [\"placeholder\", \"value\"],\n },\n};\n/**\n * Translate an element.\n *\n * Translate the element's text content and attributes. Some HTML markup is\n * allowed in the translation. The element's children with the data-l10n-name\n * attribute will be treated as arguments to the translation. If the\n * translation defines the same children, their attributes and text contents\n * will be used for translating the matching source child.\n *\n * @param {Element} element\n * @param {Object} translation\n * @private\n */\nexport default function translateElement(element, translation) {\n const { value } = translation;\n if (typeof value === \"string\") {\n if (element.localName === \"title\" &&\n element.namespaceURI === \"http://www.w3.org/1999/xhtml\") {\n // A special case for the HTML title element whose content must be text.\n element.textContent = value;\n }\n else if (!reOverlay.test(value)) {\n // If the translation doesn't contain any markup skip the overlay logic.\n element.textContent = value;\n }\n else {\n // Else parse the translation's HTML using an inert template element,\n // sanitize it and replace the element's content.\n const templateElement = element.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"template\");\n templateElement.innerHTML = value;\n overlayChildNodes(templateElement.content, element);\n }\n }\n // Even if the translation doesn't define any localizable attributes, run\n // overlayAttributes to remove any localizable attributes set by previous\n // translations.\n overlayAttributes(translation, element);\n}\n/**\n * Replace child nodes of an element with child nodes of another element.\n *\n * The contents of the target element will be cleared and fully replaced with\n * sanitized contents of the source element.\n *\n * @param {DocumentFragment} fromFragment - The source of children to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayChildNodes(fromFragment, toElement) {\n for (const childNode of fromFragment.childNodes) {\n if (childNode.nodeType === childNode.TEXT_NODE) {\n // Keep the translated text node.\n continue;\n }\n if (childNode.hasAttribute(\"data-l10n-name\")) {\n const sanitized = getNodeForNamedElement(toElement, childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n if (isElementAllowed(childNode)) {\n const sanitized = createSanitizedElement(childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n console.warn(`An element of forbidden type \"${childNode.localName}\" was found in ` +\n \"the translation. Only safe text-level elements and elements with \" +\n \"data-l10n-name are allowed.\");\n // If all else fails, replace the element with its text content.\n fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode);\n }\n toElement.textContent = \"\";\n toElement.appendChild(fromFragment);\n}\nfunction hasAttribute(attributes, name) {\n if (!attributes) {\n return false;\n }\n for (let attr of attributes) {\n if (attr.name === name) {\n return true;\n }\n }\n return false;\n}\n/**\n * Transplant localizable attributes of an element to another element.\n *\n * Any localizable attributes already set on the target element will be\n * cleared.\n *\n * @param {Element|Object} fromElement - The source of child nodes to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayAttributes(fromElement, toElement) {\n const explicitlyAllowed = toElement.hasAttribute(\"data-l10n-attrs\")\n ? toElement\n .getAttribute(\"data-l10n-attrs\")\n .split(\",\")\n .map(i => i.trim())\n : null;\n // Remove existing localizable attributes if they\n // will not be used in the new translation.\n for (const attr of Array.from(toElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n !hasAttribute(fromElement.attributes, attr.name)) {\n toElement.removeAttribute(attr.name);\n }\n }\n // fromElement might be a {value, attributes} object as returned by\n // Localization.messageFromBundle. In which case attributes may be null to\n // save GC cycles.\n if (!fromElement.attributes) {\n return;\n }\n // Set localizable attributes.\n for (const attr of Array.from(fromElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n toElement.getAttribute(attr.name) !== attr.value) {\n toElement.setAttribute(attr.name, attr.value);\n }\n }\n}\n/**\n * Sanitize a child element created by the translation.\n *\n * Try to find a corresponding child in sourceElement and use it as the base\n * for the sanitization. This will preserve functional attribtues defined on\n * the child element in the source HTML.\n *\n * @param {Element} sourceElement - The source for data-l10n-name lookups.\n * @param {Element} translatedChild - The translated child to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction getNodeForNamedElement(sourceElement, translatedChild) {\n const childName = translatedChild.getAttribute(\"data-l10n-name\");\n const sourceChild = sourceElement.querySelector(`[data-l10n-name=\"${childName}\"]`);\n if (!sourceChild) {\n console.warn(`An element named \"${childName}\" wasn't found in the source.`);\n return createTextNodeFromTextContent(translatedChild);\n }\n if (sourceChild.localName !== translatedChild.localName) {\n console.warn(`An element named \"${childName}\" was found in the translation ` +\n `but its type ${translatedChild.localName} didn't match the ` +\n `element found in the source (${sourceChild.localName}).`);\n return createTextNodeFromTextContent(translatedChild);\n }\n // Remove it from sourceElement so that the translation cannot use\n // the same reference name again.\n sourceElement.removeChild(sourceChild);\n // We can't currently guarantee that a translation won't remove\n // sourceChild from the element completely, which could break the app if\n // it relies on an event handler attached to the sourceChild. Let's make\n // this limitation explicit for now by breaking the identitiy of the\n // sourceChild by cloning it. This will destroy all event handlers\n // attached to sourceChild via addEventListener and via on\n // properties.\n const clone = sourceChild.cloneNode(false);\n return shallowPopulateUsing(translatedChild, clone);\n}\n/**\n * Sanitize an allowed element.\n *\n * Text-level elements allowed in translations may only use safe attributes\n * and will have any nested markup stripped to text content.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction createSanitizedElement(element) {\n // Start with an empty element of the same type to remove nested children\n // and non-localizable attributes defined by the translation.\n const clone = element.ownerDocument.createElement(element.localName);\n return shallowPopulateUsing(element, clone);\n}\n/**\n * Convert an element to a text node.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Node}\n * @private\n */\nfunction createTextNodeFromTextContent(element) {\n return element.ownerDocument.createTextNode(element.textContent);\n}\n/**\n * Check if element is allowed in the translation.\n *\n * This method is used by the sanitizer when the translation markup contains\n * an element which is not present in the source code.\n *\n * @param {Element} element\n * @returns {boolean}\n * @private\n */\nfunction isElementAllowed(element) {\n const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI];\n return allowed && allowed.includes(element.localName);\n}\n/**\n * Check if attribute is allowed for the given element.\n *\n * This method is used by the sanitizer when the translation markup contains\n * DOM attributes, or when the translation has traits which map to DOM\n * attributes.\n *\n * `explicitlyAllowed` can be passed as a list of attributes explicitly\n * allowed on this element.\n *\n * @param {string} name\n * @param {Element} element\n * @param {Array} explicitlyAllowed\n * @returns {boolean}\n * @private\n */\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = null) {\n if (explicitlyAllowed && explicitlyAllowed.includes(name)) {\n return true;\n }\n const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI];\n if (!allowed) {\n return false;\n }\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n // Is it a globally safe attribute?\n if (allowed.global.includes(attrName)) {\n return true;\n }\n // Are there no allowed attributes for this element?\n if (!allowed[elemName]) {\n return false;\n }\n // Is it allowed on this element?\n if (allowed[elemName].includes(attrName)) {\n return true;\n }\n // Special case for value on HTML inputs with type button, reset, submit\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" &&\n elemName === \"input\" &&\n attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\") {\n return true;\n }\n }\n return false;\n}\n/**\n * Helper to set textContent and localizable attributes on an element.\n *\n * @param {Element} fromElement\n * @param {Element} toElement\n * @returns {Element}\n * @private\n */\nfunction shallowPopulateUsing(fromElement, toElement) {\n toElement.textContent = fromElement.textContent;\n overlayAttributes(fromElement, toElement);\n return toElement;\n}\n","\n\n
\n\t\n
\n\n\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.asMany = exports.isMany = void 0;\nconst isMany = (p) => Array.isArray(p);\nexports.isMany = isMany;\nconst asMany = (p) => (0, exports.isMany)(p) ? p : [p];\nexports.asMany = asMany;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._buildContext = exports.SetVisitationRegister = void 0;\nconst types_1 = require(\"./types\");\nfunction executionOrderSort(a, b) {\n const _a = a.executionOrder || 0;\n const _b = b.executionOrder || 0;\n return _a - _b;\n}\nclass SetVisitationRegister {\n constructor() {\n this.seenObjects = new Set();\n }\n objectHasBeenSeen(node) {\n return this.seenObjects.has(node.val);\n }\n registerObjectVisit(node) {\n this.seenObjects.add(node.val);\n }\n}\nexports.SetVisitationRegister = SetVisitationRegister;\nfunction buildDefaultContext(config) {\n var _c, _d, _e, _f, _g, _h;\n return {\n callbacksByPosition: {\n preVisit: [],\n postVisit: []\n },\n config: {\n trackExecutedCallbacks: true,\n visitationRegister: config.visitationRegister || new SetVisitationRegister(),\n traversalMode: (_c = config.traversalMode) !== null && _c !== void 0 ? _c : 'depth',\n graphMode: (_d = config.graphMode) !== null && _d !== void 0 ? _d : 'finiteTree',\n parallelizeAsyncCallbacks: (_e = config.parallelizeAsyncCallbacks) !== null && _e !== void 0 ? _e : false,\n onVisit: (_h = (_g = (0, types_1.asMany)((_f = config.onVisit) !== null && _f !== void 0 ? _f : [])) === null || _g === void 0 ? void 0 : _g.filter(cb => !!cb.callback).map(cb => {\n var _c, _d;\n return ({\n callback: cb.callback,\n executionOrder: (_c = cb.executionOrder) !== null && _c !== void 0 ? _c : 0,\n filters: typeof cb.filters === 'undefined' ? [] : (0, types_1.asMany)(cb.filters),\n timing: (_d = cb.timing) !== null && _d !== void 0 ? _d : 'preVisit'\n });\n })) !== null && _h !== void 0 ? _h : []\n },\n };\n}\nfunction _buildContext(config) {\n const ctx = buildDefaultContext(config);\n (0, types_1.asMany)(ctx.config.onVisit).forEach((cb) => {\n if (cb.timing === \"both\") {\n ctx.callbacksByPosition.preVisit.push(cb);\n ctx.callbacksByPosition.postVisit.push(cb);\n }\n else\n ctx.callbacksByPosition[cb.timing].push(cb);\n });\n for (const key in ctx.callbacksByPosition)\n ctx.callbacksByPosition[key] = ctx.callbacksByPosition[key].sort(executionOrderSort);\n return ctx;\n}\nexports._buildContext = _buildContext;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WalkNode = void 0;\nconst getNormalizedType = (val) => {\n return Array.isArray(val)\n ? 'array'\n : typeof val === 'object'\n ? 'object'\n : 'value';\n};\nfunction defaultPathFormatter(node) {\n return node.isArrayMember ? `[${node.key}]` : `[\"${node.key}\"]`;\n}\nclass WalkNode {\n constructor(val, isRoot = false, isArrayMember = false, nodeType = 'value', rawType = 'undefined', executedCallbacks = [], key, parent) {\n this.val = val;\n this.isRoot = isRoot;\n this.isArrayMember = isArrayMember;\n this.nodeType = nodeType;\n this.rawType = rawType;\n this.executedCallbacks = executedCallbacks;\n this.key = key;\n this.parent = parent;\n this._children = undefined;\n this.id = WalkNode._idx++;\n }\n static fromRoot(obj) {\n return new WalkNode(obj, true, false, getNormalizedType(obj), typeof obj, [], undefined, undefined);\n }\n static fromObjectKey(parent, key) {\n return new WalkNode(parent.val[key], false, false, getNormalizedType(parent.val[key]), typeof parent.val[key], [], key, parent);\n }\n static fromArrayIndex(parent, index) {\n return new WalkNode(parent.val[index], false, true, getNormalizedType(parent.val[index]), typeof parent.val[index], [], index, parent);\n }\n canBeCompared() {\n return this.nodeType !== 'value' && this.val !== null && !Object.is(NaN, this.val);\n }\n sameAs(other) {\n if (!this.canBeCompared() || this.nodeType !== other.nodeType)\n return false;\n if (this.val === null || Object.is(NaN, this.val))\n return false;\n return Object.is(this.val, other.val);\n }\n getPath(pathFormat) {\n if (this.isRoot)\n return \"\";\n pathFormat = pathFormat || defaultPathFormatter;\n return this.parent.getPath(pathFormat) + pathFormat(this);\n }\n get children() {\n if (typeof this._children === 'undefined')\n this._children = [...this.getChildren()];\n return this._children;\n }\n *getChildren() {\n if (this.nodeType === 'array') {\n for (let i = 0; i < this.val.length; i++)\n yield WalkNode.fromArrayIndex(this, i);\n }\n else if (this.nodeType === 'object') {\n if (this.val === null)\n return;\n for (let key of Object.keys(this.val))\n yield WalkNode.fromObjectKey(this, key);\n }\n }\n get siblings() {\n return [...this.getSiblings()];\n }\n *getSiblings() {\n if (!this.parent)\n return;\n for (let child of this.parent.children)\n if (this.key !== child.key)\n yield child;\n }\n get ancestors() {\n return [...this.getAncestors()];\n }\n *getAncestors() {\n let next = this.parent;\n while (next) {\n yield next;\n next = next.parent;\n }\n }\n get descendants() {\n return [...this.getDescendants()];\n }\n *getDescendants() {\n for (const child of this.getChildren()) {\n yield child;\n yield* child.getDescendants();\n }\n }\n}\nexports.WalkNode = WalkNode;\nWalkNode._idx = 0;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports._CallbackStacker = void 0;\nconst types_1 = require(\"./types\");\nfunction filterByFilters(cb, node) {\n return (0, types_1.asMany)(cb.filters).every(f => f(node));\n}\nfunction execCallbacks(callbacks, node, enableExecutedCallbacks) {\n for (let cb of callbacks) {\n cb.callback(node);\n if (enableExecutedCallbacks)\n node.executedCallbacks.push(cb);\n }\n}\nfunction execCallbacksAsync(callbacks, node, enableExecutedCallbacks) {\n return __awaiter(this, void 0, void 0, function* () {\n for (let cb of callbacks) {\n yield cb.callback(node);\n if (enableExecutedCallbacks)\n node.executedCallbacks.push(cb);\n }\n });\n}\nconst execCallbacksAsyncInParallel = (callbacks, node) => __awaiter(void 0, void 0, void 0, function* () {\n yield Promise.all(callbacks.map(cb => Promise.resolve(cb.callback(node))\n .then(() => {\n node.executedCallbacks.push(cb);\n })));\n});\nclass _CallbackStacker {\n constructor(ctx, executor) {\n this.ctx = ctx;\n this.executor = executor;\n this.lookup = {};\n }\n static forSync(ctx) {\n return new _CallbackStacker(ctx, execCallbacks);\n }\n static forAsync(ctx) {\n return new _CallbackStacker(ctx, ctx.config.parallelizeAsyncCallbacks\n ? execCallbacksAsyncInParallel\n : execCallbacksAsync);\n }\n _matchCallbacks(node, position) {\n let callbacks = this.ctx.callbacksByPosition[position];\n return (callbacks || [])\n .map(cb => cb)\n .filter(cb => filterByFilters(cb, node));\n }\n pushToStack(node, position) {\n const lastChild = node.children[node.children.length - 1];\n const callbacks = this._matchCallbacks(node, position);\n this.lookup[lastChild.id] = {\n trigger: node.id,\n fn: () => this.executor(callbacks, node, this.ctx.config.trackExecutedCallbacks)\n };\n }\n executeOne(node, position) {\n const callbacks = this._matchCallbacks(node, position);\n return this.executor(callbacks, node, this.ctx.config.trackExecutedCallbacks);\n }\n *execute(nodeId) {\n let next = this.lookup[nodeId];\n delete this.lookup[nodeId];\n while (next) {\n yield next.fn();\n const trigger = next.trigger;\n next = this.lookup[trigger];\n delete this.lookup[trigger];\n }\n }\n}\nexports._CallbackStacker = _CallbackStacker;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Break = void 0;\nclass Break extends Error {\n constructor(message = '') {\n super(message);\n this.name = \"Break\";\n }\n}\nexports.Break = Break;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.walkAsync = exports.walk = exports.walkAsyncStep = exports.walkStep = void 0;\nconst defaults_1 = require(\"./defaults\");\nconst node_1 = require(\"./node\");\nconst callback_1 = require(\"./callback\");\nconst break_1 = require(\"./break\");\nclass NodeQueue {\n constructor(depthFirst) {\n this.depthFirst = depthFirst;\n this.queue = [];\n this.add = depthFirst\n ? (nodes) => this.queue.unshift(...nodes)\n : (nodes) => this.queue.push(...nodes);\n }\n shift() {\n return this.queue.shift();\n }\n get more() {\n return this.queue.length > 0;\n }\n}\nclass Walker {\n constructor(ctx) {\n this.ctx = ctx;\n this.depthFirst = ctx.config.traversalMode === 'depth';\n }\n shouldSkipVisitation(node) {\n if (!node.canBeCompared())\n return false;\n const vr = this.ctx.config.visitationRegister;\n if (!vr.objectHasBeenSeen(node))\n vr.registerObjectVisit(node);\n else if (this.ctx.config.graphMode === 'graph')\n return true;\n else if (this.ctx.config.graphMode === 'finiteTree')\n throw \"The object violates the defined structure. Override 'graphMode' in the config to allow parsing different object structures.\";\n return false;\n }\n *walk(target) {\n const queue = new NodeQueue(this.depthFirst);\n const stacker = callback_1._CallbackStacker.forSync(this.ctx);\n try {\n queue.add([node_1.WalkNode.fromRoot(target)]);\n do {\n const node = queue.shift();\n if (this.shouldSkipVisitation(node))\n continue;\n const children = node.children;\n queue.add(children);\n stacker.executeOne(node, 'preVisit');\n yield node;\n if (this.depthFirst && children.length)\n stacker.pushToStack(node, 'postVisit');\n else {\n stacker.executeOne(node, 'postVisit');\n for (let _ of stacker.execute(node.id)) {\n }\n }\n } while (queue.more);\n }\n catch (err) {\n if (!(err instanceof break_1.Break))\n throw err;\n }\n }\n walkAsync(target) {\n return __asyncGenerator(this, arguments, function* walkAsync_1() {\n var _a, e_1, _b, _c;\n const queue = new NodeQueue(this.depthFirst);\n const stacker = callback_1._CallbackStacker.forAsync(this.ctx);\n try {\n queue.add([node_1.WalkNode.fromRoot(target)]);\n do {\n const node = queue.shift();\n if (this.shouldSkipVisitation(node))\n continue;\n const children = node.children;\n queue.add(children);\n yield __await(stacker.executeOne(node, 'preVisit'));\n yield yield __await(node);\n if (this.depthFirst && children.length)\n stacker.pushToStack(node, 'postVisit');\n else {\n yield __await(stacker.executeOne(node, 'postVisit'));\n try {\n for (var _d = true, _e = (e_1 = void 0, __asyncValues(stacker.execute(node.id))), _f; _f = yield __await(_e.next()), _a = _f.done, !_a;) {\n _c = _f.value;\n _d = false;\n try {\n const _ = _c;\n }\n finally {\n _d = true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n } while (queue.more);\n }\n catch (err) {\n if (!(err instanceof break_1.Break))\n throw err;\n }\n });\n }\n}\nfunction* walkStep(target, config = {}) {\n const ctx = (0, defaults_1._buildContext)(config);\n const walker = new Walker(ctx);\n yield* walker.walk(target);\n}\nexports.walkStep = walkStep;\nfunction walkAsyncStep(target, config = {}) {\n return __asyncGenerator(this, arguments, function* walkAsyncStep_1() {\n const ctx = (0, defaults_1._buildContext)(config);\n const walker = new Walker(ctx);\n yield __await(yield* __asyncDelegator(__asyncValues(walker.walkAsync(target))));\n });\n}\nexports.walkAsyncStep = walkAsyncStep;\nfunction walk(target, config = {}) {\n for (let _ of walkStep(target, config)) {\n }\n}\nexports.walk = walk;\nfunction walkAsync(target, config = {}) {\n var _a, e_2, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (var _d = true, _e = __asyncValues(walkAsyncStep(target, config)), _f; _f = yield _e.next(), _a = _f.done, !_a;) {\n _c = _f.value;\n _d = false;\n try {\n let _ = _c;\n }\n finally {\n _d = true;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n });\n}\nexports.walkAsync = walkAsync;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncWalkBuilder = exports.WalkBuilder = void 0;\nconst types_1 = require(\"./types\");\nconst walk_1 = require(\"./walk\");\nclass CallbacksBuilder {\n constructor(cbs, source) {\n this.cbs = cbs;\n this.source = source;\n this.callback = {\n callback: (() => {\n })\n };\n }\n withExecutionOrder(order) {\n this.callback.executionOrder = order;\n return this;\n }\n withFilter(fn) {\n return this.withFilters(fn);\n }\n withFilters(...fn) {\n this.callback.filters = fn;\n return this;\n }\n withTiming(timing) {\n this.callback.timing = timing;\n return this;\n }\n done() {\n return this.source.withCallbacks(...this.cbs.map(cb => (Object.assign(Object.assign({}, this.callback), { callback: cb }))));\n }\n}\nclass BaseWalkBuilder {\n constructor() {\n this._config = {};\n this.globalFilters = [];\n }\n resetConfig() {\n this._config = {};\n return this;\n }\n withConfig(config) {\n this._config = Object.assign(Object.assign({}, this._config), config);\n return this;\n }\n withTraversalMode(traversalMode) {\n this._config.traversalMode = traversalMode;\n return this;\n }\n withGraphMode(graphMode) {\n this._config.graphMode = graphMode;\n return this;\n }\n withConfiguredCallbacks(...callbacks) {\n return new CallbacksBuilder(callbacks, this);\n }\n withConfiguredCallback(callback) {\n return this.withConfiguredCallbacks(callback);\n }\n withCallback(callback) {\n return this.withCallbacks(callback);\n }\n withGlobalFilter(fn) {\n this.globalFilters.push(fn);\n return this;\n }\n withCallbacks(...callbacks) {\n if (!this._config.onVisit)\n this._config.onVisit = [];\n if (!(0, types_1.isMany)(this._config.onVisit))\n this._config.onVisit = [this._config.onVisit];\n this._config.onVisit.push(...callbacks);\n return this;\n }\n getCurrentConfig() {\n var _a;\n return Object.assign(Object.assign({}, this._config), { onVisit: (0, types_1.asMany)((_a = this._config.onVisit) !== null && _a !== void 0 ? _a : []).map(cb => (Object.assign(Object.assign({}, cb), { filters: [\n ...(!cb.filters ? [] : (0, types_1.asMany)(cb.filters)),\n ...this.globalFilters\n ] }))) });\n }\n}\nclass WalkBuilder extends BaseWalkBuilder {\n walk(target) {\n (0, walk_1.walk)(target, this.getCurrentConfig());\n }\n *walkStep(target) {\n return (0, walk_1.walkStep)(target, this.getCurrentConfig());\n }\n withSimpleCallback(callback) {\n return this.withSimpleCallbacks(callback);\n }\n withSimpleCallbacks(...callbacks) {\n return this.withCallbacks(...(callbacks.map(c => ({ callback: c }))));\n }\n}\nexports.WalkBuilder = WalkBuilder;\nclass AsyncWalkBuilder extends BaseWalkBuilder {\n walk(target) {\n return __awaiter(this, void 0, void 0, function* () {\n return (0, walk_1.walkAsync)(target, this.getCurrentConfig());\n });\n }\n walkStep(target) {\n return __asyncGenerator(this, arguments, function* walkStep_1() {\n return yield __await((0, walk_1.walkAsyncStep)(target, this.getCurrentConfig()));\n });\n }\n withParallelizeAsyncCallbacks(val) {\n this._config.parallelizeAsyncCallbacks = val;\n return this;\n }\n withSimpleCallback(callback) {\n return this.withSimpleCallbacks(callback);\n }\n withSimpleCallbacks(...callbacks) {\n return this.withCallbacks(...(callbacks.map(c => ({ callback: c }))));\n }\n}\nexports.AsyncWalkBuilder = AsyncWalkBuilder;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.applyAsync = exports.apply = void 0;\nconst walk_1 = require(\"../walk\");\nfunction apply(target, ...onVisit) {\n (0, walk_1.walk)(target, { onVisit: onVisit.map(c => ({ callback: c })) });\n}\nexports.apply = apply;\nfunction applyAsync(target, ...onVisit) {\n return __awaiter(this, void 0, void 0, function* () {\n yield (0, walk_1.walkAsync)(target, { onVisit: onVisit.map(c => ({ callback: c })) });\n });\n}\nexports.applyAsync = applyAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deepCopy = void 0;\nconst walk_1 = require(\"../walk\");\nfunction updateObjectViaPathString(obj, path, delimiter, val) {\n const block = path.split(delimiter).slice(1);\n while (block.length > 1)\n obj = obj[block.shift()];\n obj[block.shift()] = val;\n}\nfunction deepCopy(target, delimiter = '$walk:dc$') {\n if (target === null)\n return null;\n const newObj = Array.isArray(target) ? [] : {};\n const format = ({ key }) => delimiter + key;\n (0, walk_1.walk)(target, {\n onVisit: [{\n timing: 'preVisit',\n filters: [n => !n.isRoot],\n callback: (node) => updateObjectViaPathString(newObj, node.getPath(format), delimiter, node.nodeType === 'array'\n ? []\n : (node.nodeType === 'value'\n ? node.val\n : (node.val === null\n ? null\n : {})))\n }]\n });\n return newObj;\n}\nexports.deepCopy = deepCopy;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.compare = void 0;\nconst apply_1 = require(\"./apply\");\nconst defaultFormatter = ({ key, isArrayMember: isArr }) => isArr ? `[${key}]` : `.${key}`;\nfunction compare(a, b, leavesOnly = false, formatter = defaultFormatter, nodeComparison = (a, b) => Object.is(a.val, b.val)) {\n const aNodes = {};\n const bNodes = {};\n (0, apply_1.apply)(a, n => aNodes[n.getPath(formatter)] = n);\n (0, apply_1.apply)(b, n => bNodes[n.getPath(formatter)] = n);\n return [...new Set([\n ...Object.keys(aNodes),\n ...Object.keys(bNodes)\n ])]\n .filter(key => !leavesOnly || (aNodes[key] || bNodes[key]).nodeType === 'value')\n .map(key => {\n const aNode = aNodes[key];\n const bNode = bNodes[key];\n const removed = aNode && !bNode;\n const added = bNode && !aNode;\n const changed = aNode && bNode && !nodeComparison(aNode, bNode);\n let delta = {\n path: key,\n hasDifference: removed || added || changed\n };\n if (added) {\n delta.difference = 'added';\n delta.b = bNode === null || bNode === void 0 ? void 0 : bNode.val;\n }\n else if (removed) {\n delta.difference = 'removed';\n delta.a = aNode === null || aNode === void 0 ? void 0 : aNode.val;\n }\n else if (changed) {\n delta.difference = {\n before: aNode === null || aNode === void 0 ? void 0 : aNode.val,\n after: bNode === null || bNode === void 0 ? void 0 : bNode.val\n };\n delta.a = aNode === null || aNode === void 0 ? void 0 : aNode.val;\n delta.b = bNode === null || bNode === void 0 ? void 0 : bNode.val;\n }\n return delta;\n });\n}\nexports.compare = compare;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.reduce = void 0;\nconst walk_1 = require(\"../walk\");\nfunction reduce(source, initialValue, fn) {\n let val = initialValue;\n for (const node of (0, walk_1.walkStep)(source))\n val = fn(val, node);\n return val;\n}\nexports.reduce = reduce;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./builders\"), exports);\n__exportStar(require(\"./callback\"), exports);\n__exportStar(require(\"./defaults\"), exports);\n__exportStar(require(\"./node\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./walk\"), exports);\n__exportStar(require(\"./break\"), exports);\n__exportStar(require(\"./utils/apply\"), exports);\n__exportStar(require(\"./utils/deepCopy\"), exports);\n__exportStar(require(\"./utils/compare\"), exports);\n__exportStar(require(\"./utils/reduce\"), exports);\n","import { create, test, enforce, only } from \"vest\";\nimport type { Suite, SuiteResult } from \"vest\";\nimport type { CB } from \"vest-utils\";\nimport { readable, writable, get, derived } from \"svelte/store\";\nimport type { Readable, Writable, Subscriber, Unsubscriber, Updater } from \"svelte/store\";\nimport { JsonPointer } from \"json-ptr\";\nimport { walk, reduce, deepCopy } from \"walkjs\";\nimport type { ProblemDocument } from \"http-problem-details\";\n\ntype Unarray = T extends Array ? U : T;\ntype StoreState = { [P in keyof T]-?: T[P] extends Array ? ValidatingStoreItem>>[]> : ValidatingStoreItem }\ntype OmitFirst = T extends [unknown, ...infer R] ? R : never\n\nexport interface ValidationProblemDetails extends ProblemDocument {\n\terrors: Record;\n}\n\nexport abstract class ValidatingStoreItem {\n\tprotected valueStore: Writable;\n\tprotected _isDirty: boolean = false;\n\tprotected _isValid: boolean = false;\n\tprotected _hasErrors: boolean = false;\n\tprotected _errors: string[] = [];\n\tprotected _externalErrors: string[] = [];\n\n\treadonly pointer: JsonPointer;\n\treadonly path: string;\n\n\tabstract get value(): T;\n\tabstract set value(value: T);\n\n\tisDirty: boolean;\n\n\tget isValid(): boolean {\n\t\treturn this._isValid;\n\t}\n\n\tget errors(): string[] {\n\t\tif (!this.isDirty) {\n\t\t\treturn this._externalErrors;\n\t\t}\n\t\treturn this._errors.concat(this._externalErrors);\n\t}\n\n\tget hasErrors(): boolean {\n\t\treturn (this.isDirty && this._hasErrors) || this._externalErrors.length > 0;\n\t}\n\n\tconstructor(pointer: JsonPointer, validationStore: Readable>, externalErrorsStore: Readable>) {\n\t\tthis.pointer = pointer;\n\t\tthis.path = pointer.path.join(\".\");\n\n\t\tvalidationStore.subscribe(state => {\n\t\t\tthis._isValid = state.isValid(this.path);\n\t\t\tthis._hasErrors = state.hasErrors(this.path);\n\t\t\tthis._errors = state.getErrors(this.path);\n\t\t\tthis._externalErrors = [];\n\t\t});\n\t\texternalErrorsStore.subscribe(state => {\n\t\t\tthis._externalErrors = state[this.path] ?? [];\n\t\t});\n\t}\n\n\ttouch() {\n\t\tif (this.value != null && this.value != \"\") {\n\t\t\tthis.isDirty = true;\n\t\t}\n\t}\n}\n\nexport class ValidatingStoreNested extends ValidatingStoreItem {\n\tvalue: T;\n\n\tconstructor(pointer: JsonPointer, validationStore: Readable>, externalErrorsStore: Readable>, value: T) {\n\t\tsuper(pointer, validationStore, externalErrorsStore);\n\t\tthis.value = value;\n\t}\n}\n\nexport class ValidatingStoreValue extends ValidatingStoreItem {\n\tprivate _value: T;\n\t\n\tget value(): T {\n\t\treturn this._value;\n\t}\n\tset value(value: T) {\n\t\tthis.valueStore.update(state => {\n\t\t\tthis.pointer.set(state, value);\n\t\t\treturn state;\n\t\t});\n\t}\n\n\tconstructor(pointer: JsonPointer, validationStore: Readable>, externalErrorsStore: Readable>, valueStore: Writable) {\n\t\tsuper(pointer, validationStore, externalErrorsStore);\n\t\tthis.valueStore = valueStore;\n\n\t\tthis.valueStore.subscribe(state => {\n\t\t\tthis._value = this.pointer.get(state) as T;\n\t\t});\n\t}\n}\n\nexport class ValidatingStore implements Writable> {\n\t#initialData: TState;\n\t#vmStore: Writable>;\n\t#externalErrorsStore: Writable>;\n\t#aggregateStore: Readable>;\n\t\n\treadonly valueStore: Writable;\n\treadonly validationStore: Writable>;\n\treadonly suite: Suite;\n\n\tconstructor(initialData: TState, suiteCallback: TValidationFunc) {\n\t\tthis.#initialData = deepCopy(initialData) as TState;\n\t\tthis.#externalErrorsStore = writable({});\n\n\t\tthis.valueStore = writable(deepCopy(initialData) as TState);\n\t\t\n\t\tthis.suite = create(suiteCallback);\n\t\tthis.validationStore = writable(this.suite.get());\n\t\tthis.suite.subscribe(() => {\n\t\t\tthis.validationStore.update(_ => this.suite.get());\n\t\t});\n\t\tthis.validationStore.set(this.suite(initialData));\n\n\t\tthis.#vmStore = writable(this.#createStoreState(initialData));\n\n\t\tthis.#aggregateStore = derived([this.valueStore, this.#vmStore, this.#externalErrorsStore], values => values[1]);\n\t}\n\n\tsubscribe(run: Subscriber>): Unsubscriber {\n\t\treturn this.#aggregateStore.subscribe(run);\n\t}\n\n\tvalidate(...args: OmitFirst>): boolean {\n\t\tthis.update(state => {\n\t\t\twalk(state, {\n\t\t\t\tgraphMode: \"tree\",\n\t\t\t\tonVisit: {\n\t\t\t\t\tcallback: node => node.val.isDirty = true,\n\t\t\t\t\tfilters: node => node.val instanceof ValidatingStoreItem\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\n\t\tthis.validationStore.set(this.suite(this.getData(), ...args));\n\t\treturn get(this.validationStore).isValid();\n\t}\n\n\tvalidateGroup(groupName: string, ...args: OmitFirst>): boolean {\n\t\tlet validationResult = get(this.validationStore);\n\t\tlet fieldNamesInGroup = Object.keys(validationResult.groups[groupName]);\n\t\tthis.update(state => {\n\t\t\twalk(state, {\n\t\t\t\tgraphMode: \"tree\",\n\t\t\t\tonVisit: {\n\t\t\t\t\tcallback: node => {\n\t\t\t\t\t\tif (fieldNamesInGroup.includes(node.val.path)) {\n\t\t\t\t\t\t\tnode.val.isDirty = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tfilters: node => node.val instanceof ValidatingStoreItem\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn state;\n\t\t});\n\n\t\tthis.validationStore.set(this.suite(this.getData(), ...args));\n\t\treturn get(this.validationStore).isValidByGroup(groupName);\n\t}\n\n\tsetInitialData(data: TState) {\n\t\tthis.#initialData = deepCopy(data) as TState;\n\t}\n\n\tclear() {\n\t\tthis.valueStore.set(deepCopy(this.#initialData) as TState);\n\t\tthis.set(this.#createStoreState(this.#initialData));\n\t\tthis.suite.reset();\n\t\tthis.validationStore.set(this.suite(this.getData()));\n\t}\n\n\tgetData(): TState {\n\t\treturn get(this.valueStore);\n\t}\n\n\tupdateData(updater: Updater): void {\n\t\tthis.valueStore.update(state => {\n\t\t\tlet newState = updater(state);\n\t\t\treturn deepCopy(newState) as TState;\n\t\t});\n\t\tthis.set(this.#createStoreState(get(this.valueStore)));\n\t}\n\n\tset(value: StoreState): void {\n\t\tthis.#vmStore.set(value);\n\t\tthis.validationStore.set(this.suite(this.getData()));\n\t}\n\n\tupdate(updater: Updater>): void {\n\t\tthis.#vmStore.update(updater);\n\t\tthis.validationStore.set(this.suite(this.getData()));\n\t}\n\n\tsetExternalErrors(problemDetails: ValidationProblemDetails) {\n\t\tlet errors: Record = {};\n\t\tfor (let [field, externalErrors] of Object.entries(problemDetails.errors)) {\n\t\t\tlet camelCasedField = field.split(\".\").map(x => x.substring(0,1).toLowerCase() + x.substring(1)).join(\".\");\n\t\t\tlet path = camelCasedField.replace(/\\[(\\d+)\\]\\./, \".$1.\");\n\t\t\terrors[path] = externalErrors;\n\t\t}\n\t\tthis.#externalErrorsStore.set(errors);\n\t}\n\tclearExternalErrors() {\n\t\tthis.#externalErrorsStore.set({});\n\t}\n\n\t#createStoreState(data: any): StoreState {\n\t\tlet items: any = {};\n\t\tfor (let [propName, value] of Object.entries(data)) {\n\t\t\titems[propName] = createRecursive(`/${propName}`, value, this.valueStore, this.validationStore, this.#externalErrorsStore);\n\t\t}\n\t\treturn items;\n\n\t\tfunction createRecursive(pointer: string, value: any, dataStore: any, validationStore: Readable>, externalErrorsStore: Writable>): any {\n\t\t\tvar jsonPointer = new JsonPointer(pointer);\n\n\t\t\tif (Array.isArray(value) && (value[0] != null && typeof value[0] === \"object\" && Object.keys(value[0]).length > 0)) {\n\t\t\t\tlet items = value.map((x, i) => createRecursive(`${pointer}/${i}`, x, dataStore, validationStore, externalErrorsStore));\n\t\t\t\treturn new ValidatingStoreNested(jsonPointer, validationStore, externalErrorsStore, items);\n\n\t\t\t} else if (value != null && typeof value === \"object\" && Object.keys(value).length > 0) {\n\t\t\t\tlet nested: any = {};\n\t\t\t\tfor (let [subProp, subPropValue] of Object.entries(value)) {\n\t\t\t\t\tnested[subProp] = createRecursive(`${pointer}/${subProp}`, subPropValue, dataStore, validationStore, externalErrorsStore);\n\t\t\t\t}\n\t\t\t\treturn new ValidatingStoreNested(jsonPointer, validationStore, externalErrorsStore, nested);\n\n\t\t\t} else {\n\t\t\t\treturn new ValidatingStoreValue(jsonPointer, validationStore, externalErrorsStore, dataStore);\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["types_1","require$$0","__awaiter","this","__await","__asyncGenerator","walk_1","require$$1","require$$2","require$$3","apply_1","deepCopy_1","compare_1","reduce_1","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","ValidatingStoreItem","isValid","_isValid","errors","isDirty","_externalErrors","_errors","concat","hasErrors","_hasErrors","length","constructor","pointer","validationStore","externalErrorsStore","_isDirty","path","join","subscribe","state","getErrors","touch","value","ValidatingStoreNested","ValidatingStoreValue","_value","valueStore","update","set","get","ValidatingStore","initialData","suiteCallback","deepCopy","writable","suite","create","_","derived","values","run","validate","args","walk","graphMode","onVisit","callback","node","val","filters","getData","validateGroup","groupName","validationResult","fieldNamesInGroup","Object","keys","groups","includes","isValidByGroup","setInitialData","data","clear","reset","updateData","updater","newState","setExternalErrors","problemDetails","field","externalErrors","entries","camelCasedField","split","map","x","substring","toLowerCase","replace","clearExternalErrors","items","propName","createRecursive","dataStore","jsonPointer","JsonPointer","Array","isArray","i","nested","subProp","subPropValue"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]}