├── .github └── workflows │ ├── npm-publish-next.yml │ ├── npm-publish.yml │ └── run-test.yml ├── .gitignore ├── .npmignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── conf ├── webpack.config.js └── webpack.tests.config.js ├── dist ├── orbit-db-cache.min.js └── orbit-db-cache.min.js.map ├── package-lock.json ├── package.json ├── src └── Cache.js └── test ├── browser └── index.html └── cache.spec.js /.github/workflows/npm-publish-next.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Node.js Package (next tag) 3 | 4 | on: 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | publish-npm: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v2 14 | - uses: actions/setup-node@v2 15 | with: 16 | node-version: 'lts/*' 17 | registry-url: https://registry.npmjs.org/ 18 | - run: npm ci 19 | - run: npm test 20 | - run: | 21 | npm version prerelease --no-git-tag-version \ 22 | --preid=`git rev-parse --short HEAD` 23 | npm publish --tag next 24 | env: 25 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 26 | -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Node.js Package 3 | 4 | on: 5 | push: 6 | tags: 7 | - 'v*' 8 | 9 | jobs: 10 | publish-npm: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v2 14 | - uses: actions/setup-node@v2 15 | with: 16 | node-version: 'lts/*' 17 | registry-url: https://registry.npmjs.org/ 18 | - run: npm ci 19 | - run: npm test 20 | - run: npm publish 21 | env: 22 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 23 | -------------------------------------------------------------------------------- /.github/workflows/run-test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Run Tests 3 | 4 | on: push 5 | 6 | jobs: 7 | test-node: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: actions/setup-node@v3 12 | with: 13 | node-version: 'lts/*' 14 | registry-url: https://registry.npmjs.org/ 15 | - name: Install dependencies 16 | run: npm ci 17 | - name: Run linter 18 | run: npm run lint 19 | - name: Run tests 20 | run: npm run test:node 21 | test-browser: 22 | runs-on: ubuntu-latest 23 | steps: 24 | - uses: actions/checkout@v3 25 | - uses: actions/setup-node@v3 26 | with: 27 | node-version: 'lts/*' 28 | registry-url: https://registry.npmjs.org/ 29 | - name: Install dependencies 30 | run: npm ci 31 | - name: Run linter 32 | run: npm run lint 33 | - name: Run tests 34 | run: npm run test:browser 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | orbitdb 2 | test/browser/*bundle.js* 3 | node_modules 4 | dist/types 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | dump.rdb 2 | orbitdb.json 3 | node_modules 4 | redis-stable* 5 | test/browser/bundle.js* 6 | .circleci 7 | Makefile 8 | test 9 | conf 10 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at [community@orbitdb.org](mailto:community@orbitdb.org), which goes to all members of the @OrbitDB community team, or to [richardlitt@orbitdb.org](mailto:richardlitt@orbitdb.org), which goes only to [@RichardLitt](https://github.com/RichardLitt) or to [haadcode@orbitdb.org](mailto:haadcode@orbitdb.org), which goes only to [@haadcode](https://github.com/haadcode). 59 | 60 | All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 61 | 62 | Project maintainers who do not follow or enforce the Code of Conduct in good 63 | faith may face temporary or permanent repercussions as determined by other 64 | members of the project's leadership. 65 | 66 | ## Attribution 67 | 68 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 69 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 70 | 71 | [homepage]: https://www.contributor-covenant.org 72 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for wanting to contribute to this repository! 4 | 5 | Please take a look at the more general [Contributing Guidelines](https://github.com/orbitdb/welcome/blob/master/contributing.md) for OrbitDB. This repository has no specific variations from these. 6 | 7 | Please note that we have a [Code of Conduct](CODE_OF_CONDUCT.md), and that all activity in the [@OrbitDB](https://github.com/orbitdb) organization falls under it. Read it before you contribute, as being part of this community means that you agree to abide by it. Thanks. 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017-2018 Protocol Labs Inc. 4 | Copyright (c) 2018 Haja Networks Oy 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | all: build 2 | 3 | deps: 4 | npm install 5 | 6 | test: deps 7 | npm run test 8 | rm -f dump.rdb 9 | rm -f orbitdb.json 10 | 11 | build: test 12 | npm run build 13 | @echo "Build success!" 14 | @echo "Output: 'dist/'" 15 | 16 | clean: 17 | rm -rf orbitdb/ 18 | rm -rf customDir/ 19 | rm -rf node_modules/ 20 | rm -rf redis-stable/ 21 | 22 | clean-dependencies: clean 23 | rm -f package-lock.json 24 | 25 | rebuild: | clean-dependencies build 26 | 27 | .PHONY: test build 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # orbit-db-cache 2 | 3 | [![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/orbitdb/Lobby) [![Matrix](https://img.shields.io/badge/matrix-%23orbitdb%3Apermaweb.io-blue.svg)](https://riot.permaweb.io/#/room/#orbitdb:permaweb.io) [![npm version](https://badge.fury.io/js/orbit-db-cache.svg)](https://www.npmjs.com/package/orbit-db-cache) [![node](https://img.shields.io/node/v/orbit-db-cache.svg)](https://www.npmjs.com/package/orbit-db-cache) 4 | 5 | > Local cache for orbit-db 6 | 7 | Isomorphic cache used by `orbit-db`, implemented using `level.js` (indexedDB) for the browser and `leveldown` (leveldb) for node. 8 | 9 | This project is used in: [orbit-db](https://github.com/orbitdb/orbit-db). 10 | 11 | ## Install 12 | 13 | This project uses [npm](https://npmjs.com) and [nodejs](https://nodejs.org) 14 | 15 | ```sh 16 | npm install --save orbit-db-cache 17 | ``` 18 | 19 | ## API 20 | 21 | #### Public methods 22 | 23 | ##### `get` 24 | 25 | Get an item from the cache store 26 | 27 | ##### `set` 28 | 29 | Set a value for a given key on the cache store 30 | 31 | ##### `del` 32 | 33 | Remove a given key-value from the cache store 34 | 35 | ## Contributing 36 | 37 | If you think this could be better, please [open an issue](https://github.com/orbitdb/orbit-db-cache/issues/new)! 38 | 39 | Please note that all interactions in @orbitdb fall under our [Code of Conduct](CODE_OF_CONDUCT.md). 40 | 41 | ## License 42 | 43 | [MIT](LICENSE) © 2017-2018 Protocol Labs Inc., Haja Networks Oy 44 | -------------------------------------------------------------------------------- /conf/webpack.config.js: -------------------------------------------------------------------------------- 1 | import path from 'path' 2 | import webpack from 'webpack' 3 | import { fileURLToPath } from 'url' 4 | 5 | export default (env, argv) => { 6 | const __filename = fileURLToPath(import.meta.url) 7 | const __dirname = path.dirname(__filename) 8 | 9 | return { 10 | mode: 'production', 11 | entry: './src/Cache.js', 12 | output: { 13 | libraryTarget: 'var', 14 | library: 'Cache', 15 | filename: '../dist/orbit-db-cache.min.js' 16 | }, 17 | target: 'web', 18 | devtool: 'source-map', 19 | externals: { 20 | fs: '{}', 21 | mkdirp: '{}' 22 | }, 23 | plugins: [ 24 | new webpack.DefinePlugin({ 25 | 'process.env.NODE_ENV': JSON.stringify('production') 26 | }) 27 | ], 28 | resolve: { 29 | modules: [ 30 | 'node_modules' 31 | ], 32 | alias: { 33 | leveldown: 'level-js' 34 | } 35 | }, 36 | resolveLoader: { 37 | modules: [ 38 | 'node_modules', 39 | path.resolve(__dirname, '../node_modules') 40 | ], 41 | extensions: ['.js', '.json'], 42 | mainFields: ['loader', 'main'] 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /conf/webpack.tests.config.js: -------------------------------------------------------------------------------- 1 | import glob from 'glob' 2 | import webpack from 'webpack' 3 | 4 | export default (env, argv) => { 5 | return { 6 | // TODO: put all tests in a .js file that webpack can use as entry point 7 | entry: glob.sync('./test/*.spec.js'), 8 | output: { 9 | filename: '../test/browser/bundle.js' 10 | }, 11 | target: 'web', 12 | mode: 'production', 13 | devtool: 'source-map', 14 | plugins: [ 15 | new webpack.ProvidePlugin({ 16 | process: 'process/browser', 17 | Buffer: ['buffer', 'Buffer'] 18 | }) 19 | ], 20 | experiments: { 21 | topLevelAwait: true 22 | }, 23 | resolve: { 24 | modules: [ 25 | 'node_modules' 26 | ], 27 | fallback: { 28 | path: false, 29 | os: false, 30 | fs: false 31 | } 32 | }, 33 | module: { 34 | rules: [ 35 | { 36 | test: /\.m?js$/, 37 | exclude: /node_modules/, 38 | use: { 39 | loader: 'babel-loader', 40 | options: { 41 | presets: ['@babel/preset-env'] 42 | } 43 | } 44 | } 45 | ] 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /dist/orbit-db-cache.min.js: -------------------------------------------------------------------------------- 1 | var Cache;(()=>{var t={924:(t,e,r)=>{"use strict";var n=r(210),o=r(559),i=o(n("String.prototype.indexOf"));t.exports=function(t,e){var r=n(t,!!e);return"function"==typeof r&&i(t,".prototype.")>-1?o(r):r}},559:(t,e,r)=>{"use strict";var n=r(612),o=r(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),s=o("%Reflect.apply%",!0)||n.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),p=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(t){u=null}t.exports=function(t){var e=s(n,a,arguments);if(c&&u){var r=c(e,"length");r.configurable&&u(e,"length",{value:1+p(0,t.length-(arguments.length-1))})}return e};var f=function(){return s(n,i,arguments)};u?u(t.exports,"apply",{value:f}):t.exports.apply=f},187:t=>{"use strict";var e,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var o=Number.isNaN||function(t){return t!=t};function i(){i.init.call(this)}t.exports=i,t.exports.once=function(t,e){return new Promise((function(r,n){function o(r){t.removeListener(e,i),n(r)}function i(){"function"==typeof t.removeListener&&t.removeListener("error",o),r([].slice.call(arguments))}g(t,e,i,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&g(t,"error",e,{once:!0})}(t,o)}))},i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function s(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function c(t){return void 0===t._maxListeners?i.defaultMaxListeners:t._maxListeners}function u(t,e,r,n){var o,i,a,u;if(s(r),void 0===(i=t._events)?(i=t._events=Object.create(null),t._eventsCount=0):(void 0!==i.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),i=t._events),a=i[e]),void 0===a)a=i[e]=r,++t._eventsCount;else if("function"==typeof a?a=i[e]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(o=c(t))>0&&a.length>o&&!a.warned){a.warned=!0;var p=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");p.name="MaxListenersExceededWarning",p.emitter=t,p.type=e,p.count=a.length,u=p,console&&console.warn&&console.warn(u)}return t}function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},o=p.bind(n);return o.listener=r,n.wrapFn=o,o}function l(t,e,r){var n=t._events;if(void 0===n)return[];var o=n[e];return void 0===o?[]:"function"==typeof o?r?[o.listener||o]:[o]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(a=e[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=i[t];if(void 0===c)return!1;if("function"==typeof c)n(c,this,e);else{var u=c.length,p=h(c,u);for(r=0;r=0;i--)if(r[i]===e||r[i].listener===e){a=r[i].listener,o=i;break}if(o<0)return this;0===o?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},i.prototype.listeners=function(t){return l(this,t,!0)},i.prototype.rawListeners=function(t){return l(this,t,!1)},i.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):y.call(t,e)},i.prototype.listenerCount=y,i.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},29:(t,e,r)=>{"use strict";var n=r(320),o=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(t,e,r){for(var n=0,o=t.length;n=3&&(i=r),"[object Array]"===o.call(t)?a(t,e,i):"string"==typeof t?s(t,e,i):c(t,e,i)}},648:t=>{"use strict";var e="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,n=Object.prototype.toString,o="[object Function]";t.exports=function(t){var i=this;if("function"!=typeof i||n.call(i)!==o)throw new TypeError(e+i);for(var a,s=r.call(arguments,1),c=function(){if(this instanceof a){var e=i.apply(this,s.concat(r.call(arguments)));return Object(e)===e?e:this}return i.apply(t,s.concat(r.call(arguments)))},u=Math.max(0,i.length-s.length),p=[],f=0;f{"use strict";var n=r(648);t.exports=Function.prototype.bind||n},210:(t,e,r)=>{"use strict";var n,o=SyntaxError,i=Function,a=TypeError,s=function(t){try{return i('"use strict"; return ('+t+").constructor;")()}catch(t){}},c=Object.getOwnPropertyDescriptor;if(c)try{c({},"")}catch(t){c=null}var u=function(){throw new a},p=c?function(){try{return u}catch(t){try{return c(arguments,"callee").get}catch(t){return u}}}():u,f=r(405)(),l=Object.getPrototypeOf||function(t){return t.__proto__},y={},h="undefined"==typeof Uint8Array?n:l(Uint8Array),g={"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":f?l([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":y,"%AsyncGenerator%":y,"%AsyncGeneratorFunction%":y,"%AsyncIteratorPrototype%":y,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":i,"%GeneratorFunction%":y,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":f?l(l([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&f?l((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&f?l((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":f?l(""[Symbol.iterator]()):n,"%Symbol%":f?Symbol:n,"%SyntaxError%":o,"%ThrowTypeError%":p,"%TypedArray%":h,"%TypeError%":a,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet},d=function t(e){var r;if("%AsyncFunction%"===e)r=s("async function () {}");else if("%GeneratorFunction%"===e)r=s("function* () {}");else if("%AsyncGeneratorFunction%"===e)r=s("async function* () {}");else if("%AsyncGenerator%"===e){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&(r=l(o.prototype))}return g[e]=r,r},v={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},b=r(612),m=r(642),w=b.call(Function.call,Array.prototype.concat),A=b.call(Function.apply,Array.prototype.splice),O=b.call(Function.call,String.prototype.replace),S=b.call(Function.call,String.prototype.slice),j=b.call(Function.call,RegExp.prototype.exec),P=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,E=/\\(\\)?/g,x=function(t){var e=S(t,0,1),r=S(t,-1);if("%"===e&&"%"!==r)throw new o("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new o("invalid intrinsic syntax, expected opening `%`");var n=[];return O(t,P,(function(t,e,r,o){n[n.length]=r?O(o,E,"$1"):e||t})),n},L=function(t,e){var r,n=t;if(m(v,n)&&(n="%"+(r=v[n])[0]+"%"),m(g,n)){var i=g[n];if(i===y&&(i=d(n)),void 0===i&&!e)throw new a("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:i}}throw new o("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new a('"allowMissing" argument must be a boolean');if(null===j(/^%?[^%]*%?$/,t))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=x(t),n=r.length>0?r[0]:"",i=L("%"+n+"%",e),s=i.name,u=i.value,p=!1,f=i.alias;f&&(n=f[0],A(r,w([0,1],f)));for(var l=1,y=!0;l=r.length){var b=c(u,h);u=(y=!!b)&&"get"in b&&!("originalValue"in b.get)?b.get:u[h]}else y=m(u,h),u=u[h];y&&!p&&(g[s]=u)}}return u}},296:(t,e,r)=>{"use strict";var n=r(210)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(t){n=null}t.exports=n},405:(t,e,r)=>{"use strict";var n="undefined"!=typeof Symbol&&Symbol,o=r(419);t.exports=function(){return"function"==typeof n&&"function"==typeof Symbol&&"symbol"==typeof n("foo")&&"symbol"==typeof Symbol("bar")&&o()}},419:t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},410:(t,e,r)=>{"use strict";var n=r(419);t.exports=function(){return n()&&!!Symbol.toStringTag}},642:(t,e,r)=>{"use strict";var n=r(612);t.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},584:(t,e,r)=>{"use strict";var n=r(410)(),o=r(924)("Object.prototype.toString"),i=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===o(t)},a=function(t){return!!i(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==o(t)&&"[object Function]"===o(t.callee)},s=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=s?i:a},320:t=>{"use strict";var e,r,n=Function.prototype.toString,o="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof o&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},o((function(){throw 42}),null,e)}catch(t){t!==r&&(o=null)}else o=null;var i=/^\s*class\b/,a=function(t){try{var e=n.call(t);return i.test(e)}catch(t){return!1}},s=function(t){try{return!a(t)&&(n.call(t),!0)}catch(t){return!1}},c=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,p=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var l=document.all;c.call(l)===c.call(document.all)&&(f=function(t){if((p||!t)&&(void 0===t||"object"==typeof t))try{var e=c.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=o?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{o(t,null,e)}catch(t){if(t!==r)return!1}return!a(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(a(t))return!1;var e=c.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},662:(t,e,r)=>{"use strict";var n,o=Object.prototype.toString,i=Function.prototype.toString,a=/^\s*(?:function)?\*/,s=r(410)(),c=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(a.test(i.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===o.call(t);if(!c)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&c(e)}return c(t)===n}},692:(t,e,r)=>{"use strict";var n=r(29),o=r(83),i=r(924),a=i("Object.prototype.toString"),s=r(410)(),c=r(296),u="undefined"==typeof globalThis?r.g:globalThis,p=o(),f=i("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!c&&function(t){var e=!1;return n(y,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},506:(t,e,r)=>{"use strict";const n=r(651),o=r(539).format,i=r(187).EventEmitter;let a=!(process.type&&"renderer"===process.type||!process.version);const s={DEBUG:"DEBUG",INFO:"INFO",WARN:"WARN",ERROR:"ERROR",NONE:"NONE"};let c=s.DEBUG,u=null,p=new i,f={Black:0,Red:1,Green:2,Yellow:3,Blue:4,Magenta:5,Cyan:6,Grey:7,White:9,Default:9};a||(f={Black:"Black",Red:"IndianRed",Green:"LimeGreen",Yellow:"Orange",Blue:"RoyalBlue",Magenta:"Orchid",Cyan:"SkyBlue",Grey:"DimGrey",White:"White",Default:"Black"});const l=[f.Cyan,f.Green,f.Yellow,f.Red,f.Default],y={useColors:!0,color:f.Default,showTimestamp:!0,useLocalTime:!1,showLevel:!0,filename:u,appendFile:!0};class h{constructor(t,e){this.category=t;let r={};Object.assign(r,y),Object.assign(r,e),this.options=r,this.debug=this.debug.bind(this),this.log=this.log.bind(this),this.info=this.info.bind(this),this.warn=this.warn.bind(this),this.error=this.error.bind(this)}debug(){this._shouldLog(s.DEBUG)&&this._write(s.DEBUG,o.apply(null,arguments))}log(){this._shouldLog(s.DEBUG)&&this.debug.apply(this,arguments)}info(){this._shouldLog(s.INFO)&&this._write(s.INFO,o.apply(null,arguments))}warn(){this._shouldLog(s.WARN)&&this._write(s.WARN,o.apply(null,arguments))}error(){this._shouldLog(s.ERROR)&&this._write(s.ERROR,o.apply(null,arguments))}_write(t,e){(this.options.filename||u)&&!this.fileWriter&&a&&(this.fileWriter=n.openSync(this.options.filename||u,this.options.appendFile?"a+":"w+"));let r=this._format(t,e),o=this._createLogMessage(t,e),i=this._createLogMessage(t,e,r.timestamp,r.level,r.category,r.text);this.fileWriter&&a&&n.writeSync(this.fileWriter,o+"\n",null,"utf-8"),a||!this.options.useColors?(console.log(i),p.emit("data",this.category,t,e)):t===s.ERROR?this.options.showTimestamp&&this.options.showLevel?console.error(i,r.timestamp,r.level,r.category,r.text):this.options.showTimestamp&&!this.options.showLevel?console.error(i,r.timestamp,r.category,r.text):!this.options.showTimestamp&&this.options.showLevel?console.error(i,r.level,r.category,r.text):console.error(i,r.category,r.text):this.options.showTimestamp&&this.options.showLevel?console.log(i,r.timestamp,r.level,r.category,r.text):this.options.showTimestamp&&!this.options.showLevel?console.log(i,r.timestamp,r.category,r.text):!this.options.showTimestamp&&this.options.showLevel?console.log(i,r.level,r.category,r.text):console.log(i,r.category,r.text)}_format(t,e){let r="",n="",o="",i=": ";if(this.options.useColors){const e=Object.keys(s).map((t=>s[t])).indexOf(t),c=this.options.color;a?(this.options.showTimestamp&&(r="[3"+f.Grey+"m"),this.options.showLevel&&(n="[3"+l[e]+";22m"),o="[3"+c+";1m",i=": "):(this.options.showTimestamp&&(r="color:"+f.Grey),this.options.showLevel&&(n="color:"+l[e]),o="color:"+c+"; font-weight: bold")}return{timestamp:r,level:n,category:o,text:i}}_createLogMessage(t,e,r,n,o,i){r=r||"",n=n||"",o=o||"",i=i||": ",!a&&this.options.useColors&&(this.options.showTimestamp&&(r="%c"),this.options.showLevel&&(n="%c"),o="%c",i=": %c");let c="";return this.options.showTimestamp&&!this.options.useLocalTime&&(c+=(new Date).toISOString()+" "),this.options.showTimestamp&&this.options.useLocalTime&&(c+=(new Date).toLocaleString()+" "),c=r+c,this.options.showLevel&&(c+=n+"["+t+"]"+(t===s.INFO||t===s.WARN?" ":"")+" "),c+=o+this.category,c+=i+e,c}_shouldLog(t){let e="undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.LOG?process.env.LOG.toUpperCase():null;e="undefined"!=typeof window&&window.LOG?window.LOG.toUpperCase():e;const r=e||c,n=Object.keys(s).map((t=>s[t]));return n.indexOf(t)>=n.indexOf(r)}}t.exports={Colors:f,LogLevels:s,setLogLevel:t=>{c=t},setLogfile:t=>{u=t},create:(t,e)=>new h(t,e),forceBrowserMode:t=>a=!t,events:p}},384:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},955:(t,e,r)=>{"use strict";var n=r(584),o=r(662),i=r(430),a=r(692);function s(t){return t.call.bind(t)}var c="undefined"!=typeof BigInt,u="undefined"!=typeof Symbol,p=s(Object.prototype.toString),f=s(Number.prototype.valueOf),l=s(String.prototype.valueOf),y=s(Boolean.prototype.valueOf);if(c)var h=s(BigInt.prototype.valueOf);if(u)var g=s(Symbol.prototype.valueOf);function d(t,e){if("object"!=typeof t)return!1;try{return e(t),!0}catch(t){return!1}}function v(t){return"[object Map]"===p(t)}function b(t){return"[object Set]"===p(t)}function m(t){return"[object WeakMap]"===p(t)}function w(t){return"[object WeakSet]"===p(t)}function A(t){return"[object ArrayBuffer]"===p(t)}function O(t){return"undefined"!=typeof ArrayBuffer&&(A.working?A(t):t instanceof ArrayBuffer)}function S(t){return"[object DataView]"===p(t)}function j(t){return"undefined"!=typeof DataView&&(S.working?S(t):t instanceof DataView)}e.isArgumentsObject=n,e.isGeneratorFunction=o,e.isTypedArray=a,e.isPromise=function(t){return"undefined"!=typeof Promise&&t instanceof Promise||null!==t&&"object"==typeof t&&"function"==typeof t.then&&"function"==typeof t.catch},e.isArrayBufferView=function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):a(t)||j(t)},e.isUint8Array=function(t){return"Uint8Array"===i(t)},e.isUint8ClampedArray=function(t){return"Uint8ClampedArray"===i(t)},e.isUint16Array=function(t){return"Uint16Array"===i(t)},e.isUint32Array=function(t){return"Uint32Array"===i(t)},e.isInt8Array=function(t){return"Int8Array"===i(t)},e.isInt16Array=function(t){return"Int16Array"===i(t)},e.isInt32Array=function(t){return"Int32Array"===i(t)},e.isFloat32Array=function(t){return"Float32Array"===i(t)},e.isFloat64Array=function(t){return"Float64Array"===i(t)},e.isBigInt64Array=function(t){return"BigInt64Array"===i(t)},e.isBigUint64Array=function(t){return"BigUint64Array"===i(t)},v.working="undefined"!=typeof Map&&v(new Map),e.isMap=function(t){return"undefined"!=typeof Map&&(v.working?v(t):t instanceof Map)},b.working="undefined"!=typeof Set&&b(new Set),e.isSet=function(t){return"undefined"!=typeof Set&&(b.working?b(t):t instanceof Set)},m.working="undefined"!=typeof WeakMap&&m(new WeakMap),e.isWeakMap=function(t){return"undefined"!=typeof WeakMap&&(m.working?m(t):t instanceof WeakMap)},w.working="undefined"!=typeof WeakSet&&w(new WeakSet),e.isWeakSet=function(t){return w(t)},A.working="undefined"!=typeof ArrayBuffer&&A(new ArrayBuffer),e.isArrayBuffer=O,S.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&S(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=j;var P="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function E(t){return"[object SharedArrayBuffer]"===p(t)}function x(t){return void 0!==P&&(void 0===E.working&&(E.working=E(new P)),E.working?E(t):t instanceof P)}function L(t){return d(t,f)}function F(t){return d(t,l)}function _(t){return d(t,y)}function R(t){return c&&d(t,h)}function I(t){return u&&d(t,g)}e.isSharedArrayBuffer=x,e.isAsyncFunction=function(t){return"[object AsyncFunction]"===p(t)},e.isMapIterator=function(t){return"[object Map Iterator]"===p(t)},e.isSetIterator=function(t){return"[object Set Iterator]"===p(t)},e.isGeneratorObject=function(t){return"[object Generator]"===p(t)},e.isWebAssemblyCompiledModule=function(t){return"[object WebAssembly.Module]"===p(t)},e.isNumberObject=L,e.isStringObject=F,e.isBooleanObject=_,e.isBigIntObject=R,e.isSymbolObject=I,e.isBoxedPrimitive=function(t){return L(t)||F(t)||_(t)||R(t)||I(t)},e.isAnyArrayBuffer=function(t){return"undefined"!=typeof Uint8Array&&(O(t)||x(t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))},539:(t,e,r)=>{var n=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),r={},n=0;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),m(n.showHidden)&&(n.showHidden=!1),m(n.depth)&&(n.depth=2),m(n.colors)&&(n.colors=!1),m(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=u),f(n,t,n.depth)}function u(t,e){var r=c.styles[e];return r?"["+c.colors[r][0]+"m"+t+"["+c.colors[r][1]+"m":t}function p(t,e){return t}function f(t,r,n){if(t.customInspect&&r&&j(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,t);return b(o)||(o=f(t,o,n)),o}var i=function(t,e){if(m(e))return t.stylize("undefined","undefined");if(b(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return v(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):d(e)?t.stylize("null","null"):void 0}(t,r);if(i)return i;var a=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(r)),S(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return l(r);if(0===a.length){if(j(r)){var c=r.name?": "+r.name:"";return t.stylize("[Function"+c+"]","special")}if(w(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(O(r))return t.stylize(Date.prototype.toString.call(r),"date");if(S(r))return l(r)}var u,p="",A=!1,P=["{","}"];return h(r)&&(A=!0,P=["[","]"]),j(r)&&(p=" [Function"+(r.name?": "+r.name:"")+"]"),w(r)&&(p=" "+RegExp.prototype.toString.call(r)),O(r)&&(p=" "+Date.prototype.toUTCString.call(r)),S(r)&&(p=" "+l(r)),0!==a.length||A&&0!=r.length?n<0?w(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=A?function(t,e,r,n,o){for(var i=[],a=0,s=e.length;a60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,p,P)):P[0]+p+P[1]}function l(t){return"["+Error.prototype.toString.call(t)+"]"}function y(t,e,r,n,o,i){var a,s,c;if((c=Object.getOwnPropertyDescriptor(e,o)||{value:e[o]}).get?s=c.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):c.set&&(s=t.stylize("[Setter]","special")),F(n,o)||(a="["+o+"]"),s||(t.seen.indexOf(c.value)<0?(s=d(r)?f(t,c.value,null):f(t,c.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),m(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.slice(1,-1),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function h(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function d(t){return null===t}function v(t){return"number"==typeof t}function b(t){return"string"==typeof t}function m(t){return void 0===t}function w(t){return A(t)&&"[object RegExp]"===P(t)}function A(t){return"object"==typeof t&&null!==t}function O(t){return A(t)&&"[object Date]"===P(t)}function S(t){return A(t)&&("[object Error]"===P(t)||t instanceof Error)}function j(t){return"function"==typeof t}function P(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!i[t])if(a.test(t)){var r=process.pid;i[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else i[t]=function(){};return i[t]},e.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(955),e.isArray=h,e.isBoolean=g,e.isNull=d,e.isNullOrUndefined=function(t){return null==t},e.isNumber=v,e.isString=b,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=m,e.isRegExp=w,e.types.isRegExp=w,e.isObject=A,e.isDate=O,e.types.isDate=O,e.isError=S,e.types.isNativeError=S,e.isFunction=j,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(384);var x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var t=new Date,e=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":");return[t.getDate(),x[t.getMonth()],e].join(" ")}function F(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",L(),e.format.apply(e,arguments))},e.inherits=r(717),e._extend=function(t,e){if(!e||!A(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var _="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(_&&t[_]){var e;if("function"!=typeof(e=t[_]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,_,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),o=[],i=0;i{"use strict";var n=r(29),o=r(83),i=r(924),a=r(296),s=i("Object.prototype.toString"),c=r(410)(),u="undefined"==typeof globalThis?r.g:globalThis,p=o(),f=i("String.prototype.slice"),l={},y=Object.getPrototypeOf;c&&a&&y&&n(p,(function(t){if("function"==typeof u[t]){var e=new u[t];if(Symbol.toStringTag in e){var r=y(e),n=a(r,Symbol.toStringTag);if(!n){var o=y(r);n=a(o,Symbol.toStringTag)}l[t]=n.get}}}));var h=r(692);t.exports=function(t){return!!h(t)&&(c&&Symbol.toStringTag in t?function(t){var e=!1;return n(l,(function(r,n){if(!e)try{var o=r.call(t);o===n&&(e=o)}catch(t){}})),e}(t):f(s(t),8,-1))}},651:t=>{"use strict";t.exports={}},83:(t,e,r)=>{"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],o="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{default:()=>o});var t=r(506);const e=t.create("cache",{color:t.Colors.Magenta});t.setLogLevel("ERROR");class o{constructor(t){this._store=t}get status(){return this._store.status}async close(){if(!this._store)throw new Error("No cache store found to close");"open"===this.status&&await this._store.close()}async open(){if(!this._store)throw new Error("No cache store found to open");"open"!==this.status&&await this._store.open()}async get(t){try{return JSON.parse(await this._store.get(t))}catch(t){if("LEVEL_NOT_FOUND"===t.code||void 0!==t.cause&&"LEVEL_NOT_FOUND"===t.cause.code)return null;throw t}}async set(t,r){await this._store.put(t,JSON.stringify(r)),e.debug(`cache: Set ${t} to ${JSON.stringify(r)}`)}load(){}destroy(){}async del(t){await this._store.del(t)}}})(),Cache=n})(); 2 | //# sourceMappingURL=orbit-db-cache.min.js.map -------------------------------------------------------------------------------- /dist/orbit-db-cache.min.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"../dist/orbit-db-cache.min.js","mappings":"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","sources":["webpack://Cache/./node_modules/call-bind/callBound.js","webpack://Cache/./node_modules/call-bind/index.js","webpack://Cache/./node_modules/events/events.js","webpack://Cache/./node_modules/for-each/index.js","webpack://Cache/./node_modules/function-bind/implementation.js","webpack://Cache/./node_modules/function-bind/index.js","webpack://Cache/./node_modules/get-intrinsic/index.js","webpack://Cache/./node_modules/gopd/index.js","webpack://Cache/./node_modules/has-symbols/index.js","webpack://Cache/./node_modules/has-symbols/shams.js","webpack://Cache/./node_modules/has-tostringtag/shams.js","webpack://Cache/./node_modules/has/src/index.js","webpack://Cache/./node_modules/inherits/inherits_browser.js","webpack://Cache/./node_modules/is-arguments/index.js","webpack://Cache/./node_modules/is-callable/index.js","webpack://Cache/./node_modules/is-generator-function/index.js","webpack://Cache/./node_modules/is-typed-array/index.js","webpack://Cache/./node_modules/logplease/src/index.js","webpack://Cache/./node_modules/util/support/isBufferBrowser.js","webpack://Cache/./node_modules/util/support/types.js","webpack://Cache/./node_modules/util/util.js","webpack://Cache/./node_modules/which-typed-array/index.js","webpack://Cache/external var \"{}\"","webpack://Cache/./node_modules/available-typed-arrays/index.js","webpack://Cache/webpack/bootstrap","webpack://Cache/webpack/runtime/define property getters","webpack://Cache/webpack/runtime/global","webpack://Cache/webpack/runtime/hasOwnProperty shorthand","webpack://Cache/webpack/runtime/make namespace object","webpack://Cache/./src/Cache.js"],"sourcesContent":["'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar gOPD = require('gopd');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nconst fs = require('fs');\nconst format = require('util').format;\nconst EventEmitter = require('events').EventEmitter;\n\nlet isElectronRenderer = process.type && process.type === 'renderer';\nlet isNodejs = !isElectronRenderer && process.version ? true : false;\n\nconst LogLevels = {\n 'DEBUG': 'DEBUG',\n 'INFO': 'INFO',\n 'WARN': 'WARN',\n 'ERROR': 'ERROR',\n 'NONE': 'NONE',\n};\n\n// Global log level\nlet GlobalLogLevel = LogLevels.DEBUG;\n\n// Global log file name\nlet GlobalLogfile = null;\n\nlet GlobalEvents = new EventEmitter();\n\n// ANSI colors\nlet Colors = {\n 'Black': 0,\n 'Red': 1,\n 'Green': 2,\n 'Yellow': 3,\n 'Blue': 4,\n 'Magenta': 5,\n 'Cyan': 6,\n 'Grey': 7,\n 'White': 9,\n 'Default': 9,\n};\n\n// CSS colors\nif(!isNodejs) {\n Colors = {\n 'Black': 'Black',\n 'Red': 'IndianRed',\n 'Green': 'LimeGreen',\n 'Yellow': 'Orange',\n 'Blue': 'RoyalBlue',\n 'Magenta': 'Orchid',\n 'Cyan': 'SkyBlue',\n 'Grey': 'DimGrey',\n 'White': 'White',\n 'Default': 'Black',\n };\n}\n\nconst loglevelColors = [Colors.Cyan, Colors.Green, Colors.Yellow, Colors.Red, Colors.Default];\n\nconst defaultOptions = {\n useColors: true,\n color: Colors.Default,\n showTimestamp: true,\n useLocalTime: false,\n showLevel: true,\n filename: GlobalLogfile,\n appendFile: true,\n};\n\nclass Logger {\n constructor(category, options) {\n this.category = category;\n let opts = {};\n Object.assign(opts, defaultOptions);\n Object.assign(opts, options);\n this.options = opts;\n this.debug = this.debug.bind(this);\n this.log = this.log.bind(this);\n this.info = this.info.bind(this);\n this.warn = this.warn.bind(this);\n this.error = this.error.bind(this);\n }\n\n debug() {\n if(this._shouldLog(LogLevels.DEBUG))\n this._write(LogLevels.DEBUG, format.apply(null, arguments));\n }\n\n log() {\n if(this._shouldLog(LogLevels.DEBUG))\n this.debug.apply(this, arguments);\n }\n\n info() {\n if(this._shouldLog(LogLevels.INFO))\n this._write(LogLevels.INFO, format.apply(null, arguments));\n }\n\n warn() {\n if(this._shouldLog(LogLevels.WARN))\n this._write(LogLevels.WARN, format.apply(null, arguments));\n }\n\n error() {\n if(this._shouldLog(LogLevels.ERROR))\n this._write(LogLevels.ERROR, format.apply(null, arguments));\n }\n\n _write(level, text) {\n if((this.options.filename || GlobalLogfile) && !this.fileWriter && isNodejs)\n this.fileWriter = fs.openSync(this.options.filename || GlobalLogfile, this.options.appendFile ? 'a+' : 'w+');\n\n let format = this._format(level, text);\n let unformattedText = this._createLogMessage(level, text);\n let formattedText = this._createLogMessage(level, text, format.timestamp, format.level, format.category, format.text);\n\n if(this.fileWriter && isNodejs)\n fs.writeSync(this.fileWriter, unformattedText + '\\n', null, 'utf-8');\n\n if(isNodejs || !this.options.useColors) {\n console.log(formattedText)\n GlobalEvents.emit('data', this.category, level, text)\n } else {\n // TODO: clean this up\n if(level === LogLevels.ERROR) {\n if(this.options.showTimestamp && this.options.showLevel) {\n console.error(formattedText, format.timestamp, format.level, format.category, format.text)\n } else if(this.options.showTimestamp && !this.options.showLevel) {\n console.error(formattedText, format.timestamp, format.category, format.text)\n } else if(!this.options.showTimestamp && this.options.showLevel) {\n console.error(formattedText, format.level, format.category, format.text)\n } else {\n console.error(formattedText, format.category, format.text)\n }\n } else {\n if(this.options.showTimestamp && this.options.showLevel) {\n console.log(formattedText, format.timestamp, format.level, format.category, format.text)\n } else if(this.options.showTimestamp && !this.options.showLevel) {\n console.log(formattedText, format.timestamp, format.category, format.text)\n } else if(!this.options.showTimestamp && this.options.showLevel) {\n console.log(formattedText, format.level, format.category, format.text)\n } else {\n console.log(formattedText, format.category, format.text)\n }\n }\n }\n }\n\n _format(level, text) {\n let timestampFormat = '';\n let levelFormat = '';\n let categoryFormat = '';\n let textFormat = ': ';\n\n if(this.options.useColors) {\n const levelColor = Object.keys(LogLevels).map((f) => LogLevels[f]).indexOf(level);\n const categoryColor = this.options.color;\n\n if(isNodejs) {\n if(this.options.showTimestamp)\n timestampFormat = '\\u001b[3' + Colors.Grey + 'm';\n\n if(this.options.showLevel)\n levelFormat = '\\u001b[3' + loglevelColors[levelColor] + ';22m';\n\n categoryFormat = '\\u001b[3' + categoryColor + ';1m';\n textFormat = '\\u001b[0m: ';\n } else {\n if(this.options.showTimestamp)\n timestampFormat = 'color:' + Colors.Grey;\n\n if(this.options.showLevel)\n levelFormat = 'color:' + loglevelColors[levelColor];\n\n categoryFormat = 'color:' + categoryColor + '; font-weight: bold';\n }\n }\n\n return {\n timestamp: timestampFormat,\n level: levelFormat,\n category: categoryFormat,\n text: textFormat\n };\n }\n\n _createLogMessage(level, text, timestampFormat, levelFormat, categoryFormat, textFormat) {\n timestampFormat = timestampFormat || '';\n levelFormat = levelFormat || '';\n categoryFormat = categoryFormat || '';\n textFormat = textFormat || ': ';\n\n if(!isNodejs && this.options.useColors) {\n if(this.options.showTimestamp)\n timestampFormat = '%c';\n\n if(this.options.showLevel)\n levelFormat = '%c';\n\n categoryFormat = '%c';\n textFormat = ': %c';\n }\n\n let result = '';\n\n if(this.options.showTimestamp && !this.options.useLocalTime)\n result += '' + new Date().toISOString() + ' ';\n\n if(this.options.showTimestamp && this.options.useLocalTime)\n result += '' + new Date().toLocaleString() + ' ';\n\n result = timestampFormat + result;\n\n if(this.options.showLevel)\n result += levelFormat + '[' + level +']' + (level === LogLevels.INFO || level === LogLevels.WARN ? ' ' : '') + ' ';\n\n result += categoryFormat + this.category;\n result += textFormat + text;\n return result;\n }\n\n _shouldLog(level) {\n let envLogLevel = (typeof process !== \"undefined\" && process.env !== undefined && process.env.LOG !== undefined) ? process.env.LOG.toUpperCase() : null;\n envLogLevel = (typeof window !== \"undefined\" && window.LOG) ? window.LOG.toUpperCase() : envLogLevel;\n\n const logLevel = envLogLevel || GlobalLogLevel;\n const levels = Object.keys(LogLevels).map((f) => LogLevels[f]);\n const index = levels.indexOf(level);\n const levelIdx = levels.indexOf(logLevel);\n return index >= levelIdx;\n }\n};\n\n/* Public API */\nmodule.exports = {\n Colors: Colors,\n LogLevels: LogLevels,\n setLogLevel: (level) => {\n GlobalLogLevel = level;\n },\n setLogfile: (filename) => {\n GlobalLogfile = filename;\n },\n create: (category, options) => {\n const logger = new Logger(category, options);\n return logger;\n },\n forceBrowserMode: (force) => isNodejs = !force, // for testing,\n events: GlobalEvents,\n};\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","module.exports = {};","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import Logger from 'logplease'\nconst logger = Logger.create('cache', { color: Logger.Colors.Magenta })\nLogger.setLogLevel('ERROR')\n\nexport default class Cache {\n constructor (store) {\n this._store = store\n }\n\n get status () { return this._store.status }\n\n async close () {\n if (!this._store) throw new Error('No cache store found to close')\n\n if (this.status === 'open') {\n await this._store.close()\n }\n }\n\n async open () {\n if (!this._store) throw new Error('No cache store found to open')\n\n if (this.status !== 'open') {\n await this._store.open()\n }\n }\n\n async get (key) {\n try {\n return JSON.parse(await this._store.get(key))\n } catch (e) {\n if (e.code === 'LEVEL_NOT_FOUND' || (e.cause !== undefined && e.cause.code === 'LEVEL_NOT_FOUND')) return null\n throw e\n }\n }\n\n // Set value in the cache and return the new value\n async set (key, value) {\n await this._store.put(key, JSON.stringify(value))\n logger.debug(`cache: Set ${key} to ${JSON.stringify(value)}`)\n }\n\n load () {} // noop\n destroy () { } // noop\n\n // Remove a value and key from the cache\n async del (key) {\n await this._store.del(key)\n }\n}\n"],"names":["GetIntrinsic","callBind","$indexOf","module","exports","name","allowMissing","intrinsic","bind","$apply","$call","$reflectApply","call","$gOPD","$defineProperty","$max","value","e","originalFunction","func","arguments","desc","configurable","length","applyBind","apply","ReflectOwnKeys","R","Reflect","ReflectApply","target","receiver","args","Function","prototype","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","EventEmitter","init","this","once","emitter","Promise","resolve","reject","errorListener","err","removeListener","resolver","slice","eventTargetAgnosticAddListener","handler","flags","on","addErrorHandlerIfEventEmitter","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","type","prepend","m","events","existing","warning","create","newListener","emit","unshift","push","warned","w","Error","String","count","console","warn","onceWrapper","fired","wrapFn","_onceWrap","state","wrapped","_listeners","unwrap","evlistener","arr","ret","Array","i","unwrapListeners","arrayClone","listenerCount","n","copy","addEventListener","wrapListener","arg","removeEventListener","defineProperty","enumerable","get","set","RangeError","getPrototypeOf","setMaxListeners","getMaxListeners","doError","error","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","shift","index","pop","spliceOne","off","removeAllListeners","key","keys","rawListeners","eventNames","isCallable","toStr","toString","hasOwnProperty","forEachArray","array","iterator","forEachString","string","charAt","forEachObject","object","k","thisArg","ERROR_MESSAGE","funcType","bound","binder","result","boundLength","Math","max","boundArgs","join","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Symbol","Atomics","BigInt","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","JSON","Map","parseFloat","parseInt","Proxy","ReferenceError","RegExp","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","fn","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","replace","$strSlice","$exec","exec","rePropName","reEscapeChar","stringToPath","first","last","match","number","quote","subString","getBaseIntrinsic","alias","intrinsicName","parts","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","origSymbol","hasSymbolSham","obj","sym","symObj","syms","propertyIsEnumerable","descriptor","toStringTag","ctor","superCtor","super_","constructor","writable","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","_","constructorRegex","isES6ClassFn","fnStr","test","tryFunctionObject","isIE68","isDDA","document","all","str","strClass","GeneratorFunction","isFnRegex","generatorFunc","getGeneratorFunc","forEach","availableTypedArrays","gOPD","g","globalThis","typedArrays","$slice","toStrTags","typedArray","proto","superProto","tag","anyTrue","getter","tryTypedArrays","fs","format","isNodejs","process","version","LogLevels","GlobalLogLevel","DEBUG","GlobalLogfile","GlobalEvents","Colors","loglevelColors","Cyan","Green","Yellow","Red","Default","defaultOptions","useColors","color","showTimestamp","useLocalTime","showLevel","filename","appendFile","Logger","category","options","opts","assign","debug","log","info","_shouldLog","_write","INFO","WARN","ERROR","level","text","fileWriter","openSync","_format","unformattedText","_createLogMessage","formattedText","timestamp","writeSync","timestampFormat","levelFormat","categoryFormat","textFormat","levelColor","map","f","indexOf","categoryColor","Grey","toISOString","toLocaleString","envLogLevel","env","LOG","toUpperCase","window","logLevel","levels","setLogLevel","setLogfile","forceBrowserMode","force","fill","readUInt8","isArgumentsObject","isGeneratorFunction","whichTypedArray","isTypedArray","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","valueOf","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isPromise","input","then","catch","isArrayBufferView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","method","getOwnPropertyDescriptors","descriptors","formatRegExp","isString","objects","inspect","stringify","isNull","isObject","deprecate","msg","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","isFunction","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","val","idx","arrayToHash","isError","formatError","isRegExp","isDate","output","base","braces","isArray","toUTCString","l","formatProperty","formatArray","reduce","prev","cur","reduceToSingleString","split","line","ar","re","objectToString","d","o","pad","debuglog","pid","types","isNullOrUndefined","isSymbol","isNativeError","isPrimitive","isBuffer","months","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","inherits","origin","add","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","cb","newReason","promisify","original","promiseResolve","promiseReject","promise","setPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","self","nextTick","rej","foundName","possibleNames","out","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","r","logger","Cache","store","_store","status","async","close","open","parse","code","cause","put","load","destroy","del"],"sourceRoot":""} -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "orbit-db-cache", 3 | "version": "0.5.0", 4 | "description": "Local cache for orbit-db", 5 | "type": "module", 6 | "keywords": [ 7 | "orbit", 8 | "orbitdb", 9 | "cache" 10 | ], 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/orbitdb/orbit-db-cache.git" 14 | }, 15 | "homepage": "https://github.com/orbitdb/orbit-db-cache", 16 | "bugs": "https://github.com/orbitdb/orbit-db-cache/issues", 17 | "main": "src/Cache.js", 18 | "scripts": { 19 | "test": "npm run test:node && npm run test:browser", 20 | "test:node": "TEST=all mocha", 21 | "test:browser": "npm run build:tests && mocha-headless-chrome -f ./test/browser/index.html -a no-sandbox", 22 | "build": "npm run build:dist", 23 | "build:dist": "webpack --config ./conf/webpack.config.js --mode production", 24 | "build:tests": "webpack --config ./conf/webpack.tests.config.js --mode production", 25 | "lint": "standard --env=mocha", 26 | "lint:fix": "standard --fix" 27 | }, 28 | "author": "Haad", 29 | "contributors": [ 30 | "adam-palazzo", 31 | "mistakia", 32 | "RichardLitt", 33 | "thiagodelgado111", 34 | "CSDUMMI" 35 | ], 36 | "standard": { 37 | "env": [ 38 | "mocha" 39 | ] 40 | }, 41 | "license": "MIT", 42 | "dependencies": { 43 | "logplease": "~1.2.15" 44 | }, 45 | "devDependencies": { 46 | "@babel/core": "^7.20.12", 47 | "@babel/plugin-syntax-object-rest-spread": "^7.8.3", 48 | "@babel/plugin-transform-modules-commonjs": "^7.20.11", 49 | "@babel/plugin-transform-runtime": "^7.19.6", 50 | "@babel/preset-env": "^7.20.2", 51 | "@babel/runtime": "^7.20.7", 52 | "assert": "^2.0.0", 53 | "babel-loader": "^9.1.2", 54 | "level": "^8.0.0", 55 | "memory-level": "^1.0.0", 56 | "mocha": "^10.2.0", 57 | "mocha-headless-chrome": "^4.0.0", 58 | "orbit-db-storage-adapter": "^0.9.0", 59 | "path-browserify": "^1.0.1", 60 | "process": "^0.11.10", 61 | "standard": "^17.0.0", 62 | "webpack": "^5.75.0", 63 | "webpack-cli": "^5.0.1" 64 | }, 65 | "localMaintainers": [ 66 | "haad ", 67 | "shamb0t ", 68 | "hajamark " 69 | ] 70 | } 71 | -------------------------------------------------------------------------------- /src/Cache.js: -------------------------------------------------------------------------------- 1 | import Logger from 'logplease' 2 | const logger = Logger.create('cache', { color: Logger.Colors.Magenta }) 3 | Logger.setLogLevel('ERROR') 4 | 5 | export default class Cache { 6 | constructor (store) { 7 | this._store = store 8 | } 9 | 10 | get status () { return this._store.status } 11 | 12 | async close () { 13 | if (!this._store) throw new Error('No cache store found to close') 14 | 15 | if (this.status === 'open') { 16 | await this._store.close() 17 | } 18 | } 19 | 20 | async open () { 21 | if (!this._store) throw new Error('No cache store found to open') 22 | 23 | if (this.status !== 'open') { 24 | await this._store.open() 25 | } 26 | } 27 | 28 | async get (key) { 29 | try { 30 | return JSON.parse(await this._store.get(key)) 31 | } catch (e) { 32 | if (e.code === 'LEVEL_NOT_FOUND' || (e.cause !== undefined && e.cause.code === 'LEVEL_NOT_FOUND')) return null 33 | throw e 34 | } 35 | } 36 | 37 | // Set value in the cache and return the new value 38 | async set (key, value) { 39 | await this._store.put(key, JSON.stringify(value)) 40 | logger.debug(`cache: Set ${key} to ${JSON.stringify(value)}`) 41 | } 42 | 43 | load () {} // noop 44 | destroy () { } // noop 45 | 46 | // Remove a value and key from the cache 47 | async del (key) { 48 | await this._store.del(key) 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /test/browser/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Mocha Tests 5 | 6 | 7 | 8 | 9 |
10 | 11 | 14 | 15 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /test/cache.spec.js: -------------------------------------------------------------------------------- 1 | import { Level } from 'level' 2 | import { MemoryLevel } from 'memory-level' 3 | import assert from 'assert' 4 | import Cache from '../src/Cache.js' 5 | 6 | const timeout = 50000 7 | 8 | const implementations = [ 9 | { 10 | key: 'level', 11 | location: 'orbitdb', 12 | module: Level 13 | }, 14 | { 15 | key: 'memory-level', 16 | module: MemoryLevel 17 | } 18 | ] 19 | 20 | for (const implementation of implementations) { 21 | describe(`Cache - ${implementation.key}`, function () { 22 | this.timeout(timeout) 23 | 24 | let cache, store 25 | 26 | const StorageType = implementation.module 27 | const location = implementation.location 28 | 29 | const data = [ 30 | { type: (typeof true), key: 'boolean', value: true }, 31 | { type: (typeof 1.0), key: 'number', value: 9000 }, 32 | { type: (typeof 'x'), key: 'string', value: 'string value' }, 33 | { type: (typeof []), key: 'array', value: [1, 2, 3, 4] }, 34 | { type: (typeof {}), key: 'object', value: { object: 'object', key: 'key' } } 35 | ] 36 | 37 | before(async () => { 38 | if (implementation.location) { 39 | store = new StorageType(implementation.location, implementation.defaultOptions || {}) 40 | } else { 41 | store = new StorageType(implementation.defaultOptions || {}) 42 | } 43 | 44 | cache = new Cache(store) 45 | }) 46 | 47 | after(async () => { 48 | await store.close() 49 | if (location) { 50 | await StorageType.destroy(location) 51 | } 52 | }) 53 | 54 | data.forEach(d => { 55 | it(`sets and gets a ${d.key}`, async () => { 56 | await cache.set(d.key, d.value) 57 | const val = await cache.get(d.key) 58 | assert.deepStrictEqual(val, d.value) 59 | assert.strictEqual(typeof val, d.type) 60 | }) 61 | 62 | it('throws an error trying to get an unknown key', async () => { 63 | try { 64 | await cache.get('fooKey') 65 | } catch (e) { 66 | assert.strictEqual(true, true) 67 | } 68 | }) 69 | 70 | it('deletes properly', async () => { 71 | await cache.set(d.key, JSON.stringify(d.value)) 72 | await cache.del(d.key) 73 | try { 74 | await store.get(d.key) 75 | } catch (e) { 76 | assert.strictEqual(true, true) 77 | } 78 | }) 79 | 80 | it('throws an error trying to delete an unknown key', async () => { 81 | try { 82 | await cache.delete('fooKey') 83 | } catch (e) { 84 | assert.strictEqual(true, true) 85 | } 86 | }) 87 | }) 88 | }) 89 | } 90 | --------------------------------------------------------------------------------