{"_id":"@carlop/duckdb-wasm","_rev":"2-5c0b49a21376580cc2f5b44876c074f2","name":"@carlop/duckdb-wasm","dist-tags":{"latest":"1.24.1-dev43.0","wip":"1.13.0"},"versions":{"1.24.1-dev43.0":{"name":"@carlop/duckdb-wasm","version":"1.24.1-dev43.0","description":"DuckDB powered by WebAssembly","license":"MIT","repository":{"type":"git","url":"git+https://github.com/duckdb/duckdb-wasm.git"},"keywords":["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],"dependencies":{"apache-arrow":"^11.0.0"},"devDependencies":{"@types/emscripten":"^1.39.6","@types/jasmine":"^4.3.1","@typescript-eslint/eslint-plugin":"^5.53.0","@typescript-eslint/parser":"^5.49.0","esbuild":"^0.15.12","eslint":"^8.35.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.32.2","fast-glob":"^3.2.12","jasmine":"^4.5.0","jasmine-core":"^4.3.0","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.9.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-coverage":"^2.2.0","karma-firefox-launcher":"^2.1.2","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.0.0","karma-sourcemap-loader":"^0.3.8","karma-spec-reporter":"^0.0.36","make-dir":"^3.1.0","nyc":"^15.1.0","prettier":"^2.8.4","puppeteer":"^19.7.2","rimraf":"^4.3.0","s3rver":"^3.7.1","typedoc":"^0.23.27","typescript":"^4.8.4","wasm-feature-detect":"^1.4.0","web-worker":"^1.2.0"},"scripts":{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly","docs":"typedoc","report":"node ./coverage.mjs","test:node":"node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:firefox":"karma start ./karma/tests-firefox.cjs","test:chrome":"karma start ./karma/tests-chrome.cjs","test:chrome:eh":"karma start ./karma/tests-chrome-eh.cjs","test:chrome:coverage":"karma start ./karma/tests-chrome-coverage.cjs","test:browser":"karma start ./karma/tests-all.cjs","test:browser:debug":"karma start ./karma/tests-debug.cjs","test":"npm run test:chrome && npm run test:node","test:coverage":"npm run test:chrome:coverage && npm run test:node:coverage && npm run report","lint":"eslint src test"},"main":"dist/duckdb-browser.cjs","module":"dist/duckdb-browser.mjs","types":"dist/duckdb-browser.d.ts","jsdelivr":"dist/duckdb-browser.cjs","unpkg":"dist/duckdb-browser.mjs","sideEffects":false,"browser":{"fs":false,"path":false,"perf_hooks":false,"os":false,"worker_threads":false},"exports":{"./dist/duckdb-mvp.wasm":"./dist/duckdb-mvp.wasm","./dist/duckdb-eh.wasm":"./dist/duckdb-eh.wasm","./dist/duckdb-coi.wasm":"./dist/duckdb-coi.wasm","./dist/duckdb-browser":"./dist/duckdb-browser.mjs","./dist/duckdb-browser.cjs":"./dist/duckdb-browser.cjs","./dist/duckdb-browser.mjs":"./dist/duckdb-browser.mjs","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.mjs":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.cjs":"./dist/duckdb-browser-blocking.cjs","./dist/duckdb-browser-coi.pthread.worker.js":"./dist/duckdb-browser-coi.pthread.worker.js","./dist/duckdb-browser-coi.worker.js":"./dist/duckdb-browser-coi.worker.js","./dist/duckdb-browser-eh.worker.js":"./dist/duckdb-browser-eh.worker.js","./dist/duckdb-browser-mvp.worker.js":"./dist/duckdb-browser-mvp.worker.js","./dist/duckdb-node":"./dist/duckdb-node.cjs","./dist/duckdb-node.cjs":"./dist/duckdb-node.cjs","./dist/duckdb-node-blocking":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-blocking.cjs":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-eh.worker.cjs":"./dist/duckdb-node-eh.worker.cjs","./dist/duckdb-node-mvp.worker.cjs":"./dist/duckdb-node-mvp.worker.cjs","./blocking":{"browser":{"types":"./dist/duckdb-browser-blocking.d.ts","import":"./dist/duckdb-browser-blocking.mjs","require":"./dist/duckdb-browser-blocking.cjs"},"node":{"types":"./dist/duckdb-node-blocking.d.ts","require":"./dist/duckdb-node-blocking.cjs","import":"./dist/duckdb-node-blocking.cjs"},"types":"./dist/duckdb-browser-blocking.d.ts","import":"./dist/duckdb-browser-blocking.mjs","require":"./dist/duckdb-browser-blocking.cjs"},".":{"browser":{"types":"./dist/duckdb-browser.d.ts","import":"./dist/duckdb-browser.mjs","require":"./dist/duckdb-browser.cjs"},"node":{"types":"./dist/duckdb-node.d.ts","import":"./dist/duckdb-node.cjs","require":"./dist/duckdb-node.cjs"},"types":"./dist/duckdb-browser.d.ts","import":"./dist/duckdb-browser.mjs","require":"./dist/duckdb-browser.cjs"}},"gitHead":"eaafc9f1efd30991a2a868cc459d1bb1596b2b84","bugs":{"url":"https://github.com/duckdb/duckdb-wasm/issues"},"homepage":"https://github.com/duckdb/duckdb-wasm#readme","_id":"@carlop/duckdb-wasm@1.24.1-dev43.0","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-z/EZaTzQFvk2bz+/mPrxNaoriAgHhk2E6xegylNLdm4u7k+gqvRyv5iru/SVXcXSoJjYcv8UJeuXvyEaaoVaUw==","shasum":"78d3ec80da8db9eff3911dfc351042c0c962fc39","tarball":"https://registry.npmjs.org/@carlop/duckdb-wasm/-/duckdb-wasm-1.24.1-dev43.0.tgz","fileCount":89,"unpackedSize":191989336,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJVyV+kiKWg9fuO/ZT8bsWaBsDcRbTcuVecUm6vVpTlwIga8vLjEiVHQbCl1SM+3HmWNVipe/+1zUYysfUZEj5Eug="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPQu7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEmw//UV+gSSgH8y6AkZjxn73u1ZEBBtVMtbqd0fvS1mOC6S+hqXqu\r\nanZS1eUa+YmhN16MnJg68ZCKFNk+TWrHB+/nUXHN+d2ASJG3RiOkc5OpdIPj\r\noYPxjkIN5dL0Brebg37lcjUYK8DhBBFsK/hND3FStaSoeK1UCsFv0qxTgylk\r\nSOjL7VNp8xy4MVpU3eUCQ+pL7FJQTRANkxCs2lWPDT/Vj8eJtFqTnZsHQyem\r\n9fY1GV8ZSe4rSFt1qLZTgqFl4u0S4elnw0E6X0Dkg2zLKEcdmLrg7SVWIBxC\r\nZWEs4LIW9ao96npF9Te4IrKYxvXZkZHkF+DIDPvfk1FKcvFiMUkt++t/Pjsw\r\nMg7NAUuL7CHpF9ZsEcs89UkfzaKNCSfiTvrXiilfjjIRiOhs8OA/ioUd1dpC\r\nIle1Ahbt3tIgKLgIP0N/eRp7a5vOnqszqVfMIzgI7TAAkE8hKQV/dxYwwnqf\r\nc32yWuVSVJli5A1xQta1VxLBiRI/dkB2HsHaoKrbsF6hS/iYrYH4H/o09zaI\r\noHctbLr0K8ASMLGy9Akw27OekX+nQE7iNyrtgGpTBE5Gzl6xUTwiigVG8YW8\r\nrEUkjYHDtcCW9HUNT50aAMCcdlK6DJbFugRkFvWlABZE4/uokp3uNVWaNKzO\r\nvU/WnRk/6JKNomymcIIJAbIjryoG+5ekzNc=\r\n=c5Vs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlop","email":"piovesan.carlo+npm@gmail.com"},"directories":{},"maintainers":[{"name":"carlop","email":"piovesan.carlo+npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/duckdb-wasm_1.24.1-dev43.0_1681722298686_0.9259633590344216"},"_hasShrinkwrap":false},"1.24.1-dev43.5":{"name":"@carlop/duckdb-wasm","version":"1.24.1-dev43.5","description":"DuckDB powered by WebAssembly","license":"MIT","repository":{"type":"git","url":"git+https://github.com/duckdb/duckdb-wasm.git"},"keywords":["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],"dependencies":{"apache-arrow":"^11.0.0"},"devDependencies":{"@types/emscripten":"^1.39.6","@types/jasmine":"^4.3.1","@typescript-eslint/eslint-plugin":"^5.53.0","@typescript-eslint/parser":"^5.49.0","esbuild":"^0.15.12","eslint":"^8.35.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.32.2","fast-glob":"^3.2.12","jasmine":"^4.5.0","jasmine-core":"^4.3.0","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.9.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-coverage":"^2.2.0","karma-firefox-launcher":"^2.1.2","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.0.0","karma-sourcemap-loader":"^0.3.8","karma-spec-reporter":"^0.0.36","make-dir":"^3.1.0","nyc":"^15.1.0","prettier":"^2.8.4","puppeteer":"^19.7.2","rimraf":"^4.3.0","s3rver":"^3.7.1","typedoc":"^0.23.27","typescript":"^4.8.4","wasm-feature-detect":"^1.4.0","web-worker":"^1.2.0"},"scripts":{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly","docs":"typedoc","report":"node ./coverage.mjs","test:node":"node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:firefox":"karma start ./karma/tests-firefox.cjs","test:chrome":"karma start ./karma/tests-chrome.cjs","test:chrome:eh":"karma start ./karma/tests-chrome-eh.cjs","test:chrome:coverage":"karma start ./karma/tests-chrome-coverage.cjs","test:browser":"karma start ./karma/tests-all.cjs","test:browser:debug":"karma start ./karma/tests-debug.cjs","test":"npm run test:chrome && npm run test:node","test:coverage":"npm run test:chrome:coverage && npm run test:node:coverage && npm run report","lint":"eslint src test"},"main":"dist/duckdb-browser.cjs","module":"dist/duckdb-browser.mjs","types":"dist/duckdb-browser.d.ts","jsdelivr":"dist/duckdb-browser.cjs","unpkg":"dist/duckdb-browser.mjs","sideEffects":false,"browser":{"fs":false,"path":false,"perf_hooks":false,"os":false,"worker_threads":false},"exports":{"./dist/duckdb-mvp.wasm":"./dist/duckdb-mvp.wasm","./dist/duckdb-eh.wasm":"./dist/duckdb-eh.wasm","./dist/duckdb-coi.wasm":"./dist/duckdb-coi.wasm","./dist/duckdb-browser":"./dist/duckdb-browser.mjs","./dist/duckdb-browser.cjs":"./dist/duckdb-browser.cjs","./dist/duckdb-browser.mjs":"./dist/duckdb-browser.mjs","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.mjs":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.cjs":"./dist/duckdb-browser-blocking.cjs","./dist/duckdb-browser-coi.pthread.worker.js":"./dist/duckdb-browser-coi.pthread.worker.js","./dist/duckdb-browser-coi.worker.js":"./dist/duckdb-browser-coi.worker.js","./dist/duckdb-browser-eh.worker.js":"./dist/duckdb-browser-eh.worker.js","./dist/duckdb-browser-mvp.worker.js":"./dist/duckdb-browser-mvp.worker.js","./dist/duckdb-node":"./dist/duckdb-node.cjs","./dist/duckdb-node.cjs":"./dist/duckdb-node.cjs","./dist/duckdb-node-blocking":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-blocking.cjs":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-eh.worker.cjs":"./dist/duckdb-node-eh.worker.cjs","./dist/duckdb-node-mvp.worker.cjs":"./dist/duckdb-node-mvp.worker.cjs","./blocking":{"browser":{"types":"./dist/duckdb-browser-blocking.d.ts","import":"./dist/duckdb-browser-blocking.mjs","require":"./dist/duckdb-browser-blocking.cjs"},"node":{"types":"./dist/duckdb-node-blocking.d.ts","require":"./dist/duckdb-node-blocking.cjs","import":"./dist/duckdb-node-blocking.cjs"},"types":"./dist/duckdb-browser-blocking.d.ts","import":"./dist/duckdb-browser-blocking.mjs","require":"./dist/duckdb-browser-blocking.cjs"},".":{"browser":{"types":"./dist/duckdb-browser.d.ts","import":"./dist/duckdb-browser.mjs","require":"./dist/duckdb-browser.cjs"},"node":{"types":"./dist/duckdb-node.d.ts","import":"./dist/duckdb-node.cjs","require":"./dist/duckdb-node.cjs"},"types":"./dist/duckdb-browser.d.ts","import":"./dist/duckdb-browser.mjs","require":"./dist/duckdb-browser.cjs"}},"readme":"<img src=\"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@latest/dist/img/duckdb_wasm.svg\" height=\"64\">\r\n\r\n[![Main](https://github.com/duckdb/duckdb-wasm/actions/workflows/main.yml/badge.svg)](https://github.com/duckdb/duckdb-wasm/actions/workflows/main.yml)\r\n[![Benchmarks](https://github.com/duckdb/duckdb-wasm/actions/workflows/benchmarks.yml/badge.svg)](https://github.com/duckdb/duckdb-wasm/actions/workflows/benchmarks.yml)\r\n[![duckdb](https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@latest/dist/img/duckdb_version_badge.svg)](https://github.com/duckdb/duckdb)\r\n[![npm](https://img.shields.io/npm/v/@duckdb/duckdb-wasm?logo=npm)](https://www.npmjs.com/package/@duckdb/duckdb-wasm/v/latest)\r\n[![JSDevlivr](https://data.jsdelivr.com/v1/package/npm/@duckdb/duckdb-wasm/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@duckdb/duckdb-wasm)\r\n\r\n**DuckDB-Wasm**\r\n\r\nDuckDB-Wasm is an in-process analytical SQL database for the browser. It is powered by WebAssembly, speaks Arrow fluently, reads Parquet, CSV and JSON files backed by Filesystem APIs or HTTP requests and has been tested with Chrome, Firefox, Safari and Node.js. Read the [launch blog post](https://duckdb.org/2021/10/29/duckdb-wasm.html).\r\n\r\nTry it out at [shell.duckdb.org](https://shell.duckdb.org) and on [Observable](https://observablehq.com/@cmudig/duckdb) and read the [API documentation](https://shell.duckdb.org/docs/modules/index.html).\r\n\r\n_DuckDB-Wasm is fast! If you're here for performance numbers, head over to [our benchmarks](https://shell.duckdb.org/versus)._\r\n\r\n## Instantiation\r\ncdn(jsdelivr)  \r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\n\r\nconst JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();\r\n\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);\r\n\r\nconst worker_url = URL.createObjectURL(\r\n  new Blob([`importScripts(\"${bundle.mainWorker!}\");`], {type: 'text/javascript'})\r\n);\r\n\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(worker_url);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\nURL.revokeObjectURL(worker_url);\r\n```\r\n\r\nwebpack  \r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\nimport duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm';\r\nimport duckdb_wasm_next from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm';\r\nconst MANUAL_BUNDLES: duckdb.DuckDBBundles = {\r\n    mvp: {\r\n        mainModule: duckdb_wasm,\r\n        mainWorker: new URL('@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js', import.meta.url).toString(),\r\n    },\r\n    eh: {\r\n        mainModule: duckdb_wasm_next,\r\n        mainWorker: new URL('@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js', import.meta.url).toString(),\r\n    },\r\n};\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(MANUAL_BUNDLES);\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(bundle.mainWorker!);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\n```\r\nvite  \r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\nimport duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm?url';\r\nimport mvp_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url';\r\nimport duckdb_wasm_eh from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm?url';\r\nimport eh_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js?url';\r\n\r\nconst MANUAL_BUNDLES: duckdb.DuckDBBundles = {\r\n    mvp: {\r\n        mainModule: duckdb_wasm,\r\n        mainWorker: mvp_worker,\r\n    },\r\n    eh: {\r\n        mainModule: duckdb_wasm_eh,\r\n        mainWorker: eh_worker,\r\n    },\r\n};\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(MANUAL_BUNDLES);\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(bundle.mainWorker!);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\n```\r\nstatic served(manually download the files from https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm/dist/)\r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\n\r\nconst MANUAL_BUNDLES: duckdb.DuckDBBundles = {\r\n    mvp: {\r\n        mainModule: 'change/me/../duckdb-mvp.wasm',\r\n        mainWorker: 'change/me/../duckdb-browser-mvp.worker.js',\r\n    },\r\n    eh: {\r\n        mainModule: 'change/m/../duckdb-eh.wasm',\r\n        mainWorker: 'change/m/../duckdb-browser-eh.worker.js',\r\n    },\r\n};\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(bundle.mainWorker!);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\n```  \r\n\r\n## Data Import\r\n\r\n```ts\r\n// Data can be inserted from an existing arrow.Table\r\nawait c.insertArrowTable(existingTable, { name: 'arrow_table' });\r\n// ..., from a raw Arrow IPC stream\r\nconst c = await db.connect();\r\nconst streamResponse = await fetch(`someapi`);\r\nconst streamReader = streamResponse.body.getReader();\r\nconst streamInserts = [];\r\nwhile (true) {\r\n    const { value, done } = await streamReader.read();\r\n    if (done) break;\r\n    streamInserts.push(c.insertArrowFromIPCStream(value, { name: 'streamed' }));\r\n}\r\nawait Promise.all(streamInserts);\r\n\r\n// ..., from CSV files\r\n// (interchangeable: registerFile{Text,Buffer,URL,Handle})\r\nawait db.registerFileText(`data.csv`, '1|foo\\n2|bar\\n');\r\n// ... with typed insert options\r\nawait db.insertCSVFromPath('data.csv', {\r\n    schema: 'main',\r\n    name: 'foo',\r\n    detect: false,\r\n    header: false,\r\n    delimiter: '|',\r\n    columns: {\r\n        col1: new arrow.Int32(),\r\n        col2: new arrow.Utf8(),\r\n    },\r\n});\r\n\r\n// ..., from JSON documents in row-major format\r\nawait db.registerFileText(\r\n    'rows.json',\r\n    `[\r\n    { \"col1\": 1, \"col2\": \"foo\" },\r\n    { \"col1\": 2, \"col2\": \"bar\" },\r\n]`,\r\n);\r\n// ... or column-major format\r\nawait db.registerFileText(\r\n    'columns.json',\r\n    `{\r\n    \"col1\": [1, 2],\r\n    \"col2\": [\"foo\", \"bar\"]\r\n}`,\r\n);\r\n// ... with typed insert options\r\nawait c.insertJSONFromPath('rows.json', { name: 'rows' });\r\nawait c.insertJSONFromPath('columns.json', { name: 'columns' });\r\n\r\n// ..., from Parquet files\r\nconst pickedFile: File = letUserPickFile();\r\nawait db.registerFileHandle('local.parquet', pickedFile, DuckDBDataProtocol.BROWSER_FILEREADER, true);\r\nawait db.registerFileURL('remote.parquet', 'https://origin/remote.parquet', DuckDBDataProtocol.HTTP, false);\r\nconst res = await fetch('https://origin/remote.parquet');\r\nawait db.registerFileBuffer('buffer.parquet', new Uint8Array(await res.arrayBuffer()));\r\n\r\n// ..., by specifying URLs in the SQL text\r\nawait c.query(`\r\n    CREATE TABLE direct AS\r\n        SELECT * FROM \"https://origin/remote.parquet\"\r\n`);\r\n// ..., or by executing raw insert statements\r\nawait c.query(`INSERT INTO existing_table\r\n    VALUES (1, \"foo\"), (2, \"bar\")`);\r\n\r\n// Close the connection to release memory\r\nawait c.close();\r\n```\r\n\r\n## Query Execution\r\n\r\n```ts\r\n// Either materialize the query result\r\nawait conn.query<{ v: arrow.Int }>(`\r\n    SELECT * FROM generate_series(1, 100) t(v)\r\n`);\r\n// ..., or fetch the result chunks lazily\r\nfor await (const batch of await conn.send<{ v: arrow.Int }>(`\r\n    SELECT * FROM generate_series(1, 100) t(v)\r\n`)) {\r\n    // ...\r\n}\r\n// Close the connection to release memory\r\nawait conn.close();\r\n```\r\n\r\n## Prepared Statements\r\n\r\n```ts\r\n// Prepare query\r\nconst stmt = await conn.prepare(`SELECT v + ? FROM generate_series(0, 10000) as t(v);`);\r\n// ... and run the query with materialized results\r\nawait stmt.query(234);\r\n// ... or result chunks\r\nfor await (const batch of await stmt.send(234)) {\r\n    // ...\r\n}\r\n// Close the statement to release memory\r\nawait stmt.close();\r\n// Closing the connection will release statements as well\r\nawait conn.close();\r\n```\r\n","readmeFilename":"README.md","gitHead":"eaafc9f1efd30991a2a868cc459d1bb1596b2b84","bugs":{"url":"https://github.com/duckdb/duckdb-wasm/issues"},"homepage":"https://github.com/duckdb/duckdb-wasm#readme","_id":"@carlop/duckdb-wasm@1.24.1-dev43.5","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-oDCjvCnnxKr5OlnDNILhUPd6n5VMfp6jHYI4ZTXeATqHzdDOWvbJyk93mSOgA/kGCelJOkys5wJhZUECR3skVA==","shasum":"b25dba181e2a4621244cc9c2e58849634bd5038f","tarball":"https://registry.npmjs.org/@carlop/duckdb-wasm/-/duckdb-wasm-1.24.1-dev43.5.tgz","fileCount":89,"unpackedSize":191989336,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0Kbhb9AX/EOom5JMY8WCx/8DdlApGOipKsza2Rl2tKAiBTAsSTI9LUF0qaAsn4QwtYzfWfBSqjylySRH0oOWkxJA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPQ3ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrT5A/+Otv/2+A/57wzoN8RF6G3SiNfpF27DVsJ56+MI1U6fjg4FLa5\r\nT5ScOUYQblE9JpB/HUUWJTxfyk2WaJZfT9FREsdLKqE1pxRokyf5GlWrAJal\r\ne8JouHwgD87T8NezGRjCeghUeCfLLC+Sz90paPy/CnZtjbcfMRzlvqrZCm7l\r\nZfwqJxeXQqRr9w3PfR8J1xQoDqb0M9JaGFVkEYzs0l1wpUNpVMjAKjUTy9qn\r\nWB9f0u9Bq5U3e04HvKqkcjspSzbt17cR+K6hhc3ZntlVHVZ/1dWFzY8ZpN/N\r\nM5oDYuhesWfukZv2MtiLwTSga+77R5VnpAItRZ6CdKMr9Vgrl6fxVTY68EJp\r\nfEnC40+1Uk8s5ev297+XpNlhHLdy7qnBE+InbaBTRWuPj9UaoKWIywA4v3cB\r\n89puWRUTRwbPQEbKrEtsu8bl8jdItnAKjOSOffpBSbPSiowevJP0eRf3i0aS\r\nIIBc805YcYq5g+g8GtPl/Hs0qlUATjdWcqF+zGqCyBn4axVtYnpzn45H1g76\r\nshhD6GpHkNbjrCcZCaPiG+TTqDKk5Xawv+1oDDCSYuyFv6WIJWsGOT+scLAL\r\naHxixTZahAnWf5XBCKbMfz07/zJ1er8yoL6w27tdLJl+ldhJNQxw1bppB+4d\r\nCiQv6kKsZRqckKOb3mUExuJgTBY/U0ik0Yc=\r\n=K8F+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlop","email":"piovesan.carlo+npm@gmail.com"},"directories":{},"maintainers":[{"name":"carlop","email":"piovesan.carlo+npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/duckdb-wasm_1.24.1-dev43.5_1681722841019_0.3063829919676837"},"_hasShrinkwrap":false},"1.13.0":{"name":"@carlop/duckdb-wasm","version":"1.13.0","description":"DuckDB powered by WebAssembly","license":"MIT","repository":{"type":"git","url":"git+https://github.com/duckdb/duckdb-wasm.git"},"keywords":["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],"dependencies":{"apache-arrow":"^11.0.0"},"devDependencies":{"@types/emscripten":"^1.39.6","@types/jasmine":"^4.3.1","@typescript-eslint/eslint-plugin":"^5.53.0","@typescript-eslint/parser":"^5.49.0","esbuild":"^0.15.12","eslint":"^8.35.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.32.2","fast-glob":"^3.2.12","jasmine":"^4.5.0","jasmine-core":"^4.3.0","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.9.0","karma":"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-coverage":"^2.2.0","karma-firefox-launcher":"^2.1.2","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.0.0","karma-sourcemap-loader":"^0.3.8","karma-spec-reporter":"^0.0.36","make-dir":"^3.1.0","nyc":"^15.1.0","prettier":"^2.8.4","puppeteer":"^19.10.0","rimraf":"^4.3.0","s3rver":"^3.7.1","typedoc":"^0.23.27","typescript":"^4.8.4","wasm-feature-detect":"^1.5.1","web-worker":"^1.2.0"},"scripts":{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly","docs":"typedoc","report":"node ./coverage.mjs","test:node":"node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:firefox":"karma start ./karma/tests-firefox.cjs","test:chrome":"karma start ./karma/tests-chrome.cjs","test:chrome:eh":"karma start ./karma/tests-chrome-eh.cjs","test:chrome:coverage":"karma start ./karma/tests-chrome-coverage.cjs","test:browser":"karma start ./karma/tests-all.cjs","test:browser:debug":"karma start ./karma/tests-debug.cjs","test":"npm run test:chrome && npm run test:node","test:coverage":"npm run test:chrome:coverage && npm run test:node:coverage && npm run report","lint":"eslint src test"},"main":"dist/duckdb-browser.cjs","module":"dist/duckdb-browser.mjs","types":"dist/duckdb-browser.d.ts","jsdelivr":"dist/duckdb-browser.cjs","unpkg":"dist/duckdb-browser.mjs","sideEffects":false,"browser":{"fs":false,"path":false,"perf_hooks":false,"os":false,"worker_threads":false},"exports":{"./dist/duckdb-mvp.wasm":"./dist/duckdb-mvp.wasm","./dist/duckdb-eh.wasm":"./dist/duckdb-eh.wasm","./dist/duckdb-coi.wasm":"./dist/duckdb-coi.wasm","./dist/duckdb-browser":"./dist/duckdb-browser.mjs","./dist/duckdb-browser.cjs":"./dist/duckdb-browser.cjs","./dist/duckdb-browser.mjs":"./dist/duckdb-browser.mjs","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.mjs":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.cjs":"./dist/duckdb-browser-blocking.cjs","./dist/duckdb-browser-coi.pthread.worker.js":"./dist/duckdb-browser-coi.pthread.worker.js","./dist/duckdb-browser-coi.worker.js":"./dist/duckdb-browser-coi.worker.js","./dist/duckdb-browser-eh.worker.js":"./dist/duckdb-browser-eh.worker.js","./dist/duckdb-browser-mvp.worker.js":"./dist/duckdb-browser-mvp.worker.js","./dist/duckdb-node":"./dist/duckdb-node.cjs","./dist/duckdb-node.cjs":"./dist/duckdb-node.cjs","./dist/duckdb-node-blocking":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-blocking.cjs":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-eh.worker.cjs":"./dist/duckdb-node-eh.worker.cjs","./dist/duckdb-node-mvp.worker.cjs":"./dist/duckdb-node-mvp.worker.cjs","./blocking":{"browser":{"types":"./dist/duckdb-browser-blocking.d.ts","import":"./dist/duckdb-browser-blocking.mjs","require":"./dist/duckdb-browser-blocking.cjs"},"node":{"types":"./dist/duckdb-node-blocking.d.ts","require":"./dist/duckdb-node-blocking.cjs","import":"./dist/duckdb-node-blocking.cjs"},"types":"./dist/duckdb-browser-blocking.d.ts","import":"./dist/duckdb-browser-blocking.mjs","require":"./dist/duckdb-browser-blocking.cjs"},".":{"browser":{"types":"./dist/duckdb-browser.d.ts","import":"./dist/duckdb-browser.mjs","require":"./dist/duckdb-browser.cjs"},"node":{"types":"./dist/duckdb-node.d.ts","import":"./dist/duckdb-node.cjs","require":"./dist/duckdb-node.cjs"},"types":"./dist/duckdb-browser.d.ts","import":"./dist/duckdb-browser.mjs","require":"./dist/duckdb-browser.cjs"}},"readme":"<img src=\"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@latest/dist/img/duckdb_wasm.svg\" height=\"64\">\r\n\r\n[![Main](https://github.com/duckdb/duckdb-wasm/actions/workflows/main.yml/badge.svg)](https://github.com/duckdb/duckdb-wasm/actions/workflows/main.yml)\r\n[![Benchmarks](https://github.com/duckdb/duckdb-wasm/actions/workflows/benchmarks.yml/badge.svg)](https://github.com/duckdb/duckdb-wasm/actions/workflows/benchmarks.yml)\r\n[![duckdb](https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@latest/dist/img/duckdb_version_badge.svg)](https://github.com/duckdb/duckdb)\r\n[![npm](https://img.shields.io/npm/v/@duckdb/duckdb-wasm?logo=npm)](https://www.npmjs.com/package/@duckdb/duckdb-wasm/v/latest)\r\n[![JSDevlivr](https://data.jsdelivr.com/v1/package/npm/@duckdb/duckdb-wasm/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@duckdb/duckdb-wasm)\r\n\r\n**DuckDB-Wasm**\r\n\r\nDuckDB-Wasm is an in-process analytical SQL database for the browser. It is powered by WebAssembly, speaks Arrow fluently, reads Parquet, CSV and JSON files backed by Filesystem APIs or HTTP requests and has been tested with Chrome, Firefox, Safari and Node.js. Read the [launch blog post](https://duckdb.org/2021/10/29/duckdb-wasm.html).\r\n\r\nTry it out at [shell.duckdb.org](https://shell.duckdb.org) and on [Observable](https://observablehq.com/@cmudig/duckdb) and read the [API documentation](https://shell.duckdb.org/docs/modules/index.html).\r\n\r\n_DuckDB-Wasm is fast! If you're here for performance numbers, head over to [our benchmarks](https://shell.duckdb.org/versus)._\r\n\r\n## Instantiation\r\ncdn(jsdelivr)  \r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\n\r\nconst JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();\r\n\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);\r\n\r\nconst worker_url = URL.createObjectURL(\r\n  new Blob([`importScripts(\"${bundle.mainWorker!}\");`], {type: 'text/javascript'})\r\n);\r\n\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(worker_url);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\nURL.revokeObjectURL(worker_url);\r\n```\r\n\r\nwebpack  \r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\nimport duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm';\r\nimport duckdb_wasm_next from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm';\r\nconst MANUAL_BUNDLES: duckdb.DuckDBBundles = {\r\n    mvp: {\r\n        mainModule: duckdb_wasm,\r\n        mainWorker: new URL('@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js', import.meta.url).toString(),\r\n    },\r\n    eh: {\r\n        mainModule: duckdb_wasm_next,\r\n        mainWorker: new URL('@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js', import.meta.url).toString(),\r\n    },\r\n};\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(MANUAL_BUNDLES);\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(bundle.mainWorker!);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\n```\r\nvite  \r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\nimport duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm?url';\r\nimport mvp_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url';\r\nimport duckdb_wasm_eh from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm?url';\r\nimport eh_worker from '@duckdb/duckdb-wasm/dist/duckdb-browser-eh.worker.js?url';\r\n\r\nconst MANUAL_BUNDLES: duckdb.DuckDBBundles = {\r\n    mvp: {\r\n        mainModule: duckdb_wasm,\r\n        mainWorker: mvp_worker,\r\n    },\r\n    eh: {\r\n        mainModule: duckdb_wasm_eh,\r\n        mainWorker: eh_worker,\r\n    },\r\n};\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(MANUAL_BUNDLES);\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(bundle.mainWorker!);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\n```\r\nstatic served(manually download the files from https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm/dist/)\r\n```ts\r\nimport * as duckdb from '@duckdb/duckdb-wasm';\r\n\r\nconst MANUAL_BUNDLES: duckdb.DuckDBBundles = {\r\n    mvp: {\r\n        mainModule: 'change/me/../duckdb-mvp.wasm',\r\n        mainWorker: 'change/me/../duckdb-browser-mvp.worker.js',\r\n    },\r\n    eh: {\r\n        mainModule: 'change/m/../duckdb-eh.wasm',\r\n        mainWorker: 'change/m/../duckdb-browser-eh.worker.js',\r\n    },\r\n};\r\n// Select a bundle based on browser checks\r\nconst bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);\r\n// Instantiate the asynchronus version of DuckDB-wasm\r\nconst worker = new Worker(bundle.mainWorker!);\r\nconst logger = new duckdb.ConsoleLogger();\r\nconst db = new duckdb.AsyncDuckDB(logger, worker);\r\nawait db.instantiate(bundle.mainModule, bundle.pthreadWorker);\r\n```  \r\n\r\n## Data Import\r\n\r\n```ts\r\n// Data can be inserted from an existing arrow.Table\r\nawait c.insertArrowTable(existingTable, { name: 'arrow_table' });\r\n// ..., from a raw Arrow IPC stream\r\nconst c = await db.connect();\r\nconst streamResponse = await fetch(`someapi`);\r\nconst streamReader = streamResponse.body.getReader();\r\nconst streamInserts = [];\r\nwhile (true) {\r\n    const { value, done } = await streamReader.read();\r\n    if (done) break;\r\n    streamInserts.push(c.insertArrowFromIPCStream(value, { name: 'streamed' }));\r\n}\r\nawait Promise.all(streamInserts);\r\n\r\n// ..., from CSV files\r\n// (interchangeable: registerFile{Text,Buffer,URL,Handle})\r\nawait db.registerFileText(`data.csv`, '1|foo\\n2|bar\\n');\r\n// ... with typed insert options\r\nawait db.insertCSVFromPath('data.csv', {\r\n    schema: 'main',\r\n    name: 'foo',\r\n    detect: false,\r\n    header: false,\r\n    delimiter: '|',\r\n    columns: {\r\n        col1: new arrow.Int32(),\r\n        col2: new arrow.Utf8(),\r\n    },\r\n});\r\n\r\n// ..., from JSON documents in row-major format\r\nawait db.registerFileText(\r\n    'rows.json',\r\n    `[\r\n    { \"col1\": 1, \"col2\": \"foo\" },\r\n    { \"col1\": 2, \"col2\": \"bar\" },\r\n]`,\r\n);\r\n// ... or column-major format\r\nawait db.registerFileText(\r\n    'columns.json',\r\n    `{\r\n    \"col1\": [1, 2],\r\n    \"col2\": [\"foo\", \"bar\"]\r\n}`,\r\n);\r\n// ... with typed insert options\r\nawait c.insertJSONFromPath('rows.json', { name: 'rows' });\r\nawait c.insertJSONFromPath('columns.json', { name: 'columns' });\r\n\r\n// ..., from Parquet files\r\nconst pickedFile: File = letUserPickFile();\r\nawait db.registerFileHandle('local.parquet', pickedFile, DuckDBDataProtocol.BROWSER_FILEREADER, true);\r\nawait db.registerFileURL('remote.parquet', 'https://origin/remote.parquet', DuckDBDataProtocol.HTTP, false);\r\nconst res = await fetch('https://origin/remote.parquet');\r\nawait db.registerFileBuffer('buffer.parquet', new Uint8Array(await res.arrayBuffer()));\r\n\r\n// ..., by specifying URLs in the SQL text\r\nawait c.query(`\r\n    CREATE TABLE direct AS\r\n        SELECT * FROM \"https://origin/remote.parquet\"\r\n`);\r\n// ..., or by executing raw insert statements\r\nawait c.query(`INSERT INTO existing_table\r\n    VALUES (1, \"foo\"), (2, \"bar\")`);\r\n\r\n// Close the connection to release memory\r\nawait c.close();\r\n```\r\n\r\n## Query Execution\r\n\r\n```ts\r\n// Either materialize the query result\r\nawait conn.query<{ v: arrow.Int }>(`\r\n    SELECT * FROM generate_series(1, 100) t(v)\r\n`);\r\n// ..., or fetch the result chunks lazily\r\nfor await (const batch of await conn.send<{ v: arrow.Int }>(`\r\n    SELECT * FROM generate_series(1, 100) t(v)\r\n`)) {\r\n    // ...\r\n}\r\n// Close the connection to release memory\r\nawait conn.close();\r\n```\r\n\r\n## Prepared Statements\r\n\r\n```ts\r\n// Prepare query\r\nconst stmt = await conn.prepare(`SELECT v + ? FROM generate_series(0, 10000) as t(v);`);\r\n// ... and run the query with materialized results\r\nawait stmt.query(234);\r\n// ... or result chunks\r\nfor await (const batch of await stmt.send(234)) {\r\n    // ...\r\n}\r\n// Close the statement to release memory\r\nawait stmt.close();\r\n// Closing the connection will release statements as well\r\nawait conn.close();\r\n```\r\n","readmeFilename":"README.md","gitHead":"2ab0ab57fc64d1b3d46b9445a9e1280dc3f759f9","bugs":{"url":"https://github.com/duckdb/duckdb-wasm/issues"},"homepage":"https://github.com/duckdb/duckdb-wasm#readme","_id":"@carlop/duckdb-wasm@1.13.0","_nodeVersion":"19.8.1","_npmVersion":"9.5.1","dist":{"integrity":"sha512-ylYh2s3nDbxbs7qcCGfmJ991xuE+HGk1ZDWqV+Ml8b2Ic15m7Eyo9uAIA5KL1vlxI52V5d+tLf41SX94RmYf5A==","shasum":"cb1ff78a1c672bffd36c38c924dbc43226a943bc","tarball":"https://registry.npmjs.org/@carlop/duckdb-wasm/-/duckdb-wasm-1.13.0.tgz","fileCount":100,"unpackedSize":1716655558,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/9TZhb8RVCU6wyXGc7bvjW2EN9GFeyczPUbZDeByRtAIgYmqtIF52saxSphp7/V7xfUaGKNwfvxygRHUHJifh8Sw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkT9EXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqaGg/9H+b9GHtG7qG3dsi4DhMajLu1uKXUvE5mtJWz1OQCvlsbhEf+\r\nKYBOSwQD39+U9E9+l3vzbGRLQvI6LI/BevbS0Qr3pVqzWBB+dILdCM2nsQCS\r\nN55qhi+GEPuIXhQp4wSz8czQ/KR7PAuD+o+27EbnynK4j5YZxXq/wZjnFPRU\r\nq+chZVl/ooLJx4ZKD3qUNAmvl/QsKaXOpFNiA9zoklJ2VXXM/GpsaHl0U/9x\r\nW4VE9Uv7Lx+oiRIhr0wSXT0s1aJyOphpIIhvZR2KkufQsq62ypcUFKMy2c9S\r\n0SwPZbpfr8L3Ee5AlUKSwj3x7h8+P+vZsO4d7fFSJFD6YZVZvA51guDjRvQS\r\n4HhO3jZXe+eW02q0isT3wryWRuBIf1YY0b7VUqYOOP0dL/xfZdjHq4gXt/9z\r\nWH+WOyP04yAilOu7mNzCVQT8Ll2GZhqMDyXeriacGiyiEMPwycUG5IdV8eZj\r\nfMtnB5IvJaN04m96KbhDaPbi/w+GUZ9DiEyewPfiWkBaWZr096qMzfUB89wP\r\nb2pvc/zHzsPVlMfTmwFVUsyO1JIsLbAiI92Kt4BFWwVJhS/xWN8RJD2MYfB2\r\nbRFX1mgFz8CgD2OzSdIhp1OYKJpTn2e8cATd6ihBcybscVJZkQeVmgpb9fCH\r\nfm/CBaRAGHfjEqgvNXnjZ29YpbepW42LjKs=\r\n=3Ll4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlop","email":"piovesan.carlo+npm@gmail.com"},"directories":{},"maintainers":[{"name":"carlop","email":"piovesan.carlo+npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/duckdb-wasm_1.13.0_1682952470384_0.3025278778883682"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-17T09:04:58.627Z","1.24.1-dev43.0":"2023-04-17T09:04:59.358Z","modified":"2023-05-01T14:47:54.652Z","1.24.1-dev43.5":"2023-04-17T09:14:01.566Z","1.13.0":"2023-05-01T14:47:51.635Z"},"maintainers":[{"name":"carlop","email":"piovesan.carlo+npm@gmail.com"}],"description":"DuckDB powered by WebAssembly","homepage":"https://github.com/duckdb/duckdb-wasm#readme","keywords":["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],"repository":{"type":"git","url":"git+https://github.com/duckdb/duckdb-wasm.git"},"bugs":{"url":"https://github.com/duckdb/duckdb-wasm/issues"},"license":"MIT","readme":"","readmeFilename":""}