prostgles-types 4.0.307 → 4.0.310

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index_umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(Object(this||window),()=>(()=>{"use strict";var e={994(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.DATA_TYPES=t.PrimitiveArrayTypes=t.PrimitiveTypes=t.PrimitiveTypesObj=void 0;const i=n(472);t.PrimitiveTypesObj={boolean:1,number:1,integer:1,string:1,Date:1,time:1,timestamp:1,Uint8Array:1,Blob:1,FileLike:1,any:1,unknown:1},t.PrimitiveTypes=(0,i.getKeys)(t.PrimitiveTypesObj),t.PrimitiveArrayTypes=t.PrimitiveTypes.map(e=>`${e}[]`),t.DATA_TYPES=[...t.PrimitiveTypes,...t.PrimitiveArrayTypes]},897(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.assertJSONBObjectAgainstSchema=t.validateJSONBObjectAgainstSchema=t.getJSONBSchemaValidationErrorAsync=t.getJSONBSchemaValidationError=t.getJSONBObjectSchemaValidationError=t.getFieldTypeObj=void 0;const i=n(472),r=n(441),o=n(704),s=e=>null==e||["number","string","boolean"].includes(typeof e),a=e=>{if(!(0,i.isObject)(e))return!1;const t=(0,o.safeGetKeys)(e);return!!t.length&&t.every(t=>s((0,o.safeGetProperty)(e,t)))};t.getFieldTypeObj=e=>"string"==typeof e?{type:e}:e;const l=e=>e instanceof Blob||"undefined"!=typeof Buffer&&e instanceof Buffer||"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer,c={string:e=>"string"==typeof e,number:e=>"number"==typeof e&&Number.isFinite(e),integer:e=>"number"==typeof e&&Number.isInteger(e),boolean:e=>"boolean"==typeof e,time:e=>"string"==typeof e,timestamp:e=>"string"==typeof e,any:e=>"function"!=typeof e&&"symbol"!=typeof e,unknown:e=>"function"!=typeof e&&"symbol"!=typeof e,Date:e=>"string"==typeof e,Uint8Array:l,Blob:l,FileLike:(e,t)=>{if("FileLike"!==t.type)throw new Error("FileLike type must have type 'FileLike'");const n=(0,i.isObject)(e)&&"string"==typeof e.name&&"string"==typeof e.type&&l(e.data);if(n&&t.mimeTypes&&!Object.keys(t.mimeTypes).some(t=>e.type===t))throw new Error(`Invalid FileLike type. Expected one of: ${Object.keys(t.mimeTypes).join(", ")}`);return n}},p=(0,i.getKeys)(c),u=(e,n,l=[],f,m)=>{const y=`${l.join(".")} is of invalid type. Expecting ${d(n).replaceAll("\n","")}`,g=(0,t.getFieldTypeObj)(n),{type:h,allowedValues:b,nullable:v,optional:O}=g;if(v&&null===e)return;if(O&&void 0===e)return;if(b){if("string"!=typeof h)throw new Error("allowedValues is only supported for primitive types");const t=h.endsWith("[]"),n=t&&Array.isArray(e)?e:[e],r=b.map(e=>(0,i.isObject)(e)?e.value:e);for(const[e,i]of n.entries())if(!r.includes(i))return`${t?`${l.join(".")}[${e}]`:l.join(".")} is of invalid type. Expecting ${r.map(e=>"string"==typeof e?JSON.stringify(e):String(e)).join(" | ")} But got ${JSON.stringify(i)}`}if(h){if((0,i.isObject)(h)){if(!(0,i.isObject)(e))return y;for(const t of(0,o.safeGetKeys)(h)){const n=(0,o.safeGetProperty)(h,t);if(!((0,i.isObject)(n)&&n.optional||(0,o.safeHasOwn)(e,t)))return`${[...l,t].join(".")} is missing but required`;const r=u((0,o.safeGetProperty)(e,t),n,[...l,t],f,m);if(void 0!==r)return r}if(!f?.allowExtraProperties){const t=(0,o.safeGetKeys)(e),n=(0,o.safeGetKeys)(h),i=t.filter(e=>!n.includes(e));if(i.length)return`${l.join(".")} has extra properties: ${i.join(", ")}`}return}if(h.includes("Lookup")){if(!m)throw new Error("Lookup types are not supported for validation");const t=h.endsWith("[]");if(t!==Array.isArray(e))return y;const n=h.replace("[]","");return(t?e:[e]).every(e=>"RowLookup"===n?a(e):"ValueLookup"===n?s(e):"TableLookup"===n?"string"==typeof e:(0,i.isObject)(e)&&"string"==typeof(0,o.safeGetProperty)(e,"table")&&"string"==typeof(0,o.safeGetProperty)(e,"column")&&(0,o.safeGetKeys)(e).every(e=>"table"===e||"column"===e))?void m.push({schema:g,value:e,path:l}):y}const{validator:t}=((e,t)=>{const n=(e=>{if("string"==typeof e&&e.endsWith("[]")){const t=e.slice(0,-2);if(!(0,r.includes)(p,t))throw new Error(`Invalid array field type ${e}`);return t}})(e);if(n){const e=c[n];return{isArray:!0,validator:n=>Array.isArray(n)&&n.every(n=>e(n,t))}}const i=c[e];if(!i)throw new Error(`Unknown field type ${e}`);return{isArray:!1,validator:i}})(h,g);return t(e,g)?void 0:y}if(g.tuple){const t=g.tuple;if(!Array.isArray(e))return y+`[${t.map(e=>d(e)).join(", ")}]`;if(e.length!==t.length)return`${l.length?l.join("."):"value"} is of invalid tuple length. Expecting ${t.length} elements but got ${e.length}`;for(let n=0;n<t.length;n++){const i=u(e[n],t[n],[...l,`${n}`],f,m);if(void 0!==i)return i}return}if(g.enum){const t=[];return g.nullable&&t.push(null),g.optional&&t.push(void 0),g.enum.includes(e)?void 0:y}const _=g.arrayOf??(g.arrayOfType?{type:g.arrayOfType}:void 0);if(_){if(!Array.isArray(e))return y+" an array";const t=e.map((e,t)=>u(e,_,[...l,`${t}`],f,m)).filter(i.isDefined)[0];return void 0!==t?`${y}. Error at index ${l.length>0?l.join(".")+".":""}\n\n${t}`:void 0}const S=g.oneOf??g.oneOfType?.map(e=>({type:e}));if(S){if(!S.length)return y+"to not be empty";let t;if(S.find(n=>{const i=m?.length,r=u(e,n,l,f,m);return void 0!==r&&void 0!==i&&(m.length=i),t??(t=r),void 0===r}))return;return y}if(g.record){const{keysEnum:t,partial:n,values:r}=g.record;if(!(0,i.isObject)(e))return y+"object";if(n&&(0,i.isEmpty)(e))return;const s=(0,i.getKeys)(e),a=n?void 0:t?.find(e=>!s.includes(e));if(void 0!==a)return`${y} to have key ${a}`;const c=t&&s.filter(e=>!t.includes(e));if(c?.length)return`${y} has extra keys: ${c}`;if(r)for(const t of(0,o.safeGetKeys)(e)){const n=(0,o.safeGetProperty)(e,t),i=u(n,r,[...l,t],f,m);if(void 0!==i)return`${i}`}return}return`Could not validate field type. Some logic might be missing: ${JSON.stringify(g)}`},d=e=>{const n=(0,t.getFieldTypeObj)(e),{type:r,nullable:o,optional:s,record:a}=n,l=n.oneOf??n.oneOfType?.map(e=>({type:e})),c=[];if(o&&c.push("null"),s&&c.push("undefined"),"string"==typeof r)c.push(r);else if(r&&(0,i.isObject)(r)){const e=[];Object.entries(r).forEach(([t,n])=>{e.push(`${t}: ${d(n)}`)}),c.push(`{ ${e.join("; ")} }`)}if(n.enum?.forEach(e=>{null===e?c.push("null"):void 0===e?c.push("undefined"):"string"==typeof e?c.push(JSON.stringify(e)):c.push(e)}),l?.forEach(e=>{const t=d(e);c.push(t)}),a){const{keysEnum:e,partial:t,values:n}=a,i=t?"?":"",r=n?d(n):"any";e?c.push(`{ [${e.join(" | ")}]${i}: ${r} }`):c.push(`{ [key: string]${i}: ${r} }`)}return c.join(" | ")};t.getJSONBObjectSchemaValidationError=(e,t,n="input",r=!1,o)=>{if(void 0===t&&!r)return{error:`Expecting ${n} to be defined`};if(!(0,i.isObject)(t))return{error:`Expecting ${n} to be an object`};const s=u(t,{type:e},[],o);return s?{error:s}:{data:t}},t.getJSONBSchemaValidationError=(e,t,n)=>{const i=u(t,e,void 0,n);return i?{error:i}:{data:t}};const f=(e,t)=>[...e,...void 0===t?[]:[String(t)]].join(".")||"value",m=async(e,t)=>{const{schema:n,path:i}=e,r=n.type.endsWith("[]"),o=r?e.value:[e.value];for(const[e,l]of o.entries()){const o=f(i,r?e:void 0);if("TableLookup"===n.type||"TableLookup[]"===n.type){if(!t.has(l))return`${o} references an unknown table ${JSON.stringify(l)}`;continue}if("ColumnLookup"===n.type||"ColumnLookup[]"===n.type){const e=l;if(n.filter?.table&&e.table!==n.filter.table)return`${o} references a column that does not match the lookup filter`;const i=t.get(e.table);if(!i)return`${o} references an unknown table ${JSON.stringify(e.table)}`;if("function"!=typeof i.getColumns)throw new Error(`Cannot validate ColumnLookup: table ${JSON.stringify(e.table)} does not expose getColumns`);const r=(await i.getColumns()).find(({name:t})=>t===e.column);if(!r||n.filter?.tsDataType&&r.tsDataType!==n.filter.tsDataType||n.filter?.udt_name&&r.udt_name!==n.filter.udt_name)return`${o} references an unknown or disallowed column ${JSON.stringify(`${e.table}.${e.column}`)}`;continue}const c=n,p=t.get(c.table);if(!p)throw new Error(`Cannot validate ${c.type}: table ${JSON.stringify(c.table)} does not expose findOne`);const u="RowLookup"===c.type||"RowLookup[]"===c.type;if(u&&!a(l)||!u&&!s(l))return`${o} contains a non-primitive lookup value`;const d=u?l:{[c.column]:l},m=c.filter?{$and:[c.filter,d]}:d;if(!await(p?.findOne?.(m)))return`${o} does not reference an existing row in ${JSON.stringify(c.table)}`}};t.getJSONBSchemaValidationErrorAsync=async(e,t,n,i)=>{const r=[],o=u(t,e,void 0,i,r);if(o)return{error:o};for(const e of r){const t=await m(e,n);if(t)return{error:t}}return{data:t}},t.validateJSONBObjectAgainstSchema=(e,n,i,r=!1)=>{const{error:o}=(0,t.getJSONBObjectSchemaValidationError)(e,n,i,r);return void 0===o},t.assertJSONBObjectAgainstSchema=(e,n,i,r=!1)=>{const{error:o}=(0,t.getJSONBObjectSchemaValidationError)(e,n,i,r);if(o)throw new Error(o)}},699(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.getJSONSchemaObject=void 0,t.getJSONBSchemaAsJSONSchema=function(e,n,i){return(0,t.getJSONSchemaObject)(i,{id:`${e}.${n}`})};const i=n(472),r=n(704),o=e=>{if(!e)return;const t=e.endsWith("[]")?e.slice(0,-2):e;return{type:"integer"===t?"integer":"boolean"===t?"boolean":"number"===t?"number":"any"===t||"unknown"===t||t.endsWith("Lookup")||"Uint8Array"===t||"Blob"===t||"FileLike"===t?void 0:"string",isArray:e.endsWith("[]")}};t.getJSONSchemaObject=(e,n)=>{const{type:s,arrayOf:a,arrayOfType:l,description:c,nullable:p,oneOf:u,oneOfType:d,title:f,record:m,tuple:y,...g}="string"==typeof e?{type:e}:e;let h={};const b={...(g.enum||g.allowedValues?.length&&("string"!=typeof s||!s.endsWith("[]")))&&{enum:g.allowedValues?.slice(0)??g.enum.slice(0)},...!!c&&{description:c},...!!f&&{title:f}};if(g.enum?.length){const e=typeof g.enum[0];b.type="number"===e?"number":"boolean"===e?"boolean":"string"}if("string"==typeof s||a||l){if(s&&"string"!=typeof s)throw"Not expected";h=a||l||s?.endsWith("[]")?{type:"array",items:a||l?(0,t.getJSONSchemaObject)(a||{type:l}):s?.startsWith("any")?{type:void 0}:{type:o(s)?.type,...g.allowedValues&&{enum:g.allowedValues.slice(0)}}}:{type:o(s)?.type}}else if((0,i.isObject)(s))h={type:"object",required:(0,r.safeGetKeys)(s).filter(e=>{const t=s[e];return"string"==typeof t||!t.optional}),properties:(0,i.getObjectEntries)(s).reduce((e,[n,i])=>({...e,[n]:(0,t.getJSONSchemaObject)(i)}),{})};else if(y)h={type:"array",items:y.map(e=>(0,t.getJSONSchemaObject)(e)),additionalItems:!1,minItems:y.length,maxItems:y.length};else if(u||d){const e=u||d.map(e=>({type:e}));h={oneOf:e.map(e=>(0,t.getJSONSchemaObject)(e))}}else m&&(h={type:"object",...m.values&&!m.keysEnum&&{additionalProperties:(0,t.getJSONSchemaObject)(m.values)},...m.keysEnum&&{properties:m.keysEnum.reduce((e,n)=>({...e,[n]:m.values?(0,t.getJSONSchemaObject)(m.values):{type:{}}}),{})}});if(p){const e={type:"null"};h.oneOf?h.oneOf.push(e):h.enum&&!h.enum.includes(null)?h.enum.push(null):h={oneOf:[h,e]}}return{...n?{$id:n?.id,$schema:"https://json-schema.org/draft/2020-12/schema"}:void 0,...b,...h}}},394(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.getJSONBTSTypes=void 0,t.getJSONBSchemaTSTypes=function(e,n,i="",r){return(0,t.getJSONBTSTypes)(r,{...e,nullable:n.nullable},void 0,i)};const i=n(806),r=n(897),o=e=>null===e?"null":void 0===e?"undefined":"string"==typeof e?JSON.stringify(e):String(e);t.getJSONBTSTypes=(e,n,a=!1,l="",c=0)=>{const p=(0,r.getFieldTypeObj)(n),u=p.nullable?"null | ":"";if("string"==typeof p.type&&p.type.includes("Lookup"))return((e,t)=>{const n=t.nullable?"null | ":"",r=t.type.endsWith("[]")?"[]":"";if("TableLookup"===t.type||"TableLookup[]"===t.type)return`${n}string${r}`;if("ColumnLookup"===t.type||"ColumnLookup[]"===t.type)return`${n}{ "table": string; "column": string; }${r}`;const o=t,s=e.find(e=>e.name===o.table)?.columns;if("ValueLookup"===t.type||"ValueLookup[]"===t.type){const e=t,o=s?.find(t=>t.name===e.column)?.udt_name;return`${n}${(0,i.postgresToTsType)(o??"text")}${r}`}return`${n}${s?`{ ${s.map(e=>`${JSON.stringify(e.name)}: ${e.is_nullable?"null | ":""} ${(0,i.postgresToTsType)(e.udt_name)}; `).join(" ")} }`:"any"}${r}`})(e,p);if("string"==typeof p.type){const e=p.type.replace("integer","number").replace("time","string").replace("timestamp","string").replace("FileLike","{ name: string; type: string; data: Blob; }").replace("Date","string");if(p.allowedValues){const e=p.type.endsWith("[]")?"[]":"";return u+` (${p.allowedValues.map(e=>JSON.stringify((0,i.isObject)(e)?e.value:e)).join(" | ")})${e}`}return u+e}if((0,i.isObject)(p.type)){const n=e=>e.trim().endsWith(";")?e:e.trim()+";",{type:o}=p,l=a?" ":" ";let d=` {${l}`+(0,i.getObjectEntries)(o).map(([i,o])=>{const a=(0,r.getFieldTypeObj)(o),p=s(i)?i:JSON.stringify(i);return`${l}${p}${a.optional?"?":""}: `+n((0,t.getJSONBTSTypes)(e,a,!0,void 0,c+1))}).join(" ")+`${l}}`;return a||(d=n(d)),a&&(d=d.split("\n").join("")),u+d}if(p.enum)return u+p.enum.map(e=>o(e)).join(" | ");if(p.tuple)return`${u}[${p.tuple.map(n=>(0,t.getJSONBTSTypes)(e,n,!0,void 0,c+1)).join(", ")}]`;if(p.oneOf||p.oneOfType){const n=p.oneOf||p.oneOfType.map(e=>({type:e}));return(p.nullable?`\n${l} | null`:"")+n.map(n=>`\n${l} | `+(0,t.getJSONBTSTypes)(e,n,!0,void 0,c+1)).join("")}if(p.arrayOf||p.arrayOfType){const n=p.arrayOf||{type:p.arrayOfType};return`${p.nullable?"null | ":""} ( ${(0,t.getJSONBTSTypes)(e,n,!0,void 0,c+1)} )[]`}if(p.record){const{keysEnum:n,values:i,partial:r}=p.record,s=e=>r?`Partial<Record<${e}>>`:`Record<${e}>`;return`${p.nullable?"null |":""} ${s(`${n?.map(e=>o(e)).join(" | ")??"string"}, ${i?(0,t.getJSONBTSTypes)(e,i,!0,void 0,c+1):"any"}`)}`}throw"Unexpected getSchemaTSTypes: "+JSON.stringify({fieldType:p},null,2)};const s=e=>/^[A-Za-z$_][A-Za-z0-9$_]*$/.test(e)},704(e,t){t.safeGetKeys=t.safeGetProperty=t.safeHasOwn=void 0;const n=["__proto__","constructor","prototype"];t.safeHasOwn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t.safeGetProperty=(e,t)=>{if(n.includes(t)){const n=Object.getOwnPropertyDescriptor(e,t);return n?.value}return e[t]},t.safeGetKeys=e=>{const i=Object.keys(e);for(const r of n)(0,t.safeHasOwn)(e,r)&&!i.includes(r)&&i.push(r);return i}},502(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.WAL=void 0;const i=n(806);t.WAL=class{constructor(e){if(this.changed={},this.sending={},this.sentHistory={},this.callbacks=[],this.sort=(e,t)=>{const{orderBy:n}=this.options;return n&&e&&t&&n.map(n=>{if(!(n.fieldName in e)||!(n.fieldName in t))throw"Replication error: \n some orderBy fields missing from data";let i=n.asc?e[n.fieldName]:t[n.fieldName],r=n.asc?t[n.fieldName]:e[n.fieldName],o=+i-+r,s=i<r?-1:i==r?0:1;return"number"===n.tsDataType&&Number.isFinite(o)?o:s}).find(e=>e)||0},this.isInHistory=e=>{if(!e)throw"Provide item";const t=e[this.options.synced_field];if(!Number.isFinite(+t))throw"Provided item Synced field value is missing/invalid ";const n=this.sentHistory[this.getIdStr(e)],i=n?.[this.options.synced_field];if(n){if(!Number.isFinite(+i))throw"Provided historic item Synced field value is missing/invalid";if(+i===+t)return!0}return!1},this.addData=e=>((0,i.isEmpty)(this.changed)&&this.options.onSendStart&&this.options.onSendStart(),e.forEach(e=>{var t;const{initial:n,current:i,delta:r}={...e};if(!i)throw"Expecting { current: object, initial?: object }";const o=this.getIdStr(i);this.changed??(this.changed={}),(t=this.changed)[o]??(t[o]={initial:n,current:i,delta:r}),this.changed[o].current={...this.changed[o].current,...i},this.changed[o].delta={...this.changed[o].delta,...r}}),this.sendItems()),this.getPendingItems=()=>[...Object.values(this.sending),...Object.values(this.changed)],this.isOnSending=!1,this.isSendingTimeout=void 0,this.willDeleteHistory=void 0,this.sendItems=async()=>{const{DEBUG_MODE:e,onSend:t,onSendEnd:n,batch_size:r,throttle:o,historyAgeSeconds:s=2}=this.options;if(this.isSendingTimeout||this.sending&&!(0,i.isEmpty)(this.sending))return;if(!this.changed||(0,i.isEmpty)(this.changed))return;let a,l=[],c=[],p={};Object.keys(this.changed).sort((e,t)=>this.sort(this.changed[e].current,this.changed[t].current)).slice(0,r).map(e=>{let t={...this.changed[e]};this.sending[e]={...t},c.push({...t}),p[e]={...t.current},delete this.changed[e]}),l=c.map(e=>{let t={};return Object.keys(e.current).map(n=>{const r=e.initial?.[n],o=e.current[n];![this.options.synced_field,...this.options.id_fields].includes(n)&&(0,i.isEqual)(r,o)||(t[n]=o)}),t}),e&&console.log(this.options.id," SENDING lr->",l[l.length-1]),this.isSendingTimeout||(this.isSendingTimeout=setTimeout(()=>{this.isSendingTimeout=void 0,(0,i.isEmpty)(this.changed)||this.sendItems()},o)),this.isOnSending=!0;try{await t(l,c),s&&(this.sentHistory={...this.sentHistory,...p},this.willDeleteHistory||(this.willDeleteHistory=setTimeout(()=>{this.willDeleteHistory=void 0,this.sentHistory={}},1e3*s)))}catch(e){a=e,console.error("WAL onSend failed:",e,l,c)}if(this.isOnSending=!1,this.callbacks.length){const e=Object.keys(this.sending);this.callbacks.forEach((t,n)=>{t.idStrs=t.idStrs.filter(t=>e.includes(t)),t.idStrs.length||t.cb(a)}),this.callbacks=this.callbacks.filter(e=>e.idStrs.length)}this.sending={},e&&console.log(this.options.id," SENT lr->",l[l.length-1]),(0,i.isEmpty)(this.changed)?n&&n(l,c,a):this.sendItems()},this.options={...e},!this.options.orderBy){const{synced_field:t,id_fields:n}=e;this.options.orderBy=[t,...n.sort()].map(e=>({fieldName:e,tsDataType:e===t?"number":"string",asc:!0}))}}isSending(){const e=this.isOnSending||!((0,i.isEmpty)(this.sending)&&(0,i.isEmpty)(this.changed));return this.options.DEBUG_MODE&&console.log(this.options.id," CHECKING isSending ->",e),e}getIdStr(e){return this.options.id_fields.sort().map(t=>String(e[t])).join(".")}getIdObj(e){let t={};return this.options.id_fields.sort().map(n=>{t[n]=e[n]}),t}getDeltaObj(e){let t={};return Object.keys(e).map(n=>{this.options.id_fields.includes(n)||(t[n]=e[n])}),t}}},618(e,t){Object.defineProperty(t,"__esModule",{value:!0})},521(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.CONTENT_TYPE_TO_EXT=void 0,t.CONTENT_TYPE_TO_EXT={"text/html":["html","htm","shtml"],"text/css":["css"],"text/csv":["csv"],"text/tsv":["tsv"],"text/tab-separated-values":["tsv"],"text/xml":["xml"],"text/mathml":["mml"],"text/plain":["txt","text","log"],"text/markdown":["md","markdown","qmd","rmd"],"text/x-markdown":["md","markdown"],"text/asciidoc":["adoc","asciidoc","asc"],"text/x-asciidoc":["adoc","asciidoc","asc"],"text/x-tex":["tex"],"text/x-latex":["tex","latex"],"text/rtf":["rtf"],"text/vtt":["vtt"],"text/calendar":["ics","ifb"],"text/vcard":["vcf","vcard"],"text/javascript":["js","mjs","cjs"],"text/yaml":["yaml","yml"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/x-component":["htc"],"image/gif":["gif"],"image/jpeg":["jpeg","jpg"],"image/png":["png"],"image/tiff":["tif","tiff"],"image/bmp":["bmp"],"image/avif":["avif"],"image/heic":["heic"],"image/heif":["heif"],"image/vnd.wap.wbmp":["wbmp"],"image/x-icon":["ico"],"image/vnd.microsoft.icon":["ico"],"image/x-jng":["jng"],"image/x-ms-bmp":["bmp"],"image/svg+xml":["svg"],"image/webp":["webp"],"application/sql":["sql"],"application/json":["json"],"application/xml":["xml","xsl","xsd","nxml","xbrl","dclg"],"application/yaml":["yaml","yml"],"application/geo+json":["geojson"],"application/javascript":["js","mjs","cjs"],"application/x-javascript":["js"],"application/atom+xml":["atom"],"application/rss+xml":["rss"],"application/java-archive":["jar","war","ear"],"application/mac-binhex40":["hqx"],"application/msword":["doc","docx","dot"],"application/x-msword":["doc","dot"],"application/pdf":["pdf"],"application/postscript":["ps","eps","ai"],"application/rtf":["rtf"],"application/x-rtf":["rtf"],"application/epub+zip":["epub"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.keynote":["key"],"application/x-iwork-pages-sffpages":["pages"],"application/x-iwork-numbers-sffnumbers":["numbers"],"application/x-iwork-keynote-sffkey":["key"],"application/vnd.box.boxnote":["boxnote"],"application/vnd.ibm.modcap":["afp"],"application/x-afp":["afp"],"application/x-ebcdic":["ebc","ebcdic"],"application/vnd.ms-excel":["xls","xlsx","xlt"],"application/x-msexcel":["xls","xlt"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-powerpoint":["ppt","pptx","pot","pps"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-outlook":["msg"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/x-7z-compressed":["7z"],"application/gzip":["gz","tgz"],"application/x-tar":["tar"],"application/x-bzip2":["bz2","tbz2"],"application/x-xz":["xz"],"application/zstd":["zst"],"application/vnd.rar":["rar"],"application/x-cocoa":["cco"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-makeself":["run"],"application/x-perl":["pl","pm"],"application/x-pilot":["prc","pdb"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-sea":["sea"],"application/x-shockwave-flash":["swf"],"application/x-stuffit":["sit"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-latex":["latex"],"application/x-mimearchive":["mhtml","mht"],"application/x-x509-ca-cert":["der","pem","crt"],"application/x-xpinstall":["xpi"],"application/xhtml+xml":["xhtml"],"application/zip":["zip","dclx"],"application/octet-stream":["bin","exe","dll","deb","dmg","eot","iso","img","msi","msp","msm"],"audio/midi":["mid","midi","kar"],"audio/mpeg":["mp3"],"audio/mp3":["mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/m4a":["m4a"],"audio/x-m4a":["m4a"],"audio/aac":["aac","adts"],"audio/wav":["wav"],"audio/x-wav":["wav"],"audio/vnd.wave":["wav"],"audio/flac":["flac"],"audio/x-flac":["flac"],"audio/ogg":["ogg","oga","opus","spx"],"audio/webm":["weba"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-realaudio":["ra"],"video/3gpp":["3gpp","3gp"],"video/mpeg":["mpeg","mpg"],"video/quicktime":["mov"],"video/x-flv":["flv"],"video/x-mng":["mng"],"video/x-ms-asf":["asx","asf"],"video/x-ms-wmv":["wmv"],"video/x-msvideo":["avi"],"video/avi":["avi"],"video/x-matroska":["mkv"],"video/mp4":["m4v","mp4"],"video/webm":["webm"],"video/ogg":["ogv"],"message/rfc822":["eml","mime","mht","mhtml"],"multipart/related":["mhtml","mht"]}},209(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.COMPLEX_FILTER_KEY=t.ComplexFilterComparisonKeys=t.EXISTS_KEYS=t.GeomFilter_Funcs=t.GeomFilterKeys=t.ArrayFilterOperands=t.TextFilter_FullTextSearchFilterKeys=t.TextFilterFTSKeys=t.TextFilterKeys=t.JsonbFilterKeys=t.JsonbOperands=t.BetweenFilterKeys=t.CompareInFilterKeys=t.CompareFilterKeys=void 0;const i=n(472);t.CompareFilterKeys=["=","<>",">","<",">=","<=","$eq","$ne","$gt","$gte","$lt","$lte","$isDistinctFrom","$isNotDistinctFrom"],t.CompareInFilterKeys=["$in","$nin"],t.BetweenFilterKeys=["$between","$notBetween"],t.JsonbOperands={"@>":{Operator:"@>","Right Operand Type":"jsonb",Description:"Does the left JSON value contain the right JSON path/value entries at the top level?",Example:'\'{"a":1, "b":2}\'::jsonb @> \'{"b":2}\'::jsonb'},"<@":{Operator:"<@","Right Operand Type":"jsonb",Description:"Are the left JSON path/value entries contained at the top level within the right JSON value?",Example:'\'{"b":2}\'::jsonb <@ \'{"a":1, "b":2}\'::jsonb'},"?":{Operator:"?","Right Operand Type":"text",Description:"Does the string exist as a top-level key within the JSON value?",Example:"'{\"a\":1, \"b\":2}'::jsonb ? 'b'"},"?|":{Operator:"?|","Right Operand Type":"text[]",Description:"Do any of these array strings exist as top-level keys?",Example:"'{\"a\":1, \"b\":2, \"c\":3}'::jsonb ?| array['b', 'c']"},"?&":{Operator:"?&","Right Operand Type":"text[]",Description:"Do all of these array strings exist as top-level keys?",Example:"'[\"a\", \"b\"]'::jsonb ?& array['a', 'b']"},"||":{Operator:"||","Right Operand Type":"jsonb",Description:"Concatenate two jsonb values into a new jsonb value",Example:'\'["a", "b"]\'::jsonb || \'["c", "d"]\'::jsonb'},"-":{Operator:"-","Right Operand Type":"integer",Description:"Delete the array element with specified index (Negative integers count from the end). Throws an error if top level container is not an array.",Example:'\'["a", "b"]\'::jsonb - 1'},"#-":{Operator:"#-","Right Operand Type":"text[]",Description:"Delete the field or element with specified path (for JSON arrays, negative integers count from the end)",Example:"'[\"a\", {\"b\":1}]'::jsonb #- '{1,b}'"},"@?":{Operator:"@?","Right Operand Type":"jsonpath",Description:"Does JSON path return any item for the specified JSON value?",Example:"'{\"a\":[1,2,3,4,5]}'::jsonb @? '$.a[*] ? (@ > 2)'"},"@@":{Operator:"@@","Right Operand Type":"jsonpath",Description:"Returns the result of JSON path predicate check for the specified JSON value. Only the first item of the result is taken into account. If the result is not Boolean, then null is returned.",Example:"'{\"a\":[1,2,3,4,5]}'::jsonb @@ '$.a[*] > 2'"}},t.JsonbFilterKeys=(0,i.getKeys)(t.JsonbOperands),t.TextFilterKeys=["$ilike","$like","$nilike","$nlike"],t.TextFilterFTSKeys=["@@","@>","<@","$contains","$containedBy"],t.TextFilter_FullTextSearchFilterKeys=["to_tsquery","plainto_tsquery","phraseto_tsquery","websearch_to_tsquery"],t.ArrayFilterOperands=["@>","<@","=","$eq","$contains","$containedBy","&&","$overlaps"],t.GeomFilterKeys=["~","~=","@","|&>","|>>",">>","=","<<|","<<","&>","&<|","&<","&&&","&&"],t.GeomFilter_Funcs=["ST_MakeEnvelope","st_makeenvelope","ST_MakePolygon","st_makepolygon"],t.EXISTS_KEYS=["$exists","$notExists","$existsJoined","$notExistsJoined"],t.ComplexFilterComparisonKeys=[...t.TextFilterKeys,...t.JsonbFilterKeys,...t.CompareFilterKeys,...t.BetweenFilterKeys,...t.CompareInFilterKeys],t.COMPLEX_FILTER_KEY="$filter"},391(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getActionFunctions=void 0,t.getActionFunctions=(e,t)=>Object.entries(e).flatMap(([e,n])=>Object.entries(n.input??{}).flatMap(([n,i])=>"string"==typeof i||"RowLookup"!==i.type&&"ValueLookup"!==i.type||i.table!==t.name||"ValueLookup"===i.type&&!t.columns.some(e=>e.name===i.column&&e.select)?[]:[{methodName:e,argName:n,lookup:i}]))},806(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,r)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ABORTABLE_METHODS=t.CONTENT_TYPE_TO_EXT=t.getPossibleNestedInsert=t.SQL_COMMAND_TABLE_METHODS=t.CHANNELS=t.CHANNEL_PREFIX=t.ROW_ACTIONS_COLUMN=t.JOIN_PARAMS=t.JOIN_KEYS=t.getAllowedTableMethods=t.postgresToTsType=t.TS_PG_Types=t._PG_bytes=t._PG_geometric=t._PG_postgis=t._PG_interval=t._PG_date=t._PG_bool=t._PG_json=t._PG_numbers=t._PG_numbers_str=t._PG_numbers_num=t._PG_strings=void 0;const o=n(472),s=n(441);t._PG_strings=["bpchar","char","varchar","text","citext","uuid","time","timetz","interval","name","cidr","inet","macaddr","macaddr8","int4range","int8range","numrange","tsvector"],t._PG_numbers_num=["int2","int4","float4","float8","oid"],t._PG_numbers_str=["int8","numeric","money"],t._PG_numbers=[...t._PG_numbers_num,...t._PG_numbers_str],t._PG_json=["json","jsonb"],t._PG_bool=["bool"],t._PG_date=["date","timestamp","timestamptz"],t._PG_interval=["interval"],t._PG_postgis=["geometry","geography"],t._PG_geometric=["point","line","lseg","box","path","polygon","circle"],t._PG_bytes=["bytea"];const a={Uint8Array:t._PG_bytes,string:[...t._PG_strings,...t._PG_numbers_str,...t._PG_date,...t._PG_geometric,...t._PG_postgis,"lseg"],number:t._PG_numbers_num,boolean:t._PG_bool,any:[...t._PG_json,...t._PG_interval]};t.TS_PG_Types={...a,"number[]":a.number.map(e=>`_${e}`),"boolean[]":a.boolean.map(e=>`_${e}`),"string[]":a.string.map(e=>`_${e}`),"any[]":a.any.map(e=>`_${e}`)},t.postgresToTsType=e=>(0,o.getKeys)(t.TS_PG_Types).find(n=>(0,s.includes)(t.TS_PG_Types[n],e))??"any",t.getAllowedTableMethods=({publishInfo:e})=>{let n=[...e.select||e.insert||e.delete||e.update?t.SQL_COMMAND_TABLE_METHODS.schema:[],...t.SQL_COMMAND_TABLE_METHODS.select.filter(t=>{if(!e.select)return!1;const n="subscribeOne"===t?"subscribe":t;return!Object.keys(e.select.disabledMethods??{}).includes(n)&&("sync"!==t||void 0!==e.select.syncConfig)}),...t.SQL_COMMAND_TABLE_METHODS.update.filter(t=>e.update&&!Object.keys(e.update.disabledMethods??{}).includes(t)),...e.insert?t.SQL_COMMAND_TABLE_METHODS.insert:[],...e.delete?t.SQL_COMMAND_TABLE_METHODS.delete:[]];const i=new Map;return Object.values(t.SQL_COMMAND_TABLE_METHODS).forEach(e=>{e.forEach(e=>{i.set(e,(i.get(e)??0)+1)})}),i.forEach((e,t)=>{n.filter(e=>e===t).length!==e&&i.delete(t)}),Array.from(i.keys())},t.JOIN_KEYS=["$innerJoin","$leftJoin"],t.JOIN_PARAMS=["select","filter","offset","limit","orderBy","having"],t.ROW_ACTIONS_COLUMN="$prostgles_actions",t.CHANNEL_PREFIX="_psqlWS_.",t.CHANNELS={SCHEMA_CHANGED:t.CHANNEL_PREFIX+"schema-changed",SCHEMA:t.CHANNEL_PREFIX+"schema",DEFAULT:t.CHANNEL_PREFIX,SQL:`${t.CHANNEL_PREFIX}sql`,SQL_STREAM:`${t.CHANNEL_PREFIX}sql-stream`,METHOD:`${t.CHANNEL_PREFIX}method`,NOTICE_EV:`${t.CHANNEL_PREFIX}notice`,LISTEN_EV:`${t.CHANNEL_PREFIX}listen`,REGISTER:`${t.CHANNEL_PREFIX}register`,LOGIN:`${t.CHANNEL_PREFIX}login`,LOGOUT:`${t.CHANNEL_PREFIX}logout`,AUTH_GUARD:`${t.CHANNEL_PREFIX}authguard`,CONNECTION:`${t.CHANNEL_PREFIX}connection`,_preffix:t.CHANNEL_PREFIX},t.SQL_COMMAND_TABLE_METHODS={schema:["getColumns","getInfo"],insert:["insert","insertMany","upsert"],update:["update","upsert","updateBatch"],select:["findOne","find","count","size","subscribe","subscribeOne","sync"],delete:["delete","remove"]},t.getPossibleNestedInsert=(e,t,n=!0)=>{const i=(e.references??[]).map(e=>{const{ftable:n,fcols:i}=e,r=t.find(e=>e.name===n);if(!r)return;const o=r.columns.filter(e=>i.includes(e.name));return o.length?{ref:e,fcolsInfo:o}:void 0}).filter(o.isDefined),[r,...s]=i??[];if(!s.length)return r?.ref;const[a,...l]=i.filter(e=>e.fcolsInfo.some(e=>e.is_pkey));if(!l.length)return a?.ref;if(!n)throw["Cannot do a nested insert on column that references multiple tables.","Expecting only one reference to a single primary key fcol"].join("\n")},r(n(618),t);var l=n(521);Object.defineProperty(t,"CONTENT_TYPE_TO_EXT",{enumerable:!0,get:function(){return l.CONTENT_TYPE_TO_EXT}}),r(n(209),t),r(n(319),t),r(n(699),t),r(n(394),t),r(n(994),t),r(n(897),t),r(n(164),t),r(n(472),t),r(n(502),t),r(n(778),t),r(n(784),t),r(n(391),t),t.ABORTABLE_METHODS=["find","findOne","count","size"]},319(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.leftJoin=t.innerJoin=t.parsedJoinPathSchema=t.defineJoin=void 0;const i=n(472);t.defineJoin=e=>e,t.parsedJoinPathSchema={type:{table:"string",on:{oneOf:[{type:"string"},{arrayOf:{record:{values:"string"}}}]},params:{record:{values:"unknown"},optional:!0},reversed:{type:"boolean",optional:!0}}};const r=(e="$leftJoin")=>(t,n,r,o={})=>({[e]:o.path??t,filter:n,...(0,i.omitKeys)(o,["path","select"]),select:r});t.innerJoin=r("$innerJoin"),t.leftJoin=r("$leftJoin")},666(e,t){function n(e,t){var n=e[0],i=e[1],l=e[2],c=e[3];n=r(n,i,l,c,t[0],7,-680876936),c=r(c,n,i,l,t[1],12,-389564586),l=r(l,c,n,i,t[2],17,606105819),i=r(i,l,c,n,t[3],22,-1044525330),n=r(n,i,l,c,t[4],7,-176418897),c=r(c,n,i,l,t[5],12,1200080426),l=r(l,c,n,i,t[6],17,-1473231341),i=r(i,l,c,n,t[7],22,-45705983),n=r(n,i,l,c,t[8],7,1770035416),c=r(c,n,i,l,t[9],12,-1958414417),l=r(l,c,n,i,t[10],17,-42063),i=r(i,l,c,n,t[11],22,-1990404162),n=r(n,i,l,c,t[12],7,1804603682),c=r(c,n,i,l,t[13],12,-40341101),l=r(l,c,n,i,t[14],17,-1502002290),n=o(n,i=r(i,l,c,n,t[15],22,1236535329),l,c,t[1],5,-165796510),c=o(c,n,i,l,t[6],9,-1069501632),l=o(l,c,n,i,t[11],14,643717713),i=o(i,l,c,n,t[0],20,-373897302),n=o(n,i,l,c,t[5],5,-701558691),c=o(c,n,i,l,t[10],9,38016083),l=o(l,c,n,i,t[15],14,-660478335),i=o(i,l,c,n,t[4],20,-405537848),n=o(n,i,l,c,t[9],5,568446438),c=o(c,n,i,l,t[14],9,-1019803690),l=o(l,c,n,i,t[3],14,-187363961),i=o(i,l,c,n,t[8],20,1163531501),n=o(n,i,l,c,t[13],5,-1444681467),c=o(c,n,i,l,t[2],9,-51403784),l=o(l,c,n,i,t[7],14,1735328473),n=s(n,i=o(i,l,c,n,t[12],20,-1926607734),l,c,t[5],4,-378558),c=s(c,n,i,l,t[8],11,-2022574463),l=s(l,c,n,i,t[11],16,1839030562),i=s(i,l,c,n,t[14],23,-35309556),n=s(n,i,l,c,t[1],4,-1530992060),c=s(c,n,i,l,t[4],11,1272893353),l=s(l,c,n,i,t[7],16,-155497632),i=s(i,l,c,n,t[10],23,-1094730640),n=s(n,i,l,c,t[13],4,681279174),c=s(c,n,i,l,t[0],11,-358537222),l=s(l,c,n,i,t[3],16,-722521979),i=s(i,l,c,n,t[6],23,76029189),n=s(n,i,l,c,t[9],4,-640364487),c=s(c,n,i,l,t[12],11,-421815835),l=s(l,c,n,i,t[15],16,530742520),n=a(n,i=s(i,l,c,n,t[2],23,-995338651),l,c,t[0],6,-198630844),c=a(c,n,i,l,t[7],10,1126891415),l=a(l,c,n,i,t[14],15,-1416354905),i=a(i,l,c,n,t[5],21,-57434055),n=a(n,i,l,c,t[12],6,1700485571),c=a(c,n,i,l,t[3],10,-1894986606),l=a(l,c,n,i,t[10],15,-1051523),i=a(i,l,c,n,t[1],21,-2054922799),n=a(n,i,l,c,t[8],6,1873313359),c=a(c,n,i,l,t[15],10,-30611744),l=a(l,c,n,i,t[6],15,-1560198380),i=a(i,l,c,n,t[13],21,1309151649),n=a(n,i,l,c,t[4],6,-145523070),c=a(c,n,i,l,t[11],10,-1120210379),l=a(l,c,n,i,t[2],15,718787259),i=a(i,l,c,n,t[9],21,-343485551),e[0]=d(n,e[0]),e[1]=d(i,e[1]),e[2]=d(l,e[2]),e[3]=d(c,e[3])}function i(e,t,n,i,r,o){return t=d(d(t,e),d(i,o)),d(t<<r|t>>>32-r,n)}function r(e,t,n,r,o,s,a){return i(t&n|~t&r,e,t,o,s,a)}function o(e,t,n,r,o,s,a){return i(t&r|n&~r,e,t,o,s,a)}function s(e,t,n,r,o,s,a){return i(t^n^r,e,t,o,s,a)}function a(e,t,n,r,o,s,a){return i(n^(t|~r),e,t,o,s,a)}function l(e){var t,n=[];for(t=0;t<64;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n}t.md5=u;var c="0123456789abcdef".split("");function p(e){for(var t="",n=0;n<4;n++)t+=c[e>>8*n+4&15]+c[e>>8*n&15];return t}function u(e){return function(e){for(var t=0;t<e.length;t++)e[t]=p(e[t]);return e.join("")}(function(e){var t,i=e.length,r=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=e.length;t+=64)n(r,l(e.substring(t-64,t)));e=e.substring(t-64);var o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<e.length;t++)o[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(n(r,o),t=0;t<16;t++)o[t]=0;return o[14]=8*i,n(r,o),r}(e))}function d(e,t){return e+t&4294967295}u("hello")},784(e,t){Object.defineProperty(t,"__esModule",{value:!0})},164(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.ReplicationProtocol=t.getSyncChannelName=void 0;const i=n(806);var r;t.getSyncChannelName=({tableName:e,filter:t={},select:n="*"})=>[i.CHANNEL_PREFIX,e,"sync",(0,i.stableStringify)(t),"string"==typeof n?n:(0,i.stableStringify)(n)].join("."),function(e){e.CreateSchema={name:"Create",source:"client",request:{type:{tableName:"string",command:{enum:["sync"]},param1:{record:{values:"unknown"}},param2:{type:{select:"unknown"}}}},response:{type:{id_fields:"string[]",synced_field:"string",channelName:"string",data:"any[]",isSynced:"boolean"}}};const t={state:{enum:["syncing"]},c_fr:{optional:!0,record:{values:"unknown"}},c_lr:{optional:!0,record:{values:"unknown"}},c_count:"number"},n={state:{enum:["syncing-data"]},c_fr:{record:{values:"unknown"}},c_lr:{record:{values:"unknown"}},c_count:"number",data:{arrayOf:{record:{values:"unknown"}}}},r={from_synced:{oneOf:["string","number",{enum:[void 0]}]},to_synced:{oneOf:["string","number",{enum:[void 0]}]}};e.ServerSyncRequest={name:"ServerSyncRequest",source:"server",request:{type:{...r,end_offset:{oneOf:["number",{enum:[null]}]}}},response:{oneOfType:[t,n,{state:{enum:["error"]},err:"unknown"}]}},e.ClientSyncRequest={name:"ClientSyncRequest",source:"client",request:{oneOfType:[t,n]},response:{oneOfType:[{success:{enum:[!0]}},{success:{enum:[!1]},err:"unknown"}]}},e.PullRequest={name:"PullRequest",source:"server",request:{type:{...r,offset:{oneOf:["number",{enum:[void 0]}]},limit:{oneOf:["number",{enum:[void 0]}]}}},response:{oneOfType:[{success:{enum:[!0]},data:{arrayOf:{record:{values:"unknown"}}}},{success:{enum:[!1]},err:"unknown"}]}},e.UpdateRequest={name:"UpdateRequest",source:"server",request:{oneOfType:[{state:{enum:["error"]},err:"unknown"},{state:{enum:["synced"]},isSynced:"boolean"},{state:{enum:["syncing"]},data:{arrayOf:{record:{values:"unknown"}}}}]},response:{oneOfType:[{success:{enum:[!0]}},{success:{enum:[!1]},err:"unknown"}]}};const o={ClientSyncRequest:e.ClientSyncRequest,ServerSyncRequest:e.ServerSyncRequest,PullRequest:e.PullRequest,UpdateRequest:e.UpdateRequest},s=Object.values(o),a=(e,t,n,r)=>(t.removeAllListeners(e),t.on(e,async(e,t)=>{const{type:o,request:a}=(0,i.isObject)(e)?e:{};if("string"!=typeof o||!a)return void t("Unexpected data");const l=s.find(e=>e.name===o&&e.source!==n);if(!l)return void t("Invalid data.type");if(l.source===n)return void t("Invalid schema.source");if("server"===n){const e=(0,i.getJSONBSchemaValidationError)(l.request,a);if(void 0!==e.error)return console.error("Invalid request from client",e.error,a),void t(e.error)}const c=l.name;try{t(await(0,i.withTimeout)(Promise.resolve(r[c](a)),1e4))}catch(e){t((0,i.getSerialisableError)(e))}}),(0,i.fromEntries)((0,i.getEntries)(o).map(([r,o])=>{if(o.source===n)return[r,r=>(0,i.createPromiseWithTimeout)((s,a)=>{t.emit(e,{type:o.name,request:r},e=>{if("server"===n){const t=(0,i.getJSONBSchemaValidationError)(o.response,e);if(void 0!==t.error)return console.error("Invalid response from client for "+o.name,t.error,e),void a(t.error)}s(e)})},1e4)]}).filter(i.isDefined)));e.getServerHandlers=(e,t,n)=>a(e,t,"server",n),e.getClientHandlers=(e,t,n)=>a(e,t,"client",n)}(r||(t.ReplicationProtocol=r={}))},472(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.fromEntries=t.getEntries=t.createPromiseWithTimeout=t.withTimeout=t.getProperty=t.getSerialisableError=t.safeStringify=t.extractTypeUtil=t.reverseParsedPath=t.reverseJoinOn=t.tryCatch=t.getObjectEntries=t.isNotEmpty=t.pickKeys=void 0,t.asName=function(e){if(null==e||!e.toString||!e.toString())throw"Expecting a non empty string";return`"${e.toString().replace(/"/g,'""')}"`},t.omitKeys=r,t.filter=o,t.find=function(e,t){return o(e,t)[0]},t.stableStringify=function(e,t={}){t||(t={}),"function"==typeof t&&(t={cmp:t});var n,i="boolean"==typeof t.cycles&&t.cycles,r=t.cmp&&(n=t.cmp,function(e){return function(t,i){var r={key:t,value:e[t]},o={key:i,value:e[i]};return n(r,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var n,s;if(Array.isArray(t)){for(s="[",n=0;n<t.length;n++)n&&(s+=","),s+=e(t[n])||"null";return s+"]"}if(null===t)return"null";if(-1!==o.indexOf(t)){if(i)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var a=o.push(t)-1,l=Object.keys(t).sort(r&&r(t));for(s="",n=0;n<l.length;n++){var c=l[n],p=e(t[c]);p&&(s&&(s+=","),s+=JSON.stringify(c)+":"+p)}return o.splice(a,1),"{"+s+"}"}}(e)},t.getTextPatch=function(e,t){if(!(e&&t&&e.trim().length&&t.trim().length))return t;if(e===t)return{from:0,to:0,text:"",md5:(0,i.md5)(t)};function n(n=1){let i=n<1?-1:0,r=!1;for(;!r&&Math.abs(i)<=t.length;){const o=n<1?[i]:[0,i];e.slice(...o)!==t.slice(...o)?r=!0:i+=1*Math.sign(n)}return i}let r=n()-1,o=e.length+n(-1)+1,s=t.length+n(-1)+1;return{from:r,to:o,text:t.slice(r,s),md5:(0,i.md5)(t)}},t.unpatchText=function(e,t){if(!t||"string"==typeof t)return t;const{from:n,to:r,text:o,md5:s}=t;if(null===o||null===e)return o;let a=e.slice(0,n)+o+e.slice(r);if(s&&(0,i.md5)(a)!==s)throw"Patch text error: Could not match md5 hash: (original/result) \n"+e+"\n"+a;return a},t.isEmpty=s,t.get=function(e,t){let n=t,i=e;return e?("string"==typeof n&&(n=n.split(".")),n.reduce((e,t)=>e&&e[t]?e[t]:void 0,i)):e},t.isObject=function(e){return Boolean(e&&"object"==typeof e&&!Array.isArray(e))},t.isDefined=function(e){return null!=e},t.getKeys=a;const i=n(666);function r(e,n){return(0,t.pickKeys)(e,a(e).filter(e=>!n.includes(e)))}function o(e,t){return e.filter(e=>Object.entries(t).every(([t,n])=>e[t]===n))}function s(e){for(var t in e)return!1;return!0}function a(e){return Object.keys(e)}t.pickKeys=(e,t=[],n=!0)=>{if(!t.length)return{};if(e&&t.length){let i={};return t.forEach(t=>{n&&void 0===e[t]||(i[t]=e[t])}),i}return e},t.isNotEmpty=e=>!s(e),t.getObjectEntries=e=>Object.entries(e),t.tryCatch=async e=>{const t=Date.now();try{return{...await e(),duration:Date.now()-t}}catch(e){return{error:e,hasError:!0,duration:Date.now()-t}}},t.reverseJoinOn=e=>e.map(e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e]))),t.reverseParsedPath=(e,n)=>(e??[]).map(({table:i,on:r,params:o,reversed:s},a)=>{const l=e[a-1]?.table??n;return"string"==typeof r?{table:l,on:r,...o&&{params:o},...i===l&&{reversed:!s}}:{table:l,on:(0,t.reverseJoinOn)(r)}}).reverse(),t.extractTypeUtil=(e,t)=>{if(Object.entries(t).every(([t,n])=>e[t]===n))return e},t.safeStringify=e=>{const t=new WeakSet;return JSON.stringify(e,(e,n)=>{if("object"==typeof n&&null!==n){if(t.has(n))return"[Circular]";t.add(n)}return n})},t.getSerialisableError=(e,n=!1)=>{if(null==e)return e;if("string"==typeof e||"boolean"==typeof e||"bigint"==typeof e||void 0===e||"number"==typeof e)return e?.toString();if(e instanceof DOMException)return{name:e.name,message:e.message,code:e.code,...n?{stack:e.stack}:{}};if(e instanceof Error){const i=Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:e[n]}),{}),o=JSON.parse((0,t.safeStringify)(i));return n?o:r(o,["stack"])}return Array.isArray(e)?e.map(e=>(0,t.getSerialisableError)(e,n)):e},t.getProperty=(e,t)=>{if(Object.keys(e).includes(t))return e[t]},t.withTimeout=(e,t)=>{const n=new Promise((e,n)=>setTimeout(()=>n(new Error(`Timed out after ${t}ms`)),t));return Promise.race([e,n])},t.createPromiseWithTimeout=(e,t)=>{const n=new Promise((e,n)=>setTimeout(()=>n(new Error(`Timed out after ${t}ms`)),t)),i=new Promise(e);return Promise.race([i,n])},t.getEntries=e=>Object.entries(e),t.fromEntries=e=>Object.fromEntries(e)},441(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.includes=function(e,t){return e.some(e=>e===t)}},778(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,r)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(102),t),r(n(436),t),r(n(441),t)},102(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=void 0,t.isEqual=(e,t,i="trace")=>n(e,t,void 0,i);const n=(e,t,i=new WeakMap,r)=>{if(e===t)return!0;if(typeof e!=typeof t)return!1;if(null===e||null===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!=e&&t!=t;let o=i.get(e);if(o?.has(t)){if("quiet"!==r&&console.trace("Circular reference detected in isEqual",e,t),"error"===r)throw new Error("Circular reference detected in isEqual");return"return-true"===r}if(o||(o=new WeakSet,i.set(e,o)),o.add(t),e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.source===t.source&&e.flags===t.flags;const s=Array.isArray(e),a=Array.isArray(t);if(s&&a){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++)if(!n(e[o],t[o],i,r))return!1;return!0}if(s!==a)return!1;if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(e.byteLength!==t.byteLength)return!1;const n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<n.length;e++)if(n[e]!==i[e])return!1;return!0}if(e instanceof ArrayBuffer&&t instanceof ArrayBuffer){if(e.byteLength!==t.byteLength)return!1;const n=new Uint8Array(e),i=new Uint8Array(t);for(let e=0;e<n.length;e++)if(n[e]!==i[e])return!1;return!0}const l=Object.keys(e);if(l.length!==Object.keys(t).length)return!1;for(const o of l){if(!(o in t))return!1;{const s=e[o],a=t[o];if(!n(s,a,i,r))return!1}}return!0}},436(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.tryCatchV2=void 0,t.tryCatchV2=e=>{const t=Date.now();try{const n=e();return n instanceof Promise?new Promise(async(e,i)=>{e({...await n.then(e=>({data:e})).catch(e=>({error:e,hasError:!0})),duration:Date.now()-t})}):{data:n,duration:Date.now()-t}}catch(e){return{error:e,hasError:!0,duration:Date.now()-t}}}}};const t={};return function n(i){const r=t[i];if(void 0!==r)return r.exports;const o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}(806)})());
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(Object(this||window),()=>(()=>{"use strict";var e={994(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.DATA_TYPES=t.PrimitiveArrayTypes=t.PrimitiveTypes=t.PrimitiveTypesObj=void 0;const i=n(472);t.PrimitiveTypesObj={boolean:1,number:1,integer:1,string:1,Date:1,time:1,timestamp:1,Uint8Array:1,Blob:1,FileLike:1,any:1,unknown:1},t.PrimitiveTypes=(0,i.getKeys)(t.PrimitiveTypesObj),t.PrimitiveArrayTypes=t.PrimitiveTypes.map(e=>`${e}[]`),t.DATA_TYPES=[...t.PrimitiveTypes,...t.PrimitiveArrayTypes]},897(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.assertJSONBObjectAgainstSchema=t.validateJSONBObjectAgainstSchema=t.getJSONBSchemaValidationErrorAsync=t.getJSONBSchemaValidationError=t.getJSONBObjectSchemaValidationError=t.getFieldTypeObj=void 0;const i=n(472),r=n(441),o=n(704),s=e=>null==e||["number","string","boolean"].includes(typeof e),a=e=>{if(!(0,i.isObject)(e))return!1;const t=(0,o.safeGetKeys)(e);return!!t.length&&t.every(t=>s((0,o.safeGetProperty)(e,t)))};t.getFieldTypeObj=e=>"string"==typeof e?{type:e}:e;const l=e=>e instanceof Blob||"undefined"!=typeof Buffer&&e instanceof Buffer||"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer,c={string:e=>"string"==typeof e,number:e=>"number"==typeof e&&Number.isFinite(e),integer:e=>"number"==typeof e&&Number.isInteger(e),boolean:e=>"boolean"==typeof e,time:e=>"string"==typeof e,timestamp:e=>"string"==typeof e,any:e=>"function"!=typeof e&&"symbol"!=typeof e,unknown:e=>"function"!=typeof e&&"symbol"!=typeof e,Date:e=>"string"==typeof e,Uint8Array:l,Blob:l,FileLike:(e,t)=>{if("FileLike"!==t.type)throw new Error("FileLike type must have type 'FileLike'");const n=(0,i.isObject)(e)&&"string"==typeof e.name&&"string"==typeof e.type&&l(e.data);if(n&&t.mimeTypes&&!Object.keys(t.mimeTypes).some(t=>e.type===t))throw new Error(`Invalid FileLike type. Expected one of: ${Object.keys(t.mimeTypes).join(", ")}`);return n}},p=(0,i.getKeys)(c),u=(e,n,l=[],m,f)=>{const y=`${l.join(".")} is of invalid type. Expecting ${d(n).replaceAll("\n","")}`,g=(0,t.getFieldTypeObj)(n),{type:h,allowedValues:b,nullable:v,optional:O}=g;if(v&&null===e)return;if(O&&void 0===e)return;if(b){if("string"!=typeof h)throw new Error("allowedValues is only supported for primitive types");const t=h.endsWith("[]"),n=t&&Array.isArray(e)?e:[e],r=b.map(e=>(0,i.isObject)(e)?e.value:e);for(const[e,i]of n.entries())if(!r.includes(i))return`${t?`${l.join(".")}[${e}]`:l.join(".")} is of invalid type. Expecting ${r.map(e=>"string"==typeof e?JSON.stringify(e):String(e)).join(" | ")} But got ${JSON.stringify(i)}`}if(h){if((0,i.isObject)(h)){if(!(0,i.isObject)(e))return y;for(const t of(0,o.safeGetKeys)(h)){const n=(0,o.safeGetProperty)(h,t);if(!((0,i.isObject)(n)&&n.optional||(0,o.safeHasOwn)(e,t)))return`${[...l,t].join(".")} is missing but required`;const r=u((0,o.safeGetProperty)(e,t),n,[...l,t],m,f);if(void 0!==r)return r}if(!m?.allowExtraProperties){const t=(0,o.safeGetKeys)(e),n=(0,o.safeGetKeys)(h),i=t.filter(e=>!n.includes(e));if(i.length)return`${l.join(".")} has extra properties: ${i.join(", ")}`}return}if(h.includes("Lookup")){if(!f)throw new Error("Lookup types are not supported for validation");const t=h.endsWith("[]");if(t!==Array.isArray(e))return y;const n=h.replace("[]","");return(t?e:[e]).every(e=>"RowLookup"===n?a(e):"ValueLookup"===n?s(e):"TableLookup"===n?"string"==typeof e:(0,i.isObject)(e)&&"string"==typeof(0,o.safeGetProperty)(e,"table")&&"string"==typeof(0,o.safeGetProperty)(e,"column")&&(0,o.safeGetKeys)(e).every(e=>"table"===e||"column"===e))?void f.push({schema:g,value:e,path:l}):y}const{validator:t}=((e,t)=>{const n=(e=>{if("string"==typeof e&&e.endsWith("[]")){const t=e.slice(0,-2);if(!(0,r.includes)(p,t))throw new Error(`Invalid array field type ${e}`);return t}})(e);if(n){const e=c[n];return{isArray:!0,validator:n=>Array.isArray(n)&&n.every(n=>e(n,t))}}const i=c[e];if(!i)throw new Error(`Unknown field type ${e}`);return{isArray:!1,validator:i}})(h,g);return t(e,g)?void 0:y}if(g.tuple){const t=g.tuple;if(!Array.isArray(e))return y+`[${t.map(e=>d(e)).join(", ")}]`;if(e.length!==t.length)return`${l.length?l.join("."):"value"} is of invalid tuple length. Expecting ${t.length} elements but got ${e.length}`;for(let n=0;n<t.length;n++){const i=u(e[n],t[n],[...l,`${n}`],m,f);if(void 0!==i)return i}return}if(g.enum){const t=[];return g.nullable&&t.push(null),g.optional&&t.push(void 0),g.enum.includes(e)?void 0:y}const _=g.arrayOf??(g.arrayOfType?{type:g.arrayOfType}:void 0);if(_){if(!Array.isArray(e))return y+" an array";const t=e.map((e,t)=>u(e,_,[...l,`${t}`],m,f)).filter(i.isDefined)[0];return void 0!==t?`${y}. Error at index ${l.length>0?l.join(".")+".":""}\n\n${t}`:void 0}const S=g.oneOf??g.oneOfType?.map(e=>({type:e}));if(S){if(!S.length)return y+"to not be empty";let t;if(S.find(n=>{const i=f?.length,r=u(e,n,l,m,f);return void 0!==r&&void 0!==i&&(f.length=i),t??(t=r),void 0===r}))return;return y}if(g.record){const{keysEnum:t,partial:n,values:r}=g.record;if(!(0,i.isObject)(e))return y+"object";if(n&&(0,i.isEmpty)(e))return;const s=(0,i.getKeys)(e),a=n?void 0:t?.find(e=>!s.includes(e));if(void 0!==a)return`${y} to have key ${a}`;const c=t&&s.filter(e=>!t.includes(e));if(c?.length)return`${y} has extra keys: ${c}`;if(r)for(const t of(0,o.safeGetKeys)(e)){const n=(0,o.safeGetProperty)(e,t),i=u(n,r,[...l,t],m,f);if(void 0!==i)return`${i}`}return}return`Could not validate field type. Some logic might be missing: ${JSON.stringify(g)}`},d=e=>{const n=(0,t.getFieldTypeObj)(e),{type:r,nullable:o,optional:s,record:a}=n,l=n.oneOf??n.oneOfType?.map(e=>({type:e})),c=[];if(o&&c.push("null"),s&&c.push("undefined"),"string"==typeof r)c.push(r);else if(r&&(0,i.isObject)(r)){const e=[];Object.entries(r).forEach(([t,n])=>{e.push(`${t}: ${d(n)}`)}),c.push(`{ ${e.join("; ")} }`)}if(n.enum?.forEach(e=>{null===e?c.push("null"):void 0===e?c.push("undefined"):"string"==typeof e?c.push(JSON.stringify(e)):c.push(e)}),l?.forEach(e=>{const t=d(e);c.push(t)}),a){const{keysEnum:e,partial:t,values:n}=a,i=t?"?":"",r=n?d(n):"any";e?c.push(`{ [${e.join(" | ")}]${i}: ${r} }`):c.push(`{ [key: string]${i}: ${r} }`)}return c.join(" | ")};t.getJSONBObjectSchemaValidationError=(e,t,n="input",r=!1,o)=>{if(void 0===t&&!r)return{error:`Expecting ${n} to be defined`};if(!(0,i.isObject)(t))return{error:`Expecting ${n} to be an object`};const s=u(t,{type:e},[],o);return s?{error:s}:{data:t}},t.getJSONBSchemaValidationError=(e,t,n)=>{const i=u(t,e,void 0,n);return i?{error:i}:{data:t}};const m=(e,t)=>[...e,...void 0===t?[]:[String(t)]].join(".")||"value",f=async(e,t)=>{const{schema:n,path:i}=e,r=n.type.endsWith("[]"),o=r?e.value:[e.value];for(const[e,l]of o.entries()){const o=m(i,r?e:void 0);if("TableLookup"===n.type||"TableLookup[]"===n.type){if(!t.has(l))return`${o} references an unknown table ${JSON.stringify(l)}`;continue}if("ColumnLookup"===n.type||"ColumnLookup[]"===n.type){const e=l;if(n.filter?.table&&e.table!==n.filter.table)return`${o} references a column that does not match the lookup filter`;const i=t.get(e.table);if(!i)return`${o} references an unknown table ${JSON.stringify(e.table)}`;if("function"!=typeof i.getColumns)throw new Error(`Cannot validate ColumnLookup: table ${JSON.stringify(e.table)} does not expose getColumns`);const r=(await i.getColumns()).find(({name:t})=>t===e.column);if(!r||n.filter?.tsDataType&&r.tsDataType!==n.filter.tsDataType||n.filter?.udt_name&&r.udt_name!==n.filter.udt_name)return`${o} references an unknown or disallowed column ${JSON.stringify(`${e.table}.${e.column}`)}`;continue}const c=n,p=t.get(c.table);if(!p)throw new Error(`Cannot validate ${c.type}: table ${JSON.stringify(c.table)} does not expose findOne`);const u="RowLookup"===c.type||"RowLookup[]"===c.type;if(u&&!a(l)||!u&&!s(l))return`${o} contains a non-primitive lookup value`;const d=u?l:{[c.column]:l},f=c.filter?{$and:[c.filter,d]}:d;if(!await(p?.findOne?.(f)))return`${o} does not reference an existing row in ${JSON.stringify(c.table)}`}};t.getJSONBSchemaValidationErrorAsync=async(e,t,n,i)=>{const r=[],o=u(t,e,void 0,i,r);if(o)return{error:o};for(const e of r){const t=await f(e,n);if(t)return{error:t}}return{data:t}},t.validateJSONBObjectAgainstSchema=(e,n,i,r=!1)=>{const{error:o}=(0,t.getJSONBObjectSchemaValidationError)(e,n,i,r);return void 0===o},t.assertJSONBObjectAgainstSchema=(e,n,i,r=!1)=>{const{error:o}=(0,t.getJSONBObjectSchemaValidationError)(e,n,i,r);if(o)throw new Error(o)}},699(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.getJSONSchemaObject=void 0,t.getJSONBSchemaAsJSONSchema=function(e,n,i){return(0,t.getJSONSchemaObject)(i,{id:`${e}.${n}`})};const i=n(472),r=n(704),o=e=>{if(!e)return;const t=e.endsWith("[]")?e.slice(0,-2):e;return{type:"integer"===t?"integer":"boolean"===t?"boolean":"number"===t?"number":"any"===t||"unknown"===t||t.endsWith("Lookup")||"Uint8Array"===t||"Blob"===t||"FileLike"===t?void 0:"string",isArray:e.endsWith("[]")}};t.getJSONSchemaObject=(e,n)=>{const{type:s,arrayOf:a,arrayOfType:l,description:c,nullable:p,oneOf:u,oneOfType:d,title:m,record:f,tuple:y,...g}="string"==typeof e?{type:e}:e;let h={};const b={...(g.enum||g.allowedValues?.length&&("string"!=typeof s||!s.endsWith("[]")))&&{enum:g.allowedValues?.slice(0)??g.enum.slice(0)},...!!c&&{description:c},...!!m&&{title:m}};if(g.enum?.length){const e=typeof g.enum[0];b.type="number"===e?"number":"boolean"===e?"boolean":"string"}if("string"==typeof s||a||l){if(s&&"string"!=typeof s)throw"Not expected";h=a||l||s?.endsWith("[]")?{type:"array",items:a||l?(0,t.getJSONSchemaObject)(a||{type:l}):s?.startsWith("any")?{type:void 0}:{type:o(s)?.type,...g.allowedValues&&{enum:g.allowedValues.slice(0)}}}:{type:o(s)?.type}}else if((0,i.isObject)(s))h={type:"object",required:(0,r.safeGetKeys)(s).filter(e=>{const t=s[e];return"string"==typeof t||!t.optional}),properties:(0,i.getObjectEntries)(s).reduce((e,[n,i])=>({...e,[n]:(0,t.getJSONSchemaObject)(i)}),{})};else if(y)h={type:"array",items:y.map(e=>(0,t.getJSONSchemaObject)(e)),additionalItems:!1,minItems:y.length,maxItems:y.length};else if(u||d){const e=u||d.map(e=>({type:e}));h={oneOf:e.map(e=>(0,t.getJSONSchemaObject)(e))}}else f&&(h={type:"object",...f.values&&!f.keysEnum&&{additionalProperties:(0,t.getJSONSchemaObject)(f.values)},...f.keysEnum&&{properties:f.keysEnum.reduce((e,n)=>({...e,[n]:f.values?(0,t.getJSONSchemaObject)(f.values):{type:{}}}),{})}});if(p){const e={type:"null"};h.oneOf?h.oneOf.push(e):h.enum&&!h.enum.includes(null)?h.enum.push(null):h={oneOf:[h,e]}}return{...n?{$id:n?.id,$schema:"https://json-schema.org/draft/2020-12/schema"}:void 0,...b,...h}}},394(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.getJSONBTSTypes=void 0,t.getJSONBSchemaTSTypes=function(e,n,i="",r){return(0,t.getJSONBTSTypes)(r,{...e,nullable:n.nullable},void 0,i)};const i=n(806),r=n(897),o=e=>null===e?"null":void 0===e?"undefined":"string"==typeof e?JSON.stringify(e):String(e);t.getJSONBTSTypes=(e,n,a=!1,l="",c=0)=>{const p=(0,r.getFieldTypeObj)(n),u=p.nullable?"null | ":"";if("string"==typeof p.type&&p.type.includes("Lookup"))return((e,t)=>{const n=t.nullable?"null | ":"",r=t.type.endsWith("[]")?"[]":"";if("TableLookup"===t.type||"TableLookup[]"===t.type)return`${n}string${r}`;if("ColumnLookup"===t.type||"ColumnLookup[]"===t.type)return`${n}{ "table": string; "column": string; }${r}`;const o=t,s=e.find(e=>e.name===o.table)?.columns;if("ValueLookup"===t.type||"ValueLookup[]"===t.type){const e=t,o=s?.find(t=>t.name===e.column)?.udt_name;return`${n}${(0,i.postgresToTsType)(o??"text")}${r}`}return`${n}${s?`{ ${s.map(e=>`${JSON.stringify(e.name)}: ${e.is_nullable?"null | ":""} ${(0,i.postgresToTsType)(e.udt_name)}; `).join(" ")} }`:"any"}${r}`})(e,p);if("string"==typeof p.type){const e=p.type.replace("integer","number").replace("time","string").replace("timestamp","string").replace("FileLike","{ name: string; type: string; data: Blob; }").replace("Date","string");if(p.allowedValues){const e=p.type.endsWith("[]")?"[]":"";return u+` (${p.allowedValues.map(e=>JSON.stringify((0,i.isObject)(e)?e.value:e)).join(" | ")})${e}`}return u+e}if((0,i.isObject)(p.type)){const n=e=>e.trim().endsWith(";")?e:e.trim()+";",{type:o}=p,l=a?" ":" ";let d=` {${l}`+(0,i.getObjectEntries)(o).map(([i,o])=>{const a=(0,r.getFieldTypeObj)(o),p=s(i)?i:JSON.stringify(i);return`${l}${p}${a.optional?"?":""}: `+n((0,t.getJSONBTSTypes)(e,a,!0,void 0,c+1))}).join(" ")+`${l}}`;return a||(d=n(d)),a&&(d=d.split("\n").join("")),u+d}if(p.enum)return u+p.enum.map(e=>o(e)).join(" | ");if(p.tuple)return`${u}[${p.tuple.map(n=>(0,t.getJSONBTSTypes)(e,n,!0,void 0,c+1)).join(", ")}]`;if(p.oneOf||p.oneOfType){const n=p.oneOf||p.oneOfType.map(e=>({type:e}));return(p.nullable?`\n${l} | null`:"")+n.map(n=>`\n${l} | `+(0,t.getJSONBTSTypes)(e,n,!0,void 0,c+1)).join("")}if(p.arrayOf||p.arrayOfType){const n=p.arrayOf||{type:p.arrayOfType};return`${p.nullable?"null | ":""} ( ${(0,t.getJSONBTSTypes)(e,n,!0,void 0,c+1)} )[]`}if(p.record){const{keysEnum:n,values:i,partial:r}=p.record,s=e=>r?`Partial<Record<${e}>>`:`Record<${e}>`;return`${p.nullable?"null |":""} ${s(`${n?.map(e=>o(e)).join(" | ")??"string"}, ${i?(0,t.getJSONBTSTypes)(e,i,!0,void 0,c+1):"any"}`)}`}throw"Unexpected getSchemaTSTypes: "+JSON.stringify({fieldType:p},null,2)};const s=e=>/^[A-Za-z$_][A-Za-z0-9$_]*$/.test(e)},704(e,t){t.safeGetKeys=t.safeGetProperty=t.safeHasOwn=void 0;const n=["__proto__","constructor","prototype"];t.safeHasOwn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),t.safeGetProperty=(e,t)=>{if(n.includes(t)){const n=Object.getOwnPropertyDescriptor(e,t);return n?.value}return e[t]},t.safeGetKeys=e=>{const i=Object.keys(e);for(const r of n)(0,t.safeHasOwn)(e,r)&&!i.includes(r)&&i.push(r);return i}},502(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.WAL=void 0;const i=n(806);t.WAL=class{constructor(e){if(this.changed={},this.sending={},this.sentHistory={},this.callbacks=[],this.sort=(e,t)=>{const{orderBy:n}=this.options;return n&&e&&t&&n.map(n=>{if(!(n.fieldName in e)||!(n.fieldName in t))throw"Replication error: \n some orderBy fields missing from data";let i=n.asc?e[n.fieldName]:t[n.fieldName],r=n.asc?t[n.fieldName]:e[n.fieldName],o=+i-+r,s=i<r?-1:i==r?0:1;return"number"===n.tsDataType&&Number.isFinite(o)?o:s}).find(e=>e)||0},this.isInHistory=e=>{if(!e)throw"Provide item";const t=e[this.options.synced_field];if(!Number.isFinite(+t))throw"Provided item Synced field value is missing/invalid ";const n=this.sentHistory[this.getIdStr(e)],i=n?.[this.options.synced_field];if(n){if(!Number.isFinite(+i))throw"Provided historic item Synced field value is missing/invalid";if(+i===+t)return!0}return!1},this.addData=e=>((0,i.isEmpty)(this.changed)&&this.options.onSendStart&&this.options.onSendStart(),e.forEach(e=>{var t;const{initial:n,current:i,delta:r}={...e};if(!i)throw"Expecting { current: object, initial?: object }";const o=this.getIdStr(i);this.changed??(this.changed={}),(t=this.changed)[o]??(t[o]={initial:n,current:i,delta:r}),this.changed[o].current={...this.changed[o].current,...i},this.changed[o].delta={...this.changed[o].delta,...r}}),this.sendItems()),this.getPendingItems=()=>[...Object.values(this.sending),...Object.values(this.changed)],this.isOnSending=!1,this.isSendingTimeout=void 0,this.willDeleteHistory=void 0,this.sendItems=async()=>{const{DEBUG_MODE:e,onSend:t,onSendEnd:n,batch_size:r,throttle:o,historyAgeSeconds:s=2}=this.options;if(this.isSendingTimeout||this.sending&&!(0,i.isEmpty)(this.sending))return;if(!this.changed||(0,i.isEmpty)(this.changed))return;let a,l=[],c=[],p={};Object.keys(this.changed).sort((e,t)=>this.sort(this.changed[e].current,this.changed[t].current)).slice(0,r).map(e=>{let t={...this.changed[e]};this.sending[e]={...t},c.push({...t}),p[e]={...t.current},delete this.changed[e]}),l=c.map(e=>{let t={};return Object.keys(e.current).map(n=>{const r=e.initial?.[n],o=e.current[n];![this.options.synced_field,...this.options.id_fields].includes(n)&&(0,i.isEqual)(r,o)||(t[n]=o)}),t}),e&&console.log(this.options.id," SENDING lr->",l[l.length-1]),this.isSendingTimeout||(this.isSendingTimeout=setTimeout(()=>{this.isSendingTimeout=void 0,(0,i.isEmpty)(this.changed)||this.sendItems()},o)),this.isOnSending=!0;try{await t(l,c),s&&(this.sentHistory={...this.sentHistory,...p},this.willDeleteHistory||(this.willDeleteHistory=setTimeout(()=>{this.willDeleteHistory=void 0,this.sentHistory={}},1e3*s)))}catch(e){a=e,console.error("WAL onSend failed:",e,l,c)}if(this.isOnSending=!1,this.callbacks.length){const e=Object.keys(this.sending);this.callbacks.forEach((t,n)=>{t.idStrs=t.idStrs.filter(t=>e.includes(t)),t.idStrs.length||t.cb(a)}),this.callbacks=this.callbacks.filter(e=>e.idStrs.length)}this.sending={},e&&console.log(this.options.id," SENT lr->",l[l.length-1]),(0,i.isEmpty)(this.changed)?n&&n(l,c,a):this.sendItems()},this.options={...e},!this.options.orderBy){const{synced_field:t,id_fields:n}=e;this.options.orderBy=[t,...n.sort()].map(e=>({fieldName:e,tsDataType:e===t?"number":"string",asc:!0}))}}isSending(){const e=this.isOnSending||!((0,i.isEmpty)(this.sending)&&(0,i.isEmpty)(this.changed));return this.options.DEBUG_MODE&&console.log(this.options.id," CHECKING isSending ->",e),e}getIdStr(e){return this.options.id_fields.sort().map(t=>String(e[t])).join(".")}getIdObj(e){let t={};return this.options.id_fields.sort().map(n=>{t[n]=e[n]}),t}getDeltaObj(e){let t={};return Object.keys(e).map(n=>{this.options.id_fields.includes(n)||(t[n]=e[n])}),t}}},618(e,t){Object.defineProperty(t,"__esModule",{value:!0})},356(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.authContract=void 0;const i=n(749),r={username:"string",password:{type:"string",optional:!0}};t.authContract={login:{request:{type:{...r,remember_me:{type:"boolean",optional:!0},totp_token:{type:"string",optional:!0},totp_recovery_code:{type:"string",optional:!0}}},response:{oneOf:[i.authResponseSchemas.authSuccess,i.authResponseSchemas.passwordLoginFailure,i.authResponseSchemas.magicLinkAuthSuccess,i.authResponseSchemas.magicLinkAuthFailure,i.authResponseSchemas.oauthRegisterFailure,i.authResponseSchemas.codeVerificationFailure]}},register:{request:{type:{...r,invitationToken:{type:"string",optional:!0},totpTokenConfirmation:{type:"string",optional:!0}}},response:{oneOf:[i.authResponseSchemas.passwordRegisterSuccess,i.authResponseSchemas.passwordRegisterFailure]}},magicLinkOrOTP:{request:{oneOfType:[{id:"string",returnToken:{type:"boolean",optional:!0}},{email:"string",code:"string",returnToken:{type:"boolean",optional:!0}}]},response:{oneOf:[i.authResponseSchemas.authSuccess,i.authResponseSchemas.emailConfirmationSuccess,i.authResponseSchemas.magicLinkAuthFailure,i.authResponseSchemas.codeVerificationFailure,i.authResponseSchemas.invalidEmail]}},logout:{request:{type:{}},response:{oneOf:[i.authResponseSchemas.authSuccess,i.authResponseSchemas.commonFailure]}}}},749(e,t){t.authResponseSchemas=void 0;const n={type:"string",optional:!0},i={success:{enum:[!0]},message:n},r={success:{enum:[!1]},message:n},o=["server-error","rate-limit-exceeded","something-went-wrong"],s=[...o,"no-match","inactive-account"];t.authResponseSchemas={authSuccess:{type:{...i,code:{enum:[void 0],optional:!0},token:{type:"string",optional:!0}}},commonFailure:{type:{...r,code:{enum:o}}},authFailure:{type:{...r,code:{enum:s}}},magicLinkAuthSuccess:{type:{...i,code:{enum:["email-verification-code-sent","magic-link-sent"]}}},magicLinkAuthFailure:{type:{...r,code:{enum:[...s,"expired-magic-link","invalid-magic-link","used-magic-link"]}}},oauthRegisterFailure:{type:{...r,code:{enum:[...o,"provider-issue"]}}},passwordLoginFailure:{type:{...r,code:{enum:[...s,"totp-token-missing","invalid-username","username-missing","invalid-email","password-missing","invalid-password","is-from-OAuth","is-from-magic-link","invalid-totp-recovery-code","invalid-totp-code","email-not-confirmed"]}}},passwordRegisterFailure:{type:{...r,code:{enum:[...o,"weak-password","user-already-registered","username-missing","password-missing","invalid-email-confirmation-code","expired-email-confirmation-code","inactive-account"]}}},passwordRegisterSuccess:{type:{...i,code:{enum:["email-verification-code-sent","already-registered-but-did-not-confirm-email","email-verified"]}}},codeVerificationFailure:{type:{...r,code:{enum:[...s,"invalid-otp-code","expired-otp-code"]}}},emailConfirmationSuccess:{type:{...i,code:{enum:["email-verified"]}}},invalidEmail:{type:{...r,code:{enum:["invalid-email"]}}}}},521(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.CONTENT_TYPE_TO_EXT=void 0,t.CONTENT_TYPE_TO_EXT={"text/html":["html","htm","shtml"],"text/css":["css"],"text/csv":["csv"],"text/tsv":["tsv"],"text/tab-separated-values":["tsv"],"text/xml":["xml"],"text/mathml":["mml"],"text/plain":["txt","text","log"],"text/markdown":["md","markdown","qmd","rmd"],"text/x-markdown":["md","markdown"],"text/asciidoc":["adoc","asciidoc","asc"],"text/x-asciidoc":["adoc","asciidoc","asc"],"text/x-tex":["tex"],"text/x-latex":["tex","latex"],"text/rtf":["rtf"],"text/vtt":["vtt"],"text/calendar":["ics","ifb"],"text/vcard":["vcf","vcard"],"text/javascript":["js","mjs","cjs"],"text/yaml":["yaml","yml"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/x-component":["htc"],"image/gif":["gif"],"image/jpeg":["jpeg","jpg"],"image/png":["png"],"image/tiff":["tif","tiff"],"image/bmp":["bmp"],"image/avif":["avif"],"image/heic":["heic"],"image/heif":["heif"],"image/vnd.wap.wbmp":["wbmp"],"image/x-icon":["ico"],"image/vnd.microsoft.icon":["ico"],"image/x-jng":["jng"],"image/x-ms-bmp":["bmp"],"image/svg+xml":["svg"],"image/webp":["webp"],"application/sql":["sql"],"application/json":["json"],"application/xml":["xml","xsl","xsd","nxml","xbrl","dclg"],"application/yaml":["yaml","yml"],"application/geo+json":["geojson"],"application/javascript":["js","mjs","cjs"],"application/x-javascript":["js"],"application/atom+xml":["atom"],"application/rss+xml":["rss"],"application/java-archive":["jar","war","ear"],"application/mac-binhex40":["hqx"],"application/msword":["doc","docx","dot"],"application/x-msword":["doc","dot"],"application/pdf":["pdf"],"application/postscript":["ps","eps","ai"],"application/rtf":["rtf"],"application/x-rtf":["rtf"],"application/epub+zip":["epub"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.keynote":["key"],"application/x-iwork-pages-sffpages":["pages"],"application/x-iwork-numbers-sffnumbers":["numbers"],"application/x-iwork-keynote-sffkey":["key"],"application/vnd.box.boxnote":["boxnote"],"application/vnd.ibm.modcap":["afp"],"application/x-afp":["afp"],"application/x-ebcdic":["ebc","ebcdic"],"application/vnd.ms-excel":["xls","xlsx","xlt"],"application/x-msexcel":["xls","xlt"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-powerpoint":["ppt","pptx","pot","pps"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-outlook":["msg"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/x-7z-compressed":["7z"],"application/gzip":["gz","tgz"],"application/x-tar":["tar"],"application/x-bzip2":["bz2","tbz2"],"application/x-xz":["xz"],"application/zstd":["zst"],"application/vnd.rar":["rar"],"application/x-cocoa":["cco"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-makeself":["run"],"application/x-perl":["pl","pm"],"application/x-pilot":["prc","pdb"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-sea":["sea"],"application/x-shockwave-flash":["swf"],"application/x-stuffit":["sit"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-latex":["latex"],"application/x-mimearchive":["mhtml","mht"],"application/x-x509-ca-cert":["der","pem","crt"],"application/x-xpinstall":["xpi"],"application/xhtml+xml":["xhtml"],"application/zip":["zip","dclx"],"application/octet-stream":["bin","exe","dll","deb","dmg","eot","iso","img","msi","msp","msm"],"audio/midi":["mid","midi","kar"],"audio/mpeg":["mp3"],"audio/mp3":["mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/m4a":["m4a"],"audio/x-m4a":["m4a"],"audio/aac":["aac","adts"],"audio/wav":["wav"],"audio/x-wav":["wav"],"audio/vnd.wave":["wav"],"audio/flac":["flac"],"audio/x-flac":["flac"],"audio/ogg":["ogg","oga","opus","spx"],"audio/webm":["weba"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-realaudio":["ra"],"video/3gpp":["3gpp","3gp"],"video/mpeg":["mpeg","mpg"],"video/quicktime":["mov"],"video/x-flv":["flv"],"video/x-mng":["mng"],"video/x-ms-asf":["asx","asf"],"video/x-ms-wmv":["wmv"],"video/x-msvideo":["avi"],"video/avi":["avi"],"video/x-matroska":["mkv"],"video/mp4":["m4v","mp4"],"video/webm":["webm"],"video/ogg":["ogv"],"message/rfc822":["eml","mime","mht","mhtml"],"multipart/related":["mhtml","mht"]}},209(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.COMPLEX_FILTER_KEY=t.ComplexFilterComparisonKeys=t.EXISTS_KEYS=t.GeomFilter_Funcs=t.GeomFilterKeys=t.ArrayFilterOperands=t.TextFilter_FullTextSearchFilterKeys=t.TextFilterFTSKeys=t.TextFilterKeys=t.JsonbFilterKeys=t.JsonbOperands=t.BetweenFilterKeys=t.CompareInFilterKeys=t.CompareFilterKeys=void 0;const i=n(472);t.CompareFilterKeys=["=","<>",">","<",">=","<=","$eq","$ne","$gt","$gte","$lt","$lte","$isDistinctFrom","$isNotDistinctFrom"],t.CompareInFilterKeys=["$in","$nin"],t.BetweenFilterKeys=["$between","$notBetween"],t.JsonbOperands={"@>":{Operator:"@>","Right Operand Type":"jsonb",Description:"Does the left JSON value contain the right JSON path/value entries at the top level?",Example:'\'{"a":1, "b":2}\'::jsonb @> \'{"b":2}\'::jsonb'},"<@":{Operator:"<@","Right Operand Type":"jsonb",Description:"Are the left JSON path/value entries contained at the top level within the right JSON value?",Example:'\'{"b":2}\'::jsonb <@ \'{"a":1, "b":2}\'::jsonb'},"?":{Operator:"?","Right Operand Type":"text",Description:"Does the string exist as a top-level key within the JSON value?",Example:"'{\"a\":1, \"b\":2}'::jsonb ? 'b'"},"?|":{Operator:"?|","Right Operand Type":"text[]",Description:"Do any of these array strings exist as top-level keys?",Example:"'{\"a\":1, \"b\":2, \"c\":3}'::jsonb ?| array['b', 'c']"},"?&":{Operator:"?&","Right Operand Type":"text[]",Description:"Do all of these array strings exist as top-level keys?",Example:"'[\"a\", \"b\"]'::jsonb ?& array['a', 'b']"},"||":{Operator:"||","Right Operand Type":"jsonb",Description:"Concatenate two jsonb values into a new jsonb value",Example:'\'["a", "b"]\'::jsonb || \'["c", "d"]\'::jsonb'},"-":{Operator:"-","Right Operand Type":"integer",Description:"Delete the array element with specified index (Negative integers count from the end). Throws an error if top level container is not an array.",Example:'\'["a", "b"]\'::jsonb - 1'},"#-":{Operator:"#-","Right Operand Type":"text[]",Description:"Delete the field or element with specified path (for JSON arrays, negative integers count from the end)",Example:"'[\"a\", {\"b\":1}]'::jsonb #- '{1,b}'"},"@?":{Operator:"@?","Right Operand Type":"jsonpath",Description:"Does JSON path return any item for the specified JSON value?",Example:"'{\"a\":[1,2,3,4,5]}'::jsonb @? '$.a[*] ? (@ > 2)'"},"@@":{Operator:"@@","Right Operand Type":"jsonpath",Description:"Returns the result of JSON path predicate check for the specified JSON value. Only the first item of the result is taken into account. If the result is not Boolean, then null is returned.",Example:"'{\"a\":[1,2,3,4,5]}'::jsonb @@ '$.a[*] > 2'"}},t.JsonbFilterKeys=(0,i.getKeys)(t.JsonbOperands),t.TextFilterKeys=["$ilike","$like","$nilike","$nlike"],t.TextFilterFTSKeys=["@@","@>","<@","$contains","$containedBy"],t.TextFilter_FullTextSearchFilterKeys=["to_tsquery","plainto_tsquery","phraseto_tsquery","websearch_to_tsquery"],t.ArrayFilterOperands=["@>","<@","=","$eq","$contains","$containedBy","&&","$overlaps"],t.GeomFilterKeys=["~","~=","@","|&>","|>>",">>","=","<<|","<<","&>","&<|","&<","&&&","&&"],t.GeomFilter_Funcs=["ST_MakeEnvelope","st_makeenvelope","ST_MakePolygon","st_makepolygon"],t.EXISTS_KEYS=["$exists","$notExists","$existsJoined","$notExistsJoined"],t.ComplexFilterComparisonKeys=[...t.TextFilterKeys,...t.JsonbFilterKeys,...t.CompareFilterKeys,...t.BetweenFilterKeys,...t.CompareInFilterKeys],t.COMPLEX_FILTER_KEY="$filter"},391(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getActionFunctions=void 0,t.getActionFunctions=(e,t)=>Object.entries(e).flatMap(([e,n])=>Object.entries(n.input??{}).flatMap(([n,i])=>"string"==typeof i||"RowLookup"!==i.type&&"ValueLookup"!==i.type||i.table!==t.name||"ValueLookup"===i.type&&!t.columns.some(e=>e.name===i.column&&e.select)?[]:[{methodName:e,argName:n,lookup:i}]))},806(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,r)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ABORTABLE_METHODS=t.CONTENT_TYPE_TO_EXT=t.getPossibleNestedInsert=t.SQL_COMMAND_TABLE_METHODS=t.CHANNELS=t.CHANNEL_PREFIX=t.ROW_ACTIONS_COLUMN=t.JOIN_PARAMS=t.JOIN_KEYS=t.getAllowedTableMethods=t.postgresToTsType=t.TS_PG_Types=t._PG_bytes=t._PG_geometric=t._PG_postgis=t._PG_interval=t._PG_date=t._PG_bool=t._PG_json=t._PG_numbers=t._PG_numbers_str=t._PG_numbers_num=t._PG_strings=void 0;const o=n(472),s=n(441);t._PG_strings=["bpchar","char","varchar","text","citext","uuid","time","timetz","interval","name","cidr","inet","macaddr","macaddr8","int4range","int8range","numrange","tsvector"],t._PG_numbers_num=["int2","int4","float4","float8","oid"],t._PG_numbers_str=["int8","numeric","money"],t._PG_numbers=[...t._PG_numbers_num,...t._PG_numbers_str],t._PG_json=["json","jsonb"],t._PG_bool=["bool"],t._PG_date=["date","timestamp","timestamptz"],t._PG_interval=["interval"],t._PG_postgis=["geometry","geography"],t._PG_geometric=["point","line","lseg","box","path","polygon","circle"],t._PG_bytes=["bytea"];const a={Uint8Array:t._PG_bytes,string:[...t._PG_strings,...t._PG_numbers_str,...t._PG_date,...t._PG_geometric,...t._PG_postgis,"lseg"],number:t._PG_numbers_num,boolean:t._PG_bool,any:[...t._PG_json,...t._PG_interval]};t.TS_PG_Types={...a,"number[]":a.number.map(e=>`_${e}`),"boolean[]":a.boolean.map(e=>`_${e}`),"string[]":a.string.map(e=>`_${e}`),"any[]":a.any.map(e=>`_${e}`)},t.postgresToTsType=e=>(0,o.getKeys)(t.TS_PG_Types).find(n=>(0,s.includes)(t.TS_PG_Types[n],e))??"any",t.getAllowedTableMethods=({publishInfo:e})=>{let n=[...e.select||e.insert||e.delete||e.update?t.SQL_COMMAND_TABLE_METHODS.schema:[],...t.SQL_COMMAND_TABLE_METHODS.select.filter(t=>{if(!e.select)return!1;const n="subscribeOne"===t?"subscribe":t;return!Object.keys(e.select.disabledMethods??{}).includes(n)&&("sync"!==t||void 0!==e.select.syncConfig)}),...t.SQL_COMMAND_TABLE_METHODS.update.filter(t=>e.update&&!Object.keys(e.update.disabledMethods??{}).includes(t)),...e.insert?t.SQL_COMMAND_TABLE_METHODS.insert:[],...e.delete?t.SQL_COMMAND_TABLE_METHODS.delete:[]];const i=new Map;return Object.values(t.SQL_COMMAND_TABLE_METHODS).forEach(e=>{e.forEach(e=>{i.set(e,(i.get(e)??0)+1)})}),i.forEach((e,t)=>{n.filter(e=>e===t).length!==e&&i.delete(t)}),Array.from(i.keys())},t.JOIN_KEYS=["$innerJoin","$leftJoin"],t.JOIN_PARAMS=["select","filter","offset","limit","orderBy","having"],t.ROW_ACTIONS_COLUMN="$prostgles_actions",t.CHANNEL_PREFIX="_psqlWS_.",t.CHANNELS={SCHEMA_CHANGED:t.CHANNEL_PREFIX+"schema-changed",SCHEMA:t.CHANNEL_PREFIX+"schema",DEFAULT:t.CHANNEL_PREFIX,SQL:`${t.CHANNEL_PREFIX}sql`,SQL_STREAM:`${t.CHANNEL_PREFIX}sql-stream`,METHOD:`${t.CHANNEL_PREFIX}method`,NOTICE_EV:`${t.CHANNEL_PREFIX}notice`,LISTEN_EV:`${t.CHANNEL_PREFIX}listen`,REGISTER:`${t.CHANNEL_PREFIX}register`,LOGIN:`${t.CHANNEL_PREFIX}login`,LOGOUT:`${t.CHANNEL_PREFIX}logout`,AUTH_GUARD:`${t.CHANNEL_PREFIX}authguard`,CONNECTION:`${t.CHANNEL_PREFIX}connection`,_preffix:t.CHANNEL_PREFIX},t.SQL_COMMAND_TABLE_METHODS={schema:["getColumns","getInfo"],insert:["insert","insertMany","upsert"],update:["update","upsert","updateBatch"],select:["findOne","find","count","size","subscribe","subscribeOne","sync"],delete:["delete","remove"]},t.getPossibleNestedInsert=(e,t,n=!0)=>{const i=(e.references??[]).map(e=>{const{ftable:n,fcols:i}=e,r=t.find(e=>e.name===n);if(!r)return;const o=r.columns.filter(e=>i.includes(e.name));return o.length?{ref:e,fcolsInfo:o}:void 0}).filter(o.isDefined),[r,...s]=i??[];if(!s.length)return r?.ref;const[a,...l]=i.filter(e=>e.fcolsInfo.some(e=>e.is_pkey));if(!l.length)return a?.ref;if(!n)throw["Cannot do a nested insert on column that references multiple tables.","Expecting only one reference to a single primary key fcol"].join("\n")},r(n(618),t),r(n(356),t),r(n(4),t);var l=n(521);Object.defineProperty(t,"CONTENT_TYPE_TO_EXT",{enumerable:!0,get:function(){return l.CONTENT_TYPE_TO_EXT}}),r(n(209),t),r(n(319),t),r(n(699),t),r(n(394),t),r(n(994),t),r(n(897),t),r(n(164),t),r(n(472),t),r(n(502),t),r(n(778),t),r(n(784),t),r(n(391),t),t.ABORTABLE_METHODS=["find","findOne","count","size"]},319(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.leftJoin=t.innerJoin=t.parsedJoinPathSchema=t.defineJoin=void 0;const i=n(472);t.defineJoin=e=>e,t.parsedJoinPathSchema={type:{table:"string",on:{oneOf:[{type:"string"},{arrayOf:{record:{values:"string"}}}]},params:{record:{values:"unknown"},optional:!0},reversed:{type:"boolean",optional:!0}}};const r=(e="$leftJoin")=>(t,n,r,o={})=>({[e]:o.path??t,filter:n,...(0,i.omitKeys)(o,["path","select"]),select:r});t.innerJoin=r("$innerJoin"),t.leftJoin=r("$leftJoin")},666(e,t){function n(e,t){var n=e[0],i=e[1],l=e[2],c=e[3];n=r(n,i,l,c,t[0],7,-680876936),c=r(c,n,i,l,t[1],12,-389564586),l=r(l,c,n,i,t[2],17,606105819),i=r(i,l,c,n,t[3],22,-1044525330),n=r(n,i,l,c,t[4],7,-176418897),c=r(c,n,i,l,t[5],12,1200080426),l=r(l,c,n,i,t[6],17,-1473231341),i=r(i,l,c,n,t[7],22,-45705983),n=r(n,i,l,c,t[8],7,1770035416),c=r(c,n,i,l,t[9],12,-1958414417),l=r(l,c,n,i,t[10],17,-42063),i=r(i,l,c,n,t[11],22,-1990404162),n=r(n,i,l,c,t[12],7,1804603682),c=r(c,n,i,l,t[13],12,-40341101),l=r(l,c,n,i,t[14],17,-1502002290),n=o(n,i=r(i,l,c,n,t[15],22,1236535329),l,c,t[1],5,-165796510),c=o(c,n,i,l,t[6],9,-1069501632),l=o(l,c,n,i,t[11],14,643717713),i=o(i,l,c,n,t[0],20,-373897302),n=o(n,i,l,c,t[5],5,-701558691),c=o(c,n,i,l,t[10],9,38016083),l=o(l,c,n,i,t[15],14,-660478335),i=o(i,l,c,n,t[4],20,-405537848),n=o(n,i,l,c,t[9],5,568446438),c=o(c,n,i,l,t[14],9,-1019803690),l=o(l,c,n,i,t[3],14,-187363961),i=o(i,l,c,n,t[8],20,1163531501),n=o(n,i,l,c,t[13],5,-1444681467),c=o(c,n,i,l,t[2],9,-51403784),l=o(l,c,n,i,t[7],14,1735328473),n=s(n,i=o(i,l,c,n,t[12],20,-1926607734),l,c,t[5],4,-378558),c=s(c,n,i,l,t[8],11,-2022574463),l=s(l,c,n,i,t[11],16,1839030562),i=s(i,l,c,n,t[14],23,-35309556),n=s(n,i,l,c,t[1],4,-1530992060),c=s(c,n,i,l,t[4],11,1272893353),l=s(l,c,n,i,t[7],16,-155497632),i=s(i,l,c,n,t[10],23,-1094730640),n=s(n,i,l,c,t[13],4,681279174),c=s(c,n,i,l,t[0],11,-358537222),l=s(l,c,n,i,t[3],16,-722521979),i=s(i,l,c,n,t[6],23,76029189),n=s(n,i,l,c,t[9],4,-640364487),c=s(c,n,i,l,t[12],11,-421815835),l=s(l,c,n,i,t[15],16,530742520),n=a(n,i=s(i,l,c,n,t[2],23,-995338651),l,c,t[0],6,-198630844),c=a(c,n,i,l,t[7],10,1126891415),l=a(l,c,n,i,t[14],15,-1416354905),i=a(i,l,c,n,t[5],21,-57434055),n=a(n,i,l,c,t[12],6,1700485571),c=a(c,n,i,l,t[3],10,-1894986606),l=a(l,c,n,i,t[10],15,-1051523),i=a(i,l,c,n,t[1],21,-2054922799),n=a(n,i,l,c,t[8],6,1873313359),c=a(c,n,i,l,t[15],10,-30611744),l=a(l,c,n,i,t[6],15,-1560198380),i=a(i,l,c,n,t[13],21,1309151649),n=a(n,i,l,c,t[4],6,-145523070),c=a(c,n,i,l,t[11],10,-1120210379),l=a(l,c,n,i,t[2],15,718787259),i=a(i,l,c,n,t[9],21,-343485551),e[0]=d(n,e[0]),e[1]=d(i,e[1]),e[2]=d(l,e[2]),e[3]=d(c,e[3])}function i(e,t,n,i,r,o){return t=d(d(t,e),d(i,o)),d(t<<r|t>>>32-r,n)}function r(e,t,n,r,o,s,a){return i(t&n|~t&r,e,t,o,s,a)}function o(e,t,n,r,o,s,a){return i(t&r|n&~r,e,t,o,s,a)}function s(e,t,n,r,o,s,a){return i(t^n^r,e,t,o,s,a)}function a(e,t,n,r,o,s,a){return i(n^(t|~r),e,t,o,s,a)}function l(e){var t,n=[];for(t=0;t<64;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n}t.md5=u;var c="0123456789abcdef".split("");function p(e){for(var t="",n=0;n<4;n++)t+=c[e>>8*n+4&15]+c[e>>8*n&15];return t}function u(e){return function(e){for(var t=0;t<e.length;t++)e[t]=p(e[t]);return e.join("")}(function(e){var t,i=e.length,r=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=e.length;t+=64)n(r,l(e.substring(t-64,t)));e=e.substring(t-64);var o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<e.length;t++)o[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(o[t>>2]|=128<<(t%4<<3),t>55)for(n(r,o),t=0;t<16;t++)o[t]=0;return o[14]=8*i,n(r,o),r}(e))}function d(e,t){return e+t&4294967295}u("hello")},784(e,t){Object.defineProperty(t,"__esModule",{value:!0})},164(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.ReplicationProtocol=t.getSyncChannelName=void 0;const i=n(806);var r;t.getSyncChannelName=({tableName:e,filter:t={},select:n="*"})=>[i.CHANNEL_PREFIX,e,"sync",(0,i.stableStringify)(t),"string"==typeof n?n:(0,i.stableStringify)(n)].join("."),function(e){e.CreateSchema={name:"Create",source:"client",request:{type:{tableName:"string",command:{enum:["sync"]},param1:{record:{values:"unknown"}},param2:{type:{select:"unknown"}}}},response:{type:{id_fields:"string[]",synced_field:"string",channelName:"string",data:"any[]",isSynced:"boolean"}}};const t={state:{enum:["syncing"]},c_fr:{optional:!0,record:{values:"unknown"}},c_lr:{optional:!0,record:{values:"unknown"}},c_count:"number"},n={state:{enum:["syncing-data"]},c_fr:{record:{values:"unknown"}},c_lr:{record:{values:"unknown"}},c_count:"number",data:{arrayOf:{record:{values:"unknown"}}}},r={from_synced:{oneOf:["string","number",{enum:[void 0]}]},to_synced:{oneOf:["string","number",{enum:[void 0]}]}};e.ServerSyncRequest={name:"ServerSyncRequest",source:"server",request:{type:{...r,end_offset:{oneOf:["number",{enum:[null]}]}}},response:{oneOfType:[t,n,{state:{enum:["error"]},err:"unknown"}]}},e.ClientSyncRequest={name:"ClientSyncRequest",source:"client",request:{oneOfType:[t,n]},response:{oneOfType:[{success:{enum:[!0]}},{success:{enum:[!1]},err:"unknown"}]}},e.PullRequest={name:"PullRequest",source:"server",request:{type:{...r,offset:{oneOf:["number",{enum:[void 0]}]},limit:{oneOf:["number",{enum:[void 0]}]}}},response:{oneOfType:[{success:{enum:[!0]},data:{arrayOf:{record:{values:"unknown"}}}},{success:{enum:[!1]},err:"unknown"}]}},e.UpdateRequest={name:"UpdateRequest",source:"server",request:{oneOfType:[{state:{enum:["error"]},err:"unknown"},{state:{enum:["synced"]},isSynced:"boolean"},{state:{enum:["syncing"]},data:{arrayOf:{record:{values:"unknown"}}}}]},response:{oneOfType:[{success:{enum:[!0]}},{success:{enum:[!1]},err:"unknown"}]}};const o={ClientSyncRequest:e.ClientSyncRequest,ServerSyncRequest:e.ServerSyncRequest,PullRequest:e.PullRequest,UpdateRequest:e.UpdateRequest},s=Object.values(o),a=(e,t,n,r)=>(t.removeAllListeners(e),t.on(e,async(e,t)=>{const{type:o,request:a}=(0,i.isObject)(e)?e:{};if("string"!=typeof o||!a)return void t("Unexpected data");const l=s.find(e=>e.name===o&&e.source!==n);if(!l)return void t("Invalid data.type");if(l.source===n)return void t("Invalid schema.source");if("server"===n){const e=(0,i.getJSONBSchemaValidationError)(l.request,a);if(void 0!==e.error)return console.error("Invalid request from client",e.error,a),void t(e.error)}const c=l.name;try{t(await(0,i.withTimeout)(Promise.resolve(r[c](a)),1e4))}catch(e){t((0,i.getSerialisableError)(e))}}),(0,i.fromEntries)((0,i.getEntries)(o).map(([r,o])=>{if(o.source===n)return[r,r=>(0,i.createPromiseWithTimeout)((s,a)=>{t.emit(e,{type:o.name,request:r},e=>{if("server"===n){const t=(0,i.getJSONBSchemaValidationError)(o.response,e);if(void 0!==t.error)return console.error("Invalid response from client for "+o.name,t.error,e),void a(t.error)}s(e)})},1e4)]}).filter(i.isDefined)));e.getServerHandlers=(e,t,n)=>a(e,t,"server",n),e.getClientHandlers=(e,t,n)=>a(e,t,"client",n)}(r||(t.ReplicationProtocol=r={}))},4(e,t){Object.defineProperty(t,"__esModule",{value:!0})},472(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.fromEntries=t.getEntries=t.createPromiseWithTimeout=t.withTimeout=t.getProperty=t.getSerialisableError=t.safeStringify=t.extractTypeUtil=t.reverseParsedPath=t.reverseJoinOn=t.tryCatch=t.getObjectEntries=t.isNotEmpty=t.pickKeys=void 0,t.asName=function(e){if(null==e||!e.toString||!e.toString())throw"Expecting a non empty string";return`"${e.toString().replace(/"/g,'""')}"`},t.omitKeys=r,t.filter=o,t.find=function(e,t){return o(e,t)[0]},t.stableStringify=function(e,t={}){t||(t={}),"function"==typeof t&&(t={cmp:t});var n,i="boolean"==typeof t.cycles&&t.cycles,r=t.cmp&&(n=t.cmp,function(e){return function(t,i){var r={key:t,value:e[t]},o={key:i,value:e[i]};return n(r,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var n,s;if(Array.isArray(t)){for(s="[",n=0;n<t.length;n++)n&&(s+=","),s+=e(t[n])||"null";return s+"]"}if(null===t)return"null";if(-1!==o.indexOf(t)){if(i)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var a=o.push(t)-1,l=Object.keys(t).sort(r&&r(t));for(s="",n=0;n<l.length;n++){var c=l[n],p=e(t[c]);p&&(s&&(s+=","),s+=JSON.stringify(c)+":"+p)}return o.splice(a,1),"{"+s+"}"}}(e)},t.getTextPatch=function(e,t){if(!(e&&t&&e.trim().length&&t.trim().length))return t;if(e===t)return{from:0,to:0,text:"",md5:(0,i.md5)(t)};function n(n=1){let i=n<1?-1:0,r=!1;for(;!r&&Math.abs(i)<=t.length;){const o=n<1?[i]:[0,i];e.slice(...o)!==t.slice(...o)?r=!0:i+=1*Math.sign(n)}return i}let r=n()-1,o=e.length+n(-1)+1,s=t.length+n(-1)+1;return{from:r,to:o,text:t.slice(r,s),md5:(0,i.md5)(t)}},t.unpatchText=function(e,t){if(!t||"string"==typeof t)return t;const{from:n,to:r,text:o,md5:s}=t;if(null===o||null===e)return o;let a=e.slice(0,n)+o+e.slice(r);if(s&&(0,i.md5)(a)!==s)throw"Patch text error: Could not match md5 hash: (original/result) \n"+e+"\n"+a;return a},t.isEmpty=s,t.get=function(e,t){let n=t,i=e;return e?("string"==typeof n&&(n=n.split(".")),n.reduce((e,t)=>e&&e[t]?e[t]:void 0,i)):e},t.isObject=function(e){return Boolean(e&&"object"==typeof e&&!Array.isArray(e))},t.isDefined=function(e){return null!=e},t.getKeys=a;const i=n(666);function r(e,n){return(0,t.pickKeys)(e,a(e).filter(e=>!n.includes(e)))}function o(e,t){return e.filter(e=>Object.entries(t).every(([t,n])=>e[t]===n))}function s(e){for(var t in e)return!1;return!0}function a(e){return Object.keys(e)}t.pickKeys=(e,t=[],n=!0)=>{if(!t.length)return{};if(e&&t.length){let i={};return t.forEach(t=>{n&&void 0===e[t]||(i[t]=e[t])}),i}return e},t.isNotEmpty=e=>!s(e),t.getObjectEntries=e=>Object.entries(e),t.tryCatch=async e=>{const t=Date.now();try{return{...await e(),duration:Date.now()-t}}catch(e){return{error:e,hasError:!0,duration:Date.now()-t}}},t.reverseJoinOn=e=>e.map(e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e]))),t.reverseParsedPath=(e,n)=>(e??[]).map(({table:i,on:r,params:o,reversed:s},a)=>{const l=e[a-1]?.table??n;return"string"==typeof r?{table:l,on:r,...o&&{params:o},...i===l&&{reversed:!s}}:{table:l,on:(0,t.reverseJoinOn)(r)}}).reverse(),t.extractTypeUtil=(e,t)=>{if(Object.entries(t).every(([t,n])=>e[t]===n))return e},t.safeStringify=e=>{const t=new WeakSet;return JSON.stringify(e,(e,n)=>{if("object"==typeof n&&null!==n){if(t.has(n))return"[Circular]";t.add(n)}return n})},t.getSerialisableError=(e,n=!1)=>{if(null==e)return e;if("string"==typeof e||"boolean"==typeof e||"bigint"==typeof e||void 0===e||"number"==typeof e)return e?.toString();if(e instanceof DOMException)return{name:e.name,message:e.message,code:e.code,...n?{stack:e.stack}:{}};if(e instanceof Error){const i=Object.getOwnPropertyNames(e).reduce((t,n)=>({...t,[n]:e[n]}),{}),o=JSON.parse((0,t.safeStringify)(i));return n?o:r(o,["stack"])}return Array.isArray(e)?e.map(e=>(0,t.getSerialisableError)(e,n)):e},t.getProperty=(e,t)=>{if(Object.keys(e).includes(t))return e[t]},t.withTimeout=(e,t)=>{const n=new Promise((e,n)=>setTimeout(()=>n(new Error(`Timed out after ${t}ms`)),t));return Promise.race([e,n])},t.createPromiseWithTimeout=(e,t)=>{const n=new Promise((e,n)=>setTimeout(()=>n(new Error(`Timed out after ${t}ms`)),t)),i=new Promise(e);return Promise.race([i,n])},t.getEntries=e=>Object.entries(e),t.fromEntries=e=>Object.fromEntries(e)},441(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.includes=function(e,t){return e.some(e=>e===t)}},778(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,r)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(102),t),r(n(436),t),r(n(441),t)},102(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isEqual=void 0,t.isEqual=(e,t,i="trace")=>n(e,t,void 0,i);const n=(e,t,i=new WeakMap,r)=>{if(e===t)return!0;if(typeof e!=typeof t)return!1;if(null===e||null===t)return!1;if("object"!=typeof e||"object"!=typeof t)return e!=e&&t!=t;let o=i.get(e);if(o?.has(t)){if("quiet"!==r&&console.trace("Circular reference detected in isEqual",e,t),"error"===r)throw new Error("Circular reference detected in isEqual");return"return-true"===r}if(o||(o=new WeakSet,i.set(e,o)),o.add(t),e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.source===t.source&&e.flags===t.flags;const s=Array.isArray(e),a=Array.isArray(t);if(s&&a){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++)if(!n(e[o],t[o],i,r))return!1;return!0}if(s!==a)return!1;if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(e.byteLength!==t.byteLength)return!1;const n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<n.length;e++)if(n[e]!==i[e])return!1;return!0}if(e instanceof ArrayBuffer&&t instanceof ArrayBuffer){if(e.byteLength!==t.byteLength)return!1;const n=new Uint8Array(e),i=new Uint8Array(t);for(let e=0;e<n.length;e++)if(n[e]!==i[e])return!1;return!0}const l=Object.keys(e);if(l.length!==Object.keys(t).length)return!1;for(const o of l){if(!(o in t))return!1;{const s=e[o],a=t[o];if(!n(s,a,i,r))return!1}}return!0}},436(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.tryCatchV2=void 0,t.tryCatchV2=e=>{const t=Date.now();try{const n=e();return n instanceof Promise?new Promise(async(e,i)=>{e({...await n.then(e=>({data:e})).catch(e=>({error:e,hasError:!0})),duration:Date.now()-t})}):{data:n,duration:Date.now()-t}}catch(e){return{error:e,hasError:!0,duration:Date.now()-t}}}}};const t={};return function n(i){const r=t[i];if(void 0!==r)return r.exports;const o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}(806)})());
@@ -1,4 +1,5 @@
1
1
  import { AnyObject, type EqualityFilter } from "./filters";
2
+ import type { RequestResponseCall, RequestResponseHandler, RequestResponseSchema } from "./requestResponse";
2
3
  import { type FieldFilter, type JSONB, type MaybePromise } from "./index";
3
4
  /**
4
5
  * Response from server to set up a sync channel
@@ -98,11 +99,9 @@ export declare const getSyncChannelName: ({ tableName, filter, select, }: {
98
99
  select: FieldFilter | undefined;
99
100
  }) => string;
100
101
  export type SocketCallback = (err?: unknown, res?: unknown) => void;
101
- type RequestBase = {
102
+ type RequestBase = RequestResponseSchema & {
102
103
  name: string;
103
104
  source: "client" | "server";
104
- request: Omit<JSONB.FieldTypeObj, "optional">;
105
- response: Omit<JSONB.FieldTypeObj, "optional">;
106
105
  };
107
106
  export declare namespace ReplicationProtocol {
108
107
  export const CreateSchema: {
@@ -574,10 +573,10 @@ export declare namespace ReplicationProtocol {
574
573
  };
575
574
  type SchemasType = typeof Schemas;
576
575
  export type IncomingHandlers<Side extends RequestBase["source"]> = {
577
- [K in keyof SchemasType as SchemasType[K]["source"] extends Side ? never : K]: (params: JSONB.GetType<SchemasType[K]["request"]>) => MaybePromise<JSONB.GetType<SchemasType[K]["response"]>>;
576
+ [K in keyof SchemasType as SchemasType[K]["source"] extends Side ? never : K]: RequestResponseHandler<SchemasType[K]>;
578
577
  };
579
578
  export type OutgoingHandlers<Side extends RequestBase["source"]> = {
580
- [K in keyof SchemasType as SchemasType[K]["source"] extends Side ? K : never]: (params: JSONB.GetType<SchemasType[K]["request"]>) => Promise<JSONB.GetType<SchemasType[K]["response"]>>;
579
+ [K in keyof SchemasType as SchemasType[K]["source"] extends Side ? K : never]: RequestResponseCall<SchemasType[K]>;
581
580
  };
582
581
  const getHandlers: <Side extends RequestBase["source"]>(channelName: string, socket: {
583
582
  on: (channelName: string, request: (data: unknown, cb: SocketCallback) => MaybePromise<void>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../lib/replication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../lib/replication.ts"],"names":[],"mappings":"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"}
@@ -90,7 +90,10 @@ var ReplicationProtocol;
90
90
  oneOfType: [ClientSyncInfoSchema, ClientExpressDataSchema],
91
91
  },
92
92
  response: {
93
- oneOfType: [{ success: { enum: [true] } }, { success: { enum: [false] }, err: "unknown" }],
93
+ oneOfType: [
94
+ { success: { enum: [true] } },
95
+ { success: { enum: [false] }, err: "unknown" },
96
+ ],
94
97
  },
95
98
  };
96
99
  ReplicationProtocol.PullRequest = {
@@ -147,7 +150,12 @@ var ReplicationProtocol;
147
150
  ],
148
151
  },
149
152
  };
150
- const Schemas = { ClientSyncRequest: ReplicationProtocol.ClientSyncRequest, ServerSyncRequest: ReplicationProtocol.ServerSyncRequest, PullRequest: ReplicationProtocol.PullRequest, UpdateRequest: ReplicationProtocol.UpdateRequest };
153
+ const Schemas = {
154
+ ClientSyncRequest: ReplicationProtocol.ClientSyncRequest,
155
+ ServerSyncRequest: ReplicationProtocol.ServerSyncRequest,
156
+ PullRequest: ReplicationProtocol.PullRequest,
157
+ UpdateRequest: ReplicationProtocol.UpdateRequest,
158
+ };
151
159
  const SchemasList = Object.values(Schemas);
152
160
  const getHandlers = (channelName, socket, side, onResponse) => {
153
161
  socket.removeAllListeners(channelName);
@@ -1 +1 @@
1
- {"version":3,"file":"replication.js","sourceRoot":"","sources":["../lib/replication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replication.js","sourceRoot":"","sources":["../lib/replication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { JSONB } from "./JSONBSchemaValidation/JSONBSchema";
2
+ import type { MaybePromise } from "./index";
3
+ export type RequestResponseSchema = {
4
+ request: Omit<JSONB.FieldTypeObj, "optional">;
5
+ response: Omit<JSONB.FieldTypeObj, "optional">;
6
+ };
7
+ export type RequestResponseHandler<Schema extends RequestResponseSchema> = (data: JSONB.GetType<Schema["request"]>) => MaybePromise<JSONB.GetType<Schema["response"]>>;
8
+ export type RequestResponseCall<Schema extends RequestResponseSchema> = (data: JSONB.GetType<Schema["request"]>) => Promise<JSONB.GetType<Schema["response"]>>;
9
+ //# sourceMappingURL=requestResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestResponse.d.ts","sourceRoot":"","sources":["../lib/requestResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC9C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,qBAAqB,IAAI,CACzE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KACnC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,qBAAqB,IAAI,CACtE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KACnC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=requestResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestResponse.js","sourceRoot":"","sources":["../lib/requestResponse.ts"],"names":[],"mappings":""}
package/lib/auth.ts CHANGED
@@ -1,3 +1,7 @@
1
+ import type { AuthInput } from "./authContract";
2
+ import type { authResponseSchemas } from "./authResponseSchemas";
3
+ import type { JSONB } from "./JSONBSchemaValidation/JSONBSchema";
4
+
1
5
  export type IdentityProvider =
2
6
  | "google"
3
7
  | "microsoft"
@@ -34,14 +38,19 @@ export type AuthSocketSchema<U extends UserLike = UserLike> = {
34
38
  */
35
39
  providers:
36
40
  | Partial<
37
- Record<IdentityProvider, { url: string; displayName?: string; displayIconPath?: string }>
41
+ Record<
42
+ IdentityProvider,
43
+ { url: string; displayName?: string; displayIconPath?: string }
44
+ >
38
45
  >
39
46
  | undefined;
40
47
 
41
48
  /**
42
49
  * Email login methods enabled on the server
43
50
  */
44
- login: { mode: LocalLoginMode; loginRoute: string; logoutRoute: string } | undefined;
51
+ login:
52
+ | { mode: LocalLoginMode; loginRoute: string; logoutRoute: string }
53
+ | undefined;
45
54
 
46
55
  /**
47
56
  * Email registration methods enabled on the server
@@ -62,95 +71,37 @@ export type AuthSocketSchema<U extends UserLike = UserLike> = {
62
71
  preferredLogin: LocalLoginMode | IdentityProvider | undefined;
63
72
  };
64
73
 
65
- type Failure<Code extends string> = { success: false; code: Code; message?: string };
66
- type Success<Code extends string> = { success: true; code: Code; message?: string };
67
-
68
74
  export declare namespace AuthRequest {
69
- export type LoginData = {
70
- /**
71
- * Email or username
72
- */
73
- username: string;
74
- /**
75
- * Undefined if loginType must be withMagicLink
76
- */
77
- password?: string;
78
- remember_me?: boolean;
79
- totp_token?: string;
80
- totp_recovery_code?: string;
81
- };
82
-
83
- export type RegisterData = Pick<LoginData, "username" | "password">;
84
-
85
- export type ConfirmEmailData = { email: string; code: string };
75
+ export type LoginData = AuthInput<"login">;
76
+ export type RegisterData = AuthInput<"register">;
77
+ export type ConfirmEmailData = Pick<
78
+ Extract<AuthInput<"magicLinkOrOTP">, { email: string }>,
79
+ "email" | "code"
80
+ >;
86
81
  }
87
82
 
88
- export type CommonAuthFailure = Failure<
89
- "server-error" | "rate-limit-exceeded" | "something-went-wrong"
90
- >;
83
+ type ResponseSchemaType<Name extends keyof typeof authResponseSchemas> =
84
+ JSONB.GetType<(typeof authResponseSchemas)[Name]>;
91
85
 
92
- export declare namespace AuthResponse {
93
- export type AuthSuccess = {
94
- success: true;
95
- code?: undefined;
96
- message?: string;
97
- /**
98
- * If returnToken=true was in the request, the token is returned
99
- */
100
- token?: string;
101
- };
102
-
103
- export type AuthFailure =
104
- | CommonAuthFailure
105
- | { success: false; code: "no-match"; message?: string }
106
- | { success: false; code: "inactive-account"; message?: string };
107
-
108
- export type MagicLinkAuthSuccess = {
109
- success: true;
110
- code: "email-verification-code-sent" | "magic-link-sent";
111
- message?: string;
112
- };
113
- export type MagicLinkAuthFailure =
114
- | AuthFailure
115
- | Failure<"expired-magic-link" | "invalid-magic-link" | "used-magic-link">;
86
+ export type CommonAuthFailure = ResponseSchemaType<"commonFailure">;
116
87
 
88
+ export declare namespace AuthResponse {
89
+ export type AuthSuccess = ResponseSchemaType<"authSuccess">;
90
+ export type AuthFailure = ResponseSchemaType<"authFailure">;
91
+ export type MagicLinkAuthSuccess = ResponseSchemaType<"magicLinkAuthSuccess">;
92
+ export type MagicLinkAuthFailure = ResponseSchemaType<"magicLinkAuthFailure">;
117
93
  export type OAuthRegisterSuccess = AuthSuccess;
118
- export type OAuthRegisterFailure = CommonAuthFailure | Failure<"provider-issue">;
119
-
94
+ export type OAuthRegisterFailure = ResponseSchemaType<"oauthRegisterFailure">;
120
95
  export type PasswordLoginSuccess = AuthSuccess;
121
- export type PasswordLoginFailure =
122
- | AuthFailure
123
- | Failure<
124
- | "totp-token-missing"
125
- | "invalid-username"
126
- | "username-missing"
127
- | "invalid-email"
128
- | "password-missing"
129
- | "invalid-password"
130
- | "is-from-OAuth"
131
- | "is-from-magic-link"
132
- | "invalid-totp-recovery-code"
133
- | "invalid-totp-code"
134
- | "email-not-confirmed"
135
- >;
136
-
96
+ export type PasswordLoginFailure = ResponseSchemaType<"passwordLoginFailure">;
137
97
  export type PasswordRegisterFailure =
138
- | CommonAuthFailure
139
- | Failure<
140
- | "weak-password"
141
- | "user-already-registered"
142
- | "username-missing"
143
- | "password-missing"
144
- | "invalid-email-confirmation-code"
145
- | "expired-email-confirmation-code"
146
- | "inactive-account"
147
- >;
148
- export type PasswordRegisterSuccess = Success<
149
- "email-verification-code-sent" | "already-registered-but-did-not-confirm-email"
150
- >;
98
+ ResponseSchemaType<"passwordRegisterFailure">;
99
+ export type PasswordRegisterSuccess =
100
+ ResponseSchemaType<"passwordRegisterSuccess">;
151
101
  export type CodeVerificationFailure =
152
- | AuthFailure
153
- | Failure<"invalid-otp-code" | "expired-otp-code">;
154
- export type PasswordRegisterEmailConfirmationFailure = CodeVerificationFailure;
155
- export type PasswordRegisterEmailConfirmationSuccess = Success<"email-verified">;
102
+ ResponseSchemaType<"codeVerificationFailure">;
103
+ export type PasswordRegisterEmailConfirmationFailure =
104
+ CodeVerificationFailure;
105
+ export type PasswordRegisterEmailConfirmationSuccess =
106
+ ResponseSchemaType<"emailConfirmationSuccess">;
156
107
  }