import{g as N}from"./_commonjsHelpers-D6-XlEtG.js";import{r as g}from"./_commonjs-dynamic-modules-B7n8ZNar.js";var p,S;function w(){if(S)return p;S=1;const u=g;class i{constructor(e,t){typeof e=="string"?this.#r(e):t!==void 0?this.#t(e,t):this.#e(e)}toPostgres(){const e=this.values,t=this.indices.map((s,n)=>u.format("%i:%f",s+1,e[n])).join(",");return u.format("{%s}/%d",t,this.dimensions)}toString(){return this.toPostgres()}toArray(){const e=Array(this.dimensions).fill(0);for(const[t,s]of this.indices.entries())e[s]=this.values[t];return e}#r(e){const t=e.split("/",2);this.dimensions=parseInt(t[1]),this.indices=[],this.values=[];const s=t[0].slice(1,-1).split(",");for(const n of s){const c=n.split(":",2);this.indices.push(parseInt(c[0])-1),this.values.push(parseFloat(c[1]))}}#e(e){this.dimensions=e.length,this.indices=[],this.values=[];for(const[t,s]of e.entries()){const n=Number(s);n!=0&&(this.indices.push(Number(t)),this.values.push(n))}}#t(e,t){this.dimensions=Number(t),this.indices=[],this.values=[];const s=e instanceof Map?e.entries():Object.entries(e);for(const[n,c]of s){const l=Number(c);l!=0&&(this.indices.push(Number(n)),this.values.push(l))}}}return p={SparseVector:i},p}var h,q;function A(){if(q)return h;q=1;const u=g,{SparseVector:i}=w();function f(r){return r===null?null:r.substring(1,r.length-1).split(",").map(o=>parseFloat(o))}function e(r){return Array.isArray(r)?JSON.stringify(r.map(o=>Number(o))):r}const t=f,s=e;function n(r){return r===null?null:new i(r)}function c(r){return r instanceof i?r.toPostgres():r}function l(r){if(r===null)return null;if(r[0]=="[")return f(r);if(r[0]=="{")return n(r);throw new Error("invalid text representation")}function b(r){if(r===null)return null;if(Array.isArray(r))return e(r);if(r instanceof i)return c(r);throw new Error("expected array or sparse vector")}function a(r,o){if(o==null)return r;if(!Number.isInteger(o))throw new Error("expected integer");return u.format("%s(%d)",r,o)}function d(r){return a("vector",r)}function v(r){return a("halfvec",r)}function T(r){return a("bit",r)}function x(r){return a("sparsevec",r)}return h={fromSql:l,toSql:b,vectorFromSql:f,vectorToSql:e,halfvecFromSql:t,halfvecToSql:s,sparsevecFromSql:n,sparsevecToSql:c,sqlType:d,vectorType:d,halfvecType:v,bitType:T,sparsevecType:x,SparseVector:i},h}var m,y;function F(){if(y)return m;y=1;const{fromSql:u,toSql:i,SparseVector:f}=A();return m={fromSql:u,toSql:i,SparseVector:f},m}var V=F();const j=N(V),_=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"}));export{_ as i};
