{"version":3,"sources":["node_modules/@arcgis/core/core/accessorSupport/diffUtils.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from \"../Accessor.js\";\nimport t from \"../Collection.js\";\nimport { getProperties as n } from \"./utils.js\";\nconst o = new Set([\"esri.Color\", \"esri.portal.Portal\", \"esri.symbols.support.Symbol3DAnchorPosition2D\", \"esri.symbols.support.Symbol3DAnchorPosition3D\"]);\nfunction r(t) {\n return t instanceof e;\n}\nfunction f(e) {\n return e instanceof t ? Object.keys(e.items) : r(e) ? n(e).keys() : e ? Object.keys(e) : [];\n}\nfunction l(e, n) {\n return e instanceof t ? e.items[n] : e[n];\n}\nfunction i(e, t) {\n return !(!Array.isArray(e) || !Array.isArray(t)) && e.length !== t.length;\n}\nfunction u(e) {\n return e ? e.declaredClass : null;\n}\nfunction c(e, t) {\n const n = e.diff;\n if (n && \"function\" == typeof n) return n(e, t);\n const s = f(e),\n p = f(t);\n if (0 === s.length && 0 === p.length) return;\n if (!s.length || !p.length || i(e, t)) return {\n type: \"complete\",\n oldValue: e,\n newValue: t\n };\n const a = p.filter(e => !s.includes(e)),\n y = s.filter(e => !p.includes(e)),\n m = s.filter(n => p.includes(n) && l(e, n) !== l(t, n)).concat(a, y).sort(),\n d = u(e);\n if (d && o.has(d) && m.length) return {\n type: \"complete\",\n oldValue: e,\n newValue: t\n };\n let h;\n const b = r(e) && r(t);\n for (const o of m) {\n const r = l(e, o),\n f = l(t, o);\n let i;\n if ((b || \"function\" != typeof r && \"function\" != typeof f) && r !== f && (null != r || null != f)) {\n if (n && n[o] && \"function\" == typeof n[o]) i = n[o]?.(r, f);else if (r instanceof Date && f instanceof Date) {\n if (r.getTime() === f.getTime()) continue;\n i = {\n type: \"complete\",\n oldValue: r,\n newValue: f\n };\n } else i = \"object\" == typeof r && \"object\" == typeof f && u(r) === u(f) ? c(r, f) : {\n type: \"complete\",\n oldValue: r,\n newValue: f\n };\n null != i && (null != h ? h.diff[o] = i : h = {\n type: \"partial\",\n diff: {\n [o]: i\n }\n });\n }\n }\n return h;\n}\nfunction s(e, t) {\n if (null == e) return !1;\n const n = t.split(\".\");\n let o = e;\n for (const r of n) {\n if (\"complete\" === o.type) return !0;\n if (\"partial\" !== o.type) return !1;\n {\n const e = o.diff[r];\n if (!e) return !1;\n o = e;\n }\n }\n return !0;\n}\nfunction p(e, t) {\n for (const n of t) if (s(e, n)) return !0;\n return !1;\n}\nfunction a(e, t) {\n if (\"function\" != typeof e && \"function\" != typeof t && (null != e || null != t)) return null == e || null == t || \"object\" == typeof e && \"object\" == typeof t && u(e) !== u(t) ? {\n type: \"complete\",\n oldValue: e,\n newValue: t\n } : c(e, t);\n}\nfunction y(e) {\n if (null == e) return !0;\n switch (e.type) {\n case \"complete\":\n return !1;\n case \"collection\":\n {\n const t = e;\n for (const e of t.added) if (!y(e)) return !1;\n for (const e of t.removed) if (!y(e)) return !1;\n for (const e of t.changed) if (!y(e)) return !1;\n return !0;\n }\n case \"partial\":\n for (const t in e.diff) {\n if (!y(e.diff[t])) return !1;\n }\n return !0;\n }\n}\nexport { a as diff, s as hasDiff, p as hasDiffAny, y as isEmpty };"],"mappings":"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","names":["t","s","p","a","e","n","o","r","f","i"],"x_google_ignoreList":[0]}