Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

libsql-stateless-easy

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

libsql-stateless-easy - npm Package Compare versions

Comparing version 1.6.11 to 1.7.0

43

dist/main.d.ts

@@ -5,5 +5,7 @@ import { libsqlSQLValue, libsqlSQLStatement, libsqlBatchReqStepExecCond, libsqlBatchReqStep, libsqlStatementResOkData, libsqlBatchStreamResOkData, libsqlStreamResErrData } from 'libsql-stateless';

type intMode = "bigint" | "number" | "string";
type rawSQLStatement = string | {
sql: string;
args: Array<rawValue> | Record<string, rawValue>;
type rawSQL = string;
type rawSQLArgs = Array<rawValue> | Record<string, rawValue>;
type rawSQLStatement = {
sql: rawSQL;
args: rawSQLArgs;
want_rows?: boolean;

@@ -42,9 +44,3 @@ };

disableCriticalChecks?: boolean;
/** Custom `fetch` function to use for the HTTP client.
*
* The underlying library relies of a global fetch.
* If your environment does not have a global fetch, provide it here
* and this library will set the global fetch for you.
*
*/
/** Custom `fetch` function to use for the HTTP client.*/
fetch?: Function;

@@ -168,3 +164,4 @@ }

declare function libsqlValueBuilder(value: rawValue): libsqlSQLValue;
declare function libsqlStatementBuilder(s: rawSQLStatement): libsqlSQLStatement;
declare function libsqlArgumentsBuilder(a?: rawSQLArgs): Omit<libsqlSQLStatement, 'sql' | 'want_rows'>;
declare function libsqlStatementBuilder(s: rawSQL | rawSQLStatement, or_a?: rawSQLArgs, or_want_rows?: boolean): libsqlSQLStatement;
declare const libsqlBatchReqStepExecCondBuilder: {

@@ -181,3 +178,3 @@ ok: (step: number) => libsqlBatchReqStepExecCond;

declare function libsqlTransactionEndStatements(last_step_before_this: number): Array<libsqlBatchReqStep>;
declare function libsqlTransactionBatchReqStepsBuilder(queries: Array<rawSQLStatement>, mode: TransactionMode): Array<libsqlBatchReqStep>;
declare function libsqlTransactionBatchReqStepsBuilder(queries: Array<rawSQL | rawSQLStatement>, mode: TransactionMode): Array<libsqlBatchReqStep>;

@@ -189,6 +186,6 @@ declare function libsqlValueParser(value: libsqlSQLValue, intMode?: intMode): rawValue;

declare function libsqlExecute(conf: libsqlConfig, stmt: rawSQLStatement): Promise<ResultSet>;
declare function libsqlExecute(conf: libsqlConfig, stmt_or_sql: rawSQL | rawSQLStatement, or_args?: rawSQLArgs, or_want_rows?: boolean): Promise<ResultSet>;
declare function libsqlBatch(conf: libsqlConfig, steps: Array<rawSQLStatement>, step_conditions: Array<libsqlBatchReqStepExecCond | null | undefined>): Promise<Array<ResultSet | null>>;
declare function libsqlServerCompatCheck(conf: libsqlConfig): Promise<boolean>;
declare function libsqlBatchTransaction(conf: libsqlConfig, steps: Array<rawSQLStatement>, mode?: TransactionMode): Promise<Array<ResultSet>>;
declare function libsqlBatchTransaction(conf: libsqlConfig, steps: Array<rawSQL | rawSQLStatement>, mode?: TransactionMode): Promise<Array<ResultSet>>;
declare function libsqlExecuteMultiple(conf: libsqlConfig, sql: string): Promise<undefined>;

@@ -219,7 +216,17 @@

* const rs = await client.execute({
* "SELECT * FROM books WHERE author = ?",
* ["Jane Austen"],
* });
* // for backward compatibality
* const rs = await client.execute(
* sql: "SELECT * FROM books WHERE author = ?",
* args: ["Jane Austen"],
* });
* );
*
* // execute a statement with named arguments
* const rs = await client.execute(
* "SELECT * FROM books WHERE published_at > $year",
* {year: 1719},
* );
* // for backward compatibality
* const rs = await client.execute({

@@ -231,2 +238,3 @@ * sql: "SELECT * FROM books WHERE published_at > $year",

*/
execute(stmt: rawSQL, args: rawSQLArgs, want_rows?: boolean): Promise<ResultSet>;
execute(stmt: rawSQLStatement): Promise<ResultSet>;

@@ -265,3 +273,3 @@ /** Execute a batch of SQL statements in a transaction.

*/
batch(steps: Array<rawSQLStatement>, mode?: TransactionMode): Promise<ResultSet[]>;
batch(steps: Array<rawSQL | rawSQLStatement>, mode?: TransactionMode): Promise<ResultSet[]>;
transaction(mode?: TransactionMode): Promise<any>;

@@ -293,3 +301,2 @@ /** Execute a sequence of SQL statements separated by semicolons.

close(): void;
serverOk(): Promise<boolean>;
}

@@ -326,2 +333,2 @@

export { HttpServerError, InternalError, LibsqlError, MisuseError, ProtoError, ResponseError, createClient, libsqlBatch, libsqlBatchReqStepExecCondBuilder, libsqlBatchReqStepsBuilder, libsqlBatchStreamResParser, libsqlBatchTransaction, libsqlClient, libsqlExecute, libsqlExecuteMultiple, libsqlServerCompatCheck, libsqlStatementBuilder, libsqlStatementResParser, libsqlTransactionBatchReqStepsBuilder, libsqlTransactionBatchStreamResParser, libsqlTransactionBeginStatement, libsqlTransactionEndStatements, libsqlValueBuilder, libsqlValueParser };
export { HttpServerError, InternalError, LibsqlError, MisuseError, ProtoError, ResponseError, createClient, libsqlArgumentsBuilder, libsqlBatch, libsqlBatchReqStepExecCondBuilder, libsqlBatchReqStepsBuilder, libsqlBatchStreamResParser, libsqlBatchTransaction, libsqlClient, libsqlExecute, libsqlExecuteMultiple, libsqlServerCompatCheck, libsqlStatementBuilder, libsqlStatementResParser, libsqlTransactionBatchReqStepsBuilder, libsqlTransactionBatchStreamResParser, libsqlTransactionBeginStatement, libsqlTransactionEndStatements, libsqlValueBuilder, libsqlValueParser };
import { libsqlExecute, libsqlBatch, libsqlServerCompatCheck } from 'libsql-stateless';
var et=Object.defineProperty;var rt=(t,e,r)=>e in t?et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var l=(t,e,r)=>rt(t,typeof e!="symbol"?e+"":e,r);var d=typeof Buffer=="function",L=typeof btoa=="function",O=typeof atob=="function",U=t=>atob(t),T=t=>btoa(t),k=t=>Buffer.from(t).toString("base64"),v=t=>Buffer.from(t,"binary").toString("base64"),I=t=>Buffer.from(t,"base64"),M=t=>Buffer.from(t,"base64").toString("binary");var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=Array.prototype.slice.call(st),h=(t=>{let e={};return t.forEach((r,s)=>e[r]=s),e})(m),nt=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,ot=t=>{let e,r,s,n,o="",i=t.length%3;for(let u=0;u<t.length;){if((r=t.charCodeAt(u++))>255||(s=t.charCodeAt(u++))>255||(n=t.charCodeAt(u++))>255)throw new TypeError("invalid character found");e=r<<16|s<<8|n,o+=m[e>>18&63]+m[e>>12&63]+m[e>>6&63]+m[e&63];}return i?o.slice(0,i-3)+"===".substring(i):o},at=L?t=>T(t):d?t=>v(t):ot,it=t=>t.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_"),P=d?t=>k(t):t=>{let r=[];for(let s=0,n=t.length;s<n;s+=4096){let o=[];t.subarray(s,s+4096).forEach(i=>o.push(i.valueOf())),r.push(q.apply(null,o));}return at(r.join(""))},q=String.fromCharCode.bind(String),N=(t,e=!1)=>e?it(P(t)):P(t),V=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),lt=t=>{if(t=t.replace(/\s+/g,""),!nt.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(t.length&3));let e,r="",s,n;for(let o=0;o<t.length;)e=h[t.charAt(o++)]<<18|h[t.charAt(o++)]<<12|(s=h[t.charAt(o++)])<<6|(n=h[t.charAt(o++)]),r+=s===64?q(e>>16&255):n===64?q(e>>16&255,e>>8&255):q(e>>16&255,e>>8&255,e&255);return r},ct=O?t=>U(V(t)):d?t=>M(t):lt,Q=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),ut=d?t=>Q(I(t)):t=>Q(ct(t).split("").map(e=>e.charCodeAt(0))),pt=t=>V(t.replace(/[-_]/g,e=>e=="-"?"+":"/")),D=t=>ut(pt(t));var a=class extends Error{constructor(r,s,n){super(`${s}: ${r}`,{cause:n});l(this,"code");l(this,"rawCode");this.code=s,this.rawCode=void 0,this.name="LibsqlError";}},y=class extends a{constructor(e){super(e,"HRANA_PROTO_ERROR",new class extends Error{constructor(){super(e),this.name="ProtoError";}});}},c=class extends a{constructor(e,r){super(e,r.code||"UNKNOWN",new class extends Error{constructor(){super(e);l(this,"proto");this.name="ResponseError",this.proto=r,this.stack=void 0;}});}},p=class extends a{constructor(e,r){super(e,"SERVER_ERROR",new class extends Error{constructor(){super(e);l(this,"status");this.status=r,this.name="HttpServerError";}});}},f=class extends a{constructor(e){super(e,"INTERNAL_ERROR",new class extends Error{constructor(){super(e),this.name="InternalError";}});}},S=class extends a{constructor(e){super(e,"UNKNOWN",new class extends Error{constructor(){super(e),this.name="MisuseError";}});}};function j(t){if(t===null)return {type:"null"};if(typeof t=="bigint")return {type:"integer",value:""+t};if(typeof t=="number")return {type:"float",value:t};if(typeof t=="string")return {type:"text",value:t};if(t instanceof Uint8Array)return {type:"blob",base64:N(t)};throw new f("Invalid type of input. Cannot build request to server.")}function R(t){if(typeof t!="string"){if(Object.prototype.toString.call(t.args)==="[object Array]")return {sql:t.sql,args:t.args.map(e=>j(e)),want_rows:t.want_rows};{let e=[],r=t.args;for(let s in r)e.push({name:s,value:j(r[s])});return {sql:t.sql,named_args:e,want_rows:t.want_rows}}}return {sql:t}}var _={ok:t=>({type:"ok",step:t}),error:t=>({type:"error",step:t}),not:t=>({type:"not",cond:t}),and:t=>({type:"and",conds:t}),or:t=>({type:"or",conds:t}),is_autocommit:()=>({type:"is_autocommit"})};function H(t,e){return t.map((r,s)=>({stmt:R(r),condition:e[s]||void 0}))}function ft(t){if(t==="write")return {stmt:{sql:"BEGIN IMMEDIATE"}};if(t==="read")return {stmt:{sql:"BEGIN TRANSACTION READONLY"}};if(t==="deferred")return {stmt:{sql:"BEGIN DEFERRED"}};throw RangeError('Unknown transaction mode, supported values are "write", "read" and "deferred"')}function dt(t){return [{stmt:{sql:"COMMIT"},condition:{type:"ok",step:t}},{stmt:{sql:"ROLLBACK"},condition:{type:"not",cond:{type:"ok",step:t+1}}}]}function W(t,e){let r=t.map((s,n)=>({stmt:R(s),condition:_.ok(n)}));return [ft(e)].concat(r).concat(dt(r.length))}function mt(t,e="number"){switch(e){case"number":return +t;case"string":return t;case"bigint":return BigInt(t);default:throw new S('Invalid value for "intMode".')}}function bt(t,e){switch(t.type){case"null":return null;case"integer":return mt(t.value,e);case"float":return Number(t.value);case"text":return t.value;case"blob":return D(t.base64);default:throw new y("Invalid data type from server. Cannot parse.")}}function x(t,e){let r=[];for(let n=0;n<t.rows.length;n++){let o={};Object.defineProperty(o,"length",{value:t.rows[n].length});for(let i=0;i<t.rows[n].length;i++){let u=bt(t.rows[n][i],e);Object.defineProperty(o,i,{value:u});let g=t.cols[i].name;g!==void 0&&!Object.hasOwn(o,g)&&Object.defineProperty(o,g,{value:u,enumerable:!0});}r.push(o);}let s={rows:r,columns:t.cols.map(n=>n.name||""),columnTypes:t.cols.map(n=>n.decltype||""),rowsAffected:t.affected_row_count,lastInsertRowid:t.last_insert_rowid?BigInt(t.last_insert_rowid):void 0,rowsRead:t.rows_read,rowsWritten:t.rows_written,queryDurationMS:t.query_duration_ms};return {...s,toJSON:()=>s}}function B(t,e){return t.step_results.map((r,s)=>{var n;if(r)return x(r,e);if(t.step_errors[s])throw new c(((n=t.step_errors[s])==null?void 0:n.message)||"",t.step_errors[s]);return null})}function z(t,e){let r=B(t,e);return r.slice(1,r.length-2).filter(s=>s!==null)}function b(t){return {db_url:t.url,authToken:t.authToken,fetch:t.fetch}}async function F(t,e){let r=await libsqlExecute(b(t),R(e));if(r.isOk)return x(r.val,t.intMode);throw r.err.kind==="LIBSQL_SERVER_ERROR"?new p(r.err.server_message||"Server encountered error.",r.err.http_status_code):new c(r.err.data.message,r.err.data)}async function Nt(t,e,r){let s=await libsqlBatch(b(t),H(e,r));if(s.isOk)return B(s.val,t.intMode);throw s.err.kind==="LIBSQL_SERVER_ERROR"?new p(s.err.server_message||"Server encountered error.",s.err.http_status_code):new c(s.err.data.message,s.err.data)}async function w(t){return !!(await libsqlServerCompatCheck(b(t))).isOk}async function K(t,e,r="deferred"){let s=await libsqlBatch(b(t),W(e,r));if(s.isOk)return z(s.val,t.intMode);throw s.err.kind==="LIBSQL_SERVER_ERROR"?new p(s.err.server_message||"Server encountered error.",s.err.http_status_code):new c(s.err.data.message,s.err.data)}async function Z(t,e){let r=e.split(";").filter(n=>n.trim()!=="").map((n,o)=>({stmt:{sql:n},condition:_.ok(o-1)}));r[0].condition=void 0;let s=await libsqlBatch(b(t),r);if(!s.isOk)throw s.err.kind==="LIBSQL_SERVER_ERROR"?new p(s.err.server_message||"Server encountered error.",s.err.http_status_code):new c(s.err.data.message,s.err.data)}var G=typeof console.error=="function",J=typeof URL=="function",$=t=>console.error(t),Y=t=>new URL(t);function X(t){try{if(!w(t))throw new a("Server incompatible. Please upgrade your libSQL server.","OUT_OF_DATE_SERVER")}catch{throw new a("The fetch function is non functional.","FETCH_FUCKED")}}function A(t){G&&$(t);}function tt(t){if((()=>{if(J)try{let r=Y(t);return !(r.protocol==="https:"||r.protocol==="http:")}catch(r){throw new a(r.message,"ERR_INVALID_URL",r)}else if(t.startsWith("https://")||t.startsWith("http://"))return !1;return !0})())throw new a('This is a HTTP client and only supports "https:" and "http:" URLs.',"URL_SCHEME_NOT_SUPPORTED")}function Gt(t){return new C(t)}var C=class{constructor(e){l(this,"conf");l(this,"closed");l(this,"protocol");e.disableCriticalChecks||(tt(e.url),X(e)),this.conf=e,this.closed=!1,this.protocol="http";}async execute(e){return await F(this.conf,e)}async batch(e,r){return await K(this.conf,e,r)}async transaction(e){throw new f("'libsql-stateless' is stateless and does not support interactive transactions. Use this.batch() instead.")}async executeMultiple(e){return await Z(this.conf,e)}async sync(){A("'libsql-stateless' is remote only so nothing to sync.");}close(){A("'libsql-stateless' is stateless therefore no connection to close.");}async serverOk(){return await w(this.conf)}};
var rt=Object.defineProperty;var st=(t,e,s)=>e in t?rt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var l=(t,e,s)=>st(t,typeof e!="symbol"?e+"":e,s);var m=typeof Buffer=="function",L=typeof btoa=="function",C=typeof atob=="function",Q=t=>atob(t),O=t=>btoa(t),U=t=>Buffer.from(t).toString("base64"),T=t=>Buffer.from(t,"binary").toString("base64"),k=t=>Buffer.from(t,"base64"),I=t=>Buffer.from(t,"base64").toString("binary");var nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=Array.prototype.slice.call(nt),h=(t=>{let e={};return t.forEach((s,r)=>e[s]=r),e})(d),ot=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,at=t=>{let e,s,r,n,o="",i=t.length%3;for(let u=0;u<t.length;){if((s=t.charCodeAt(u++))>255||(r=t.charCodeAt(u++))>255||(n=t.charCodeAt(u++))>255)throw new TypeError("invalid character found");e=s<<16|r<<8|n,o+=d[e>>18&63]+d[e>>12&63]+d[e>>6&63]+d[e&63];}return i?o.slice(0,i-3)+"===".substring(i):o},it=L?t=>O(t):m?t=>T(t):at,lt=t=>t.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_"),M=m?t=>U(t):t=>{let s=[];for(let r=0,n=t.length;r<n;r+=4096){let o=[];t.subarray(r,r+4096).forEach(i=>o.push(i.valueOf())),s.push(S.apply(null,o));}return it(s.join(""))},S=String.fromCharCode.bind(String),P=(t,e=!1)=>e?lt(M(t)):M(t),N=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),ct=t=>{if(t=t.replace(/\s+/g,""),!ot.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(t.length&3));let e,s="",r,n;for(let o=0;o<t.length;)e=h[t.charAt(o++)]<<18|h[t.charAt(o++)]<<12|(r=h[t.charAt(o++)])<<6|(n=h[t.charAt(o++)]),s+=r===64?S(e>>16&255):n===64?S(e>>16&255,e>>8&255):S(e>>16&255,e>>8&255,e&255);return s},ut=C?t=>Q(N(t)):m?t=>I(t):ct,v=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),pt=m?t=>v(k(t)):t=>v(ut(t).split("").map(e=>e.charCodeAt(0))),ft=t=>N(t.replace(/[-_]/g,e=>e=="-"?"+":"/")),V=t=>pt(ft(t));var a=class extends Error{constructor(s,r,n){super(`${r}: ${s}`,{cause:n});l(this,"code");l(this,"rawCode");this.code=r,this.rawCode=void 0,this.name="LibsqlError";}},q=class extends a{constructor(e){super(e,"HRANA_PROTO_ERROR",new class extends Error{constructor(){super(e),this.name="ProtoError";}});}},c=class extends a{constructor(e,s){super(e,s.code||"UNKNOWN",new class extends Error{constructor(){super(e);l(this,"proto");this.name="ResponseError",this.proto=s,this.stack=void 0;}});}},p=class extends a{constructor(e,s){super(e,"SERVER_ERROR",new class extends Error{constructor(){super(e);l(this,"status");this.status=s,this.name="HttpServerError";}});}},f=class extends a{constructor(e){super(e,"INTERNAL_ERROR",new class extends Error{constructor(){super(e),this.name="InternalError";}});}},w=class extends a{constructor(e){super(e,"UNKNOWN",new class extends Error{constructor(){super(e),this.name="MisuseError";}});}};function D(t){if(t===null)return {type:"null"};if(typeof t=="bigint")return {type:"integer",value:""+t};if(typeof t=="number")return {type:"float",value:t};if(typeof t=="string")return {type:"text",value:t};if(t instanceof Uint8Array)return {type:"blob",base64:P(t)};throw new f("Invalid type of input. Cannot build request to server.")}function j(t){if(t===void 0)return {};if(Object.prototype.toString.call(t)==="[object Array]")return {args:t.map(e=>D(e))};{let e=[],s=t;for(let r in s)e.push({name:r,value:D(s[r])});return {named_args:e}}}function y(t,e,s){if(typeof t=="string"){let r=j(e);return {sql:t,args:r.args,named_args:r.named_args,want_rows:s}}else {let r=j(t.args);return {sql:t.sql,args:r.args,named_args:r.named_args,want_rows:t.want_rows}}}var g={ok:t=>({type:"ok",step:t}),error:t=>({type:"error",step:t}),not:t=>({type:"not",cond:t}),and:t=>({type:"and",conds:t}),or:t=>({type:"or",conds:t}),is_autocommit:()=>({type:"is_autocommit"})};function H(t,e){return t.map((s,r)=>({stmt:y(s),condition:e[r]||void 0}))}function mt(t){if(t==="write")return {stmt:{sql:"BEGIN IMMEDIATE"}};if(t==="read")return {stmt:{sql:"BEGIN TRANSACTION READONLY"}};if(t==="deferred")return {stmt:{sql:"BEGIN DEFERRED"}};throw RangeError('Unknown transaction mode, supported values are "write", "read" and "deferred"')}function dt(t){return [{stmt:{sql:"COMMIT"},condition:{type:"ok",step:t}},{stmt:{sql:"ROLLBACK"},condition:{type:"not",cond:{type:"ok",step:t+1}}}]}function W(t,e){let s=t.map((r,n)=>({stmt:y(r),condition:g.ok(n)}));return [mt(e)].concat(s).concat(dt(s.length))}function bt(t,e="number"){switch(e){case"number":return +t;case"string":return t;case"bigint":return BigInt(t);default:throw new w('Invalid value for "intMode".')}}function ht(t,e){switch(t.type){case"null":return null;case"integer":return bt(t.value,e);case"float":return Number(t.value);case"text":return t.value;case"blob":return V(t.base64);default:throw new q("Invalid data type from server. Cannot parse.")}}function _(t,e){let s=[];for(let n=0;n<t.rows.length;n++){let o={};Object.defineProperty(o,"length",{value:t.rows[n].length});for(let i=0;i<t.rows[n].length;i++){let u=ht(t.rows[n][i],e);Object.defineProperty(o,i,{value:u});let R=t.cols[i].name;R!==void 0&&!Object.hasOwn(o,R)&&Object.defineProperty(o,R,{value:u,enumerable:!0,configurable:!0,writable:!0});}s.push(o);}let r={rows:s,columns:t.cols.map(n=>n.name||""),columnTypes:t.cols.map(n=>n.decltype||""),rowsAffected:t.affected_row_count,lastInsertRowid:t.last_insert_rowid?BigInt(t.last_insert_rowid):void 0,rowsRead:t.rows_read,rowsWritten:t.rows_written,queryDurationMS:t.query_duration_ms};return {...r,toJSON:()=>r}}function x(t,e){return t.step_results.map((s,r)=>{var n;if(s)return _(s,e);if(t.step_errors[r])throw new c(((n=t.step_errors[r])==null?void 0:n.message)||"",t.step_errors[r]);return null})}function z(t,e){let s=x(t,e);return s.slice(1,s.length-2).filter(r=>r!==null)}function b(t){return {db_url:t.url,authToken:t.authToken,fetch:t.fetch}}async function F(t,e,s,r){let n=await libsqlExecute(b(t),y(e,s,r));if(n.isOk)return _(n.val,t.intMode);throw n.err.kind==="LIBSQL_SERVER_ERROR"?new p(n.err.server_message||"Server encountered error.",n.err.http_status_code):new c(n.err.data.message,n.err.data)}async function Vt(t,e,s){let r=await libsqlBatch(b(t),H(e,s));if(r.isOk)return x(r.val,t.intMode);throw r.err.kind==="LIBSQL_SERVER_ERROR"?new p(r.err.server_message||"Server encountered error.",r.err.http_status_code):new c(r.err.data.message,r.err.data)}async function K(t){return !!(await libsqlServerCompatCheck(b(t))).isOk}async function Z(t,e,s="deferred"){let r=await libsqlBatch(b(t),W(e,s));if(r.isOk)return z(r.val,t.intMode);throw r.err.kind==="LIBSQL_SERVER_ERROR"?new p(r.err.server_message||"Server encountered error.",r.err.http_status_code):new c(r.err.data.message,r.err.data)}async function G(t,e){let s=e.split(";").filter(n=>n.trim()!=="").map((n,o)=>({stmt:{sql:n},condition:g.ok(o-1)}));s[0].condition=void 0;let r=await libsqlBatch(b(t),s);if(!r.isOk)throw r.err.kind==="LIBSQL_SERVER_ERROR"?new p(r.err.server_message||"Server encountered error.",r.err.http_status_code):new c(r.err.data.message,r.err.data)}var J=typeof console.error=="function",$=typeof URL=="function",Y=t=>console.error(t),X=t=>new URL(t);function tt(t){try{if(!K(t))throw new a("Server incompatible. Please upgrade your libSQL server.","OUT_OF_DATE_SERVER")}catch{throw new a("The fetch function is non functional.","FETCH_FUCKED")}}function E(t){J&&Y(t);}function et(t){if((()=>{if($)try{let s=X(t);return !(s.protocol==="https:"||s.protocol==="http:")}catch(s){throw new a(s.message,"ERR_INVALID_URL",s)}else if(t.startsWith("https://")||t.startsWith("http://"))return !1;return !0})())throw new a('This is a HTTP client and only supports "https:" and "http:" URLs.',"URL_SCHEME_NOT_SUPPORTED")}function Jt(t){return new A(t)}var A=class{constructor(e){l(this,"conf");l(this,"closed");l(this,"protocol");e.disableCriticalChecks||(et(e.url),tt(e)),this.conf=e,this.closed=!1,this.protocol="http";}async execute(e,s,r){return await F(this.conf,e,s,r)}async batch(e,s){return await Z(this.conf,e,s)}async transaction(e){throw new f("'libsql-stateless' is stateless and does not support interactive transactions. Use this.batch() instead.")}async executeMultiple(e){return await G(this.conf,e)}async sync(){E("'libsql-stateless' is remote only so nothing to sync.");}close(){E("'libsql-stateless' is stateless therefore no connection to close.");}};
export { p as HttpServerError, f as InternalError, a as LibsqlError, S as MisuseError, y as ProtoError, c as ResponseError, Gt as createClient, Nt as libsqlBatch, _ as libsqlBatchReqStepExecCondBuilder, H as libsqlBatchReqStepsBuilder, B as libsqlBatchStreamResParser, K as libsqlBatchTransaction, C as libsqlClient, F as libsqlExecute, Z as libsqlExecuteMultiple, w as libsqlServerCompatCheck, R as libsqlStatementBuilder, x as libsqlStatementResParser, W as libsqlTransactionBatchReqStepsBuilder, z as libsqlTransactionBatchStreamResParser, ft as libsqlTransactionBeginStatement, dt as libsqlTransactionEndStatements, j as libsqlValueBuilder, bt as libsqlValueParser };
export { p as HttpServerError, f as InternalError, a as LibsqlError, w as MisuseError, q as ProtoError, c as ResponseError, Jt as createClient, j as libsqlArgumentsBuilder, Vt as libsqlBatch, g as libsqlBatchReqStepExecCondBuilder, H as libsqlBatchReqStepsBuilder, x as libsqlBatchStreamResParser, Z as libsqlBatchTransaction, A as libsqlClient, F as libsqlExecute, G as libsqlExecuteMultiple, K as libsqlServerCompatCheck, y as libsqlStatementBuilder, _ as libsqlStatementResParser, W as libsqlTransactionBatchReqStepsBuilder, z as libsqlTransactionBatchStreamResParser, mt as libsqlTransactionBeginStatement, dt as libsqlTransactionEndStatements, D as libsqlValueBuilder, ht as libsqlValueParser };
{
"name": "libsql-stateless-easy",
"version": "1.6.11",
"version": "1.7.0",
"description": "thin libSQL stateless http driver for TypeScript and JavaScript but easy",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/DaBigBlob/libsql-stateless-easy#readme",

@@ -5,3 +5,3 @@ # libsql-stateless-easy

- ✅ **Supported runtime environments:** Web API (browser, serverless), Bun, Node.js (>=18)
- ✅ **Is extremely light:** 38.8kB (unpacked)/ 10.9kB (package)/ 10.2KB (minified)/ 3.7KB (minified+gzipped)
- ✅ **Is extremely light:** 8.82kB (unpacked)* / 3.8kB (gzipped)
- ✅ **Is built for:** Quick stateless query execution. (Mainly for serverless and edge functions.)

@@ -11,2 +11,5 @@ - ✅ Supports everything in `@libsql/client/web` **except `interactive transactions`.

- ✅ **`libsql-stateless-easy` is simply a drop-in replacement** and exactly same API as `@libsql/client/web`.
\* The actual js that is included with your project. (Excluding the type definitions and 2 copies of the main js for esm and cjs. (because you're gonna use one of them))
\*\*Interactive transactions are not supported because this lib is stateless but [`transactions`](https://github.com/DaBigBlob/libsql-stateless/wiki/transactions) are supported.
<br>

@@ -13,0 +16,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc