UNPKG

@instantdb/core

Version:
1 lines • 150 kB
(function(T,R){typeof exports=="object"&&typeof module<"u"?R(exports):typeof define=="function"&&define.amd?define(["exports"],R):(T=typeof globalThis<"u"?globalThis:T||self,R(T.instant={}))})(this,(function(T){"use strict";function R(n){if(typeof n=="number")return(Math.abs(n*2654435761)>>>0).toString(16);if(typeof n=="boolean")return n?"1":"0";if(n===null)return"null";if(n===void 0)return"undefined";if(typeof n=="string"){let e=2166136261;for(let t=0;t<n.length;t++)e^=n.charCodeAt(t),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24),e=e>>>0;return e.toString(16)}if(Array.isArray(n)){let e=2166136261;for(let t=0;t<n.length;t++){e^=(t+1)*2654435761;const r=R(n[t]);for(let s=0;s<r.length;s++)e^=r.charCodeAt(s),e*=16777619,e=e>>>0}return e.toString(16)}if(typeof n=="object"){let e=2166136261;const t=Object.keys(n).sort();for(let r=0;r<t.length;r++){const s=t[r];if(n[s]===void 0)continue;const i=R(s);e^=parseInt(i,16),e*=16777619,e=e>>>0;const o=R(n[s]);e^=parseInt(o,16),e*=16777619,e=e>>>0}return e.toString(16)}return R(String(n))}const x={Remove:"remove",Replace:"replace",Add:"add"},Jt=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),Mr=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),Ne=Symbol.iterator,X={mutable:"mutable",immutable:"immutable"},rt={};function Ee(n,e){return n instanceof Map?n.has(e):Object.prototype.hasOwnProperty.call(n,e)}function Yt(n,e){if(e in n){let t=Reflect.getPrototypeOf(n);for(;t;){const r=Reflect.getOwnPropertyDescriptor(t,e);if(r)return r;t=Reflect.getPrototypeOf(t)}}}function st(n){return Object.getPrototypeOf(n)===Set.prototype}function it(n){return Object.getPrototypeOf(n)===Map.prototype}function ee(n){var e;return(e=n.copy)!==null&&e!==void 0?e:n.original}function pe(n){return!!I(n)}function I(n){return typeof n!="object"?null:n?.[Jt]}function ot(n){var e;const t=I(n);return t?(e=t.copy)!==null&&e!==void 0?e:t.original:n}function se(n,e){if(!n||typeof n!="object")return!1;let t;return Object.getPrototypeOf(n)===Object.prototype||Array.isArray(n)||n instanceof Map||n instanceof Set||!!e?.mark&&((t=e.mark(n,X))===X.immutable||typeof t=="function")}function Zt(n,e=[]){if(Object.hasOwnProperty.call(n,"key")){const t=n.parent.copy,r=I(le(t,n.key));if(r!==null&&r?.original!==n.original)return null;const s=n.parent.type===3,i=s?Array.from(n.parent.setMap.keys()).indexOf(n.key):n.key;if(!(s&&t.size>i||Ee(t,i)))return null;e.push(i)}if(n.parent)return Zt(n.parent,e);e.reverse();try{Pr(n.copy,e)}catch{return null}return e}function ye(n){return Array.isArray(n)?1:n instanceof Map?2:n instanceof Set?3:0}function le(n,e){return ye(n)===2?n.get(e):n[e]}function Me(n,e,t){ye(n)===2?n.set(e,t):n[e]=t}function at(n,e){const t=I(n);return(t?ee(t):n)[e]}function de(n,e){return n===e?n!==0||1/n===1/e:n!==n&&e!==e}function ct(n){if(n)for(;n.finalities.revoke.length>0;)n.finalities.revoke.pop()()}function be(n,e){return e?n:[""].concat(n).map(t=>{const r=`${t}`;return r.indexOf("/")===-1&&r.indexOf("~")===-1?r:r.replace(/~/g,"~0").replace(/\//g,"~1")}).join("/")}function Pr(n,e){for(let t=0;t<e.length-1;t+=1){const r=e[t];if(n=le(ye(n)===3?Array.from(n):n,r),typeof n!="object")throw new Error(`Cannot resolve patch at '${e.join("/")}'.`)}return n}function jr(n){const e=Object.create(Object.getPrototypeOf(n));return Reflect.ownKeys(n).forEach(t=>{let r=Reflect.getOwnPropertyDescriptor(n,t);if(r.enumerable&&r.configurable&&r.writable){e[t]=n[t];return}r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:n[t]}),Reflect.defineProperty(e,t,r)}),e}const $r=Object.prototype.propertyIsEnumerable;function Xt(n,e){let t;if(Array.isArray(n))return Array.prototype.concat.call(n);if(n instanceof Set){if(!st(n)){const r=Object.getPrototypeOf(n).constructor;return new r(n.values())}return Set.prototype.difference?Set.prototype.difference.call(n,new Set):new Set(n.values())}else if(n instanceof Map){if(!it(n)){const r=Object.getPrototypeOf(n).constructor;return new r(n)}return new Map(n)}else if(e?.mark&&(t=e.mark(n,X),t!==void 0)&&t!==X.mutable){if(t===X.immutable)return jr(n);if(typeof t=="function"){if(e.enablePatches||e.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return t()}throw new Error(`Unsupported mark result: ${t}`)}else if(typeof n=="object"&&Object.getPrototypeOf(n)===Object.prototype){const r={};return Object.keys(n).forEach(s=>{r[s]=n[s]}),Object.getOwnPropertySymbols(n).forEach(s=>{$r.call(n,s)&&(r[s]=n[s])}),r}else throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function W(n){n.copy||(n.copy=Xt(n.original,n.options))}function Pe(n){if(!se(n))return ot(n);if(Array.isArray(n))return n.map(Pe);if(n instanceof Map){const t=Array.from(n.entries()).map(([r,s])=>[r,Pe(s)]);if(!it(n)){const r=Object.getPrototypeOf(n).constructor;return new r(t)}return new Map(t)}if(n instanceof Set){const t=Array.from(n).map(Pe);if(!st(n)){const r=Object.getPrototypeOf(n).constructor;return new r(t)}return new Set(t)}const e=Object.create(Object.getPrototypeOf(n));for(const t in n)e[t]=Pe(n[t]);return e}function Ke(n){return pe(n)?Pe(n):n}function ce(n){var e;n.assignedMap=(e=n.assignedMap)!==null&&e!==void 0?e:new Map,n.operated||(n.operated=!0,n.parent&&ce(n.parent))}function en(){throw new Error("Cannot modify frozen object")}function we(n,e,t,r,s){{t=t??new WeakMap,r=r??[],s=s??[];const o=t.has(n)?t.get(n):n;if(r.length>0){const a=r.indexOf(o);if(o&&typeof o=="object"&&a!==-1)throw r[0]===o?new Error("Forbids circular reference"):new Error(`Forbids circular reference: ~/${s.slice(0,a).map((c,u)=>{if(typeof c=="symbol")return`[${c.toString()}]`;const l=r[u];return typeof c=="object"&&(l instanceof Map||l instanceof Set)?Array.from(l.keys()).indexOf(c):c}).join("/")}`);r.push(o),s.push(e)}else r.push(o)}if(Object.isFrozen(n)||pe(n)){r.pop(),s.pop();return}switch(ye(n)){case 2:for(const[a,c]of n)we(a,a,t,r,s),we(c,a,t,r,s);n.set=n.clear=n.delete=en;break;case 3:for(const a of n)we(a,a,t,r,s);n.add=n.clear=n.delete=en;break;case 1:Object.freeze(n);let o=0;for(const a of n)we(a,o,t,r,s),o+=1;break;default:Object.freeze(n),Object.keys(n).forEach(a=>{const c=n[a];we(c,a,t,r,s)})}r.pop(),s.pop()}function ut(n,e){const t=ye(n);if(t===0)Reflect.ownKeys(n).forEach(r=>{e(r,n[r],n)});else if(t===1){let r=0;for(const s of n)e(r,s,n),r+=1}else n.forEach((r,s)=>e(s,r,n))}function tn(n,e,t){if(pe(n)||!se(n,t)||e.has(n)||Object.isFrozen(n))return;const r=n instanceof Set,s=r?new Map:void 0;if(e.add(n),ut(n,(i,o)=>{var a;if(pe(o)){const c=I(o);W(c);const u=!((a=c.assignedMap)===null||a===void 0)&&a.size||c.operated?c.copy:c.original;Me(r?s:n,i,u)}else tn(o,e,t)}),s){const i=n,o=Array.from(i);i.clear(),o.forEach(a=>{i.add(s.has(a)?s.get(a):a)})}}function Rr(n,e){const t=n.type===3?n.setMap:n.copy;n.finalities.revoke.length>1&&n.assignedMap.get(e)&&t&&tn(le(t,e),n.finalities.handledSet,n.options)}function lt(n){n.type===3&&n.copy&&(n.copy.clear(),n.setMap.forEach(e=>{n.copy.add(ot(e))}))}function dt(n,e,t,r){if(n.operated&&n.assignedMap&&n.assignedMap.size>0&&!n.finalized){if(t&&r){const i=Zt(n);i&&e(n,i,t,r)}n.finalized=!0}}function ft(n,e,t,r){const s=I(t);s&&(s.callbacks||(s.callbacks=[]),s.callbacks.push((i,o)=>{var a;const c=n.type===3?n.setMap:n.copy;if(de(le(c,e),t)){let u=s.original;s.copy&&(u=s.copy),lt(n),dt(n,r,i,o),n.options.enableAutoFreeze&&(n.options.updatedValues=(a=n.options.updatedValues)!==null&&a!==void 0?a:new WeakMap,n.options.updatedValues.set(u,s.original)),Me(c,e,u)}}),n.options.enableAutoFreeze&&s.finalities!==n.finalities&&(n.options.enableAutoFreeze=!1)),se(t,n.options)&&n.finalities.draft.push(()=>{const i=n.type===3?n.setMap:n.copy;de(le(i,e),t)&&Rr(n,e)})}function Dr(n,e,t,r,s){let{original:i,assignedMap:o,options:a}=n,c=n.copy;c.length<i.length&&([i,c]=[c,i],[t,r]=[r,t]);for(let u=0;u<i.length;u+=1)if(o.get(u.toString())&&c[u]!==i[u]){const l=e.concat([u]),f=be(l,s);t.push({op:x.Replace,path:f,value:Ke(c[u])}),r.push({op:x.Replace,path:f,value:Ke(i[u])})}for(let u=i.length;u<c.length;u+=1){const l=e.concat([u]),f=be(l,s);t.push({op:x.Add,path:f,value:Ke(c[u])})}if(i.length<c.length){const{arrayLengthAssignment:u=!0}=a.enablePatches;if(u){const l=e.concat(["length"]),f=be(l,s);r.push({op:x.Replace,path:f,value:i.length})}else for(let l=c.length;i.length<l;l-=1){const f=e.concat([l-1]),d=be(f,s);r.push({op:x.Remove,path:d})}}}function xr({original:n,copy:e,assignedMap:t},r,s,i,o){t.forEach((a,c)=>{const u=le(n,c),l=Ke(le(e,c)),f=a?Ee(n,c)?x.Replace:x.Add:x.Remove;if(de(u,l)&&f===x.Replace)return;const d=r.concat(c),h=be(d,o);s.push(f===x.Remove?{op:f,path:h}:{op:f,path:h,value:l}),i.push(f===x.Add?{op:x.Remove,path:h}:f===x.Remove?{op:x.Add,path:h,value:u}:{op:x.Replace,path:h,value:u})})}function Ur({original:n,copy:e},t,r,s,i){let o=0;n.forEach(a=>{if(!e.has(a)){const c=t.concat([o]),u=be(c,i);r.push({op:x.Remove,path:u,value:a}),s.unshift({op:x.Add,path:u,value:a})}o+=1}),o=0,e.forEach(a=>{if(!n.has(a)){const c=t.concat([o]),u=be(c,i);r.push({op:x.Add,path:u,value:a}),s.unshift({op:x.Remove,path:u,value:a})}o+=1})}function je(n,e,t,r){const{pathAsArray:s=!0}=n.options.enablePatches;switch(n.type){case 0:case 2:return xr(n,e,t,r,s);case 1:return Dr(n,e,t,r,s);case 3:return Ur(n,e,t,r,s)}}const qe=(n,e,t=!1)=>{if(typeof n=="object"&&n!==null&&(!se(n,e)||t))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ht={get size(){return ee(I(this)).size},has(n){return ee(I(this)).has(n)},set(n,e){const t=I(this),r=ee(t);return(!r.has(n)||!de(r.get(n),e))&&(W(t),ce(t),t.assignedMap.set(n,!0),t.copy.set(n,e),ft(t,n,e,je)),this},delete(n){if(!this.has(n))return!1;const e=I(this);return W(e),ce(e),e.original.has(n)?e.assignedMap.set(n,!1):e.assignedMap.delete(n),e.copy.delete(n),!0},clear(){const n=I(this);if(this.size){W(n),ce(n),n.assignedMap=new Map;for(const[e]of n.original)n.assignedMap.set(e,!1);n.copy.clear()}},forEach(n,e){const t=I(this);ee(t).forEach((r,s)=>{n.call(e,this.get(s),s,this)})},get(n){var e,t;const r=I(this),s=ee(r).get(n),i=((t=(e=r.options).mark)===null||t===void 0?void 0:t.call(e,s,X))===X.mutable;if(r.options.strict&&qe(s,r.options,i),i||r.finalized||!se(s,r.options)||s!==r.original.get(n))return s;const o=rt.createDraft({original:s,parentDraft:r,key:n,finalities:r.finalities,options:r.options});return W(r),r.copy.set(n,o),o},keys(){return ee(I(this)).keys()},values(){const n=this.keys();return{[Ne]:()=>this.values(),next:()=>{const e=n.next();return e.done?e:{done:!1,value:this.get(e.value)}}}},entries(){const n=this.keys();return{[Ne]:()=>this.entries(),next:()=>{const e=n.next();if(e.done)return e;const t=this.get(e.value);return{done:!1,value:[e.value,t]}}}},[Ne](){return this.entries()}},Lr=Reflect.ownKeys(ht),nn=(n,e,{isValuesIterator:t})=>()=>{var r,s;const i=e.next();if(i.done)return i;const o=i.value;let a=n.setMap.get(o);const c=I(a),u=((s=(r=n.options).mark)===null||s===void 0?void 0:s.call(r,a,X))===X.mutable;if(n.options.strict&&qe(o,n.options,u),!u&&!c&&se(o,n.options)&&!n.finalized&&n.original.has(o)){const l=rt.createDraft({original:o,parentDraft:n,key:o,finalities:n.finalities,options:n.options});n.setMap.set(o,l),a=l}else c&&(a=c.proxy);return{done:!1,value:t?a:[a,a]}},ze={get size(){return I(this).setMap.size},has(n){const e=I(this);if(e.setMap.has(n))return!0;W(e);const t=I(n);return!!(t&&e.setMap.has(t.original))},add(n){const e=I(this);return this.has(n)||(W(e),ce(e),e.assignedMap.set(n,!0),e.setMap.set(n,n),ft(e,n,n,je)),this},delete(n){if(!this.has(n))return!1;const e=I(this);W(e),ce(e);const t=I(n);return t&&e.setMap.has(t.original)?(e.assignedMap.set(t.original,!1),e.setMap.delete(t.original)):(!t&&e.setMap.has(n)?e.assignedMap.set(n,!1):e.assignedMap.delete(n),e.setMap.delete(n))},clear(){if(!this.size)return;const n=I(this);W(n),ce(n);for(const e of n.original)n.assignedMap.set(e,!1);n.setMap.clear()},values(){const n=I(this);W(n);const e=n.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:nn(n,e,{isValuesIterator:!0})}},entries(){const n=I(this);W(n);const e=n.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:nn(n,e,{isValuesIterator:!1})}},keys(){return this.values()},[Ne](){return this.values()},forEach(n,e){const t=this.values();let r=t.next();for(;!r.done;)n.call(e,r.value,r.value,this),r=t.next()}};Set.prototype.difference&&Object.assign(ze,{intersection(n){return Set.prototype.intersection.call(new Set(this.values()),n)},union(n){return Set.prototype.union.call(new Set(this.values()),n)},difference(n){return Set.prototype.difference.call(new Set(this.values()),n)},symmetricDifference(n){return Set.prototype.symmetricDifference.call(new Set(this.values()),n)},isSubsetOf(n){return Set.prototype.isSubsetOf.call(new Set(this.values()),n)},isSupersetOf(n){return Set.prototype.isSupersetOf.call(new Set(this.values()),n)},isDisjointFrom(n){return Set.prototype.isDisjointFrom.call(new Set(this.values()),n)}});const Fr=Reflect.ownKeys(ze),rn=new WeakSet,sn={get(n,e,t){var r,s;const i=(r=n.copy)===null||r===void 0?void 0:r[e];if(i&&rn.has(i))return i;if(e===Jt)return n;let o;if(n.options.mark){const u=e==="size"&&(n.original instanceof Map||n.original instanceof Set)?Reflect.get(n.original,e):Reflect.get(n.original,e,t);if(o=n.options.mark(u,X),o===X.mutable)return n.options.strict&&qe(u,n.options,!0),u}const a=ee(n);if(a instanceof Map&&Lr.includes(e)){if(e==="size")return Object.getOwnPropertyDescriptor(ht,"size").get.call(n.proxy);const u=ht[e];if(u)return u.bind(n.proxy)}if(a instanceof Set&&Fr.includes(e)){if(e==="size")return Object.getOwnPropertyDescriptor(ze,"size").get.call(n.proxy);const u=ze[e];if(u)return u.bind(n.proxy)}if(!Ee(a,e)){const u=Yt(a,e);return u?"value"in u?u.value:(s=u.get)===null||s===void 0?void 0:s.call(n.proxy):void 0}const c=a[e];if(n.options.strict&&qe(c,n.options),n.finalized||!se(c,n.options))return c;if(c===at(n.original,e)){if(W(n),n.copy[e]=pt({original:n.original[e],parentDraft:n,key:n.type===1?Number(e):e,finalities:n.finalities,options:n.options}),typeof o=="function"){const u=I(n.copy[e]);return W(u),ce(u),u.copy}return n.copy[e]}return c},set(n,e,t){var r;if(n.type===3||n.type===2)throw new Error("Map/Set draft does not support any property assignment.");let s;if(n.type===1&&e!=="length"&&!(Number.isInteger(s=Number(e))&&s>=0&&(e===0||s===0||String(s)===String(e))))throw new Error("Only supports setting array indices and the 'length' property.");const i=Yt(ee(n),e);if(i?.set)return i.set.call(n.proxy,t),!0;const o=at(ee(n),e),a=I(o);return a&&de(a.original,t)?(n.copy[e]=t,n.assignedMap=(r=n.assignedMap)!==null&&r!==void 0?r:new Map,n.assignedMap.set(e,!1),!0):(de(t,o)&&(t!==void 0||Ee(n.original,e))||(W(n),ce(n),Ee(n.original,e)&&de(t,n.original[e])?n.assignedMap.delete(e):n.assignedMap.set(e,!0),n.copy[e]=t,ft(n,e,t,je)),!0)},has(n,e){return e in ee(n)},ownKeys(n){return Reflect.ownKeys(ee(n))},getOwnPropertyDescriptor(n,e){const t=ee(n),r=Reflect.getOwnPropertyDescriptor(t,e);return r&&{writable:!0,configurable:n.type!==1||e!=="length",enumerable:r.enumerable,value:t[e]}},getPrototypeOf(n){return Reflect.getPrototypeOf(n.original)},setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(n,e){var t;return n.type===1?sn.set.call(this,n,e,void 0,n.proxy):(at(n.original,e)!==void 0||e in n.original?(W(n),ce(n),n.assignedMap.set(e,!1)):(n.assignedMap=(t=n.assignedMap)!==null&&t!==void 0?t:new Map,n.assignedMap.delete(e)),n.copy&&delete n.copy[e],!0)}};function pt(n){const{original:e,parentDraft:t,key:r,finalities:s,options:i}=n,o=ye(e),a={type:o,finalized:!1,parent:t,original:e,copy:null,proxy:null,finalities:s,options:i,setMap:o===3?new Map(e.entries()):void 0};(r||"key"in n)&&(a.key=r);const{proxy:c,revoke:u}=Proxy.revocable(o===1?Object.assign([],a):a,sn);if(s.revoke.push(u),rn.add(c),a.proxy=c,t){const l=t;l.finalities.draft.push((f,d)=>{var h,p;const m=I(c);let b=l.type===3?l.setMap:l.copy;const y=le(b,r),g=I(y);if(g){let k=g.original;g.operated&&(k=ot(y)),lt(g),dt(g,je,f,d),l.options.enableAutoFreeze&&(l.options.updatedValues=(h=l.options.updatedValues)!==null&&h!==void 0?h:new WeakMap,l.options.updatedValues.set(k,g.original)),Me(b,r,k)}(p=m.callbacks)===null||p===void 0||p.forEach(k=>{k(f,d)})})}else{const l=I(c);l.finalities.draft.push((f,d)=>{lt(l),dt(l,je,f,d)})}return c}rt.createDraft=pt;function Nr(n,e,t,r,s){var i;const o=I(n),a=(i=o?.original)!==null&&i!==void 0?i:n,c=!!e.length;if(o?.operated)for(;o.finalities.draft.length>0;)o.finalities.draft.pop()(t,r);const u=c?e[0]:o?o.operated?o.copy:o.original:n;return o&&ct(o),s&&we(u,u,o?.options.updatedValues),[u,t&&c?[{op:x.Replace,path:[],value:e[0]}]:t,r&&c?[{op:x.Replace,path:[],value:a}]:r]}function Kr(n,e){var t;const r={draft:[],revoke:[],handledSet:new WeakSet};let s,i;e.enablePatches&&(s=[],i=[]);const a=((t=e.mark)===null||t===void 0?void 0:t.call(e,n,X))===X.mutable||!se(n,e)?n:pt({original:n,parentDraft:null,finalities:r,options:e});return[a,(c=[])=>{const[u,l,f]=Nr(a,c,s,i,e.enableAutoFreeze);return e.enablePatches?[u,l,f]:u}]}function yt(n){const{rootDraft:e,value:t,useRawReturn:r=!1,isRoot:s=!0}=n;ut(t,(i,o,a)=>{const c=I(o);if(c&&e&&c.finalities===e.finalities){n.isContainDraft=!0;const u=c.original;if(a instanceof Set){const l=Array.from(a);a.clear(),l.forEach(f=>a.add(i===f?u:f))}else Me(a,i,u)}else typeof o=="object"&&o!==null&&(n.value=o,n.isRoot=!1,yt(n))}),s&&(n.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function on(n){var e;const t=I(n);if(!se(n,t?.options))return n;const r=ye(n);if(t&&!t.operated)return t.original;let s;function i(){s=r===2?it(n)?new Map(n):new(Object.getPrototypeOf(n)).constructor(n):r===3?Array.from(t.setMap.values()):Xt(n,t?.options)}if(t){t.finalized=!0;try{i()}finally{t.finalized=!1}}else s=n;if(ut(s,(o,a)=>{if(t&&de(le(t.original,o),a))return;const c=on(a);c!==a&&(s===n&&i(),Me(s,o,c))}),r===3){const o=(e=t?.original)!==null&&e!==void 0?e:s;return st(o)?new Set(s):new(Object.getPrototypeOf(o)).constructor(s)}return s}function an(n){if(!pe(n))throw new Error(`current() is only used for Draft, parameter: ${n}`);return on(n)}const We=(n=>function e(t,r,s){var i,o,a;if(typeof t=="function"&&typeof r!="function")return function(O,...q){return e(O,E=>t.call(this,E,...q),r)};const c=t,u=r;let l=s;if(typeof r!="function"&&(l=r),l!==void 0&&Object.prototype.toString.call(l)!=="[object Object]")throw new Error(`Invalid options: ${l}, 'options' should be an object.`);l=Object.assign(Object.assign({},n),l);const f=pe(c)?an(c):c,d=Array.isArray(l.mark)?((O,q)=>{for(const E of l.mark){if(typeof E!="function")throw new Error(`Invalid mark: ${E}, 'mark' should be a function.`);const C=E(O,q);if(C)return C}}):l.mark,h=(i=l.enablePatches)!==null&&i!==void 0?i:!1,p=(o=l.strict)!==null&&o!==void 0?o:!1,b={enableAutoFreeze:(a=l.enableAutoFreeze)!==null&&a!==void 0?a:!1,mark:d,strict:p,enablePatches:h};if(!se(f,b)&&typeof f=="object"&&f!==null)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=Kr(f,b);if(typeof r!="function"){if(!se(f,b))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let k;try{k=u(y)}catch(O){throw ct(I(y)),O}const L=O=>{const q=I(y);if(!pe(O)){if(O!==void 0&&!de(O,y)&&q?.operated)throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const C=O?.[Mr];if(C){const Q=C[0];return b.strict&&typeof O=="object"&&O!==null&&yt({rootDraft:q,value:O,useRawReturn:!0}),g([Q])}if(O!==void 0)return typeof O=="object"&&O!==null&&yt({rootDraft:q,value:O}),g([O])}if(O===y||O===void 0)return g([]);const E=I(O);if(b===E.options){if(E.operated)throw new Error("Cannot return a modified child draft.");return g([an(O)])}return g([O])};return k instanceof Promise?k.then(L,O=>{throw ct(I(y)),O}):L(k)})();Object.prototype.constructor.toString();function cn(n,e){const t=Object.keys(n),r=Object.keys(e);return t.length===r.length&&Object.keys(n).every(s=>e.hasOwnProperty(s))}function un(n,e){return Object.keys(n).length===Object.keys(e).length&&Object.keys(n).every(t=>e.hasOwnProperty(t)&&n[t]===e[t])}function Ve(n,e){return typeof n!="object"||typeof e!="object"||n===null||e===null?n===e:cn(n,e)?Object.keys(n).every(t=>Ve(n[t],e[t])):!1}function bt(n){if(!$e(n))return n;const e={};for(const[t,r]of Object.entries(n))r!==void 0&&(e[t]=r);return e}function ln(n,e){if(!$e(n)||!$e(e))return e;const t={...n};for(const r of Object.keys(e)){if(e[r]===void 0)continue;if(e[r]===null){delete t[r];continue}const s=$e(n[r])&&$e(e[r]);t[r]=s?ln(n[r],e[r]):e[r]}return t}function $e(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function qr(n,e,t){if(!n||e.length===0)return;let r=n||{};for(let i=0;i<e.length-1;i++){const o=e[i];(!(o in r)||typeof r[o]!="object")&&(r[o]=typeof e[i+1]=="number"?[]:{}),r=r[o]}const s=e[e.length-1];Array.isArray(r)&&typeof s=="number"?r.splice(s,0,t):r[s]=t}function dn(n,e,t){if(!n||e.length===0)return;let r=n||{};for(let s=0;s<e.length-1;s++){const i=e[s];(!(i in r)||typeof r[i]!="object")&&(r[i]=typeof e[s+1]=="number"?[]:{}),r=r[i]}r[e[e.length-1]]=t}function fn(n,e){if(!n||e.length===0)return;const[t,...r]=e;if(t in n){if(r.length===0){Array.isArray(n)?n.splice(t,1):delete n[t];return}fn(n[t],r),zr(n[t])&&delete n[t]}}function zr(n){return n&&Object.keys(n).length===0}const hn=/ZULU|YEKT|YEKST|YAPT|YAKT|YAKST|XJT|WGT|WGST|WFT|WETDST|WET|WDT|WAT|WAST|WAKT|WADT|VUT|VOLT|VLAT|VLAST|VET|UZT|UZST|UYT|UYST|UTC|UT|ULAT|ULAST|UCT|TVT|TRUT|TOT|TMT|TKT|TJT|TFT|TAHT|SGT|SCT|SAST|SADT|RET|PYT|PYST|PWT|PST|PONT|PMST|PMDT|PKT|PKST|PHT|PGT|PETT|PETST|PET|PDT|OMST|OMSST|NZT|NZST|NZDT|NUT|NST|NPT|NOVT|NOVST|NFT|NDT|MYT|MVT|MUT|MUST|MST|MSK|MSD|MPT|MMT|MHT|MEZ|METDST|MET|MESZ|MEST|MDT|MAWT|MART|MAGT|MAGST|LKT|LINT|LIGT|LHST|LHDT|KST|KRAT|KRAST|KOST|KGT|KGST|KDT|JST|JAYT|IST|IRT|IRKT|IRKST|IOT|IDT|ICT|HST|HKT|GYT|GMT|GILT|GFT|GET|GEST|GAMT|GALT|FNT|FNST|FKT|FKST|FJT|FJST|FET|EST|EGT|EGST|EETDST|EET|EEST|EDT|EAT|EAST|EASST|DDUT|DAVT|CXT|CST|COT|CLT|CLST|CKT|CHUT|CHAST|CHADT|CETDST|CET|CEST|CDT|CCT|CAST|CADT|BTT|BST|BRT|BRST|BRA|BOT|BORT|BNT|BDT|BDST|AZT|AZST|AZOT|AZOST|AWST|AWSST|AST|ART|ARST|ANAT|ANAST|AMT|AMST|ALMT|ALMST|AKST|AKDT|AFT|AEST|AESST|AEDT|ADT|ACWST|ACT|ACST|ACSST|ACDT$/,Wr={ZULU:0,YEKT:18e3,YEKST:21600,YAPT:36e3,YAKT:32400,YAKST:32400,XJT:21600,WGT:-10800,WGST:-7200,WFT:43200,WETDST:3600,WET:0,WDT:32400,WAT:3600,WAST:25200,WAKT:43200,WADT:28800,VUT:39600,VOLT:10800,VLAT:36e3,VLAST:36e3,VET:-14400,UZT:18e3,UZST:21600,UYT:-10800,UYST:-7200,UTC:0,UT:0,ULAT:28800,ULAST:32400,UCT:0,TVT:43200,TRUT:36e3,TOT:46800,TMT:18e3,TKT:46800,TJT:18e3,TFT:18e3,TAHT:-36e3,SGT:28800,SCT:14400,SAST:7200,SADT:37800,RET:14400,PYT:-14400,PYST:-10800,PWT:32400,PST:-28800,PONT:39600,PMST:-10800,PMDT:-7200,PKT:18e3,PKST:21600,PHT:28800,PGT:36e3,PETT:43200,PETST:43200,PET:-18e3,PDT:-25200,OMST:21600,OMSST:21600,NZT:43200,NZST:43200,NZDT:46800,NUT:-39600,NST:-12600,NPT:20700,NOVT:25200,NOVST:25200,NFT:-12600,NDT:-9e3,MYT:28800,MVT:18e3,MUT:14400,MUST:18e3,MST:-25200,MSK:10800,MSD:14400,MPT:36e3,MMT:23400,MHT:43200,MEZ:3600,METDST:7200,MET:3600,MESZ:7200,MEST:7200,MDT:-21600,MAWT:18e3,MART:-34200,MAGT:39600,MAGST:39600,LKT:19800,LINT:50400,LIGT:36e3,LHST:37800,LHDT:37800,KST:32400,KRAT:25200,KRAST:25200,KOST:39600,KGT:21600,KGST:21600,KDT:36e3,JST:32400,JAYT:32400,IST:7200,IRT:12600,IRKT:28800,IRKST:28800,IOT:21600,IDT:10800,ICT:25200,HST:-36e3,HKT:28800,GYT:-14400,GMT:0,GILT:43200,GFT:-10800,GET:14400,GEST:14400,GAMT:-32400,GALT:-21600,FNT:-7200,FNST:-3600,FKT:-10800,FKST:-10800,FJT:43200,FJST:46800,FET:10800,EST:-18e3,EGT:-3600,EGST:0,EETDST:10800,EET:7200,EEST:10800,EDT:-14400,EAT:10800,EAST:-21600,EASST:-21600,DDUT:36e3,DAVT:25200,CXT:25200,CST:-21600,COT:-18e3,CLT:-14400,CLST:-10800,CKT:-36e3,CHUT:36e3,CHAST:45900,CHADT:49500,CETDST:7200,CET:3600,CEST:7200,CDT:-18e3,CCT:28800,CAST:34200,CADT:37800,BTT:21600,BST:3600,BRT:-10800,BRST:-7200,BRA:-10800,BOT:-14400,BORT:28800,BNT:28800,BDT:21600,BDST:7200,AZT:14400,AZST:14400,AZOT:-3600,AZOST:0,AWST:28800,AWSST:32400,AST:-14400,ART:-10800,ARST:-10800,ANAT:43200,ANAST:43200,AMT:-14400,AMST:14400,ALMT:21600,ALMST:25200,AKST:-32400,AKDT:-28800,AFT:16200,AEST:36e3,AESST:39600,AEDT:39600,ADT:-10800,ACWST:31500,ACT:-18e3,ACST:34200,ACSST:37800,ACDT:37800};function Vr(n){return new Date(n)}function Qr(n){return new Date(n+"Z")}const Br=/^(\d+)[\./-](\d+)[\./-](\d+)$/;function Gr(n){const e=n.match(Br);if(!e)return null;const[t,r,s,i]=e;return r<=0||s<=0||i<=0?null:r>999?new Date(Date.UTC(r,s-1,i,0,0,0,0)):new Date(Date.UTC(i,r-1,s,0,0,0,0))}function Hr(n){const[e,t]=n.split(" ");return new Date(e+"T"+t+"Z")}function Jr(n){const[e,t]=n.split(" ");return new Date(e+"T"+t+"Z")}function Yr(n){return new Date(n)}function Zr(n){const e=/^(\w{3}) (\w{3}) (\d{2}) (\d{4})$/;if(!n.match(e))throw new Error(`Unable to parse \`${n}\` as a date.`);const r=new Date(n+" UTC");return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),0,0,0,0))}function Xr(n){const e=/^(.+T.+)([+-])(\d{2})$/,t=n.match(e);if(t){const[,r,s,i]=t,o=`${r}${s}${i}:00`;return new Date(o)}return null}function es(n){const e=/^(\d+)-(\d{1,2})-(\d{1,2})([ T])(.+)$/,t=n.match(e);if(t){const[,r,s,i,o,a]=t,c=s.padStart(2,"0"),u=i.padStart(2,"0"),l=`${r}-${c}-${u}T${a}`;return new Date(l)}return null}function ts(n){const[e,t]=n.split(", "),[r,s,i]=e.split("/").map(Number),o=t.match(/(\d{1,2}):(\d{2}):(\d{2}) (AM|PM)/);if(!o)throw new Error(`Unable to parse time from: ${n}`);let[,a,c,u,l]=o;return a=Number(a),c=Number(c),u=Number(u),l==="PM"&&a!==12?a+=12:l==="AM"&&a===12&&(a=0),new Date(Date.UTC(i,r-1,s,a,c,u))}function ns(n){switch(n){case"epoch":return new Date(0);case"infinity":case"-infinity":case"today":case"tomorrow":case"yesterday":return null}}function rs(n){const e=n.match(hn);if(!e)return null;const[t]=e,r=Wr[t],s=new Date(n.replace(hn,"Z"));return new Date(s.getTime()-r*1e3)}const ss=[Gr,Jr,Zr,ts,Yr,Qr,Xr,Hr,Vr,ns,rs,es];function is(n,e){try{const t=n(e);return t instanceof Date&&!isNaN(t.getTime())?t:null}catch{return null}}function gt(n){for(const e of ss){const t=is(e,n);if(t)return t}return null}function os(n){try{const e=JSON.parse(n);return typeof e=="string"?gt(e):null}catch{return null}}function Re(n){if(n!==void 0){if(n===null)return null;if(n instanceof Date)return n;if(typeof n=="string"){const e=gt(n)||os(n)||gt(n.trim());if(!e)throw new Error(`Unable to parse \`${n}\` as a date.`);return e}else if(typeof n=="number")return new Date(n);throw new Error(`Invalid date value \`${n}\`. Expected a date, number, or string, got type ${typeof n}.`)}}class he{attrs;linkIndex;_blobAttrs=null;_primaryKeys=null;_forwardIdents=null;_revIdents=null;constructor(e,t){this.attrs=e,this.linkIndex=t}resetAttrIndexes(){this._blobAttrs=null,this._primaryKeys=null,this._forwardIdents=null,this._revIdents=null}addAttr(e){this.attrs[e.id]=e,this.resetAttrIndexes()}deleteAttr(e){delete this.attrs[e],this.resetAttrIndexes()}updateAttr(e){const t=this.attrs[e.id];t&&(this.attrs[e.id]={...t,...e},this.resetAttrIndexes())}getAttr(e){return this.attrs[e]}get blobAttrs(){if(this._blobAttrs)return this._blobAttrs;this._blobAttrs=new Map;for(const e of Object.values(this.attrs))if(wt(e)){const[t,r,s]=e["forward-identity"];G(this.blobAttrs,[r,s],e)}return this._blobAttrs}get primaryKeys(){if(this._primaryKeys)return this._primaryKeys;this._primaryKeys=new Map;for(const e of Object.values(this.attrs))if(e["primary?"]){const[t,r]=e["forward-identity"];G(this._primaryKeys,[r],e)}return this._primaryKeys}get forwardIdents(){if(this._forwardIdents)return this._forwardIdents;this._forwardIdents=new Map;for(const e of Object.values(this.attrs)){const t=e["forward-identity"],[r,s,i]=t;G(this._forwardIdents,[s,i],e)}return this._forwardIdents}get revIdents(){if(this._revIdents)return this._revIdents;this._revIdents=new Map;for(const e of Object.values(this.attrs)){const t=e["reverse-identity"];if(t){const[r,s,i]=t;G(this._revIdents,[s,i],e)}}return this._revIdents}toJSON(){return{attrs:this.attrs,linkIndex:this.linkIndex}}}function as(n){return n.cardinality==="one"}function mt(n){return n["value-type"]==="ref"}function wt(n){return n["value-type"]==="blob"}function _e(n,e){return e.reduce((t,r)=>t&&t.get(r),n)}function ie(n,e){if(e.length===0)throw new Error("path must have at least one element");if(e.length===1){n.delete(e[0]);return}const[t,...r]=e;n.has(t)&&ie(n.get(t),r)}function G(n,e,t){let r=n;const s=e.length-1;for(let i=0;i<s;i++){const o=e[i];let a=r.get(o);a===void 0&&(a=new Map,r.set(o,a)),r=a}s>-1&&r.set(e[s],t)}function pn(n,e,t){const r=new Map,s=new Map,i=new Map;for(const o of e){let[a,c,u]=o;const l=n.getAttr(c);if(!l){console.warn("no such attr",c,a);continue}l["checked-data-type"]==="date"&&t&&(u=Re(u),o[2]=u),mt(l)&&G(i,[u,c,a],o),G(r,[a,c,u],o),G(s,[c,a,u],o)}return{eav:r,aev:s,vae:i}}function yn(n){return{triples:H(n.eav,3),cardinalityInference:n.cardinalityInference,useDateObjects:n.useDateObjects,version:1}}function bn(n,e){return Se(n,e.triples,e.cardinalityInference,e.useDateObjects)}function gn(n,e){if(n)return new he(n.attrs,n.linkIndex);if(e&&"__type"in e)return new he(e.attrs,e.linkIndex)}function cs(n,e){return _e(n.eav,[e])!==void 0}function Se(n,e,t,r){const s=pn(n,e,r);return s.cardinalityInference=t,s.useDateObjects=r,s}function De(n,e){let t;if(Array.isArray(e[0])){const[s,i]=e[0],o=n.aev.get(s);if(!o)return null;t=H(o,2).find(c=>c[2]===i)?.[0]}else t=e[0];if(!t)return null;const r=e[2];if(Array.isArray(r)&&r.length===2&&n.aev.get(r[0])){const[s,i]=r,o=n.aev.get(s);if(!o)return null;const c=H(o,2).find(h=>h[2]===i)?.[0];if(!c)return null;const[u,l,f,...d]=e;return[t,l,c,...d]}else{const[s,...i]=e;return[t,...i]}}function mn(n,e,t){const r=De(n,t);if(!r)return;const[s,i,o]=r,a=e.getAttr(i);a&&(ie(n.eav,[s,i,o]),ie(n.aev,[i,s,o]),mt(a)&&ie(n.vae,[o,i,s]))}let us=0;function wn(n,e,t){const[r,s,i]=t;let o;const a=_e(n.eav,[r,s,i]);return a&&(o=a[3]),o||Date.now()*10+us++}function _n(n,e,t){const r=De(n,t);if(!r)return;let[s,i,o]=r;const a=e.getAttr(i);if(!a)return;a["checked-data-type"]==="date"&&n.useDateObjects&&(o=Re(o));const u=_e(n.eav,[s,i,o])?.[3]??wn(n,a,r),l=[s,i,o,u];as(a)?(G(n.eav,[s,i],new Map([[o,l]])),G(n.aev,[i,s],new Map([[o,l]]))):(G(n.eav,[s,i,o],l),G(n.aev,[i,s,o],l)),mt(a)&&G(n.vae,[o,i,s],l)}function ls(n,e,t){const r=De(n,t);if(!r)return;const[s,i,o]=r,a=e.getAttr(i);if(!a)return;if(!wt(a))throw new Error("merge operation is not supported for links");const c=_e(n.eav,[s,i]);if(!c)return;const u=c.values().next()?.value;if(!u)return;const l=u[2],f=ln(l,o),d=[s,i,f,wn(n,a,u)];G(n.eav,[s,i],new Map([[f,d]])),G(n.aev,[i,s],new Map([[f,d]]))}function _t(n,e,t){const[r,s]=t,i=De(n,[r]);if(!i)return;const[o]=i,a=n.eav.get(o);if(a){for(const u of a.keys()){const l=e.getAttr(u);l&&l["on-delete-reverse"]==="cascade"&&H(a.get(u),1).forEach(([f,d,h])=>_t(n,e,[h,l["reverse-identity"]?.[1]])),(!s||!l||l["forward-identity"]?.[1]===s)&&(ie(n.aev,[u,o]),ie(n.eav,[o,u]))}a.size===0&&ie(n.eav,[o])}const c=n.vae.get(o)&&H(n.vae.get(o),2);c&&c.forEach(u=>{const[l,f,d]=u,h=e.getAttr(f);(!s||!h||h["reverse-identity"]?.[1]===s)&&(ie(n.eav,[l,f,d]),ie(n.aev,[f,l,d]),ie(n.vae,[d,f,l])),h&&h["on-delete"]==="cascade"&&h["reverse-identity"]?.[1]===s&&_t(n,e,[l,h["forward-identity"]?.[1]])}),n.vae.get(o)?.size===0&&ie(n.vae,[o])}function Sn(n,e,t){const r=pn(e,t,n.useDateObjects);Object.keys(r).forEach(s=>{n[s]=r[s]})}function ds(n,[e]){n.addAttr(e)}function Tn(n){return H(n.eav,3)}function fs(n,e,[t]){if(!e.getAttr(t))return;const r=Tn(n).filter(([s,i])=>i!==t);e.deleteAttr(t),Sn(n,e,r)}function hs(n,e,[t]){e.getAttr(t.id)&&(e.updateAttr(t),Sn(n,e,Tn(n)))}function ps(n,e,t){const[r,...s]=t;switch(r){case"add-triple":_n(n,e,s);break;case"deep-merge-triple":ls(n,e,s);break;case"retract-triple":mn(n,e,s);break;case"delete-entity":_t(n,e,s);break;case"add-attr":ds(e,s);break;case"delete-attr":fs(n,e,s);break;case"update-attr":hs(n,e,s);break;case"restore-attr":break;case"rule-params":break;default:throw new Error(`unhandled transaction action: ${r}`)}}function H(n,e,t=[]){if(!n||e===0)return t;if(e===1){for(const r of n.values())t.push(r);return t}for(const r of n.values())H(r,e-1,t);return t}function Qe(n,e,t){const r=[];if(t?.hasOwnProperty("$not")){for(const i of e.keys())t.$not!==i&&r.push(e.get(i));return r}if(t?.hasOwnProperty("$isNull")){const{attrId:i,isNull:o,reverse:a}=t.$isNull;if(a)for(const c of e.keys()){const u=n.vae.get(c),l=!u||!u.get(i);(o?l:!l)&&r.push(e.get(c))}else{const c=n.aev.get(i);for(const u of e.keys()){const l=!c||c.get(u)?.get(null)||!c.get(u);(o?l:!l)&&r.push(e.get(u))}}return r}if(t?.$comparator)return H(e,1).filter(t.$op);const s=t.in||t.$in||[t];for(const i of s){const o=e.get(i);o&&r.push(o)}return r}function ys(n,e,t){let r="";return n!==void 0&&(r+="e"),e!==void 0&&(r+="a"),t!==void 0&&(r+="v"),r}function bs(n,[e,t,r]){switch(ys(e,t,r)){case"e":{const i=n.eav.get(e);return H(i,2)}case"ea":{const i=n.eav.get(e)?.get(t);return H(i,1)}case"eav":{const i=n.eav.get(e)?.get(t);return i?Qe(n,i,r):[]}case"ev":{const i=n.eav.get(e);if(!i)return[];const o=[];for(const a of i.values())o.push(...Qe(n,a,r));return o}case"a":{const i=n.aev.get(t);return H(i,2)}case"av":{const i=n.aev.get(t);if(!i)return[];const o=[];for(const a of i.values())o.push(...Qe(n,a,r));return o}case"v":{const i=[];for(const o of n.eav.values())for(const a of o.values())i.push(...Qe(n,a,r));return i}default:return H(n.eav,3)}}function gs(n,e,t){const r={};if(!e)return r;for(const[s,i]of e.entries()){const o=n.eav.get(t)?.get(i.id),a=H(o,1);for(const c of a)r[s]=c[2]}return r}function U(n,e,t){return n.forwardIdents.get(e)?.get(t)}function ge(n,e,t){return n.revIdents.get(e)?.get(t)}function ms(n,e){return n.blobAttrs.get(e)}function vn(n,e){const t=n.primaryKeys.get(e);return t||n.forwardIdents.get(e)?.get("id")}function ws(n,e,t){const r=De(n,t);if(!r)return;const[s,i,o]=r;if(e.getAttr(i))return _e(n.eav,[s,i])}function _s(n,e,t){const r=t.filter(([s,i,o,a,c])=>{if(s!=="add-triple"&&s!=="deep-merge-triple")return!0;const u=c?.mode;if(u!=="create"&&u!=="update")return!0;let l=!1;const f=e.getAttr(o);if(f){const d=vn(e,f["forward-identity"][1]);l=!!ws(n,e,[i,d?.id,i])}return!(u==="create"&&l||u==="update"&&!l)});return We({store:n,attrsStore:e},s=>{r.forEach(i=>{ps(s.store,s.attrsStore,i)})},{mark:s=>{if(s instanceof he)return"immutable"}})}function Ss(n){return typeof n=="string"&&n.startsWith("?")}function Ts(n,e,t){if(t.hasOwnProperty(n)){const r=t[n];return kn(r,e,t)}return{...t,[n]:e}}function An(n,e,t){return n===e?t:null}function vs(n){return typeof n==="string"&&n.startsWith("?")?Ts:An}const As=["in","$in","$not","$isNull","$comparator"];function ks(n){for(const e of As)if(n.hasOwnProperty(e))return!0;return!1}function kn(n,e,t){return t?typeof n=="object"?ks(n)?t:null:vs(n)(n,e,t):null}function Is(n,e,t){return n.reduce((r,s,i)=>{const o=e[i];return kn(s,o,r)},t)}function Os(n,e,t){return Ms(n,e,t).map(r=>Is(e,r,t)).filter(r=>r)}function Cs(n,e,t){return e.or?e.or.patterns.flatMap(r=>St(n,r,t)):e.and?e.and.patterns.reduce((r,s)=>St(n,s,r),t):t.flatMap(r=>Os(n,e,r))}function St(n,e,t=[{}]){return e.reduce((r,s)=>Cs(n,s,r),t)}function Tt(n,e){return Array.isArray(e)?e.map(t=>Tt(n,t)):Ss(e)?n[e]:e}function Es(n,{find:e,where:t}){return St(n,t).map(s=>Tt(s,e))}function Ms(n,e,t){return bs(n,Tt(t,e))}const Ps=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Te(n){return typeof n=="string"&&Ps.test(n)}const K=[];for(let n=0;n<256;++n)K.push((n+256).toString(16).slice(1));function js(n,e=0){return(K[n[e+0]]+K[n[e+1]]+K[n[e+2]]+K[n[e+3]]+"-"+K[n[e+4]]+K[n[e+5]]+"-"+K[n[e+6]]+K[n[e+7]]+"-"+K[n[e+8]]+K[n[e+9]]+"-"+K[n[e+10]]+K[n[e+11]]+K[n[e+12]]+K[n[e+13]]+K[n[e+14]]+K[n[e+15]]).toLowerCase()}let vt;const $s=new Uint8Array(16);function Rs(){if(!vt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");vt=crypto.getRandomValues.bind(crypto)}return vt($s)}const In={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Ds(n,e,t){if(In.randomUUID&&!n)return In.randomUUID();n=n||{};const r=n.random??n.rng?.()??Rs();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,js(r)}function On(n){const e=n.replace(/-/g,""),t=[];for(let r=0;r<e.length;r+=2)t.push(parseInt(e.substring(r,r+2),16));return t}function xs(n,e){for(let t=0;t<n.length;t++){if(n[t]<e[t])return-1;if(n[t]>e[t])return 1}return 0}function Us(n,e){return xs(On(n),On(e))}function $(){return Ds()}function Ls(n,e){return n.localeCompare(e)}function Fs(){let n=Ls;if(typeof Intl=="object"&&Intl.hasOwnProperty("Collator"))try{n=Intl.Collator("en-US").compare}catch{}return n}const Ns=Fs();let Cn=!0;const Ks=n=>{Cn=n};let qs=0;function xe(n){return Be(`_${n}`,qs++)}function Be(n,e){return`?${n}-${e}`}class ve extends Error{constructor(e){super(e),this.name="AttrNotFoundError"}}function zs(n,e){const t=vn(n,e);if(!t)throw new ve(`Could not find id attr for ${e}`);return t}function En(n,e,t,r){return[Ws(n,e,t,r)]}function Ws(n,e,t,r){return[n(t,r),zs(e,t).id,n(t,r),n("time",r)]}function Vs(n,e,t){return n.map(r=>r===e?t:r)}function Mn(n,e,t,r,s){const i=U(e,t,s),o=ge(e,t,s),a=i||o;if(!a)throw new ve(`Could not find attr for ${[t,s]}`);if(a["value-type"]!=="ref")throw new Error(`Attr ${a.id} is not a ref`);const[c,u]=a["forward-identity"],[l,f]=a["reverse-identity"],d=r+1,h=i?[n(u,r),a.id,n(f,d),xe("time")]:[n(u,d),a.id,n(f,r),xe("time")];return[i?f:u,d,h,a,!!i]}function Pn(n,e){if(typeof e!="string")return function(o){return!1};const r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,"."),s=new RegExp(`^${r}$`,n?void 0:"i");return function(o){return typeof o!="string"?!1:s.test(o)}}function Qs(n,e){if(typeof e!="object"||e.hasOwnProperty("$in")||e.hasOwnProperty("in"))return e;const t=n["checked-data-type"]==="date";if(e.hasOwnProperty("$gt"))return{$comparator:!0,$op:t?function(s){return new Date(s[2])>new Date(e.$gt)}:function(s){return s[2]>e.$gt}};if(e.hasOwnProperty("$gte"))return{$comparator:!0,$op:t?function(s){return new Date(s[2])>=new Date(e.$gte)}:function(s){return s[2]>=e.$gte}};if(e.hasOwnProperty("$lt"))return{$comparator:!0,$op:t?function(s){return new Date(s[2])<new Date(e.$lt)}:function(s){return s[2]<e.$lt}};if(e.hasOwnProperty("$lte"))return{$comparator:!0,$op:t?function(s){return new Date(s[2])<=new Date(e.$lte)}:function(s){return s[2]<=e.$lte}};if(e.hasOwnProperty("$like")){const r=Pn(!0,e.$like);return{$comparator:!0,$op:function(i){return r(i[2])}}}if(e.hasOwnProperty("$ilike")){const r=Pn(!1,e.$ilike);return{$comparator:!0,$op:function(i){return r(i[2])}}}return e}function Bs(n,e,t,r,s,i){const o=U(e,t,s),a=ge(e,t,s),c=o||a;if(!c)throw new ve(`No attr for etype = ${t} label = ${s}`);if(i?.hasOwnProperty("$isNull")){const u=U(e,t,"id");if(!u)throw new ve(`No attr for etype = ${t} label = id`);return[n(t,r),u.id,{$isNull:{attrId:c.id,isNull:i.$isNull,reverse:!o}},xe("time")]}return o?[n(t,r),c.id,Qs(c,i),xe("time")]:[i,c.id,n(t,r),xe("time")]}function Gs(n,e,t,r,s){const[i,o,a]=s.reduce((c,u)=>{const[l,f,d]=c,[h,p,m]=Mn(n,e,l,f,u);return[h,p,[...d,m]]},[t,r,[]]);return[i,o,a]}function At(n,e,t,r,s,i){const o=s.slice(0,s.length-1),a=s[s.length-1],[c,u,l]=Gs(n,e,t,r,o),f=Bs(n,e,c,u,a,i);return l.concat([f])}function Hs(n,e){return e?[e].concat(n):n}function Js([n,e]){return n==="or"&&Array.isArray(e)}function Ys([n,e]){return n==="and"&&Array.isArray(e)}function Zs(n,e,t){return(r,s)=>{const i=n(r,s);return e==i?i:`${i}-${t}`}}function jn(n,e,t,r,s,i){const o=n(r,s),a=i.map((c,u)=>{const l=Zs(n,o,u);return Rn(l,t,r,s,c)});return{[e]:{patterns:a,joinSym:o}}}function Xs(n){const e=[];for(let t=1;t<=n.length;t++)e.push(n.slice(0,t));return e}function $n(n,e,t,r,s){return Xs(s).map(i=>At(n,e,t,r,i,{$isNull:!0}))}function Rn(n,e,t,r,s){return Object.entries(s).flatMap(([i,o])=>{if(Js([i,o]))return jn(n,"or",e,t,r,o);if(Ys([i,o]))return jn(n,"and",e,t,r,o);if(i==="$entityIdStartsWith")return[];const a=i.split(".");if(o?.hasOwnProperty("$ne")&&(o={...o,$not:o.$ne},delete o.$ne),o?.hasOwnProperty("$not")){const c=At(n,e,t,r,a,o),u=$n(n,e,t,r,a);return[{or:{patterns:[c,...u],joinSym:n(t,r)}}]}return o?.hasOwnProperty("$isNull")&&o.$isNull===!0&&a.length>1?[{or:{patterns:$n(n,e,t,r,a),joinSym:n(t,r)}}]:At(n,e,t,r,a,o)})}function ei(n,e,t,r){const s=Be;return r?Rn(s,n,e,t,r).concat(En(s,n,e,t)):En(s,n,e,t)}function ti(n,e,t){return[n(e,t),n("time",t)]}function ni(n,e,t,r,s,i){const[o,a,c,u,l]=Mn(n,e,t,r,s),f=Vs(c,n(t,r),i);return[o,a,f,u,l]}function ri(n,e,t,{etype:r,level:s,form:i},o){const a=Object.keys(i).filter(c=>c!=="$");return a.length?Object.entries(o).map(function([u,l]){return a.map(function(h){const p=!!(e.cardinalityInference&&t.linkIndex?.[r]?.[h]?.isSingular);try{const[m,b,y]=ni(n,t,r,s,h,u),g=Un(e,t,{etype:m,level:b,form:i[h],join:y}),k=p?g[0]:g;return{[h]:k}}catch(m){if(m instanceof ve)return{[h]:p?void 0:[]};throw m}}).reduce(function(h,p){return{...h,...p}},l)}):Object.values(o)}function si(n,e,t){return t==="string"?Ns(n,e):n>e?1:-1}function Ue(n,e,t,r,s){return e===r||e==null&&r==null?Us(n,t):r==null?1:e==null?-1:si(e,r,s)}function Ge([n,e],[t,r],s){return Ue(n,e,t,r,s)}function kt(n){return n==null?n:new Date(n).getTime()}function Dn(n,e,t){const[r,s,i,o]=n;if(e["forward-identity"]?.[2]==="id")return Ge(t,[r,o],null);const[a,c]=t,u=e["checked-data-type"],l=u==="date"?kt(c):c,f=u==="date"?kt(i):i;return Ge([a,l],[r,f],u)}function ii(n,e,t,r){const s=Dn(n,e,r);return t==="desc"?s>0:s<0}function oi(n,e,t,r){const s=Dn(n,e,r);return t==="desc"?s<0:s>0}function ai(n,e){const t=e[1];return n.getAttr(t)}function ci(n,e,t){const r=Object.keys(t)[0];return U(n,e,r)}function ui(n,e,t,r){if(t)return ai(n,t);if(r)return ci(n,e,r)}function li(n,e,t){if(!Array.isArray(t.fields))return ms(n,e);const r=new Map;for(const s of t.fields){const i=U(n,e,s),o=i?.["forward-identity"]?.[2];o&&wt(i)&&r.set(o,i)}if(!r.has("id")){const s=U(n,e,"id"),i=s?.["forward-identity"]?.[2];i&&r.set(i,s)}return r}function di(n,e,{etype:t,pageInfo:r,dq:s,form:i}){const o=i?.$?.order,a=xn(i),c=fi(i);let u=Es(n,s);const l=r?.["start-cursor"],f=r?.["end-cursor"],d=ui(e,t,l,o);if(d&&d?.["forward-identity"]?.[2]!=="id"){const m=d["checked-data-type"]==="date",b=d.id;u=u.map(([y])=>{let g=n.eav.get(y)?.get(b)?.values()?.next()?.value?.[2];return m&&(g=kt(g)),[y,g]})}u.sort(c==="asc"?function(b,y){return Ge(b,y,d?.["checked-data-type"])}:function(b,y){return Ge(y,b,d?.["checked-data-type"])});let h={};const p=li(e,t,s);for(const m of u){const[b]=m;if(h[b]||!a&&l&&d&&ii(l,d,c,m)||!a&&f&&d&&oi(f,d,c,m))continue;const y=gs(n,p,b);y&&(h[b]=y)}return h}function fi(n){const e=n.$?.order;return e&&e[Object.keys(e)[0]]||"asc"}function xn(n){const e=n.$?.offset,t=n.$?.before,r=n.$?.after;return!e&&!t&&!r}function hi(n,e,{etype:t,level:r,form:s,join:i,pageInfo:o}){if(!xn(s)&&(!o||!o["start-cursor"]))return[];const a=Hs(ei(e,t,r,s.$?.where),i),c=ti(Be,t,r),u=s.$?.fields,l=di(n,e,{etype:t,pageInfo:o,form:s,dq:{where:a,find:c,fields:u}}),f=s.$?.limit||s.$?.first||s.$?.last;if(f!=null){r>0&&Cn&&console.warn("WARNING: Limits in child queries are only run client-side. Data returned from the server will not have a limit.");const d=Object.entries(l);return d.length<=f?l:Object.fromEntries(d.slice(0,f))}return l}function pi(n,e,t){try{return hi(n,e,t)}catch(r){if(r instanceof ve)return{};throw r}}function Un(n,e,t){const r=pi(n,e,t);return ri(Be,n,e,t,r)}function yi(n){const e={};for(const[t,r]of Object.entries(n))e[t]={startCursor:r["start-cursor"],endCursor:r["end-cursor"],hasNextPage:r["has-next-page?"],hasPreviousPage:r["has-previous-page?"]};return e}function It({store:n,attrsStore:e,pageInfo:t,aggregate:r},s){const o={data:Object.keys(s).reduce(function(c,u){return r?.[u]||u==="$$ruleParams"||(c[u]=Un(n,e,{etype:u,form:s[u],level:0,pageInfo:t?.[u]})),c},{})};return t&&(o.pageInfo=yi(t)),r&&(o.aggregate=r),o}function bi(){const e={__etype:1,__ops:1,create:1,update:1,link:1,unlink:1,delete:1,merge:1,ruleParams:1};return new Set(Object.keys(e))}const gi=bi();function He(n,e,t){const r={__etype:n,__ops:t};return new Proxy(r,{get:(s,i)=>{if(i==="__ops")return t;if(i==="__etype")return n;if(gi.has(i))return(o,a)=>He(n,e,[...t,a?[i,n,e,o,a]:[i,n,e,o]])}})}function Ln(n,e){return`lookup__${n}__${JSON.stringify(e)}`}function Je(n){return n.startsWith("lookup__")}function Ot(n){const[e,t,...r]=n.split("__");return[t,JSON.parse(r.join("__"))]}function mi(n){return new Proxy({__etype:n},{get(e,t){if(t==="lookup")return(s,i)=>He(n,Ot(Ln(s,i)),[]);if(t==="__etype")return n;const r=t;return Je(r)?He(n,Ot(r),[]):He(n,r,[])}})}function Ct(){return new Proxy({},{get(n,e){return mi(e)}})}const wi=Ct();function Fn(n){return n.__ops}function _i(n,e){const{attrIdMap:t,refSwapAttrIds:r}=n,s=[];for(const o of e){const a=t[o];if(a)s.push(a);else if(Array.isArray(o)&&o.length==2&&t[o[0]]){const[c,u]=o;s.push([t[c],u])}else s.push(o)}const[i]=e;if((i==="add-triple"||i==="retract-triple")&&r.has(e[2])){const o=s[1];s[1]=s[3],s[3]=o}return s}function Si(n){if(Array.isArray(n))return n;const e=Object.entries(n);if(e.length!==1)throw new Error("lookup must be an object with a single unique attr and value.");return e[0]}function Ti(n,e,t){return t.indexOf(".")!==-1&&!U(n,e,t)}function Et(n){const[e,t,...r]=n.split(".");if(r.length>0||t!=="id")throw new Error(`${n} is not a valid lookup attribute.`);return e}function vi(n,e,t){if(!Ti(n,e,t))return U(n,e,t);const r=Et(t),s=U(n,e,r)||ge(n,e,r);if(s&&s["value-type"]!=="ref")throw new Error(`${t} does not reference a valid link attribute.`);return s}function Mt(n){return typeof n=="string"&&!Je(n)?null:typeof n=="string"&&Je(n)?Ot(n):Si(n)}function J(n,e,t){const r=Mt(t);if(r===null)return t;const[s,i]=r,o=vi(n,e,s);if(!o||!o["unique?"])throw new Error(`${s} is not a unique attribute.`);return[o.id,i]}function Nn(n,e,t,r){const s=J(n,e,t);return Array.isArray(s)?[["add-triple",s,U(n,e,"id")?.id,s]].concat(r):r}function Ai({attrsStore:n},[e,t,r]){const s=Object.entries(r).flatMap(([i,o])=>{const a=Array.isArray(o)?o:[o],c=U(n,e,i),u=ge(n,e,i);return a.map(l=>c?["add-triple",J(n,e,t),c.id,J(n,c["reverse-identity"][1],l)]:["add-triple",J(n,u["forward-identity"][1],l),u?.id,J(n,e,t)])});return Nn(n,e,t,s)}function ki({attrsStore:n},[e,t,r]){const s=Object.entries(r).flatMap(([i,o])=>{const a=Array.isArray(o)?o:[o],c=U(n,e,i),u=ge(n,e,i);return a.map(l=>c?["retract-triple",J(n,e,t),c.id,J(n,c["reverse-identity"][1],l)]:["retract-triple",J(n,u["forward-identity"][1],l),u.id,J(n,e,t)])});return Nn(n,e,t,s)}function Ii(n,e,t,r){if(Array.isArray(r)){const[s,i]=r;for(const o of n||[]){const a=o?.aev.get(s);if(a){for(const[c,u,l]of H(a,2))if(l===i)return!0}}}else for(const s of n||[]){const i=s?.eav.get(r);if(i){for(const o of i.keys())if(e.getAttr(o)?.["forward-identity"][1]==t)return!0}}return!1}function Kn({stores:n,attrsStore:e},[t,r,s,i]){return i?.upsert===!1?{mode:"update"}:i?.upsert===!0?null:Ii(n,e,t,r)?{mode:"update"}:null}function Oi(n,e){const{attrsStore:t}=n,[r,s,i,o]=e,a=bt(i),c=J(t,r,s);return[["id",c]].concat(Object.entries(a)).map(([l,f])=>{const d=U(t,r,l);return d["checked-data-type"]==="date"&&n.useDateObjects&&(f=Re(f)),["add-triple",c,d.id,f,{mode:"create"}]})}function Ci(n,e){const{attrsStore:t}=n,[r,s,i,o]=e,a=bt(i),c=J(t,r,s),u=Kn(n,[r,c,i,o]);return[["id",c]].concat(Object.entries(a)).map(([f,d])=>{const h=U(t,r,f);return h["checked-data-type"]==="date"&&n.useDateObjects&&(d=Re(d)),["add-triple",c,h.id,d,...u?[u]:[]]})}function Ei({attrsStore:n},[e,t]){return[["delete-entity",J(n,e,t),e]]}function Mi(n,e){const{attrsStore:t}=n,[r,s,i,o]=e,a=bt(i),c=J(t,r,s),u=Kn(n,[r,c,i,o]),l=Object.entries(a).map(([d,h])=>{const p=U(t,r,d);return["deep-merge-triple",c,p.id,h,...u?[u]:[]]});return[["add-triple",c,U(t,r,"id").id,c,...u?[u]:[]]].concat(l)}function Pi({attrsStore:n},[e,t,r]){return[["rule-params",J(n,e,t),e,r]]}function ji(n){const[e,t,r,s,i]=n;if(!s)return n;const o={...s};return delete o.id,[e,t,r,o,...i?[i]:[]]}function $i(n,e){const[t,...r]=ji(e);switch(t){case"merge":return Mi(n,r);case"create":return Oi(n,r);case"update":return Ci(n,r);case"link":return Ai(n,r);case"unlink":return ki(n,r);case"delete":return Ei(n,r);case"ruleParams":return Pi(n,r);default:throw new Error(`unsupported action ${t}`)}}function Ri(n){switch(n){case"string":case"date":case"boolean":case"number":return n;default:return}}function Di(n,e,t){const r=n.entities[e]?.attrs?.[t];if(t==="id")return null;if(!r)throw new Error(`${e}.${t} does not exist in your schema`);const{unique:s,indexed:i}=r?.config,o=Ri(r?.valueType);return{"index?":i,"unique?":s,"checked-data-type":o}}function Ye(n,e,t,r){const s=n?Di(n,e,t):null,i=$(),a=[$(),e,t];return{id:i,"forward-identity":a,"value-type":"blob",cardinality:"one","unique?":!1,"index?":!1,isUnsynced:!0,...s||{},...r||{}}}function xi(n,e,t){return Object.values(n.links).find(i=>i.forward.on===e&&i.forward.label===t||i.reverse.on===e&&i.reverse.label===t)}function Ui(n,e,t){const r=xi(n,e,t);if(!r)throw new Error(`Couldn't find the link ${e}.${t} in