New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

datastore-core

Package Overview
Dependencies
Maintainers
3
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

datastore-core - npm Package Compare versions

Comparing version 7.0.2 to 7.0.3

22

cjs/src/index.js

@@ -5,2 +5,4 @@ 'use strict';

var errors = require('./errors.js');
var shard = require('./shard.js');
var base = require('./base.js');

@@ -13,8 +15,7 @@ var memory = require('./memory.js');

var namespace = require('./namespace.js');
var errors = require('./errors.js');
var shard = require('./shard.js');
var shardReadme = require('./shard-readme.js');
exports.Errors = errors;
exports.shard = shard;
exports.BaseDatastore = base.BaseDatastore;

@@ -27,16 +28,1 @@ exports.MemoryDatastore = memory.MemoryDatastore;

exports.NamespaceDatastore = namespace.NamespaceDatastore;
exports.abortedError = errors.abortedError;
exports.dbDeleteFailedError = errors.dbDeleteFailedError;
exports.dbOpenFailedError = errors.dbOpenFailedError;
exports.dbWriteFailedError = errors.dbWriteFailedError;
exports.notFoundError = errors.notFoundError;
exports.NextToLast = shard.NextToLast;
exports.PREFIX = shard.PREFIX;
exports.Prefix = shard.Prefix;
exports.README_FN = shard.README_FN;
exports.SHARDING_FN = shard.SHARDING_FN;
exports.ShardBase = shard.ShardBase;
exports.Suffix = shard.Suffix;
exports.parseShardFun = shard.parseShardFun;
exports.readShardFun = shard.readShardFun;
exports.readme = shardReadme;

5

dist/src/index.d.ts

@@ -8,6 +8,7 @@ export { BaseDatastore } from "./base.js";

export { NamespaceDatastore } from "./namespace.js";
export * as Errors from "./errors.js";
export * as shard from "./shard.js";
export type Shard = import("./types").Shard;
export type KeyTransform = import("./types").KeyTransform;
import * as Errors from "./errors.js";
import * as shard from "./shard.js";
export { Errors, shard };
//# sourceMappingURL=index.d.ts.map

@@ -0,1 +1,3 @@

