indexeddbshim 19.0.6 → 19.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/Key.d.ts.map +1 -1
- package/dist/indexeddbshim-Key.js +34 -6
- package/dist/indexeddbshim-Key.js.map +1 -1
- package/dist/indexeddbshim-Key.min.js +2 -2
- package/dist/indexeddbshim-Key.min.js.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +33 -5
- package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers.js +34 -6
- package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers.min.js +3 -3
- package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
- package/dist/indexeddbshim-node.cjs +33 -5
- package/dist/indexeddbshim-node.cjs.map +1 -1
- package/dist/indexeddbshim-noninvasive.js +34 -6
- package/dist/indexeddbshim-noninvasive.js.map +1 -1
- package/dist/indexeddbshim-noninvasive.min.js +3 -3
- package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
- package/dist/indexeddbshim.js +34 -6
- package/dist/indexeddbshim.js.map +1 -1
- package/dist/indexeddbshim.min.js +3 -3
- package/dist/indexeddbshim.min.js.map +1 -1
- package/licenseInfo.json +8 -0
- package/package.json +87 -88
- package/src/Key.js +36 -6
package/licenseInfo.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "indexeddbshim",
|
|
3
|
-
"version": "19.0.
|
|
3
|
+
"version": "19.0.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "Parashuram <code@nparashuram.com>",
|
|
6
6
|
"contributors": [
|
|
@@ -33,92 +33,6 @@
|
|
|
33
33
|
"test-support/**"
|
|
34
34
|
]
|
|
35
35
|
},
|
|
36
|
-
"scripts": {
|
|
37
|
-
"prepublishOnly": "npm run license-badges && npm run build",
|
|
38
|
-
"attw": "attw --pack . --profile node16",
|
|
39
|
-
"tsc": "tsc",
|
|
40
|
-
"tsc-prod": "tsc -p tsconfig-prod.json",
|
|
41
|
-
"tsc:ts7": "npx -y -p typescript@^7 -c \"tsc\"",
|
|
42
|
-
"tsc-prod:ts7": "npx -y typescript@^7 tsc -p tsconfig-prod.json",
|
|
43
|
-
"build": "rm -R dist && npm run tsc-prod && npm run rollup",
|
|
44
|
-
"license-badge": "license-badger --corrections --uncategorizedLicenseTemplate \"\\${license} (\\${name} (\\${version}))\" --filteredTypes=nonempty --textTemplate \"License types\n(project, deps, and bundled devDeps)\" --packageJson --production badges/licenses-badge.svg",
|
|
45
|
-
"license-badge-dev": "license-badger --corrections --filteredTypes=nonempty --textTemplate \"License types\n(all devDeps)\" --allDevelopment badges/licenses-badge-dev.svg",
|
|
46
|
-
"license-badges": "run-p license-badge license-badge-dev",
|
|
47
|
-
"start": "static -p 9999 -H '{\"Access-Control-Allow-Origin\": \"http://web-platform.test:8000\", \"Access-Control-Allow-Methods\": \"GET\", \"Access-Control-Allow-Headers\": \"Content-Type\"}'",
|
|
48
|
-
"watch": "chokidar \"src/*\" \"node_modules/eventtarget/EventTarget.js\" \"node_modules/websql/lib/websql/WebSQLTransaction.js\" \"node_modules/websql/lib/websql/WebSQLDatabase.js\" -c \"npm run rollup\"",
|
|
49
|
-
"dev": "run-p start watch",
|
|
50
|
-
"clean": "run-p clean-sysDB clean-mocha clean-fake clean-mock clean-w3c clean-w3cOld",
|
|
51
|
-
"clean-sysDB": "rimraf --glob __sysdb__*",
|
|
52
|
-
"clean-polyfill": "run-p clean-fake clean-mock clean-w3cOld clean-sysDB",
|
|
53
|
-
"clean-mocha": "rimraf --glob D_recreate-index* D_indexeddbshim_test_database_* D_test.sqlite D_delete-* D_update-* D_cont* D_c^* D_dbname* D_sysdb-* file::memory:?* && npm run clean-sysDB",
|
|
54
|
-
"clean-fake": "rimraf --glob D_test0.*",
|
|
55
|
-
"clean-mock": "rimraf --glob D_test_database*",
|
|
56
|
-
"clean-w3c": "rimraf --glob D_opaque* D_inbox* D_output* D_*_bucket_* D_^D^B2* D_db* D_test* D_about* D_^I^D^B* D_blank* D_database_name* D_idbtransaction* D_x D_x.sqlite D_y D_y.sqlite D_webworker* D_http* && npm run clean-sysDB",
|
|
57
|
-
"clean-w3cOld": "rimraf --glob D_db.sqlite* D_test* D_database_name* D_idbtransaction*",
|
|
58
|
-
"clean-w3c-built": "rimraf test-support/js",
|
|
59
|
-
"copy": "copyup node_modules/source-map-support/browser-source-map-support.js node_modules/mocha/mocha.css node_modules/mocha/mocha.js node_modules/chai/chai.js node_modules/sinon/pkg/sinon-no-sourcemaps.js test-support",
|
|
60
|
-
"fix-permissions": "chmod +x node_modules/npm-run-all/bin/*/index.js",
|
|
61
|
-
"lint": "eslint .",
|
|
62
|
-
"eslint": "npm run lint --",
|
|
63
|
-
"w3c-build-only": "node test-support/node-buildjs",
|
|
64
|
-
"w3c-build": "run-s clean-w3c clean-w3c-built w3c-build-only",
|
|
65
|
-
"fake": "run-s clean-fake coverage:fake clean-fake",
|
|
66
|
-
"mock": "run-s clean-mock coverage:mock clean-mock",
|
|
67
|
-
"w3c-old": "run-s clean-w3cOld coverage:w3cOld clean-w3cOld",
|
|
68
|
-
"tests-polyfill": "run-s clean-polyfill coverage:fake coverage:mock coverage:w3cOld",
|
|
69
|
-
"mocha": "run-s clean-mocha coverage:mocha clean-mocha",
|
|
70
|
-
"rollup": "rollup -c",
|
|
71
|
-
"coverage:fake": "c8 --temp-directory coverage/fake --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+fake --require source-map-support/register tests-polyfill/fakeIndexedDB/test-node.js",
|
|
72
|
-
"coverage:mock": "c8 --temp-directory coverage/mock --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+mock --require source-map-support/register tests-polyfill/indexedDBmock/test-node.js",
|
|
73
|
-
"coverage:w3cOld": "c8 --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+w3c --require source-map-support/register tests-polyfill/w3c/test-node.js",
|
|
74
|
-
"coverage:w3c:test": "npm run delay && NODE_OPTIONS=--max_old_space_size=16384 c8 --temp-directory coverage/w3c --reporter=none --no-clean npm run w3c-test-only && npm run stop",
|
|
75
|
-
"coverage:w3c": "npm run clean-w3c && run-p -r wpt coverage:w3c:test",
|
|
76
|
-
"test:w3c": "NODE_OPTIONS=--max_old_space_size=16384 NODE_OPTIONS=--trace-warnings node test-support/node-idb-test.js",
|
|
77
|
-
"w3c-test-only": "NODE_OPTIONS=--max_old_space_size=16384 node --trace-warnings test-support/node-idb-test.js",
|
|
78
|
-
"coverage:mocha": "c8 --temp-directory coverage/mocha --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+mocha --require source-map-support/register tests-mocha/test-node.js",
|
|
79
|
-
"coverage-badge": "coveradge badges/coverage-badge",
|
|
80
|
-
"coverage:copy": "cp -r coverage/fake/. coverage/combined/ && cp -r coverage/mock/. coverage/combined/ && cp -r coverage/mocha/. coverage/combined/ && cp -r coverage/w3c/. coverage/combined/",
|
|
81
|
-
"coverage:report-only": "c8 report --temp-directory coverage/combined",
|
|
82
|
-
"coverage:report": "run-s coverage:copy coverage:report-only",
|
|
83
|
-
"remove-cache": "rimraf node_modules/.cache",
|
|
84
|
-
"remove-cov": "rimraf .nyc_output ",
|
|
85
|
-
"remove-results": "rimraf --glob test-support/results/file*.json",
|
|
86
|
-
"coverage:polyfill": "run-s coverage:fake coverage:mock coverage:w3cOld",
|
|
87
|
-
"tests-badge": "mbg --fileGlob \"./test-support/results/file*.json\" --badge_output badges/tests-badge.svg",
|
|
88
|
-
"coverage": "run-s -c stop clean coverage:empty remove-cache remove-cov remove-results coverage:fake coverage:mock coverage:mocha coverage:w3c clean tests-badge coverage:report coverage-badge",
|
|
89
|
-
"coverage:empty": "rimraf coverage/combined coverage/fake coverage/mock coverage/mocha coverage/w3c && mkdir -p coverage/combined",
|
|
90
|
-
"open-coverage-only": "open http://127.0.0.1:9999/coverage/lcov-report/",
|
|
91
|
-
"open-coverage": "run-p start open-coverage-only",
|
|
92
|
-
"test": "run-s lint coverage",
|
|
93
|
-
"submodules-init": "git submodule update --init --recursive",
|
|
94
|
-
"submodules-fetch": "git submodule foreach --recursive git fetch",
|
|
95
|
-
"submodules-merge": "git submodule foreach git merge origin master",
|
|
96
|
-
"submodules": "run-s submodules-init submodules-fetch submodules-merge",
|
|
97
|
-
"wpt": "run-p start web-platform-tests",
|
|
98
|
-
"web-platform-tests": "cd web-platform-tests && ./wpt serve",
|
|
99
|
-
"stop-server": "pkill -f \"static -p 9999\" || true",
|
|
100
|
-
"stop-wpt": "pkill -f \"wpt serve\" || true",
|
|
101
|
-
"stop-ports": "kill -9 $(lsof -ti tcp:8000,8443,8444,9000,9999) 2>/dev/null || true",
|
|
102
|
-
"stop": "run-s stop-server stop-wpt stop-ports",
|
|
103
|
-
"w3c-find-unused": "node test-support/find-unused.js",
|
|
104
|
-
"w3c": "run-s w3c-test",
|
|
105
|
-
"w3c-add-wrap": "node test-support/wrap-w3c-tests",
|
|
106
|
-
"w3c-remove-wrap": "node test-support/wrap-w3c-tests remove",
|
|
107
|
-
"w3c-wrap": "node test-support/wrap-w3c-tests",
|
|
108
|
-
"test-and-start:w3c": "run-p -r start web-platform-tests delayed-w3c-test",
|
|
109
|
-
"delay": "delay 9",
|
|
110
|
-
"delayed-w3c-test": "run-s delay w3c-build-only test:w3c",
|
|
111
|
-
"w3c-test": "run-s clean-w3c test-and-start:w3c clean-w3c",
|
|
112
|
-
"w3c-good-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js good",
|
|
113
|
-
"w3c-bad-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js bad",
|
|
114
|
-
"w3c-good-worker-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js good-worker",
|
|
115
|
-
"w3c-good": "run-s w3c-build w3c-good-only clean-w3c",
|
|
116
|
-
"w3c-bad": "run-s w3c-build w3c-bad-only clean-w3c",
|
|
117
|
-
"w3c-good-test": "run-s w3c-good-only clean-w3c",
|
|
118
|
-
"w3c-bad-test": "run-s w3c-bad-only clean-w3c",
|
|
119
|
-
"w3c-any-workers-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js any-workers",
|
|
120
|
-
"w3c-non-workers-only": "NODE_OPTIONS=--max_old_space_size=16384 node --trace-warnings test-support/node-idb-test.js"
|
|
121
|
-
},
|
|
122
36
|
"repository": {
|
|
123
37
|
"type": "git",
|
|
124
38
|
"url": "https://github.com/indexeddbshim/IndexedDBShim"
|
|
@@ -234,5 +148,90 @@
|
|
|
234
148
|
"unrs-resolver@1.12.2": true,
|
|
235
149
|
"better-sqlite3@13.0.3": true,
|
|
236
150
|
"is-hidden-file@1.1.2": true
|
|
151
|
+
},
|
|
152
|
+
"scripts": {
|
|
153
|
+
"attw": "attw --pack . --profile node16",
|
|
154
|
+
"tsc": "tsc",
|
|
155
|
+
"tsc-prod": "tsc -p tsconfig-prod.json",
|
|
156
|
+
"tsc:ts7": "npx -y -p typescript@^7 -c \"tsc\"",
|
|
157
|
+
"tsc-prod:ts7": "npx -y typescript@^7 tsc -p tsconfig-prod.json",
|
|
158
|
+
"build": "rm -R dist && npm run tsc-prod && npm run rollup",
|
|
159
|
+
"license-badge": "license-badger --corrections --uncategorizedLicenseTemplate \"\\${license} (\\${name} (\\${version}))\" --filteredTypes=nonempty --textTemplate \"License types\n(project, deps, and bundled devDeps)\" --packageJson --production badges/licenses-badge.svg",
|
|
160
|
+
"license-badge-dev": "license-badger --corrections --filteredTypes=nonempty --textTemplate \"License types\n(all devDeps)\" --allDevelopment badges/licenses-badge-dev.svg",
|
|
161
|
+
"license-badges": "run-p license-badge license-badge-dev",
|
|
162
|
+
"start": "static -p 9999 -H '{\"Access-Control-Allow-Origin\": \"http://web-platform.test:8000\", \"Access-Control-Allow-Methods\": \"GET\", \"Access-Control-Allow-Headers\": \"Content-Type\"}'",
|
|
163
|
+
"watch": "chokidar \"src/*\" \"node_modules/eventtarget/EventTarget.js\" \"node_modules/websql/lib/websql/WebSQLTransaction.js\" \"node_modules/websql/lib/websql/WebSQLDatabase.js\" -c \"npm run rollup\"",
|
|
164
|
+
"dev": "run-p start watch",
|
|
165
|
+
"clean": "run-p clean-sysDB clean-mocha clean-fake clean-mock clean-w3c clean-w3cOld",
|
|
166
|
+
"clean-sysDB": "rimraf --glob __sysdb__*",
|
|
167
|
+
"clean-polyfill": "run-p clean-fake clean-mock clean-w3cOld clean-sysDB",
|
|
168
|
+
"clean-mocha": "rimraf --glob D_recreate-index* D_indexeddbshim_test_database_* D_test.sqlite D_delete-* D_update-* D_cont* D_c^* D_dbname* D_sysdb-* file::memory:?* && npm run clean-sysDB",
|
|
169
|
+
"clean-fake": "rimraf --glob D_test0.*",
|
|
170
|
+
"clean-mock": "rimraf --glob D_test_database*",
|
|
171
|
+
"clean-w3c": "rimraf --glob D_opaque* D_inbox* D_output* D_*_bucket_* D_^D^B2* D_db* D_test* D_about* D_^I^D^B* D_blank* D_database_name* D_idbtransaction* D_x D_x.sqlite D_y D_y.sqlite D_webworker* D_http* && npm run clean-sysDB",
|
|
172
|
+
"clean-w3cOld": "rimraf --glob D_db.sqlite* D_test* D_database_name* D_idbtransaction*",
|
|
173
|
+
"clean-w3c-built": "rimraf test-support/js",
|
|
174
|
+
"copy": "copyup node_modules/source-map-support/browser-source-map-support.js node_modules/mocha/mocha.css node_modules/mocha/mocha.js node_modules/chai/chai.js node_modules/sinon/pkg/sinon-no-sourcemaps.js test-support",
|
|
175
|
+
"fix-permissions": "chmod +x node_modules/npm-run-all/bin/*/index.js",
|
|
176
|
+
"lint": "eslint .",
|
|
177
|
+
"eslint": "npm run lint --",
|
|
178
|
+
"w3c-build-only": "node test-support/node-buildjs",
|
|
179
|
+
"w3c-build": "run-s clean-w3c clean-w3c-built w3c-build-only",
|
|
180
|
+
"fake": "run-s clean-fake coverage:fake clean-fake",
|
|
181
|
+
"mock": "run-s clean-mock coverage:mock clean-mock",
|
|
182
|
+
"w3c-old": "run-s clean-w3cOld coverage:w3cOld clean-w3cOld",
|
|
183
|
+
"tests-polyfill": "run-s clean-polyfill coverage:fake coverage:mock coverage:w3cOld",
|
|
184
|
+
"mocha": "run-s clean-mocha coverage:mocha clean-mocha",
|
|
185
|
+
"rollup": "rollup -c",
|
|
186
|
+
"coverage:fake": "c8 --temp-directory coverage/fake --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+fake --require source-map-support/register tests-polyfill/fakeIndexedDB/test-node.js",
|
|
187
|
+
"coverage:mock": "c8 --temp-directory coverage/mock --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+mock --require source-map-support/register tests-polyfill/indexedDBmock/test-node.js",
|
|
188
|
+
"coverage:w3cOld": "c8 --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+w3c --require source-map-support/register tests-polyfill/w3c/test-node.js",
|
|
189
|
+
"coverage:w3c:test": "npm run delay && NODE_OPTIONS=--max_old_space_size=16384 c8 --temp-directory coverage/w3c --reporter=none --no-clean npm run w3c-test-only && npm run stop",
|
|
190
|
+
"coverage:w3c": "npm run clean-w3c && run-p -r wpt coverage:w3c:test",
|
|
191
|
+
"test:w3c": "NODE_OPTIONS=--max_old_space_size=16384 NODE_OPTIONS=--trace-warnings node test-support/node-idb-test.js",
|
|
192
|
+
"w3c-test-only": "NODE_OPTIONS=--max_old_space_size=16384 node --trace-warnings test-support/node-idb-test.js",
|
|
193
|
+
"coverage:mocha": "c8 --temp-directory coverage/mocha --reporter=none --no-clean mocha --reporter-options configFile=mocha-multi-reporters.json,cmrOutput=@es-joy/json-file-reporter+output+mocha --require source-map-support/register tests-mocha/test-node.js",
|
|
194
|
+
"coverage-badge": "coveradge badges/coverage-badge",
|
|
195
|
+
"coverage:copy": "cp -r coverage/fake/. coverage/combined/ && cp -r coverage/mock/. coverage/combined/ && cp -r coverage/mocha/. coverage/combined/ && cp -r coverage/w3c/. coverage/combined/",
|
|
196
|
+
"coverage:report-only": "c8 report --temp-directory coverage/combined",
|
|
197
|
+
"coverage:report": "run-s coverage:copy coverage:report-only",
|
|
198
|
+
"remove-cache": "rimraf node_modules/.cache",
|
|
199
|
+
"remove-cov": "rimraf .nyc_output ",
|
|
200
|
+
"remove-results": "rimraf --glob test-support/results/file*.json",
|
|
201
|
+
"coverage:polyfill": "run-s coverage:fake coverage:mock coverage:w3cOld",
|
|
202
|
+
"tests-badge": "mbg --fileGlob \"./test-support/results/file*.json\" --badge_output badges/tests-badge.svg",
|
|
203
|
+
"coverage": "run-s -c stop clean coverage:empty remove-cache remove-cov remove-results coverage:fake coverage:mock coverage:mocha coverage:w3c clean tests-badge coverage:report coverage-badge",
|
|
204
|
+
"coverage:empty": "rimraf coverage/combined coverage/fake coverage/mock coverage/mocha coverage/w3c && mkdir -p coverage/combined",
|
|
205
|
+
"open-coverage-only": "open http://127.0.0.1:9999/coverage/lcov-report/",
|
|
206
|
+
"open-coverage": "run-p start open-coverage-only",
|
|
207
|
+
"test": "run-s lint coverage",
|
|
208
|
+
"submodules-init": "git submodule update --init --recursive",
|
|
209
|
+
"submodules-fetch": "git submodule foreach --recursive git fetch",
|
|
210
|
+
"submodules-merge": "git submodule foreach git merge origin master",
|
|
211
|
+
"submodules": "run-s submodules-init submodules-fetch submodules-merge",
|
|
212
|
+
"wpt": "run-p start web-platform-tests",
|
|
213
|
+
"web-platform-tests": "cd web-platform-tests && ./wpt serve",
|
|
214
|
+
"stop-server": "pkill -f \"static -p 9999\" || true",
|
|
215
|
+
"stop-wpt": "pkill -f \"wpt serve\" || true",
|
|
216
|
+
"stop-ports": "kill -9 $(lsof -ti tcp:8000,8443,8444,9000,9999) 2>/dev/null || true",
|
|
217
|
+
"stop": "run-s stop-server stop-wpt stop-ports",
|
|
218
|
+
"w3c-find-unused": "node test-support/find-unused.js",
|
|
219
|
+
"w3c": "run-s w3c-test",
|
|
220
|
+
"w3c-add-wrap": "node test-support/wrap-w3c-tests",
|
|
221
|
+
"w3c-remove-wrap": "node test-support/wrap-w3c-tests remove",
|
|
222
|
+
"w3c-wrap": "node test-support/wrap-w3c-tests",
|
|
223
|
+
"test-and-start:w3c": "run-p -r start web-platform-tests delayed-w3c-test",
|
|
224
|
+
"delay": "delay 9",
|
|
225
|
+
"delayed-w3c-test": "run-s delay w3c-build-only test:w3c",
|
|
226
|
+
"w3c-test": "run-s clean-w3c test-and-start:w3c clean-w3c",
|
|
227
|
+
"w3c-good-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js good",
|
|
228
|
+
"w3c-bad-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js bad",
|
|
229
|
+
"w3c-good-worker-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js good-worker",
|
|
230
|
+
"w3c-good": "run-s w3c-build w3c-good-only clean-w3c",
|
|
231
|
+
"w3c-bad": "run-s w3c-build w3c-bad-only clean-w3c",
|
|
232
|
+
"w3c-good-test": "run-s w3c-good-only clean-w3c",
|
|
233
|
+
"w3c-bad-test": "run-s w3c-bad-only clean-w3c",
|
|
234
|
+
"w3c-any-workers-only": "NODE_OPTIONS=--max_old_space_size=16384 node test-support/node-idb-test.js any-workers",
|
|
235
|
+
"w3c-non-workers-only": "NODE_OPTIONS=--max_old_space_size=16384 node --trace-warnings test-support/node-idb-test.js"
|
|
237
236
|
}
|
|
238
|
-
}
|
|
237
|
+
}
|
package/src/Key.js
CHANGED
|
@@ -501,6 +501,34 @@ function convertValueToMultiEntryKey (input) {
|
|
|
501
501
|
return convertValueToKeyValueDecoded(input, null, true, true);
|
|
502
502
|
}
|
|
503
503
|
|
|
504
|
+
/**
|
|
505
|
+
* @param {BufferSource|ArrayBufferLike} buffer
|
|
506
|
+
* @returns {boolean}
|
|
507
|
+
*/
|
|
508
|
+
function isBufferDetached (buffer) {
|
|
509
|
+
// Use the standard property if available
|
|
510
|
+
// @ts-expect-error - More recent API
|
|
511
|
+
if (typeof buffer.detached === 'boolean') {
|
|
512
|
+
// @ts-expect-error - More recent API
|
|
513
|
+
return buffer.detached;
|
|
514
|
+
}
|
|
515
|
+
/* c8 ignore next 14 -- Older browsers */
|
|
516
|
+
|
|
517
|
+
// Fallback check via byteLength and constructor test
|
|
518
|
+
if (buffer.byteLength !== 0) {
|
|
519
|
+
return false;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
try {
|
|
523
|
+
// @ts-expect-error Ok
|
|
524
|
+
// eslint-disable-next-line no-new -- Throwaway
|
|
525
|
+
new Uint8Array(buffer);
|
|
526
|
+
return false;
|
|
527
|
+
} catch {
|
|
528
|
+
return true;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
504
532
|
/**
|
|
505
533
|
*
|
|
506
534
|
* @param {BufferSource} O
|
|
@@ -512,17 +540,19 @@ function getCopyBytesHeldByBufferSource (O) {
|
|
|
512
540
|
let offset = 0;
|
|
513
541
|
let length;
|
|
514
542
|
if (ArrayBuffer.isView(O)) { // Has [[ViewedArrayBuffer]] internal slot
|
|
515
|
-
const arrayBuffer = O.buffer;
|
|
516
|
-
if (arrayBuffer === undefined) {
|
|
517
|
-
throw new TypeError(
|
|
518
|
-
'Could not copy the bytes held by a buffer source as the buffer was undefined.'
|
|
519
|
-
);
|
|
520
|
-
}
|
|
521
543
|
offset = O.byteOffset; // [[ByteOffset]] (will also throw as desired if detached)
|
|
522
544
|
length = O.byteLength; // [[ByteLength]] (will also throw as desired if detached)
|
|
523
545
|
} else {
|
|
524
546
|
length = O.byteLength; // [[ArrayBufferByteLength]] on ArrayBuffer (will also throw as desired if detached)
|
|
525
547
|
}
|
|
548
|
+
|
|
549
|
+
const arrayBuffer = ArrayBuffer.isView(O) ? O.buffer : O;
|
|
550
|
+
if (isBufferDetached(arrayBuffer)) {
|
|
551
|
+
throw new TypeError(
|
|
552
|
+
'Could not copy the bytes held by a buffer source as the buffer was detached.'
|
|
553
|
+
);
|
|
554
|
+
}
|
|
555
|
+
|
|
526
556
|
// const octets = new Uint8Array(input);
|
|
527
557
|
// const octets = types.binary.decode(types.binary.encode(input));
|
|
528
558
|
return new Uint8Array(
|