UNPKG

cross-cf

Version:

Cross-environment DO and KV access

4 lines (3 loc) 23 kB
#!/usr/bin/env npx -y esno import e from"path";import{KVNamespace as t}from"@miniflare/kv";import{FileStorage as r}from"@miniflare/storage-file";import n from"assert";import i from"async_hooks";import s from"timers/promises";function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function a(e,t){if(null==e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n<s.length;n++)t.indexOf(r=s[n])>=0||(i[r]=e[r]);return i}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function l(e){var t={exports:{}};return e(t,t.exports),t.exports}function c(e){return Array.isArray(e)?e:[e]}const h=/^\s+$/,p=/^\\!/,d=/^\\#/,f=/\r?\n/g,g=/^\.*\/|^\.+$/,b="undefined"!=typeof Symbol?Symbol.for("node-ignore"):"node-ignore",m=/([0-z])-([0-z])/g,v=()=>!1,y=[[/\\?\s+$/,e=>0===e.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)\\\*(?=.+)/g,(e,t)=>`${t}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,r,n,i)=>"\\"===t?`\\[${r}${(e=>{const{length:t}=e;return e.slice(0,t-t%2)})(n)}${i}`:"]"===i&&n.length%2==0?`[${(e=>e.replace(m,(e,t,r)=>t.charCodeAt(0)<=r.charCodeAt(0)?e:""))(r)}${n}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>(t?`${t}[^/]+`:"[^/]*")+"(?=$|\\/$)"]],w=Object.create(null),O=e=>"string"==typeof e;class _{constructor(e,t,r,n){this.origin=e,this.pattern=t,this.negative=r,this.regex=n}}const E=(e,t)=>{throw new t(e)},k=(e,t,r)=>O(e)?e?!k.isNotRelative(e)||r(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):r("path must not be empty",TypeError):r(`path must be a string, but got \`${t}\``,TypeError),S=e=>g.test(e);k.isNotRelative=S,k.convert=e=>e;class x{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:r=!1}={}){Object.defineProperty(this,b,{value:!0}),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[b])return this._rules=this._rules.concat(e._rules),void(this._added=!0);if((e=>e&&O(e)&&!h.test(e)&&0!==e.indexOf("#"))(e)){const t=((e,t)=>{const r=e;let n=!1;0===e.indexOf("!")&&(n=!0,e=e.substr(1));const i=((e,t)=>{let r=w[e];return r||(r=y.reduce((t,r)=>t.replace(r[0],r[1].bind(e)),e),w[e]=r),t?new RegExp(r,"i"):new RegExp(r)})(e=e.replace(p,"!").replace(d,"#"),t);return new _(r,e,n,i)})(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,c(O(e)?(e=>e.split(f))(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let r=!1,n=!1;return this._rules.forEach(i=>{const{negative:s}=i;n===s&&r!==n||s&&!r&&!n&&!t||i.regex.test(e)&&(r=!s,n=s)}),{ignored:r,unignored:n}}_test(e,t,r,n){const i=e&&k.convert(e);return k(i,e,this._allowRelativePaths?v:E),this._t(i,t,r,n)}_t(e,t,r,n){if(e in t)return t[e];if(n||(n=e.split("/")),n.pop(),!n.length)return t[e]=this._testOne(e,r);const i=this._t(n.join("/")+"/",t,r,n);return t[e]=i.ignored?i:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return c(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}const P=e=>new x(e);P.isPathValid=e=>k(e&&k.convert(e),e,v),P.default=P;var j=P;if("undefined"!=typeof process&&(process.env&&process.env.IGNORE_TEST_WIN32||"win32"===process.platform)){k.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");const e=/^[a-z]:\//i;k.isNotRelative=t=>e.test(t)||S(t)}var R=l(function(e,t){let r,n,i,s,o=!0;"undefined"!=typeof process&&(({FORCE_COLOR:r,NODE_DISABLE_COLORS:n,NO_COLOR:i,TERM:s}=process.env),o=process.stdout&&process.stdout.isTTY);const a=t.$={enabled:!n&&null==i&&"dumb"!==s&&(null!=r&&"0"!==r||o)};function u(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`[${e}m`,i=`[${t}m`;return function(e){return a.enabled&&null!=e?n+(~(""+e).indexOf(i)?e.replace(r,i+n):e)+i:e}}t.reset=u(0,0),t.bold=u(1,22),t.dim=u(2,22),t.italic=u(3,23),t.underline=u(4,24),t.inverse=u(7,27),t.hidden=u(8,28),t.strikethrough=u(9,29),t.black=u(30,39),t.red=u(31,39),t.green=u(32,39),t.yellow=u(33,39),t.blue=u(34,39),t.magenta=u(35,39),t.cyan=u(36,39),t.white=u(37,39),t.gray=u(90,39),t.grey=u(90,39),t.bgBlack=u(40,49),t.bgRed=u(41,49),t.bgGreen=u(42,49),t.bgYellow=u(43,49),t.bgBlue=u(44,49),t.bgMagenta=u(45,49),t.bgCyan=u(46,49),t.bgWhite=u(47,49)}),$=l(function(t,r){var o=Object.create,a=Object.defineProperty,u=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,c=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,p=e=>a(e,"__esModule",{value:!0}),d=e=>((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of l(t))h.call(e,n)||"default"===n||a(e,n,{get:()=>t[n],enumerable:!(r=u(t,n))||r.enumerable});return e})(p(a(null!=e?o(c(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);((e,t)=>{for(var r in p(e),t)a(e,r,{get:t[r],enumerable:!0})})(r,{Compatibility:()=>b,InputGate:()=>Ie,InputGatedEventTarget:()=>Te,Log:()=>fe,LogLevel:()=>ee,MiniflareError:()=>H,Mutex:()=>Le,NoOpLog:()=>ge,Option:()=>be,OptionType:()=>pe,OutputGate:()=>Ne,Plugin:()=>me,RequestContext:()=>S,STRING_SCRIPT_PATH:()=>ye,Storage:()=>we,ThrowingEventTarget:()=>ie,TypedEventTarget:()=>ne,addAll:()=>C,assertInRequest:()=>k,base64Decode:()=>A,base64Encode:()=>T,defaultClock:()=>Oe,getRequestContext:()=>E,globsToMatcher:()=>M,kWrapListener:()=>re,kebabCase:()=>F,logOptions:()=>ve,millisToSeconds:()=>_e,nonCircularClone:()=>$,prefixError:()=>X,randomHex:()=>L,resolveStoragePersist:()=>B,runWithInputGateClosed:()=>Re,sanitisePath:()=>Z,spaceCase:()=>D,titleCase:()=>W,viewToArray:()=>I,viewToBuffer:()=>N,waitForOpenInputGate:()=>je,waitForOpenOutputGate:()=>$e,waitUntilOnOutputGate:()=>Ce});var f=[{defaultAsOf:"2021-11-10",enableFlag:"durable_object_fetch_requires_full_url",disableFlag:"durable_object_fetch_allows_relative_url"},{defaultAsOf:"2021-11-10",enableFlag:"fetch_refuses_unknown_protocols",disableFlag:"fetch_treats_unknown_protocols_as_http"},{defaultAsOf:"2021-11-03",enableFlag:"formdata_parser_supports_files",disableFlag:"formdata_parser_converts_files_to_strings"},{enableFlag:"html_rewriter_treats_esi_include_as_void_tag"}],g=new Intl.Collator(void 0,{numeric:!0}),b=class{constructor(e="1970-01-01",t=[]){this.compatibilityDate=e,this.compatibilityFlags=t,this.#e()}#t=new Set;#e(){this.#t.clear();const e=new Set(this.compatibilityFlags);for(const{defaultAsOf:t,enableFlag:r,disableFlag:n}of f){if(n&&e.has(n))continue;const i=e.has(r),s=t&&g.compare(t,this.compatibilityDate)<=0;(i||s)&&this.#t.add(r)}}isEnabled(e){return this.#t.has(e)}update(e="1970-01-01",t=[]){return!(this.compatibilityDate===e&&this.compatibilityFlags.length===t.length&&this.compatibilityFlags.every((e,r)=>t[r]===e)||(this.compatibilityDate=e,this.compatibilityFlags=t,this.#e(),0))}get enabled(){return[...this.#t]}},m=d(n),v=d(i),y=parseInt(process.env.MINIFLARE_SUBREQUEST_LIMIT),w=isNaN(y)?50:y,O="Subrequest depth limit exceeded. This request recursed through Workers too many times. This can happen e.g. if you have a Worker or Durable Object that calls other Workers or objects recursively.",_=new v.AsyncLocalStorage;function E(){return _.getStore()}function k(){if(!E())throw new Error("Some functionality, such as asynchronous I/O (fetch, Cache API, KV), timeouts (setTimeout, setInterval), and generating random values (crypto.getRandomValues, crypto.subtle.generateKey), can only be performed while handling a request.")}var S=class{requestDepth;pipelineDepth;durableObject;constructor({requestDepth:e=1,pipelineDepth:t=1,durableObject:r=!1}={}){if((0,m.default)(e>=1),(0,m.default)(t>=1),e>16)throw new Error(`${O}\nWorkers and objects can recurse up to 16 times.\nIf you're trying to fetch from an origin server, make sure you've set the \`upstream\` option.`);if(t>32)throw new Error(`${O}\nService bindings can recurse up to 32 times.`);this.requestDepth=e,this.pipelineDepth=t,this.durableObject=r}runWith(e){return _.run(this,e)}#r=0;get subrequests(){return this.#r}incrementSubrequests(e=1){if(this.#r+=e,w>=0&&this.#r>w)throw new Error(`Too many subrequests. Workers can make up to ${w} subrequests per request.\nA subrequest is a call to fetch(), a redirect, or a call to any Cache API method.`)}},x=d(e),P=d(j);function $(e){return JSON.parse(JSON.stringify(e))}function C(e,t){for(const r of t)e.add(r)}function I(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function N(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function T(e){return Buffer.from(e,"utf8").toString("base64")}function A(e){return Buffer.from(e,"base64").toString("utf8")}function L(e=8){return Array.from(Array(e)).map(()=>Math.floor(16*Math.random()).toString(16)).join("")}function M(e){const t=(0,P.default)();return e&&t.add(e),{test:e=>t.ignores(e),toString:()=>e?.join(", ")??""}}function F(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function D(e){return(e=e.replace(/(.)([A-Z][a-z]+)/g,"$1 $2")).replace(/([a-z0-9])([A-Z])/g,"$1 $2")}function W(e){return D(e).split(" ").map(e=>e?e[0].toUpperCase()+e.substring(1):e).join(" ")}var U=/^([a-z]+:)?\/\//i;function B(e,t){return"string"==typeof t?U.test(t)?t:x.default.resolve(e,t):t}var q=/[/\\:|]/g,G=/(^|\/|\\)(\.+)(\/|\\|$)/g,Q=/[?<>*"'^\x00-\x1f\x80-\x9f]/g,V=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,z=/^[ /\\]+/,K=/[ /\\]+$/;function J(e,t,r,n){return`${t}${"".padStart(r.length,"_")}${n}`}function Y(e){return"".padStart(e.length,"_")}function Z(e){return e.replace(q,x.default.sep).replace(G,J).replace(G,J).replace(Q,"_").replace(V,"_").replace(z,Y).replace(K,Y).substring(0,255)}var H=class extends Error{constructor(e,t,r){super(t),this.code=e,this.cause=r,Object.setPrototypeOf(this,new.target.prototype),this.name=`${new.target.name} [${e}]`}};function X(e,t){return t.stack?new Proxy(t,{get(t,r,n){const i=Reflect.get(t,r,n);return"stack"===r?`${e}: ${i}`:i}}):t}var ee,te,re=Symbol("kWrapListener"),ne=class extends EventTarget{#n=new WeakMap;#i(e){if(!e)return null;let t=this.#n.get(e);return t||(t=this[re](t=>{"function"==typeof e?e(t):e.handleEvent(t)}),this.#n.set(e,t),t)}addEventListener(e,t,r){super.addEventListener(e,this[re]?this.#i(t):t,r)}removeEventListener(e,t,r){super.removeEventListener(e,this[re]?this.#i(t):t,r)}dispatchEvent(e){return super.dispatchEvent(e)}},ie=class extends ne{#s;[re](e){return t=>{try{e(t)}catch(e){t.stopImmediatePropagation(),this.#s=e}}}dispatchEvent(e){this.#s=void 0;const t=super.dispatchEvent(e);if(void 0!==this.#s)throw this.#s;return t}},se=d(e),oe=d(R),ae=process.cwd(),ue=se.default.join(ae,"node_modules");(te=ee||(ee={}))[te.NONE=0]="NONE",te[te.ERROR=1]="ERROR",te[te.WARN=2]="WARN",te[te.INFO=3]="INFO",te[te.DEBUG=4]="DEBUG",te[te.VERBOSE=5]="VERBOSE";var le={0:"",1:"err",2:"wrn",3:"inf",4:"dbg",5:"vrb"},ce={0:oe.reset,1:oe.red,2:oe.yellow,3:oe.green,4:oe.grey,5:e=>(0,oe.dim)((0,oe.grey)(e))};function he(e){return!e.startsWith(" at")||e.includes(ae)&&!e.includes(ue)?e:(0,oe.dim)(e)}var pe,de,fe=class{constructor(e=3,t={}){this.level=e;const r=t.prefix??"mf",n=t.suffix??"";this.#o=r?r+":":"",this.#a=n?":"+n:""}#o;#a;log(e){console.log(e)}logWithLevel(e,t){if(e<=this.level){const r=`[${this.#o}${le[e]}${this.#a}]`;this.log(ce[e](`${r} ${t}`))}}error(e){if(this.level<1)throw e;if(e.stack){const t=e.stack.split("\n").map(he);this.logWithLevel(1,t.join("\n"))}else this.logWithLevel(1,e.toString());e.cause&&this.error(X("Cause",e.cause))}warn(e){this.logWithLevel(2,e)}info(e){this.logWithLevel(3,e)}debug(e){this.logWithLevel(4,e)}verbose(e){this.logWithLevel(5,e)}},ge=class extends fe{log(){}error(e){throw e}};function be(e){return function(t,r){(t.opts??=new Map).set(r,e)}}(de=pe||(pe={}))[de.NONE=0]="NONE",de[de.BOOLEAN=1]="BOOLEAN",de[de.NUMBER=2]="NUMBER",de[de.STRING=3]="STRING",de[de.STRING_POSITIONAL=4]="STRING_POSITIONAL",de[de.BOOLEAN_STRING=5]="BOOLEAN_STRING",de[de.BOOLEAN_NUMBER=6]="BOOLEAN_NUMBER",de[de.ARRAY=7]="ARRAY",de[de.OBJECT=8]="OBJECT";var me=class{constructor(e){this.ctx=e,this.opts=new.target.prototype.opts}#u;opts;assignOptions(e){if(void 0!==e&&void 0!==this.opts)for(const t of this.opts.keys())this[t]=e[t]}};function ve(e,t,r){t.debug("Options:");for(const[n,i]of e){const e=r[n];for(const[r,n]of i.prototype.opts?.entries()??[]){const i=e[r];if(void 0===i||0===n.type)continue;const s=n?.logName??W("symbol"==typeof r?"<symbol>":r);let o;if(n.logValue){if(o=n.logValue(i),void 0===o)continue}else o=8===n.type?Object.keys(i).join(", "):7===n.type?i.join(", "):i.toString();t.debug(`- ${s}: ${o}`)}}}var ye="<script>",we=class{async hasMany(e){const t=e.map(this.has.bind(this));let r=0;for(const e of await Promise.all(t))e&&r++;return r}getMany(e,t){return Promise.all(e.map(e=>this.get(e,t)))}async putMany(e){await Promise.all(e.map(([e,t])=>this.put(e,t)))}async deleteMany(e){const t=e.map(this.delete.bind(this));let r=0;for(const e of await Promise.all(t))e&&r++;return r}},Oe=()=>Date.now();function _e(e){return Math.floor(e/1e3)}var Ee=d(n),ke=d(i),Se=d(s),xe=new ke.AsyncLocalStorage,Pe=new ke.AsyncLocalStorage;function je(){return xe.getStore()?.waitForOpen()}function Re(e,t=!1){if(t)return e();const r=xe.getStore();return void 0===r?e():r.runWithClosed(e)}function $e(){return Pe.getStore()?.waitForOpen()}function Ce(e,t=!1){return t||Pe.getStore()?.waitUntil(e),e}var Ie=class{#l=0;#c=[];#h;constructor(e){this.#h=e}async runWith(e){return await this.waitForOpen(),xe.run(this,e)}async waitForOpen(){if(await(0,Se.setImmediate)(),0!==this.#l)return new Promise(e=>this.#c.push(e))}async runWithClosed(e){this.#p(),await Promise.resolve();const t=new Ie(this);try{return await xe.run(t,e)}finally{setImmediate(this.#d)}}#p(){this.#l++,this.#h&&this.#h.#p()}#d=async()=>{for((0,Ee.default)(this.#l>0),this.#l--;0===this.#l&&this.#c.length;)this.#c.shift()(),await(0,Se.setImmediate)();if(this.#h)return this.#h.#d()}},Ne=class{#f=[];async runWith(e){try{return await Pe.run(this,e)}finally{await this.waitForOpen()}}async waitForOpen(){await Promise.all(this.#f)}waitUntil(e){this.#f.push(e)}},Te=class extends ne{[re](e){const t=xe.getStore();return t?async r=>{await t.waitForOpen(),e(r)}:e}},Ae=d(n),Le=class{locked=!1;resolveQueue=[];lock(){if(this.locked)return new Promise(e=>this.resolveQueue.push(e));this.locked=!0}unlock(){(0,Ae.default)(this.locked),this.resolveQueue.length>0?this.resolveQueue.shift()?.():this.locked=!1}get hasWaiting(){return this.resolveQueue.length>0}async runWith(e){const t=this.lock();t instanceof Promise&&await t;try{const t=e();return t instanceof Promise?await t:t}finally{this.unlock()}}}}),C=l(function(e,t){var r=Object.create,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,o=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,u=e=>n(e,"__esModule",{value:!0}),l=e=>((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of s(t))a.call(e,o)||"default"===o||n(e,o,{get:()=>t[o],enumerable:!(r=i(t,o))||r.enumerable});return e})(u(n(null!=e?r(o(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);((e,t)=>{for(var r in u(e),t)n(e,r,{get:t[r],enumerable:!0})})(t,{LocalStorage:()=>b,MemoryStorage:()=>v,cloneMetadata:()=>h,listFilterMatch:()=>d,listPaginate:()=>f});var c=l($);function h(e){return e&&(0,c.nonCircularClone)(e)}var p=new Intl.Collator;function d(e,t){return!(e?.prefix&&!t.startsWith(e.prefix)||e?.start&&p.compare(t,e.start)<0||e?.end&&p.compare(t,e.end)>=0)}function f(e,t){const r=e?.reverse?-1:1;t.sort((e,t)=>r*p.compare(e.name,t.name));const n=e?.cursor?(0,c.base64Decode)(e.cursor):"";let i=0;""!==n&&(i=t.findIndex(({name:e})=>e===n),-1===i&&(i=t.length),i++);const s=void 0===e?.limit?t.length:i+e.limit,o=s<t.length?(0,c.base64Encode)(t[s-1].name):"";return{keys:t=t.slice(i,s),cursor:o}}var g=l($),b=class extends g.Storage{constructor(e=g.defaultClock){super(),this.clock=e}expired({expiration:e},t=this.clock()){return void 0!==e&&e<=(0,g.millisToSeconds)(t)}async has(e){const t=await this.hasMaybeExpired(e);return!(void 0===t||this.expired(t)&&(await this.deleteMaybeExpired(e),1))}async get(e){const t=await this.getMaybeExpired(e);if(void 0!==t){if(!this.expired(t))return t;await this.deleteMaybeExpired(e)}}async delete(e){const t=await this.hasMaybeExpired(e),r=void 0!==t&&this.expired(t);return!!await this.deleteMaybeExpired(e)&&!r}async list(e){const t=this.clock(),r=[];let n=await this.listAllMaybeExpired();n=n.filter(n=>this.expired(n,t)?(r.push(this.deleteMaybeExpired(n.name)),!1):d(e,n.name));const i=f(e,n);return await Promise.all(r),i}},m=l($),v=class extends b{constructor(e=new Map,t=m.defaultClock){super(t),this.map=e}hasMaybeExpired(e){const t=this.map.get(e);return t&&{expiration:t.expiration,metadata:h(t.metadata)}}getMaybeExpired(e){const t=this.map.get(e);return t&&{value:t.value.slice(),expiration:t.expiration,metadata:h(t.metadata)}}put(e,t){this.map.set(e,{value:t.value.slice(),expiration:t.expiration,metadata:h(t.metadata)})}deleteMaybeExpired(e){return this.map.delete(e)}static entryToStoredKey([e,{expiration:t,metadata:r}]){return{name:e,expiration:t,metadata:h(r)}}listAllMaybeExpired(){return Array.from(this.map.entries()).map(v.entryToStoredKey)}}}),I=["key","value"],N=["type"],T=["headers","body"];function A(e,t){for(var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e);!(r=n()).done;){var i=r.value;if(!t[i]||""===t[i])throw new Error(i+" is required.")}}var L=/*#__PURE__*/function(){function n(n,i){var s,u=this;void 0===i&&(i={});var l=(null==(s=process)?void 0:s.env)||{},c=l.CF_TOKEN,h=l.CF_ACCOUNTID,p=l.CLOUDFLARE_TOKEN;if(this.options=o({},i,{target:i.target||"local",filepath:e.resolve(i.filepath||"./.mf/kv",n),accountToken:i.accountToken||c||p,accountID:i.accountID||h,env:i.env||{},name:n}),"local"===this.options.target)A(["filepath"],this.options),this._db=new t(new r(this.options.filepath));else if("cf"===this.options.target){if(this._db=this.options.env[n]||global[n],!this._db)throw new Error('You chose "cf" for target, but env does not have "'+n+'" KV.')}else"remote"===this.options.target?A(["kvID","accountToken","accountID"],this.options):"memory"===this.options.target&&(this._db=new t(new C.MemoryStorage));this._db&&(this.get=this._db.get.bind(this._db),this.getWithMetadata=this._db.getWithMetadata.bind(this._db),this.list=this._db.list.bind(this._db),this.put=this._db.put.bind(this._db),this.delete=this._db.delete.bind(this._db),this.bulkdelete=function(e,t){return void 0===t&&(t={}),Promise.all(e.map(function(e){return u.delete(e,t)}))},this.bulkput=function(e,t){return void 0===t&&(t={}),Promise.all(e.map(function(e){var r=e.key,n=e.value,i=a(e,I);return u.put(r,n,o({},t,i))}))})}var i=n.prototype;return i.get=function(e,t){void 0===t&&(t={});try{var r=t.type,n=a(t,N),i=new URLSearchParams(n).toString();return Promise.resolve(this.api("/storage/kv/namespaces/"+this.options.kvID+"/values/"+e+"?"+i)).then(function(e){return"json"===r?e.json():"arrayBuffer"!==r?"stream"===r?e.body.getReader():e.text():void e.arrayBuffer()})}catch(e){return Promise.reject(e)}},i.getWithMetadata=function(e,t){void 0===t&&(t={});try{var r=this;return Promise.resolve(r.get(e,t)).then(function(t){return Promise.resolve(r.api("/storage/kv/namespaces/"+r.options.kvID+"/metadata/"+e).then(function(e){return e.json()})).then(function(e){return{value:t,metadata:e.result}})})}catch(e){return Promise.reject(e)}},i.list=function(e){void 0===e&&(e={});try{var t=new URLSearchParams(e).toString();return Promise.resolve(this.api("/storage/kv/namespaces/"+this.options.kvID+"/keys?"+t).then(function(e){return e.json()})).then(function(e){return{keys:e.result,cursor:e.result_info.cursor,list_complete:e.result.length===e.result_info.count}})}catch(e){return Promise.reject(e)}},i.put=function(e,t,r){void 0===r&&(r={});var n=new URLSearchParams(r).toString();return this.api("/storage/kv/namespaces/"+this.options.kvID+"/values/"+e+"?"+n,"PUT",{body:t}).then(function(e){return e.json()})},i.delete=function(e,t){void 0===t&&(t={});var r=new URLSearchParams(t).toString();return this.api("/storage/kv/namespaces/"+this.options.kvID+"/values/"+e+"?"+r,"DELETE").then(function(e){return e.json()})},i.bulkput=function(e,t){void 0===t&&(t={});try{var r=new URLSearchParams(t).toString();return Promise.resolve(this.api("/storage/kv/namespaces/"+this.options.kvID+"/bulk?"+r,"PUT",{body:JSON.stringify(e),headers:{"Content-Type":"application/json"}}).then(function(e){return e.json()})).then(function(){})}catch(e){return Promise.reject(e)}},i.bulkdelete=function(e,t){void 0===t&&(t={});try{var r=new URLSearchParams(t).toString();return Promise.resolve(this.api("/storage/kv/namespaces/"+this.options.kvID+"/bulk?"+r,"DELETE",{body:JSON.stringify(e),headers:{"Content-Type":"application/json"}}).then(function(e){return e.json()})).then(function(){})}catch(e){return Promise.reject(e)}},i.api=function(e,t,r){void 0===t&&(t="GET"),void 0===r&&(r={});var n=r.headers,i=void 0===n?{}:n,s=r.body,u=a(r,T);return fetch("https://api.cloudflare.com/client/v4/accounts/"+this.options.accountID+e,o({headers:o({Authorization:"Bearer "+this.options.accountToken},i)},u,{method:t,body:s})).then(function(e){if(200!==e.status)throw new Error("Error "+e.status);return e})},n}(),M=/*#__PURE__*/function(){function e(e){this.url=e,"object"==typeof e&&(this.get=e.get.bind(e),this.idFromName=e.idFromName.bind(e))}var t=e.prototype;return t.get=function(e){return{fetch:function(e){function t(t,r){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e,t){return fetch(this.url,t)})}},t.idFromName=function(e){return e},e}();export{M as CrossDO,L as CrossKV}; //# sourceMappingURL=cross-cf.module.js.map