import * as Errors from './errors.js';
import * as shard from './shard.js';
export {

@@ -22,3 +24,7 @@ BaseDatastore

} from './namespace.js';
export * from './errors.js';
export * from './shard.js';
export {
Errors
};
export {
shard
};
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.DatastoreCore = factory()}(typeof self !== 'undefined' ? self : this, function () {
var DatastoreCore=(()=>{var mr=Object.create;var de=Object.defineProperty;var br=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var gr=Object.getPrototypeOf,wr=Object.prototype.hasOwnProperty;var ct=r=>de(r,"__esModule",{value:!0});var E=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),C=(r,e)=>{ct(r);for(var t in e)de(r,t,{get:e[t],enumerable:!0})},Cr=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of yr(e))!wr.call(r,s)&&s!=="default"&&de(r,s,{get:()=>e[s],enumerable:!(t=br(e,s))||t.enumerable});return r},F=r=>Cr(ct(de(r!=null?mr(gr(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var ht=E((an,ft)=>{"use strict";var Er=async r=>{let e=[];for await(let t of r)e.push(t);return e};ft.exports=Er});var ve=E((cn,lt)=>{"use strict";var xr=async r=>{for await(let e of r);};lt.exports=xr});var Ae=E((fn,Dt)=>{"use strict";var Fr=async function*(r,e){for await(let t of r)await e(t)&&(yield t)};Dt.exports=Fr});var Se=E((hn,pt)=>{"use strict";var vr=async function*(r,e){let t=0;if(!(e<1)){for await(let s of r)if(yield s,t++,t===e)return}};pt.exports=vr});var Xt=E((lo,Ht)=>{"use strict";function Gt(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function Ls(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return Gt(r,t)}catch(s){t.message=r.message,t.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),Gt(new n,t)}}Ht.exports=Ls});var Yt=E((yo,Zt)=>{"use strict";var zs=async function*(r,e){for await(let t of r)yield e(t)};Zt.exports=zs});var er=E((go,Y)=>{var Qt=(...r)=>{let e;for(;r.length;)e=r.shift()(e);return e},He=r=>r&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),be=r=>r&&typeof r.sink=="function"&&He(r.source),Ks=r=>e=>(r.sink(e),r.source),qt=(...r)=>{if(be(r[0])){let e=r[0];r[0]=()=>e.source}else if(He(r[0])){let e=r[0];r[0]=()=>e}if(r.length>1&&be(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let e=1;e<r.length-1;e++)be(r[e])&&(r[e]=Ks(r[e]));return Qt(...r)};Y.exports=qt;Y.exports.pipe=qt;Y.exports.rawPipe=Qt;Y.exports.isIterable=He;Y.exports.isDuplex=be});var sr=E((Po,rr)=>{rr.exports=class{constructor(e){if(!(e>0)||(e-1&e)!=0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var ir=E((Ro,or)=>{var nr=sr();or.exports=class{constructor(e){this.hwm=e||16,this.head=new nr(this.hwm),this.tail=this.head}push(e){if(!this.head.push(e)){let t=this.head;this.head=t.next=new nr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next){let t=this.tail.next;return this.tail.next=null,this.tail=t,this.tail.shift()}return e}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var tt=E((Lo,ar)=>{var et=ir();ar.exports=r=>{r=r||{};let e;typeof r=="function"?(e=r,r={}):e=r.onEnd;let t=new et,s,n,o,i=()=>{if(!t.isEmpty()){if(r.writev){let h,d=[];for(;!t.isEmpty();){if(h=t.shift(),h.error)throw h.error;d.push(h.value)}return{done:h.done,value:d}}let a=t.shift();if(a.error)throw a.error;return a}return o?{done:!0}:new Promise((a,h)=>{n=d=>(n=null,d.error?h(d.error):r.writev&&!d.done?a({done:d.done,value:[d.value]}):a(d),s)})},c=a=>n?n(a):(t.push(a),s),b=a=>(t=new et,n?n({error:a}):(t.push({error:a}),s)),k=a=>o?s:c({done:!1,value:a}),u=a=>o?s:(o=!0,a?b(a):c({done:!0})),f=()=>(t=new et,u(),{done:!0}),D=a=>(u(a),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:i,return:f,throw:D,push:k,end:u},!e)return s;let B=s;return s={[Symbol.asyncIterator](){return this},next(){return B.next()},throw(a){return B.throw(a),e&&(e(a),e=null),{done:!0}},return(){return B.return(),e&&(e(),e=null),{done:!0}},push:k,end(a){return B.end(a),e&&(e(a),e=null),s}},s}});var cr=E((To,ur)=>{"use strict";var $s=tt(),Vs=async function*(...r){let e=$s();setTimeout(async()=>{try{await Promise.all(r.map(async t=>{for await(let s of t)e.push(s)})),e.end()}catch(t){e.end(t)}},0),yield*e};ur.exports=Vs});var hr=E((Wo,fr)=>{var q=1e3,ee=q*60,te=ee*60,$=te*24,Ws=$*7,Js=$*365.25;fr.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Gs(r);if(t==="number"&&isFinite(r))return e.long?Xs(r):Hs(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Gs(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!!e){var t=parseFloat(e[1]),s=(e[2]||"ms").toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return t*Js;case"weeks":case"week":case"w":return t*Ws;case"days":case"day":case"d":return t*$;case"hours":case"hour":case"hrs":case"hr":case"h":return t*te;case"minutes":case"minute":case"mins":case"min":case"m":return t*ee;case"seconds":case"second":case"secs":case"sec":case"s":return t*q;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Hs(r){var e=Math.abs(r);return e>=$?Math.round(r/$)+"d":e>=te?Math.round(r/te)+"h":e>=ee?Math.round(r/ee)+"m":e>=q?Math.round(r/q)+"s":r+"ms"}function Xs(r){var e=Math.abs(r);return e>=$?xe(r,e,$,"day"):e>=te?xe(r,e,te,"hour"):e>=ee?xe(r,e,ee,"minute"):e>=q?xe(r,e,q,"second"):r+" ms"}function xe(r,e,t,s){var n=e>=t*1.5;return Math.round(r/t)+" "+s+(n?"s":"")}});var lr=E((Jo,dr)=>{function Zs(r){t.debug=t,t.default=t,t.coerce=b,t.disable=o,t.enable=n,t.enabled=i,t.humanize=hr(),t.destroy=k,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let D=0;D<u.length;D++)f=(f<<5)-f+u.charCodeAt(D),f|=0;return t.colors[Math.abs(f)%t.colors.length]}t.selectColor=e;function t(u){let f,D=null,B,a;function h(...d){if(!h.enabled)return;let m=h,w=Number(new Date),S=w-(f||w);m.diff=S,m.prev=f,m.curr=w,f=w,d[0]=t.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let g=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(j,x)=>{if(j==="%%")return"%";g++;let I=t.formatters[x];if(typeof I=="function"){let V=d[g];j=I.call(m,V),d.splice(g,1),g--}return j}),t.formatArgs.call(m,d),(m.log||t.log).apply(m,d)}return h.namespace=u,h.useColors=t.useColors(),h.color=t.selectColor(u),h.extend=s,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>D!==null?D:(B!==t.namespaces&&(B=t.namespaces,a=t.enabled(u)),a),set:d=>{D=d}}),typeof t.init=="function"&&t.init(h),h}function s(u,f){let D=t(this.namespace+(typeof f=="undefined"?":":f)+u);return D.log=this.log,D}function n(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let f,D=(typeof u=="string"?u:"").split(/[\s,]+/),B=D.length;for(f=0;f<B;f++)!D[f]||(u=D[f].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.slice(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...t.names.map(c),...t.skips.map(c).map(f=>"-"+f)].join(",");return t.enable(""),u}function i(u){if(u[u.length-1]==="*")return!0;let f,D;for(f=0,D=t.skips.length;f<D;f++)if(t.skips[f].test(u))return!1;for(f=0,D=t.names.length;f<D;f++)if(t.names[f].test(u))return!0;return!1}function c(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function b(u){return u instanceof Error?u.stack||u.message:u}function k(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}dr.exports=Zs});var Dr=E((A,Fe)=>{A.formatArgs=Qs;A.save=qs;A.load=en;A.useColors=Ys;A.storage=tn();A.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();A.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Ys(){return typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Qs(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Fe.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,s=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(s=t))}),r.splice(s,0,e)}A.log=console.debug||console.log||(()=>{});function qs(r){try{r?A.storage.setItem("debug",r):A.storage.removeItem("debug")}catch(e){}}function en(){let r;try{r=A.storage.getItem("debug")}catch(e){}return!r&&typeof process!="undefined"&&"env"in process&&(r=process.env.DEBUG),r}function tn(){try{return localStorage}catch(r){}}Fe.exports=lr()(A);var{formatters:rn}=Fe.exports;rn.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var nn={};C(nn,{BaseDatastore:()=>v,Errors:()=>Je,KeyTransformDatastore:()=>K,MemoryDatastore:()=>Ge,MountDatastore:()=>nt,NamespaceDatastore:()=>ut,ShardingDatastore:()=>R,TieredDatastore:()=>at,shard:()=>qe});var dt=F(ht()),W=(r,e)=>async function*(){yield*(await(0,dt.default)(r)).sort(e)}();var je=F(ve()),L=F(Ae()),Ie=F(Se()),v=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,t,s){return Promise.reject(new Error(".put is not implemented"))}get(e,t){return Promise.reject(new Error(".get is not implemented"))}has(e,t){return Promise.reject(new Error(".has is not implemented"))}delete(e,t){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,t={}){for await(let{key:s,value:n}of e)await this.put(s,n,t),yield{key:s,value:n}}async*getMany(e,t={}){for await(let s of e)yield this.get(s,t)}async*deleteMany(e,t={}){for await(let s of e)await this.delete(s,t),yield s}batch(){let e=[],t=[];return{put(s,n){e.push({key:s,value:n})},delete(s){t.push(s)},commit:async s=>{await(0,je.default)(this.putMany(e,s)),e=[],await(0,je.default)(this.deleteMany(t,s)),t=[]}}}async*_all(e,t){throw new Error("._all is not implemented")}async*_allKeys(e,t){throw new Error("._allKeys is not implemented")}query(e,t){let s=this._all(e,t);if(e.prefix!=null&&(s=(0,L.default)(s,n=>n.key.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(s=e.filters.reduce((n,o)=>(0,L.default)(n,o),s)),Array.isArray(e.orders)&&(s=e.orders.reduce((n,o)=>W(n,o),s)),e.offset!=null){let n=0;s=(0,L.default)(s,()=>n++>=e.offset)}return e.limit!=null&&(s=(0,Ie.default)(s,e.limit)),s}queryKeys(e,t){let s=this._allKeys(e,t);if(e.prefix!=null&&(s=(0,L.default)(s,n=>n.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(s=e.filters.reduce((n,o)=>(0,L.default)(n,o),s)),Array.isArray(e.orders)&&(s=e.orders.reduce((n,o)=>W(n,o),s)),e.offset!=null){let n=0;s=(0,L.default)(s,()=>n++>=e.offset)}return e.limit!=null&&(s=(0,Ie.default)(s,e.limit)),s}};var mt=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");var ke={};C(ke,{identity:()=>Br});function Ar(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),s=0;s<t.length;s++)t[s]=255;for(var n=0;n<r.length;n++){var o=r.charAt(n),i=o.charCodeAt(0);if(t[i]!==255)throw new TypeError(o+" is ambiguous");t[i]=n}var c=r.length,b=r.charAt(0),k=Math.log(c)/Math.log(256),u=Math.log(256)/Math.log(c);function f(a){if(a instanceof Uint8Array||(ArrayBuffer.isView(a)?a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength):Array.isArray(a)&&(a=Uint8Array.from(a))),!(a instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(a.length===0)return"";for(var h=0,d=0,m=0,w=a.length;m!==w&&a[m]===0;)m++,h++;for(var S=(w-m)*u+1>>>0,g=new Uint8Array(S);m!==w;){for(var M=a[m],j=0,x=S-1;(M!==0||j<d)&&x!==-1;x--,j++)M+=256*g[x]>>>0,g[x]=M%c>>>0,M=M/c>>>0;if(M!==0)throw new Error("Non-zero carry");d=j,m++}for(var I=S-d;I!==S&&g[I]===0;)I++;for(var V=b.repeat(h);I<S;++I)V+=r.charAt(g[I]);return V}function D(a){if(typeof a!="string")throw new TypeError("Expected String");if(a.length===0)return new Uint8Array;var h=0;if(a[h]!==" "){for(var d=0,m=0;a[h]===b;)d++,h++;for(var w=(a.length-h)*k+1>>>0,S=new Uint8Array(w);a[h];){var g=t[a.charCodeAt(h)];if(g===255)return;for(var M=0,j=w-1;(g!==0||M<m)&&j!==-1;j--,M++)g+=c*S[j]>>>0,S[j]=g%256>>>0,g=g/256>>>0;if(g!==0)throw new Error("Non-zero carry");m=M,h++}if(a[h]!==" "){for(var x=w-m;x!==w&&S[x]===0;)x++;for(var I=new Uint8Array(d+(w-x)),V=d;x!==w;)I[V++]=S[x++];return I}}}function B(a){var h=D(a);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:D,decode:B}}var Sr=Ar,jr=Sr,bt=jr;var gn=new Uint8Array(0);var yt=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},O=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var gt=r=>new TextEncoder().encode(r),wt=r=>new TextDecoder().decode(r);var Et=class{constructor(e,t,s){this.name=e,this.prefix=t,this.baseEncode=s}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},xt=class{constructor(e,t,s){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=s}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return vt(this,e)}},Ft=class{constructor(e){this.decoders=e}or(e){return vt(this,e)}decode(e){let t=e[0],s=this.decoders[t];if(s)return s.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},vt=(r,e)=>new Ft({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),At=class{constructor(e,t,s,n){this.name=e,this.prefix=t,this.baseEncode=s,this.baseDecode=n,this.encoder=new Et(e,t,s),this.decoder=new xt(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},J=({name:r,prefix:e,encode:t,decode:s})=>new At(r,e,t,s),P=({prefix:r,name:e,alphabet:t})=>{let{encode:s,decode:n}=bt(t,e);return J({prefix:r,name:e,encode:s,decode:o=>O(n(o))})},Ir=(r,e,t,s)=>{let n={};for(let u=0;u<e.length;++u)n[e[u]]=u;let o=r.length;for(;r[o-1]==="=";)--o;let i=new Uint8Array(o*t/8|0),c=0,b=0,k=0;for(let u=0;u<o;++u){let f=n[r[u]];if(f===void 0)throw new SyntaxError(`Non-${s} character`);b=b<<t|f,c+=t,c>=8&&(c-=8,i[k++]=255&b>>c)}if(c>=t||255&b<<8-c)throw new SyntaxError("Unexpected end of data");return i},kr=(r,e,t)=>{let s=e[e.length-1]==="=",n=(1<<t)-1,o="",i=0,c=0;for(let b=0;b<r.length;++b)for(c=c<<8|r[b],i+=8;i>t;)i-=t,o+=e[n&c>>i];if(i&&(o+=e[n&c<<t-i]),s)for(;o.length*t&7;)o+="=";return o},p=({name:r,prefix:e,bitsPerChar:t,alphabet:s})=>J({prefix:e,name:r,encode(n){return kr(n,s,t)},decode(n){return Ir(n,s,t,r)}});var Br=J({prefix:"\0",name:"identity",encode:r=>wt(r),decode:r=>gt(r)});var Be={};C(Be,{base2:()=>Mr});var Mr=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Me={};C(Me,{base8:()=>Nr});var Nr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ne={};C(Ne,{base10:()=>Or});var Or=P({prefix:"9",name:"base10",alphabet:"0123456789"});var Oe={};C(Oe,{base16:()=>Ur,base16upper:()=>Pr});var Ur=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ue={};C(Ue,{base32:()=>G,base32hex:()=>Tr,base32hexpad:()=>Kr,base32hexpadupper:()=>$r,base32hexupper:()=>zr,base32pad:()=>Rr,base32padupper:()=>Lr,base32upper:()=>_r,base32z:()=>Vr});var G=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_r=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Rr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Lr=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Tr=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),zr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Kr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),$r=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Vr=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Pe={};C(Pe,{base36:()=>Wr,base36upper:()=>Jr});var Wr=P({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Jr=P({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var _e={};C(_e,{base58btc:()=>N,base58flickr:()=>Gr});var N=P({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Gr=P({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Re={};C(Re,{base64:()=>Hr,base64pad:()=>Xr,base64url:()=>Zr,base64urlpad:()=>Yr});var Hr=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Xr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Zr=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Yr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Le={};C(Le,{base256emoji:()=>rs});var St=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Qr=St.reduce((r,e,t)=>(r[t]=e,r),[]),qr=St.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function es(r){return r.reduce((e,t)=>(e+=Qr[t],e),"")}function ts(r){let e=[];for(let t of r){let s=qr[t.codePointAt(0)];if(s===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(s)}return new Uint8Array(e)}var rs=J({prefix:"\u{1F680}",name:"base256emoji",encode:es,decode:ts});var Ke={};C(Ke,{sha256:()=>Cs,sha512:()=>Es});var ss=It,jt=128,ns=127,os=~ns,is=Math.pow(2,31);function It(r,e,t){e=e||[],t=t||0;for(var s=t;r>=is;)e[t++]=r&255|jt,r/=128;for(;r&os;)e[t++]=r&255|jt,r>>>=7;return e[t]=r|0,It.bytes=t-s+1,e}var as=Te,us=128,kt=127;function Te(r,e){var t=0,e=e||0,s=0,n=e,o,i=r.length;do{if(n>=i)throw Te.bytes=0,new RangeError("Could not decode varint");o=r[n++],t+=s<28?(o&kt)<<s:(o&kt)*Math.pow(2,s),s+=7}while(o>=us);return Te.bytes=n-e,t}var cs=Math.pow(2,7),fs=Math.pow(2,14),hs=Math.pow(2,21),ds=Math.pow(2,28),ls=Math.pow(2,35),Ds=Math.pow(2,42),ps=Math.pow(2,49),ms=Math.pow(2,56),bs=Math.pow(2,63),ys=function(r){return r<cs?1:r<fs?2:r<hs?3:r<ds?4:r<ls?5:r<Ds?6:r<ps?7:r<ms?8:r<bs?9:10},gs={encode:ss,decode:as,encodingLength:ys},ws=gs,re=ws;var se=r=>[re.decode(r),re.decode.bytes],H=(r,e,t=0)=>(re.encode(r,e,t),e),X=r=>re.encodingLength(r);var T=(r,e)=>{let t=e.byteLength,s=X(r),n=s+X(t),o=new Uint8Array(n+t);return H(r,o,0),H(t,o,s),o.set(e,n),new ne(r,t,e,o)},Mt=r=>{let e=O(r),[t,s]=se(e),[n,o]=se(e.subarray(s)),i=e.subarray(s+o);if(i.byteLength!==n)throw new Error("Incorrect length");return new ne(t,n,i,e)},Nt=(r,e)=>r===e?!0:r.code===e.code&&r.size===e.size&&yt(r.bytes,e.bytes),ne=class{constructor(e,t,s,n){this.code=e,this.size=t,this.digest=s,this.bytes=n}};var ze=({name:r,code:e,encode:t})=>new Ut(r,e,t),Ut=class{constructor(e,t,s){this.name=e,this.code=t,this.encode=s}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?T(this.code,t):t.then(s=>T(this.code,s))}else throw Error("Unknown type, must be binary type")}};var _t=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Cs=ze({name:"sha2-256",code:18,encode:_t("SHA-256")}),Es=ze({name:"sha2-512",code:19,encode:_t("SHA-512")});var $e={};C($e,{identity:()=>vs});var Rt=0,xs="identity",Lt=O,Fs=r=>T(Rt,Lt(r)),vs={code:Rt,name:xs,encode:Lt,digest:Fs};var $n=new TextEncoder,Vn=new TextDecoder;var y=class{constructor(e,t,s,n){this.code=t,this.version=e,this.multihash=s,this.bytes=n,this.byteOffset=n.byteOffset,this.byteLength=n.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:De,byteLength:De,code:le,version:le,multihash:le,bytes:le,_baseCache:De,asCID:De})}toV0(){switch(this.version){case 0:return this;default:{let{code:e,multihash:t}=this;if(e!==oe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Bs)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return y.createV0(t)}}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,s=T(e,t);return y.createV1(this.code,s)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&Nt(this.multihash,e.multihash)}toString(e){let{bytes:t,version:s,_baseCache:n}=this;switch(s){case 0:return Is(t,n,e||N.encoder);default:return ks(t,n,e||G.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return Ns(/^0\.0/,Os),!!(e&&(e[zt]||e.asCID===e))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof y)return e;if(e!=null&&e.asCID===e){let{version:t,code:s,multihash:n,bytes:o}=e;return new y(t,s,n,o||Tt(t,s,n.bytes))}else if(e!=null&&e[zt]===!0){let{version:t,multihash:s,code:n}=e,o=Mt(s);return y.create(t,n,o)}else return null}static create(e,t,s){if(typeof t!="number")throw new Error("String codecs are no longer supported");switch(e){case 0:{if(t!==oe)throw new Error(`Version 0 CID must use dag-pb (code: ${oe}) block encoding`);return new y(e,t,s,s.bytes)}case 1:{let n=Tt(e,t,s.bytes);return new y(e,t,s,n)}default:throw new Error("Invalid version")}}static createV0(e){return y.create(0,oe,e)}static createV1(e,t){return y.create(1,e,t)}static decode(e){let[t,s]=y.decodeFirst(e);if(s.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=y.inspectBytes(e),s=t.size-t.multihashSize,n=O(e.subarray(s,s+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");let o=n.subarray(t.multihashSize-t.digestSize),i=new ne(t.multihashCode,t.digestSize,o,n);return[t.version===0?y.createV0(i):y.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,s=()=>{let[f,D]=se(e.subarray(t));return t+=D,f},n=s(),o=oe;if(n===18?(n=0,t=0):n===1&&(o=s()),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let i=t,c=s(),b=s(),k=t+b,u=k-i;return{version:n,codec:o,multihashCode:c,digestSize:b,multihashSize:u,size:k}}static parse(e,t){let[s,n]=js(e,t),o=y.decode(n);return o._baseCache.set(s,e),o}},js=(r,e)=>{switch(r[0]){case"Q":{let t=e||N;return[N.prefix,t.decode(`${N.prefix}${r}`)]}case N.prefix:{let t=e||N;return[N.prefix,t.decode(r)]}case G.prefix:{let t=e||G;return[G.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Is=(r,e,t)=>{let{prefix:s}=t;if(s!==N.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let n=e.get(s);if(n==null){let o=t.encode(r).slice(1);return e.set(s,o),o}else return n},ks=(r,e,t)=>{let{prefix:s}=t,n=e.get(s);if(n==null){let o=t.encode(r);return e.set(s,o),o}else return n},oe=112,Bs=18,Tt=(r,e,t)=>{let s=X(r),n=s+X(e),o=new Uint8Array(n+t.byteLength);return H(r,o,0),H(e,o,s),o.set(t,n),o},zt=Symbol.for("@ipld/js-cid/CID"),le={writable:!1,configurable:!1,enumerable:!0},De={writable:!1,enumerable:!1,configurable:!1},Ms="0.0.0-dev",Ns=(r,e)=>{if(r.test(Ms))console.warn(e);else throw new Error(e)},Os=`CID.isCID(v) is deprecated and will be removed in the next major release.
var DatastoreCore=(()=>{var mr=Object.create;var de=Object.defineProperty;var br=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var gr=Object.getPrototypeOf,wr=Object.prototype.hasOwnProperty;var ct=r=>de(r,"__esModule",{value:!0});var E=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),C=(r,e)=>{ct(r);for(var t in e)de(r,t,{get:e[t],enumerable:!0})},Cr=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of yr(e))!wr.call(r,s)&&s!=="default"&&de(r,s,{get:()=>e[s],enumerable:!(t=br(e,s))||t.enumerable});return r},F=r=>Cr(ct(de(r!=null?mr(gr(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var dt=E((an,ht)=>{"use strict";function ft(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function Er(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return ft(r,t)}catch(s){t.message=r.message,t.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),ft(new n,t)}}ht.exports=Er});var Jt=E((ho,Wt)=>{"use strict";var _s=async r=>{let e=[];for await(let t of r)e.push(t);return e};Wt.exports=_s});var Ge=E((Do,Ht)=>{"use strict";var Rs=async r=>{for await(let e of r);};Ht.exports=Rs});var He=E((po,Xt)=>{"use strict";var Ls=async function*(r,e){for await(let t of r)await e(t)&&(yield t)};Xt.exports=Ls});var Xe=E((mo,Zt)=>{"use strict";var Ts=async function*(r,e){let t=0;if(!(e<1)){for await(let s of r)if(yield s,t++,t===e)return}};Zt.exports=Ts});var Qt=E((xo,Yt)=>{"use strict";var zs=async function*(r,e){for await(let t of r)yield e(t)};Yt.exports=zs});var tr=E((Fo,Y)=>{var qt=(...r)=>{let e;for(;r.length;)e=r.shift()(e);return e},qe=r=>r&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),Ce=r=>r&&typeof r.sink=="function"&&qe(r.source),Ks=r=>e=>(r.sink(e),r.source),er=(...r)=>{if(Ce(r[0])){let e=r[0];r[0]=()=>e.source}else if(qe(r[0])){let e=r[0];r[0]=()=>e}if(r.length>1&&Ce(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let e=1;e<r.length-1;e++)Ce(r[e])&&(r[e]=Ks(r[e]));return qt(...r)};Y.exports=er;Y.exports.pipe=er;Y.exports.rawPipe=qt;Y.exports.isIterable=qe;Y.exports.isDuplex=Ce});var sr=E((Po,rr)=>{rr.exports=class{constructor(e){if(!(e>0)||(e-1&e)!=0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var ir=E((Ro,or)=>{var nr=sr();or.exports=class{constructor(e){this.hwm=e||16,this.head=new nr(this.hwm),this.tail=this.head}push(e){if(!this.head.push(e)){let t=this.head;this.head=t.next=new nr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next){let t=this.tail.next;return this.tail.next=null,this.tail=t,this.tail.shift()}return e}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var tt=E((Lo,ar)=>{var et=ir();ar.exports=r=>{r=r||{};let e;typeof r=="function"?(e=r,r={}):e=r.onEnd;let t=new et,s,n,o,i=()=>{if(!t.isEmpty()){if(r.writev){let h,d=[];for(;!t.isEmpty();){if(h=t.shift(),h.error)throw h.error;d.push(h.value)}return{done:h.done,value:d}}let a=t.shift();if(a.error)throw a.error;return a}return o?{done:!0}:new Promise((a,h)=>{n=d=>(n=null,d.error?h(d.error):r.writev&&!d.done?a({done:d.done,value:[d.value]}):a(d),s)})},c=a=>n?n(a):(t.push(a),s),b=a=>(t=new et,n?n({error:a}):(t.push({error:a}),s)),k=a=>o?s:c({done:!1,value:a}),u=a=>o?s:(o=!0,a?b(a):c({done:!0})),f=()=>(t=new et,u(),{done:!0}),D=a=>(u(a),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:i,return:f,throw:D,push:k,end:u},!e)return s;let B=s;return s={[Symbol.asyncIterator](){return this},next(){return B.next()},throw(a){return B.throw(a),e&&(e(a),e=null),{done:!0}},return(){return B.return(),e&&(e(),e=null),{done:!0}},push:k,end(a){return B.end(a),e&&(e(a),e=null),s}},s}});var cr=E((To,ur)=>{"use strict";var $s=tt(),Vs=async function*(...r){let e=$s();setTimeout(async()=>{try{await Promise.all(r.map(async t=>{for await(let s of t)e.push(s)})),e.end()}catch(t){e.end(t)}},0),yield*e};ur.exports=Vs});var hr=E((Wo,fr)=>{var q=1e3,ee=q*60,te=ee*60,$=te*24,Ws=$*7,Js=$*365.25;fr.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Gs(r);if(t==="number"&&isFinite(r))return e.long?Xs(r):Hs(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Gs(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!!e){var t=parseFloat(e[1]),s=(e[2]||"ms").toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return t*Js;case"weeks":case"week":case"w":return t*Ws;case"days":case"day":case"d":return t*$;case"hours":case"hour":case"hrs":case"hr":case"h":return t*te;case"minutes":case"minute":case"mins":case"min":case"m":return t*ee;case"seconds":case"second":case"secs":case"sec":case"s":return t*q;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Hs(r){var e=Math.abs(r);return e>=$?Math.round(r/$)+"d":e>=te?Math.round(r/te)+"h":e>=ee?Math.round(r/ee)+"m":e>=q?Math.round(r/q)+"s":r+"ms"}function Xs(r){var e=Math.abs(r);return e>=$?xe(r,e,$,"day"):e>=te?xe(r,e,te,"hour"):e>=ee?xe(r,e,ee,"minute"):e>=q?xe(r,e,q,"second"):r+" ms"}function xe(r,e,t,s){var n=e>=t*1.5;return Math.round(r/t)+" "+s+(n?"s":"")}});var lr=E((Jo,dr)=>{function Zs(r){t.debug=t,t.default=t,t.coerce=b,t.disable=o,t.enable=n,t.enabled=i,t.humanize=hr(),t.destroy=k,Object.keys(r).forEach(u=>{t[u]=r[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let f=0;for(let D=0;D<u.length;D++)f=(f<<5)-f+u.charCodeAt(D),f|=0;return t.colors[Math.abs(f)%t.colors.length]}t.selectColor=e;function t(u){let f,D=null,B,a;function h(...d){if(!h.enabled)return;let m=h,w=Number(new Date),S=w-(f||w);m.diff=S,m.prev=f,m.curr=w,f=w,d[0]=t.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let g=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(j,x)=>{if(j==="%%")return"%";g++;let I=t.formatters[x];if(typeof I=="function"){let V=d[g];j=I.call(m,V),d.splice(g,1),g--}return j}),t.formatArgs.call(m,d),(m.log||t.log).apply(m,d)}return h.namespace=u,h.useColors=t.useColors(),h.color=t.selectColor(u),h.extend=s,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>D!==null?D:(B!==t.namespaces&&(B=t.namespaces,a=t.enabled(u)),a),set:d=>{D=d}}),typeof t.init=="function"&&t.init(h),h}function s(u,f){let D=t(this.namespace+(typeof f=="undefined"?":":f)+u);return D.log=this.log,D}function n(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let f,D=(typeof u=="string"?u:"").split(/[\s,]+/),B=D.length;for(f=0;f<B;f++)!D[f]||(u=D[f].replace(/\*/g,".*?"),u[0]==="-"?t.skips.push(new RegExp("^"+u.slice(1)+"$")):t.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...t.names.map(c),...t.skips.map(c).map(f=>"-"+f)].join(",");return t.enable(""),u}function i(u){if(u[u.length-1]==="*")return!0;let f,D;for(f=0,D=t.skips.length;f<D;f++)if(t.skips[f].test(u))return!1;for(f=0,D=t.names.length;f<D;f++)if(t.names[f].test(u))return!0;return!1}function c(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function b(u){return u instanceof Error?u.stack||u.message:u}function k(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}dr.exports=Zs});var Dr=E((A,Fe)=>{A.formatArgs=Qs;A.save=qs;A.load=en;A.useColors=Ys;A.storage=tn();A.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();A.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Ys(){return typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Qs(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Fe.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,s=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(s=t))}),r.splice(s,0,e)}A.log=console.debug||console.log||(()=>{});function qs(r){try{r?A.storage.setItem("debug",r):A.storage.removeItem("debug")}catch(e){}}function en(){let r;try{r=A.storage.getItem("debug")}catch(e){}return!r&&typeof process!="undefined"&&"env"in process&&(r=process.env.DEBUG),r}function tn(){try{return localStorage}catch(r){}}Fe.exports=lr()(A);var{formatters:rn}=Fe.exports;rn.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var nn={};C(nn,{BaseDatastore:()=>v,Errors:()=>ve,KeyTransformDatastore:()=>K,MemoryDatastore:()=>Qe,MountDatastore:()=>nt,NamespaceDatastore:()=>ut,ShardingDatastore:()=>R,TieredDatastore:()=>at,shard:()=>Je});var ve={};C(ve,{abortedError:()=>xr,dbDeleteFailedError:()=>se,dbOpenFailedError:()=>re,dbWriteFailedError:()=>ne,notFoundError:()=>L});var W=F(dt());function re(r){return r=r||new Error("Cannot open database"),(0,W.default)(r,"ERR_DB_OPEN_FAILED")}function se(r){return r=r||new Error("Delete failed"),(0,W.default)(r,"ERR_DB_DELETE_FAILED")}function ne(r){return r=r||new Error("Write failed"),(0,W.default)(r,"ERR_DB_WRITE_FAILED")}function L(r){return r=r||new Error("Not Found"),(0,W.default)(r,"ERR_NOT_FOUND")}function xr(r){return r=r||new Error("Aborted"),(0,W.default)(r,"ERR_ABORTED")}var Je={};C(Je,{NextToLast:()=>We,PREFIX:()=>ye,Prefix:()=>$e,README_FN:()=>Ke,SHARDING_FN:()=>ge,ShardBase:()=>ce,Suffix:()=>Ve,parseShardFun:()=>Vt,readShardFun:()=>we,readme:()=>be});var lt=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");var Ae={};C(Ae,{identity:()=>Ir});function Fr(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),s=0;s<t.length;s++)t[s]=255;for(var n=0;n<r.length;n++){var o=r.charAt(n),i=o.charCodeAt(0);if(t[i]!==255)throw new TypeError(o+" is ambiguous");t[i]=n}var c=r.length,b=r.charAt(0),k=Math.log(c)/Math.log(256),u=Math.log(256)/Math.log(c);function f(a){if(a instanceof Uint8Array||(ArrayBuffer.isView(a)?a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength):Array.isArray(a)&&(a=Uint8Array.from(a))),!(a instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(a.length===0)return"";for(var h=0,d=0,m=0,w=a.length;m!==w&&a[m]===0;)m++,h++;for(var S=(w-m)*u+1>>>0,g=new Uint8Array(S);m!==w;){for(var M=a[m],j=0,x=S-1;(M!==0||j<d)&&x!==-1;x--,j++)M+=256*g[x]>>>0,g[x]=M%c>>>0,M=M/c>>>0;if(M!==0)throw new Error("Non-zero carry");d=j,m++}for(var I=S-d;I!==S&&g[I]===0;)I++;for(var V=b.repeat(h);I<S;++I)V+=r.charAt(g[I]);return V}function D(a){if(typeof a!="string")throw new TypeError("Expected String");if(a.length===0)return new Uint8Array;var h=0;if(a[h]!==" "){for(var d=0,m=0;a[h]===b;)d++,h++;for(var w=(a.length-h)*k+1>>>0,S=new Uint8Array(w);a[h];){var g=t[a.charCodeAt(h)];if(g===255)return;for(var M=0,j=w-1;(g!==0||M<m)&&j!==-1;j--,M++)g+=c*S[j]>>>0,S[j]=g%256>>>0,g=g/256>>>0;if(g!==0)throw new Error("Non-zero carry");m=M,h++}if(a[h]!==" "){for(var x=w-m;x!==w&&S[x]===0;)x++;for(var I=new Uint8Array(d+(w-x)),V=d;x!==w;)I[V++]=S[x++];return I}}}function B(a){var h=D(a);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:D,decode:B}}var vr=Fr,Ar=vr,Dt=Ar;var ln=new Uint8Array(0);var pt=(r,e)=>{if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0},O=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var mt=r=>new TextEncoder().encode(r),bt=r=>new TextDecoder().decode(r);var gt=class{constructor(e,t,s){this.name=e,this.prefix=t,this.baseEncode=s}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},wt=class{constructor(e,t,s){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=s}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Et(this,e)}},Ct=class{constructor(e){this.decoders=e}or(e){return Et(this,e)}decode(e){let t=e[0],s=this.decoders[t];if(s)return s.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Et=(r,e)=>new Ct({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}}),xt=class{constructor(e,t,s,n){this.name=e,this.prefix=t,this.baseEncode=s,this.baseDecode=n,this.encoder=new gt(e,t,s),this.decoder=new wt(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},J=({name:r,prefix:e,encode:t,decode:s})=>new xt(r,e,t,s),P=({prefix:r,name:e,alphabet:t})=>{let{encode:s,decode:n}=Dt(t,e);return J({prefix:r,name:e,encode:s,decode:o=>O(n(o))})},Sr=(r,e,t,s)=>{let n={};for(let u=0;u<e.length;++u)n[e[u]]=u;let o=r.length;for(;r[o-1]==="=";)--o;let i=new Uint8Array(o*t/8|0),c=0,b=0,k=0;for(let u=0;u<o;++u){let f=n[r[u]];if(f===void 0)throw new SyntaxError(`Non-${s} character`);b=b<<t|f,c+=t,c>=8&&(c-=8,i[k++]=255&b>>c)}if(c>=t||255&b<<8-c)throw new SyntaxError("Unexpected end of data");return i},jr=(r,e,t)=>{let s=e[e.length-1]==="=",n=(1<<t)-1,o="",i=0,c=0;for(let b=0;b<r.length;++b)for(c=c<<8|r[b],i+=8;i>t;)i-=t,o+=e[n&c>>i];if(i&&(o+=e[n&c<<t-i]),s)for(;o.length*t&7;)o+="=";return o},p=({name:r,prefix:e,bitsPerChar:t,alphabet:s})=>J({prefix:e,name:r,encode(n){return jr(n,s,t)},decode(n){return Sr(n,s,t,r)}});var Ir=J({prefix:"\0",name:"identity",encode:r=>bt(r),decode:r=>mt(r)});var Se={};C(Se,{base2:()=>kr});var kr=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var je={};C(je,{base8:()=>Br});var Br=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ie={};C(Ie,{base10:()=>Mr});var Mr=P({prefix:"9",name:"base10",alphabet:"0123456789"});var ke={};C(ke,{base16:()=>Nr,base16upper:()=>Or});var Nr=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Or=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Be={};C(Be,{base32:()=>G,base32hex:()=>Rr,base32hexpad:()=>Tr,base32hexpadupper:()=>zr,base32hexupper:()=>Lr,base32pad:()=>Pr,base32padupper:()=>_r,base32upper:()=>Ur,base32z:()=>Kr});var G=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ur=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Pr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_r=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Rr=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Lr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Tr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),zr=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Kr=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Me={};C(Me,{base36:()=>$r,base36upper:()=>Vr});var $r=P({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Vr=P({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ne={};C(Ne,{base58btc:()=>N,base58flickr:()=>Wr});var N=P({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Wr=P({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Oe={};C(Oe,{base64:()=>Jr,base64pad:()=>Gr,base64url:()=>Hr,base64urlpad:()=>Xr});var Jr=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Gr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hr=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Xr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ue={};C(Ue,{base256emoji:()=>es});var Ft=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Zr=Ft.reduce((r,e,t)=>(r[t]=e,r),[]),Yr=Ft.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Qr(r){return r.reduce((e,t)=>(e+=Zr[t],e),"")}function qr(r){let e=[];for(let t of r){let s=Yr[t.codePointAt(0)];if(s===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(s)}return new Uint8Array(e)}var es=J({prefix:"\u{1F680}",name:"base256emoji",encode:Qr,decode:qr});var Re={};C(Re,{sha256:()=>gs,sha512:()=>ws});var ts=At,vt=128,rs=127,ss=~rs,ns=Math.pow(2,31);function At(r,e,t){e=e||[],t=t||0;for(var s=t;r>=ns;)e[t++]=r&255|vt,r/=128;for(;r&ss;)e[t++]=r&255|vt,r>>>=7;return e[t]=r|0,At.bytes=t-s+1,e}var os=Pe,is=128,St=127;function Pe(r,e){var t=0,e=e||0,s=0,n=e,o,i=r.length;do{if(n>=i)throw Pe.bytes=0,new RangeError("Could not decode varint");o=r[n++],t+=s<28?(o&St)<<s:(o&St)*Math.pow(2,s),s+=7}while(o>=is);return Pe.bytes=n-e,t}var as=Math.pow(2,7),us=Math.pow(2,14),cs=Math.pow(2,21),fs=Math.pow(2,28),hs=Math.pow(2,35),ds=Math.pow(2,42),ls=Math.pow(2,49),Ds=Math.pow(2,56),ps=Math.pow(2,63),ms=function(r){return r<as?1:r<us?2:r<cs?3:r<fs?4:r<hs?5:r<ds?6:r<ls?7:r<Ds?8:r<ps?9:10},bs={encode:ts,decode:os,encodingLength:ms},ys=bs,oe=ys;var ie=r=>[oe.decode(r),oe.decode.bytes],H=(r,e,t=0)=>(oe.encode(r,e,t),e),X=r=>oe.encodingLength(r);var T=(r,e)=>{let t=e.byteLength,s=X(r),n=s+X(t),o=new Uint8Array(n+t);return H(r,o,0),H(t,o,s),o.set(e,n),new ae(r,t,e,o)},It=r=>{let e=O(r),[t,s]=ie(e),[n,o]=ie(e.subarray(s)),i=e.subarray(s+o);if(i.byteLength!==n)throw new Error("Incorrect length");return new ae(t,n,i,e)},kt=(r,e)=>r===e?!0:r.code===e.code&&r.size===e.size&&pt(r.bytes,e.bytes),ae=class{constructor(e,t,s,n){this.code=e,this.size=t,this.digest=s,this.bytes=n}};var _e=({name:r,code:e,encode:t})=>new Mt(r,e,t),Mt=class{constructor(e,t,s){this.name=e,this.code=t,this.encode=s}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?T(this.code,t):t.then(s=>T(this.code,s))}else throw Error("Unknown type, must be binary type")}};var Ot=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),gs=_e({name:"sha2-256",code:18,encode:Ot("SHA-256")}),ws=_e({name:"sha2-512",code:19,encode:Ot("SHA-512")});var Le={};C(Le,{identity:()=>xs});var Ut=0,Cs="identity",Pt=O,Es=r=>T(Ut,Pt(r)),xs={code:Ut,name:Cs,encode:Pt,digest:Es};var _n=new TextEncoder,Rn=new TextDecoder;var y=class{constructor(e,t,s,n){this.code=t,this.version=e,this.multihash=s,this.bytes=n,this.byteOffset=n.byteOffset,this.byteLength=n.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:De,byteLength:De,code:le,version:le,multihash:le,bytes:le,_baseCache:De,asCID:De})}toV0(){switch(this.version){case 0:return this;default:{let{code:e,multihash:t}=this;if(e!==ue)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Is)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return y.createV0(t)}}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,s=T(e,t);return y.createV1(this.code,s)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&kt(this.multihash,e.multihash)}toString(e){let{bytes:t,version:s,_baseCache:n}=this;switch(s){case 0:return Ss(t,n,e||N.encoder);default:return js(t,n,e||G.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return Bs(/^0\.0/,Ms),!!(e&&(e[Rt]||e.asCID===e))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof y)return e;if(e!=null&&e.asCID===e){let{version:t,code:s,multihash:n,bytes:o}=e;return new y(t,s,n,o||_t(t,s,n.bytes))}else if(e!=null&&e[Rt]===!0){let{version:t,multihash:s,code:n}=e,o=It(s);return y.create(t,n,o)}else return null}static create(e,t,s){if(typeof t!="number")throw new Error("String codecs are no longer supported");switch(e){case 0:{if(t!==ue)throw new Error(`Version 0 CID must use dag-pb (code: ${ue}) block encoding`);return new y(e,t,s,s.bytes)}case 1:{let n=_t(e,t,s.bytes);return new y(e,t,s,n)}default:throw new Error("Invalid version")}}static createV0(e){return y.create(0,ue,e)}static createV1(e,t){return y.create(1,e,t)}static decode(e){let[t,s]=y.decodeFirst(e);if(s.length)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=y.inspectBytes(e),s=t.size-t.multihashSize,n=O(e.subarray(s,s+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");let o=n.subarray(t.multihashSize-t.digestSize),i=new ae(t.multihashCode,t.digestSize,o,n);return[t.version===0?y.createV0(i):y.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,s=()=>{let[f,D]=ie(e.subarray(t));return t+=D,f},n=s(),o=ue;if(n===18?(n=0,t=0):n===1&&(o=s()),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let i=t,c=s(),b=s(),k=t+b,u=k-i;return{version:n,codec:o,multihashCode:c,digestSize:b,multihashSize:u,size:k}}static parse(e,t){let[s,n]=As(e,t),o=y.decode(n);return o._baseCache.set(s,e),o}},As=(r,e)=>{switch(r[0]){case"Q":{let t=e||N;return[N.prefix,t.decode(`${N.prefix}${r}`)]}case N.prefix:{let t=e||N;return[N.prefix,t.decode(r)]}case G.prefix:{let t=e||G;return[G.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}},Ss=(r,e,t)=>{let{prefix:s}=t;if(s!==N.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let n=e.get(s);if(n==null){let o=t.encode(r).slice(1);return e.set(s,o),o}else return n},js=(r,e,t)=>{let{prefix:s}=t,n=e.get(s);if(n==null){let o=t.encode(r);return e.set(s,o),o}else return n},ue=112,Is=18,_t=(r,e,t)=>{let s=X(r),n=s+X(e),o=new Uint8Array(n+t.byteLength);return H(r,o,0),H(e,o,s),o.set(t,n),o},Rt=Symbol.for("@ipld/js-cid/CID"),le={writable:!1,configurable:!1,enumerable:!0},De={writable:!1,enumerable:!1,configurable:!1},ks="0.0.0-dev",Bs=(r,e)=>{if(r.test(ks))console.warn(e);else throw new Error(e)},Ms=`CID.isCID(v) is deprecated and will be removed in the next major release.
Following code pattern:

@@ -16,3 +16,3 @@

}
`;var Ve={...ke,...Be,...Me,...Ne,...Oe,...Ue,...Pe,..._e,...Re,...Le},eo={...Ke,...$e};function Kt(r,e,t,s){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:s}}}var $t=Kt("utf8","u",r=>{let e=new TextDecoder("utf8");return"u"+e.decode(r)},r=>new TextEncoder().encode(r.substring(1))),We=Kt("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Us={utf8:$t,"utf-8":$t,hex:Ve.base16,latin1:We,ascii:We,binary:We,...Ve},pe=Us;function Vt(r,e="utf8"){let t=pe[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}function Wt(r,e="utf8"){let t=pe[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}var U="/",Jt=new TextEncoder().encode(U),me=Jt[0],l=class{constructor(e,t){if(typeof e=="string")this._buf=Wt(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==me)throw new Error("Invalid key")}toString(e="utf8"){return Vt(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new l(e.join(U))}static random(){return new l(mt().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new l(e):e.uint8Array?new l(e.uint8Array()):null}clean(){if((!this._buf||this._buf.byteLength===0)&&(this._buf=Jt),this._buf[0]!==me){let e=new Uint8Array(this._buf.byteLength+1);e.fill(me,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===me;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),s=e.list();for(let n=0;n<t.length;n++){if(s.length<n+1)return!1;let o=t[n],i=s[n];if(o<i)return!0;if(o>i)return!1}return t.length<s.length}reverse(){return l.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(U).slice(1)}type(){return Ps(this.baseNamespace())}name(){return _s(this.baseNamespace())}instance(e){return new l(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(U)||(e+=U),e+=this.type(),new l(e)}parent(){let e=this.list();return e.length===1?new l(U):new l(e.slice(0,-1).join(U))}child(e){return this.toString()===U?e:e.toString()===U?this:new l(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return l.withNamespaces([...this.namespaces(),...Rs(e.map(t=>t.namespaces()))])}};function Ps(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function _s(r){let e=r.split(":");return e[e.length-1]}function Rs(r){return[].concat(...r)}var Je={};C(Je,{abortedError:()=>Ts,dbDeleteFailedError:()=>ae,dbOpenFailedError:()=>ie,dbWriteFailedError:()=>ue,notFoundError:()=>z});var Z=F(Xt());function ie(r){return r=r||new Error("Cannot open database"),(0,Z.default)(r,"ERR_DB_OPEN_FAILED")}function ae(r){return r=r||new Error("Delete failed"),(0,Z.default)(r,"ERR_DB_DELETE_FAILED")}function ue(r){return r=r||new Error("Write failed"),(0,Z.default)(r,"ERR_DB_WRITE_FAILED")}function z(r){return r=r||new Error("Not Found"),(0,Z.default)(r,"ERR_NOT_FOUND")}function Ts(r){return r=r||new Error("Aborted"),(0,Z.default)(r,"ERR_ABORTED")}var Ge=class extends v{constructor(){super();this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,t){this.data[e.toString()]=t}async get(e){if(!await this.has(e))throw z();return this.data[e.toString()]}async has(e){return this.data[e.toString()]!==void 0}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map(([e,t])=>({key:new l(e),value:t}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>new l(e))}};var _=F(Yt()),ye=F(er()),K=class extends v{constructor(e,t){super();this.child=e,this.transform=t}open(){return this.child.open()}put(e,t,s){return this.child.put(this.transform.convert(e),t,s)}get(e,t){return this.child.get(this.transform.convert(e),t)}has(e,t){return this.child.has(this.transform.convert(e),t)}delete(e,t){return this.child.delete(this.transform.convert(e),t)}async*putMany(e,t={}){let s=this.transform,n=this.child;yield*(0,ye.pipe)(e,async function*(o){yield*(0,_.default)(o,({key:i,value:c})=>({key:s.convert(i),value:c}))},async function*(o){yield*n.putMany(o,t)},async function*(o){yield*(0,_.default)(o,({key:i,value:c})=>({key:s.invert(i),value:c}))})}async*getMany(e,t={}){let s=this.transform,n=this.child;yield*(0,ye.pipe)(e,async function*(o){yield*(0,_.default)(o,i=>s.convert(i))},async function*(o){yield*n.getMany(o,t)})}async*deleteMany(e,t={}){let s=this.transform,n=this.child;yield*(0,ye.pipe)(e,async function*(o){yield*(0,_.default)(o,i=>s.convert(i))},async function*(o){yield*n.deleteMany(o,t)},async function*(o){yield*(0,_.default)(o,i=>s.invert(i))})}batch(){let e=this.child.batch();return{put:(t,s)=>{e.put(this.transform.convert(t),s)},delete:t=>{e.delete(this.transform.convert(t))},commit:t=>e.commit(t)}}query(e,t){let s={...e};s.filters=(s.filters||[]).map(o=>({key:i,value:c})=>o({key:this.transform.convert(i),value:c}));let{prefix:n}=e;return n!=null&&n!=="/"&&(delete s.prefix,s.filters.push(({key:o})=>this.transform.invert(o).toString().startsWith(n))),s.orders&&(s.orders=s.orders.map(o=>(i,c)=>o({key:this.transform.invert(i.key),value:i.value},{key:this.transform.invert(c.key),value:c.value}))),(0,_.default)(this.child.query(s,t),({key:o,value:i})=>({key:this.transform.invert(o),value:i}))}queryKeys(e,t){let s={...e};s.filters=(s.filters||[]).map(o=>i=>o(this.transform.convert(i)));let{prefix:n}=e;return n!=null&&n!=="/"&&(delete s.prefix,s.filters.push(o=>this.transform.invert(o).toString().startsWith(n))),s.orders&&(s.orders=s.orders.map(o=>(i,c)=>o(this.transform.invert(i),this.transform.invert(c)))),(0,_.default)(this.child.queryKeys(s,t),o=>this.transform.invert(o))}close(){return this.child.close()}};var qe={};C(qe,{NextToLast:()=>Qe,PREFIX:()=>we,Prefix:()=>Ze,README_FN:()=>Xe,SHARDING_FN:()=>Ce,ShardBase:()=>ce,Suffix:()=>Ye,parseShardFun:()=>tr,readShardFun:()=>Ee,readme:()=>ge});var ge=`This is a repository of IPLD objects. Each IPLD object is in a single file,
`;var Te={...Ae,...Se,...je,...Ie,...ke,...Be,...Me,...Ne,...Oe,...Ue},Hn={...Re,...Le};function Lt(r,e,t,s){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:s}}}var Tt=Lt("utf8","u",r=>{let e=new TextDecoder("utf8");return"u"+e.decode(r)},r=>new TextEncoder().encode(r.substring(1))),ze=Lt("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Ns={utf8:Tt,"utf-8":Tt,hex:Te.base16,latin1:ze,ascii:ze,binary:ze,...Te},pe=Ns;function zt(r,e="utf8"){let t=pe[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}function Kt(r,e="utf8"){let t=pe[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}var U="/",$t=new TextEncoder().encode(U),me=$t[0],l=class{constructor(e,t){if(typeof e=="string")this._buf=Kt(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==me)throw new Error("Invalid key")}toString(e="utf8"){return zt(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new l(e.join(U))}static random(){return new l(lt().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new l(e):e.uint8Array?new l(e.uint8Array()):null}clean(){if((!this._buf||this._buf.byteLength===0)&&(this._buf=$t),this._buf[0]!==me){let e=new Uint8Array(this._buf.byteLength+1);e.fill(me,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===me;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),s=e.list();for(let n=0;n<t.length;n++){if(s.length<n+1)return!1;let o=t[n],i=s[n];if(o<i)return!0;if(o>i)return!1}return t.length<s.length}reverse(){return l.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(U).slice(1)}type(){return Os(this.baseNamespace())}name(){return Us(this.baseNamespace())}instance(e){return new l(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(U)||(e+=U),e+=this.type(),new l(e)}parent(){let e=this.list();return e.length===1?new l(U):new l(e.slice(0,-1).join(U))}child(e){return this.toString()===U?e:e.toString()===U?this:new l(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return l.withNamespaces([...this.namespaces(),...Ps(e.map(t=>t.namespaces()))])}};function Os(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Us(r){let e=r.split(":");return e[e.length-1]}function Ps(r){return[].concat(...r)}var be=`This is a repository of IPLD objects. Each IPLD object is in a single file,
named <base32 encoding of cid>.data. Where <base32 encoding of cid> is the

@@ -39,4 +39,4 @@ "base32" encoding of the CID (as specified in

stored in the filename.
`;var we="/repo/flatfs/shard/",Ce="SHARDING",Xe="_README",ce=class{constructor(e){this.param=e,this.name="base",this._padding=""}fun(e){return"implement me"}toString(){return`${we}v1/${this.name}/${this.param}`}},Ze=class extends ce{constructor(e){super(e);this._padding="".padStart(e,"_"),this.name="prefix"}fun(e){return(e+this._padding).slice(0,this.param)}},Ye=class extends ce{constructor(e){super(e);this._padding="".padStart(e,"_"),this.name="suffix"}fun(e){let t=this._padding+e;return t.slice(t.length-this.param)}},Qe=class extends ce{constructor(e){super(e);this._padding="".padStart(e+1,"_"),this.name="next-to-last"}fun(e){let t=this._padding+e,s=t.length-this.param-1;return t.slice(s,s+this.param)}};function tr(r){if(r=r.trim(),r.length===0)throw new Error("empty shard string");if(!r.startsWith(we))throw new Error(`invalid or no path prefix: ${r}`);let e=r.slice(we.length).split("/"),t=e[0];if(t!=="v1")throw new Error(`expect 'v1' version, got '${t}'`);let s=e[1];if(!e[2])throw new Error("missing param");let n=parseInt(e[2],10);switch(s){case"prefix":return new Ze(n);case"suffix":return new Ye(n);case"next-to-last":return new Qe(n);default:throw new Error(`unkown sharding function: ${s}`)}}var Ee=async(r,e)=>{let t=new l(r).child(new l(Ce)),n=await(typeof e.getRaw=="function"?e.getRaw.bind(e):e.get.bind(e))(t);return tr(new TextDecoder().decode(n||"").trim())};var Q=new l(Ce),fe=new l(Xe),R=class extends v{constructor(e,t){super();this.child=new K(e,{convert:this._convertKey.bind(this),invert:this._invertKey.bind(this)}),this.shard=t}async open(){await this.child.open(),this.shard=await R.create(this.child,this.shard)}_convertKey(e){let t=e.toString();return t===Q.toString()||t===fe.toString()?e:new l(this.shard.fun(t)).child(e)}_invertKey(e){let t=e.toString();return t===Q.toString()||t===fe.toString()?e:l.withNamespaces(e.list().slice(1))}static async createOrOpen(e,t){try{await R.create(e,t)}catch(s){if(s&&s.message!=="datastore exists")throw s}return R.open(e)}static async open(e){let t=await Ee("/",e);return new R(e,t)}static async create(e,t){let s=await e.has(Q);if(!s&&!t)throw ie(Error("Shard is required when datastore doesn't have a shard key already."));if(!s){let c=typeof e.putRaw=="function"?e.putRaw.bind(e):e.put.bind(e);return await Promise.all([c(Q,new TextEncoder().encode(t.toString()+`
`)),c(fe,new TextEncoder().encode(ge))]),t}let n=await Ee("/",e),o=(n||"").toString(),i=t.toString();if(o!==i)throw new Error(`specified fun ${i} does not match repo shard fun ${o}`);return n}put(e,t,s){return this.child.put(e,t,s)}get(e,t){return this.child.get(e,t)}has(e,t){return this.child.has(e,t)}delete(e,t){return this.child.delete(e,t)}async*putMany(e,t={}){yield*this.child.putMany(e,t)}async*getMany(e,t={}){yield*this.child.getMany(e,t)}async*deleteMany(e,t={}){yield*this.child.deleteMany(e,t)}batch(){return this.child.batch()}query(e,t){let s={...e,filters:[({key:n})=>n.toString()!==Q.toString(),({key:n})=>n.toString()!==fe.toString()].concat(e.filters||[])};return this.child.query(s,t)}queryKeys(e,t){let s={...e,filters:[n=>n.toString()!==Q.toString(),n=>n.toString()!==fe.toString()].concat(e.filters||[])};return this.child.queryKeys(s,t)}close(){return this.child.close()}};var he=F(Ae()),rt=F(Se()),st=F(cr());var nt=class extends v{constructor(e){super();this.mounts=e.slice()}async open(){await Promise.all(this.mounts.map(e=>e.datastore.open()))}_lookup(e){for(let t of this.mounts)if(t.prefix.toString()===e.toString()||t.prefix.isAncestorOf(e))return{datastore:t.datastore,mountpoint:t.prefix}}put(e,t,s){let n=this._lookup(e);if(n==null)throw ue(new Error("No datastore mounted for this key"));return n.datastore.put(e,t,s)}get(e,t){let s=this._lookup(e);if(s==null)throw z(new Error("No datastore mounted for this key"));return s.datastore.get(e,t)}has(e,t){let s=this._lookup(e);return s==null?Promise.resolve(!1):s.datastore.has(e,t)}delete(e,t){let s=this._lookup(e);if(s==null)throw ae(new Error("No datastore mounted for this key"));return s.datastore.delete(e,t)}async close(){await Promise.all(this.mounts.map(e=>e.datastore.close()))}batch(){let e={},t=s=>{let n=this._lookup(s);if(n==null)throw new Error("No datastore mounted for this key");let o=n.mountpoint.toString();return e[o]==null&&(e[o]=n.datastore.batch()),{batch:e[o]}};return{put:(s,n)=>{t(s).batch.put(s,n)},delete:s=>{t(s).batch.delete(s)},commit:async s=>{await Promise.all(Object.keys(e).map(n=>e[n].commit(s)))}}}query(e,t){let s=this.mounts.map(o=>o.datastore.query({prefix:e.prefix,filters:e.filters},t)),n=(0,st.default)(...s);if(e.filters&&e.filters.forEach(o=>{n=(0,he.default)(n,o)}),e.orders&&e.orders.forEach(o=>{n=W(n,o)}),e.offset!=null){let o=0;n=(0,he.default)(n,()=>o++>=e.offset)}return e.limit!=null&&(n=(0,rt.default)(n,e.limit)),n}queryKeys(e,t){let s=this.mounts.map(o=>o.datastore.queryKeys({prefix:e.prefix,filters:e.filters},t)),n=(0,st.default)(...s);if(e.filters&&e.filters.forEach(o=>{n=(0,he.default)(n,o)}),e.orders&&e.orders.forEach(o=>{n=W(n,o)}),e.offset!=null){let o=0;n=(0,he.default)(n,()=>o++>=e.offset)}return e.limit!=null&&(n=(0,rt.default)(n,e.limit)),n}};var pr=F(Dr()),ot=F(tt()),it=F(ve()),sn=(0,pr.default)("datastore:core:tiered"),at=class extends v{constructor(e){super();this.stores=e.slice()}async open(){try{await Promise.all(this.stores.map(e=>e.open()))}catch(e){throw ie()}}async put(e,t,s){try{await Promise.all(this.stores.map(n=>n.put(e,t,s)))}catch(n){throw ue()}}async get(e,t){for(let s of this.stores)try{let n=await s.get(e,t);if(n)return n}catch(n){sn(n)}throw z()}async has(e,t){for(let s of this.stores)if(await s.has(e,t))return!0;return!1}async delete(e,t){try{await Promise.all(this.stores.map(s=>s.delete(e,t)))}catch(s){throw ae()}}async*putMany(e,t={}){let s,n=this.stores.map(o=>{let i=(0,ot.default)();return(0,it.default)(o.putMany(i,t)).catch(c=>{s=c}),i});try{for await(let o of e){if(s)throw s;n.forEach(i=>i.push(o)),yield o}}finally{n.forEach(o=>o.end())}}async*deleteMany(e,t={}){let s,n=this.stores.map(o=>{let i=(0,ot.default)();return(0,it.default)(o.deleteMany(i,t)).catch(c=>{s=c}),i});try{for await(let o of e){if(s)throw s;n.forEach(i=>i.push(o)),yield o}}finally{n.forEach(o=>o.end())}}async close(){await Promise.all(this.stores.map(e=>e.close()))}batch(){let e=this.stores.map(t=>t.batch());return{put:(t,s)=>{e.forEach(n=>n.put(t,s))},delete:t=>{e.forEach(s=>s.delete(t))},commit:async t=>{for(let s of e)await s.commit(t)}}}query(e,t){return this.stores[this.stores.length-1].query(e,t)}queryKeys(e,t){return this.stores[this.stores.length-1].queryKeys(e,t)}};var ut=class extends K{constructor(e,t){super(e,{convert(s){return t.child(s)},invert(s){if(t.toString()==="/")return s;if(!t.isAncestorOf(s))throw new Error(`Expected prefix: (${t.toString()}) in key: ${s.toString()}`);return new l(s.toString().slice(t.toString().length),!1)}})}};return nn;})();
`;var ye="/repo/flatfs/shard/",ge="SHARDING",Ke="_README",ce=class{constructor(e){this.param=e,this.name="base",this._padding=""}fun(e){return"implement me"}toString(){return`${ye}v1/${this.name}/${this.param}`}},$e=class extends ce{constructor(e){super(e);this._padding="".padStart(e,"_"),this.name="prefix"}fun(e){return(e+this._padding).slice(0,this.param)}},Ve=class extends ce{constructor(e){super(e);this._padding="".padStart(e,"_"),this.name="suffix"}fun(e){let t=this._padding+e;return t.slice(t.length-this.param)}},We=class extends ce{constructor(e){super(e);this._padding="".padStart(e+1,"_"),this.name="next-to-last"}fun(e){let t=this._padding+e,s=t.length-this.param-1;return t.slice(s,s+this.param)}};function Vt(r){if(r=r.trim(),r.length===0)throw new Error("empty shard string");if(!r.startsWith(ye))throw new Error(`invalid or no path prefix: ${r}`);let e=r.slice(ye.length).split("/"),t=e[0];if(t!=="v1")throw new Error(`expect 'v1' version, got '${t}'`);let s=e[1];if(!e[2])throw new Error("missing param");let n=parseInt(e[2],10);switch(s){case"prefix":return new $e(n);case"suffix":return new Ve(n);case"next-to-last":return new We(n);default:throw new Error(`unkown sharding function: ${s}`)}}var we=async(r,e)=>{let t=new l(r).child(new l(ge)),n=await(typeof e.getRaw=="function"?e.getRaw.bind(e):e.get.bind(e))(t);return Vt(new TextDecoder().decode(n||"").trim())};var Gt=F(Jt()),Z=(r,e)=>async function*(){yield*(await(0,Gt.default)(r)).sort(e)}();var Ze=F(Ge()),z=F(He()),Ye=F(Xe()),v=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,t,s){return Promise.reject(new Error(".put is not implemented"))}get(e,t){return Promise.reject(new Error(".get is not implemented"))}has(e,t){return Promise.reject(new Error(".has is not implemented"))}delete(e,t){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,t={}){for await(let{key:s,value:n}of e)await this.put(s,n,t),yield{key:s,value:n}}async*getMany(e,t={}){for await(let s of e)yield this.get(s,t)}async*deleteMany(e,t={}){for await(let s of e)await this.delete(s,t),yield s}batch(){let e=[],t=[];return{put(s,n){e.push({key:s,value:n})},delete(s){t.push(s)},commit:async s=>{await(0,Ze.default)(this.putMany(e,s)),e=[],await(0,Ze.default)(this.deleteMany(t,s)),t=[]}}}async*_all(e,t){throw new Error("._all is not implemented")}async*_allKeys(e,t){throw new Error("._allKeys is not implemented")}query(e,t){let s=this._all(e,t);if(e.prefix!=null&&(s=(0,z.default)(s,n=>n.key.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(s=e.filters.reduce((n,o)=>(0,z.default)(n,o),s)),Array.isArray(e.orders)&&(s=e.orders.reduce((n,o)=>Z(n,o),s)),e.offset!=null){let n=0;s=(0,z.default)(s,()=>n++>=e.offset)}return e.limit!=null&&(s=(0,Ye.default)(s,e.limit)),s}queryKeys(e,t){let s=this._allKeys(e,t);if(e.prefix!=null&&(s=(0,z.default)(s,n=>n.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(s=e.filters.reduce((n,o)=>(0,z.default)(n,o),s)),Array.isArray(e.orders)&&(s=e.orders.reduce((n,o)=>Z(n,o),s)),e.offset!=null){let n=0;s=(0,z.default)(s,()=>n++>=e.offset)}return e.limit!=null&&(s=(0,Ye.default)(s,e.limit)),s}};var Qe=class extends v{constructor(){super();this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,t){this.data[e.toString()]=t}async get(e){if(!await this.has(e))throw L();return this.data[e.toString()]}async has(e){return this.data[e.toString()]!==void 0}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map(([e,t])=>({key:new l(e),value:t}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>new l(e))}};var _=F(Qt()),Ee=F(tr()),K=class extends v{constructor(e,t){super();this.child=e,this.transform=t}open(){return this.child.open()}put(e,t,s){return this.child.put(this.transform.convert(e),t,s)}get(e,t){return this.child.get(this.transform.convert(e),t)}has(e,t){return this.child.has(this.transform.convert(e),t)}delete(e,t){return this.child.delete(this.transform.convert(e),t)}async*putMany(e,t={}){let s=this.transform,n=this.child;yield*(0,Ee.pipe)(e,async function*(o){yield*(0,_.default)(o,({key:i,value:c})=>({key:s.convert(i),value:c}))},async function*(o){yield*n.putMany(o,t)},async function*(o){yield*(0,_.default)(o,({key:i,value:c})=>({key:s.invert(i),value:c}))})}async*getMany(e,t={}){let s=this.transform,n=this.child;yield*(0,Ee.pipe)(e,async function*(o){yield*(0,_.default)(o,i=>s.convert(i))},async function*(o){yield*n.getMany(o,t)})}async*deleteMany(e,t={}){let s=this.transform,n=this.child;yield*(0,Ee.pipe)(e,async function*(o){yield*(0,_.default)(o,i=>s.convert(i))},async function*(o){yield*n.deleteMany(o,t)},async function*(o){yield*(0,_.default)(o,i=>s.invert(i))})}batch(){let e=this.child.batch();return{put:(t,s)=>{e.put(this.transform.convert(t),s)},delete:t=>{e.delete(this.transform.convert(t))},commit:t=>e.commit(t)}}query(e,t){let s={...e};s.filters=(s.filters||[]).map(o=>({key:i,value:c})=>o({key:this.transform.convert(i),value:c}));let{prefix:n}=e;return n!=null&&n!=="/"&&(delete s.prefix,s.filters.push(({key:o})=>this.transform.invert(o).toString().startsWith(n))),s.orders&&(s.orders=s.orders.map(o=>(i,c)=>o({key:this.transform.invert(i.key),value:i.value},{key:this.transform.invert(c.key),value:c.value}))),(0,_.default)(this.child.query(s,t),({key:o,value:i})=>({key:this.transform.invert(o),value:i}))}queryKeys(e,t){let s={...e};s.filters=(s.filters||[]).map(o=>i=>o(this.transform.convert(i)));let{prefix:n}=e;return n!=null&&n!=="/"&&(delete s.prefix,s.filters.push(o=>this.transform.invert(o).toString().startsWith(n))),s.orders&&(s.orders=s.orders.map(o=>(i,c)=>o(this.transform.invert(i),this.transform.invert(c)))),(0,_.default)(this.child.queryKeys(s,t),o=>this.transform.invert(o))}close(){return this.child.close()}};var Q=new l(ge),fe=new l(Ke),R=class extends v{constructor(e,t){super();this.child=new K(e,{convert:this._convertKey.bind(this),invert:this._invertKey.bind(this)}),this.shard=t}async open(){await this.child.open(),this.shard=await R.create(this.child,this.shard)}_convertKey(e){let t=e.toString();return t===Q.toString()||t===fe.toString()?e:new l(this.shard.fun(t)).child(e)}_invertKey(e){let t=e.toString();return t===Q.toString()||t===fe.toString()?e:l.withNamespaces(e.list().slice(1))}static async createOrOpen(e,t){try{await R.create(e,t)}catch(s){if(s&&s.message!=="datastore exists")throw s}return R.open(e)}static async open(e){let t=await we("/",e);return new R(e,t)}static async create(e,t){let s=await e.has(Q);if(!s&&!t)throw re(Error("Shard is required when datastore doesn't have a shard key already."));if(!s){let c=typeof e.putRaw=="function"?e.putRaw.bind(e):e.put.bind(e);return await Promise.all([c(Q,new TextEncoder().encode(t.toString()+`
`)),c(fe,new TextEncoder().encode(be))]),t}let n=await we("/",e),o=(n||"").toString(),i=t.toString();if(o!==i)throw new Error(`specified fun ${i} does not match repo shard fun ${o}`);return n}put(e,t,s){return this.child.put(e,t,s)}get(e,t){return this.child.get(e,t)}has(e,t){return this.child.has(e,t)}delete(e,t){return this.child.delete(e,t)}async*putMany(e,t={}){yield*this.child.putMany(e,t)}async*getMany(e,t={}){yield*this.child.getMany(e,t)}async*deleteMany(e,t={}){yield*this.child.deleteMany(e,t)}batch(){return this.child.batch()}query(e,t){let s={...e,filters:[({key:n})=>n.toString()!==Q.toString(),({key:n})=>n.toString()!==fe.toString()].concat(e.filters||[])};return this.child.query(s,t)}queryKeys(e,t){let s={...e,filters:[n=>n.toString()!==Q.toString(),n=>n.toString()!==fe.toString()].concat(e.filters||[])};return this.child.queryKeys(s,t)}close(){return this.child.close()}};var he=F(He()),rt=F(Xe()),st=F(cr());var nt=class extends v{constructor(e){super();this.mounts=e.slice()}async open(){await Promise.all(this.mounts.map(e=>e.datastore.open()))}_lookup(e){for(let t of this.mounts)if(t.prefix.toString()===e.toString()||t.prefix.isAncestorOf(e))return{datastore:t.datastore,mountpoint:t.prefix}}put(e,t,s){let n=this._lookup(e);if(n==null)throw ne(new Error("No datastore mounted for this key"));return n.datastore.put(e,t,s)}get(e,t){let s=this._lookup(e);if(s==null)throw L(new Error("No datastore mounted for this key"));return s.datastore.get(e,t)}has(e,t){let s=this._lookup(e);return s==null?Promise.resolve(!1):s.datastore.has(e,t)}delete(e,t){let s=this._lookup(e);if(s==null)throw se(new Error("No datastore mounted for this key"));return s.datastore.delete(e,t)}async close(){await Promise.all(this.mounts.map(e=>e.datastore.close()))}batch(){let e={},t=s=>{let n=this._lookup(s);if(n==null)throw new Error("No datastore mounted for this key");let o=n.mountpoint.toString();return e[o]==null&&(e[o]=n.datastore.batch()),{batch:e[o]}};return{put:(s,n)=>{t(s).batch.put(s,n)},delete:s=>{t(s).batch.delete(s)},commit:async s=>{await Promise.all(Object.keys(e).map(n=>e[n].commit(s)))}}}query(e,t){let s=this.mounts.map(o=>o.datastore.query({prefix:e.prefix,filters:e.filters},t)),n=(0,st.default)(...s);if(e.filters&&e.filters.forEach(o=>{n=(0,he.default)(n,o)}),e.orders&&e.orders.forEach(o=>{n=Z(n,o)}),e.offset!=null){let o=0;n=(0,he.default)(n,()=>o++>=e.offset)}return e.limit!=null&&(n=(0,rt.default)(n,e.limit)),n}queryKeys(e,t){let s=this.mounts.map(o=>o.datastore.queryKeys({prefix:e.prefix,filters:e.filters},t)),n=(0,st.default)(...s);if(e.filters&&e.filters.forEach(o=>{n=(0,he.default)(n,o)}),e.orders&&e.orders.forEach(o=>{n=Z(n,o)}),e.offset!=null){let o=0;n=(0,he.default)(n,()=>o++>=e.offset)}return e.limit!=null&&(n=(0,rt.default)(n,e.limit)),n}};var pr=F(Dr()),ot=F(tt()),it=F(Ge()),sn=(0,pr.default)("datastore:core:tiered"),at=class extends v{constructor(e){super();this.stores=e.slice()}async open(){try{await Promise.all(this.stores.map(e=>e.open()))}catch(e){throw re()}}async put(e,t,s){try{await Promise.all(this.stores.map(n=>n.put(e,t,s)))}catch(n){throw ne()}}async get(e,t){for(let s of this.stores)try{let n=await s.get(e,t);if(n)return n}catch(n){sn(n)}throw L()}async has(e,t){for(let s of this.stores)if(await s.has(e,t))return!0;return!1}async delete(e,t){try{await Promise.all(this.stores.map(s=>s.delete(e,t)))}catch(s){throw se()}}async*putMany(e,t={}){let s,n=this.stores.map(o=>{let i=(0,ot.default)();return(0,it.default)(o.putMany(i,t)).catch(c=>{s=c}),i});try{for await(let o of e){if(s)throw s;n.forEach(i=>i.push(o)),yield o}}finally{n.forEach(o=>o.end())}}async*deleteMany(e,t={}){let s,n=this.stores.map(o=>{let i=(0,ot.default)();return(0,it.default)(o.deleteMany(i,t)).catch(c=>{s=c}),i});try{for await(let o of e){if(s)throw s;n.forEach(i=>i.push(o)),yield o}}finally{n.forEach(o=>o.end())}}async close(){await Promise.all(this.stores.map(e=>e.close()))}batch(){let e=this.stores.map(t=>t.batch());return{put:(t,s)=>{e.forEach(n=>n.put(t,s))},delete:t=>{e.forEach(s=>s.delete(t))},commit:async t=>{for(let s of e)await s.commit(t)}}}query(e,t){return this.stores[this.stores.length-1].query(e,t)}queryKeys(e,t){return this.stores[this.stores.length-1].queryKeys(e,t)}};var ut=class extends K{constructor(e,t){super(e,{convert(s){return t.child(s)},invert(s){if(t.toString()==="/")return s;if(!t.isAncestorOf(s))throw new Error(`Expected prefix: (${t.toString()}) in key: ${s.toString()}`);return new l(s.toString().slice(t.toString().length),!1)}})}};return nn;})();
return DatastoreCore}));
{
"name": "datastore-core",
"version": "7.0.2",
"version": "7.0.3",
"description": "Wrapper implementation for interface-datastore",

@@ -5,0 +5,0 @@ "author": "Friedel Ziegelmayer <dignifiedquire@gmail.com>",

@@ -8,6 +8,7 @@ export { BaseDatastore } from "./base.js";

export { NamespaceDatastore } from "./namespace.js";
export * as Errors from "./errors.js";
export * as shard from "./shard.js";
export type Shard = import("./types").Shard;
export type KeyTransform = import("./types").KeyTransform;
import * as Errors from "./errors.js";
import * as shard from "./shard.js";
export { Errors, shard };
//# sourceMappingURL=index.d.ts.map

Sorry, the diff of this file is not supported yet

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