@gsknnft/bigint-buffer 1.4.6 → 1.4.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 +40 -3
- package/build/Release/bigint_buffer.node +0 -0
- package/dist/build/Release/bigint_buffer.node +0 -0
- package/dist/index.cjs +1 -1
- package/dist/{types/dist/dist/index.d.ts → index.d.ts} +1 -2
- package/dist/index.js +352 -410
- package/dist/index.umd.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/conversion/src/ts/converter.d.ts +7 -3
- package/dist/types/conversion/src/ts/index.d.ts +19 -8
- package/dist/types/conversion/test/fixedPoint.test.d.ts +1 -0
- package/dist/types/index.d.ts +1 -2
- package/package.json +153 -141
- package/prebuilds/win32-x64/@gsknnft+bigint-buffer.node +0 -0
- package/scripts/postinstall.cjs +38 -0
- package/build/Release/bigint_buffer.exp +0 -0
- package/build/Release/bigint_buffer.iobj +0 -0
- package/build/Release/bigint_buffer.ipdb +0 -0
- package/build/Release/bigint_buffer.lib +0 -0
- package/build/Release/bigint_buffer.pdb +0 -0
- package/build/Release/obj/bigint_buffer/bigint_buffer.node.recipe +0 -11
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/CL.command.1.tlog +0 -0
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/CL.read.1.tlog +0 -0
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/CL.write.1.tlog +0 -0
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/Cl.items.tlog +0 -2
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/bigint_buffer.lastbuildstate +0 -2
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.command.1.tlog +0 -0
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.read.1.tlog +0 -0
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.secondary.1.tlog +0 -5
- package/build/Release/obj/bigint_buffer/bigint_buffer.tlog/link.write.1.tlog +0 -0
- package/build/Release/obj/bigint_buffer/src/bigint-buffer.obj +0 -0
- package/build/Release/obj/bigint_buffer/win_delay_load_hook.obj +0 -0
- package/build/bigint_buffer.vcxproj +0 -148
- package/build/bigint_buffer.vcxproj.filters +0 -64
- package/build/binding.sln +0 -19
- package/build/config.gypi +0 -525
- package/dist/types/conversion/src/ts/fixedPoint/index.d.ts +0 -12
- package/src/bigint-buffer.test.ts +0 -11
- package/src/conversion/.github/workflows/build-and-test.yml +0 -116
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-PYrzNv/src/ts/index.js +0 -178
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-PYrzNv/src/ts/index.js.map +0 -1
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-h16OVM/src/ts/index.js +0 -178
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-h16OVM/src/ts/index.js.map +0 -1
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-uUCFYt/src/ts/index.js +0 -178
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-uUCFYt/src/ts/index.js.map +0 -1
- package/src/conversion/CODE_OF_CONDUCT.md +0 -134
- package/src/conversion/LICENSE +0 -21
- package/src/conversion/README.md +0 -48
- package/src/conversion/coverage/base.css +0 -224
- package/src/conversion/coverage/block-navigation.js +0 -87
- package/src/conversion/coverage/clover.xml +0 -131
- package/src/conversion/coverage/coverage-final.json +0 -2
- package/src/conversion/coverage/favicon.png +0 -0
- package/src/conversion/coverage/index.html +0 -116
- package/src/conversion/coverage/index.ts.html +0 -1225
- package/src/conversion/coverage/prettify.css +0 -1
- package/src/conversion/coverage/prettify.js +0 -2
- package/src/conversion/coverage/sort-arrow-sprite.png +0 -0
- package/src/conversion/coverage/sorter.js +0 -210
- package/src/conversion/docs/README.md +0 -42
- package/src/conversion/docs/functions/base64ToBigint.md +0 -27
- package/src/conversion/docs/functions/bigintToBase64.md +0 -43
- package/src/conversion/docs/functions/bigintToBuf.md +0 -35
- package/src/conversion/docs/functions/bigintToHex.md +0 -43
- package/src/conversion/docs/functions/bigintToText.md +0 -31
- package/src/conversion/docs/functions/bufToBigint.md +0 -25
- package/src/conversion/docs/functions/bufToHex.md +0 -37
- package/src/conversion/docs/functions/bufToText.md +0 -27
- package/src/conversion/docs/functions/hexToBigint.md +0 -29
- package/src/conversion/docs/functions/hexToBuf.md +0 -37
- package/src/conversion/docs/functions/parseHex.md +0 -45
- package/src/conversion/docs/functions/textToBigint.md +0 -27
- package/src/conversion/docs/functions/textToBuf.md +0 -33
- package/src/conversion/docs/functions/toBigIntBE.md +0 -27
- package/src/conversion/docs/functions/toBigIntLE.md +0 -27
- package/src/conversion/docs/functions/toBufferBE.md +0 -33
- package/src/conversion/docs/functions/toBufferLE.md +0 -33
- package/src/conversion/docs/functions/validateBigIntBuffer.md +0 -15
- package/src/conversion/docs/type-aliases/TypedArray.md +0 -11
- package/src/conversion/docs/variables/isNative.md +0 -11
- package/src/conversion/example.cjs +0 -9
- package/src/conversion/example.esm.js +0 -11
- package/src/conversion/index.ts +0 -2
- package/src/conversion/node_modules/.bin/_mocha +0 -21
- package/src/conversion/node_modules/.bin/_mocha.CMD +0 -12
- package/src/conversion/node_modules/.bin/_mocha.ps1 +0 -41
- package/src/conversion/node_modules/.bin/c8 +0 -21
- package/src/conversion/node_modules/.bin/c8.CMD +0 -12
- package/src/conversion/node_modules/.bin/c8.ps1 +0 -41
- package/src/conversion/node_modules/.bin/esbuild +0 -21
- package/src/conversion/node_modules/.bin/esbuild.CMD +0 -12
- package/src/conversion/node_modules/.bin/esbuild.ps1 +0 -41
- package/src/conversion/node_modules/.bin/eslint +0 -21
- package/src/conversion/node_modules/.bin/eslint.CMD +0 -12
- package/src/conversion/node_modules/.bin/eslint.ps1 +0 -41
- package/src/conversion/node_modules/.bin/jiti +0 -21
- package/src/conversion/node_modules/.bin/jiti.CMD +0 -12
- package/src/conversion/node_modules/.bin/jiti.ps1 +0 -41
- package/src/conversion/node_modules/.bin/json5 +0 -21
- package/src/conversion/node_modules/.bin/json5.CMD +0 -12
- package/src/conversion/node_modules/.bin/json5.ps1 +0 -41
- package/src/conversion/node_modules/.bin/mocha +0 -21
- package/src/conversion/node_modules/.bin/mocha.CMD +0 -12
- package/src/conversion/node_modules/.bin/mocha.ps1 +0 -41
- package/src/conversion/node_modules/.bin/npm-run-all +0 -21
- package/src/conversion/node_modules/.bin/npm-run-all.CMD +0 -12
- package/src/conversion/node_modules/.bin/npm-run-all.ps1 +0 -41
- package/src/conversion/node_modules/.bin/puppeteer +0 -21
- package/src/conversion/node_modules/.bin/puppeteer.CMD +0 -12
- package/src/conversion/node_modules/.bin/puppeteer.ps1 +0 -41
- package/src/conversion/node_modules/.bin/rimraf +0 -16
- package/src/conversion/node_modules/.bin/rimraf.cmd +0 -17
- package/src/conversion/node_modules/.bin/rimraf.ps1 +0 -28
- package/src/conversion/node_modules/.bin/rollup +0 -21
- package/src/conversion/node_modules/.bin/rollup.CMD +0 -12
- package/src/conversion/node_modules/.bin/rollup.ps1 +0 -41
- package/src/conversion/node_modules/.bin/run-p +0 -21
- package/src/conversion/node_modules/.bin/run-p.CMD +0 -12
- package/src/conversion/node_modules/.bin/run-p.ps1 +0 -41
- package/src/conversion/node_modules/.bin/run-s +0 -21
- package/src/conversion/node_modules/.bin/run-s.CMD +0 -12
- package/src/conversion/node_modules/.bin/run-s.ps1 +0 -41
- package/src/conversion/node_modules/.bin/terser +0 -21
- package/src/conversion/node_modules/.bin/terser.CMD +0 -12
- package/src/conversion/node_modules/.bin/terser.ps1 +0 -41
- package/src/conversion/node_modules/.bin/ts-standard +0 -21
- package/src/conversion/node_modules/.bin/ts-standard.CMD +0 -12
- package/src/conversion/node_modules/.bin/ts-standard.ps1 +0 -41
- package/src/conversion/node_modules/.bin/tsc +0 -21
- package/src/conversion/node_modules/.bin/tsc.CMD +0 -12
- package/src/conversion/node_modules/.bin/tsc.ps1 +0 -41
- package/src/conversion/node_modules/.bin/tsserver +0 -21
- package/src/conversion/node_modules/.bin/tsserver.CMD +0 -12
- package/src/conversion/node_modules/.bin/tsserver.ps1 +0 -41
- package/src/conversion/node_modules/.bin/typedoc +0 -21
- package/src/conversion/node_modules/.bin/typedoc.CMD +0 -12
- package/src/conversion/node_modules/.bin/typedoc.ps1 +0 -41
- package/src/conversion/node_modules/.bin/vite +0 -21
- package/src/conversion/node_modules/.bin/vite.CMD +0 -12
- package/src/conversion/node_modules/.bin/vite.ps1 +0 -41
- package/src/conversion/node_modules/.bin/vitest +0 -21
- package/src/conversion/node_modules/.bin/vitest.CMD +0 -12
- package/src/conversion/node_modules/.bin/vitest.ps1 +0 -41
- package/src/conversion/node_modules/.bin/yaml +0 -21
- package/src/conversion/node_modules/.bin/yaml.CMD +0 -12
- package/src/conversion/node_modules/.bin/yaml.ps1 +0 -41
- package/src/conversion/node_modules/glob/LICENSE.md +0 -63
- package/src/conversion/node_modules/glob/README.md +0 -1177
- package/src/conversion/node_modules/glob/dist/commonjs/glob.d.ts +0 -388
- package/src/conversion/node_modules/glob/dist/commonjs/glob.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/glob.js +0 -247
- package/src/conversion/node_modules/glob/dist/commonjs/glob.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.d.ts +0 -14
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.js +0 -27
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.d.ts +0 -24
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.js +0 -119
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/index.d.ts +0 -97
- package/src/conversion/node_modules/glob/dist/commonjs/index.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/index.js +0 -68
- package/src/conversion/node_modules/glob/dist/commonjs/index.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/package.json +0 -3
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.d.ts +0 -76
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.js +0 -219
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/processor.d.ts +0 -59
- package/src/conversion/node_modules/glob/dist/commonjs/processor.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/processor.js +0 -301
- package/src/conversion/node_modules/glob/dist/commonjs/processor.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/walker.d.ts +0 -97
- package/src/conversion/node_modules/glob/dist/commonjs/walker.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/commonjs/walker.js +0 -387
- package/src/conversion/node_modules/glob/dist/commonjs/walker.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/glob.d.ts +0 -388
- package/src/conversion/node_modules/glob/dist/esm/glob.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/glob.js +0 -243
- package/src/conversion/node_modules/glob/dist/esm/glob.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/has-magic.d.ts +0 -14
- package/src/conversion/node_modules/glob/dist/esm/has-magic.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/has-magic.js +0 -23
- package/src/conversion/node_modules/glob/dist/esm/has-magic.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/ignore.d.ts +0 -24
- package/src/conversion/node_modules/glob/dist/esm/ignore.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/ignore.js +0 -115
- package/src/conversion/node_modules/glob/dist/esm/ignore.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/index.d.ts +0 -97
- package/src/conversion/node_modules/glob/dist/esm/index.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/index.js +0 -55
- package/src/conversion/node_modules/glob/dist/esm/index.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/package.json +0 -3
- package/src/conversion/node_modules/glob/dist/esm/pattern.d.ts +0 -76
- package/src/conversion/node_modules/glob/dist/esm/pattern.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/pattern.js +0 -215
- package/src/conversion/node_modules/glob/dist/esm/pattern.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/processor.d.ts +0 -59
- package/src/conversion/node_modules/glob/dist/esm/processor.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/processor.js +0 -294
- package/src/conversion/node_modules/glob/dist/esm/processor.js.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/walker.d.ts +0 -97
- package/src/conversion/node_modules/glob/dist/esm/walker.d.ts.map +0 -1
- package/src/conversion/node_modules/glob/dist/esm/walker.js +0 -381
- package/src/conversion/node_modules/glob/dist/esm/walker.js.map +0 -1
- package/src/conversion/node_modules/glob/package.json +0 -93
- package/src/conversion/node_modules/minimatch/LICENSE.md +0 -55
- package/src/conversion/node_modules/minimatch/README.md +0 -453
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +0 -2
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +0 -14
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.d.ts +0 -20
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.js +0 -591
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +0 -8
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.js +0 -152
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.d.ts +0 -15
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.js +0 -30
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.d.ts +0 -94
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.js +0 -1029
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/package.json +0 -3
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.d.ts +0 -22
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.js +0 -38
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +0 -2
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.js +0 -10
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/ast.d.ts +0 -20
- package/src/conversion/node_modules/minimatch/dist/esm/ast.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/ast.js +0 -587
- package/src/conversion/node_modules/minimatch/dist/esm/ast.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.d.ts +0 -8
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.js +0 -148
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/escape.d.ts +0 -15
- package/src/conversion/node_modules/minimatch/dist/esm/escape.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/escape.js +0 -26
- package/src/conversion/node_modules/minimatch/dist/esm/escape.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/index.d.ts +0 -94
- package/src/conversion/node_modules/minimatch/dist/esm/index.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/index.js +0 -1016
- package/src/conversion/node_modules/minimatch/dist/esm/index.js.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/package.json +0 -3
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.d.ts +0 -22
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.d.ts.map +0 -1
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.js +0 -34
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.js.map +0 -1
- package/src/conversion/node_modules/minimatch/package.json +0 -78
- package/src/conversion/node_modules/rimraf/LICENSE.md +0 -55
- package/src/conversion/node_modules/rimraf/README.md +0 -226
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.js +0 -58
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.d.ts +0 -6
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.js +0 -10
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.js +0 -38
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.d.ts +0 -15
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.js +0 -33
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.js +0 -24
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.d.ts +0 -50
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.js +0 -78
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.d.ts +0 -34
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.js +0 -53
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/package.json +0 -3
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.js +0 -48
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.js +0 -19
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.d.ts +0 -8
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.js +0 -65
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.js +0 -8
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js +0 -138
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.js +0 -24
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.js +0 -103
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.js +0 -159
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.js +0 -18
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/bin.d.mts +0 -3
- package/src/conversion/node_modules/rimraf/dist/esm/bin.d.mts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/bin.mjs +0 -250
- package/src/conversion/node_modules/rimraf/dist/esm/bin.mjs.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.js +0 -55
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/error.d.ts +0 -6
- package/src/conversion/node_modules/rimraf/dist/esm/error.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/error.js +0 -5
- package/src/conversion/node_modules/rimraf/dist/esm/error.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.js +0 -33
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/fs.d.ts +0 -15
- package/src/conversion/node_modules/rimraf/dist/esm/fs.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/fs.js +0 -18
- package/src/conversion/node_modules/rimraf/dist/esm/fs.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.js +0 -19
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/index.d.ts +0 -50
- package/src/conversion/node_modules/rimraf/dist/esm/index.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/index.js +0 -70
- package/src/conversion/node_modules/rimraf/dist/esm/index.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.d.ts +0 -34
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.js +0 -46
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/package.json +0 -3
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.js +0 -46
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.js +0 -14
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.d.ts +0 -8
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.js +0 -60
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.d.ts +0 -3
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.js +0 -5
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.js +0 -133
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.js +0 -19
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.js +0 -98
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.js +0 -154
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.js.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.d.ts +0 -4
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.d.ts.map +0 -1
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.js +0 -15
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.js.map +0 -1
- package/src/conversion/node_modules/rimraf/package.json +0 -92
- package/src/conversion/package.json +0 -154
- package/src/conversion/src/docs/index.md +0 -52
- package/src/conversion/src/ts/converter.ts +0 -85
- package/src/conversion/src/ts/fixedPoint/index.ts +0 -87
- package/src/conversion/src/ts/index.ts +0 -500
- package/src/conversion/test/bigintToBase64.test.ts +0 -37
- package/src/conversion/test/bigintToBuf.test.ts +0 -43
- package/src/conversion/test/bigintToHex.test.ts +0 -52
- package/src/conversion/test/bigintToText.test.ts +0 -30
- package/src/conversion/test/bufToBigint.test.ts +0 -20
- package/src/conversion/test/hexToBigint.test.ts +0 -22
- package/src/conversion/test/hexToBuf.test.ts +0 -39
- package/src/conversion/test/parseHex.test.ts +0 -35
- package/src/conversion/test/setup.test.ts +0 -9
- package/src/conversion/test/textToBuf.test.ts +0 -26
- package/src/conversion/tsconfig.json +0 -57
- package/src/conversion/typedoc.json +0 -5
- package/src/conversion/vite.config.ts +0 -47
- package/src/conversion/vitest.config.ts +0 -15
- package/src/index.bench.ts +0 -206
- package/src/index.spec.ts +0 -318
- package/src/index.ts +0 -343
- /package/dist/{types/dist/dist/conversion/conversion → conversion}/index.d.ts +0 -0
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
[](https://opensource.org/licenses/MIT)
|
|
2
|
-
[](CODE_OF_CONDUCT.md)
|
|
3
|
-
[](https://standardjs.com)
|
|
4
|
-
{{GITHUB_ACTIONS_BADGES}}
|
|
5
|
-
|
|
6
|
-
# {{PKG_NAME}} v1.4.5
|
|
7
|
-
|
|
8
|
-
Convert to/from non-negative integers represented with [ES-2020 native JS implementation of BigInt](https://tc39.es/ecma262/#sec-bigint-objects) from/to:
|
|
9
|
-
|
|
10
|
-
- `Buffer` (node.js) or `ArrayBuffer|TypedArray` (native js),
|
|
11
|
-
- hex `string`,
|
|
12
|
-
- utf8-encoded text `string`,
|
|
13
|
-
- standard and url-safe base64 with and without padding.
|
|
14
|
-
|
|
15
|
-
It provides a common interface for the conversions that works for both **node.js** and **native javascript**.
|
|
16
|
-
|
|
17
|
-
**New in 1.4.5:**
|
|
18
|
-
- FixedPoint utilities for high-precision math and conversions
|
|
19
|
-
- Native bindings included in `build/Release/` out of the box
|
|
20
|
-
- Improved JS fallback for environments without native support
|
|
21
|
-
|
|
22
|
-
> Note that there is not a directly visible `TypedArray()` constructor, but a set of typed array ones: `Int8Array()`, `Uint8Array()`, `Uint8ClampedArray()`, `Int16Array()`, `Uint16Array()`, `Int32Array()`, `Uint32Array()`, `Float32Array()`, `Float64Array()`, `BigInt64Array()`, `BigUint64Array()`.
|
|
23
|
-
|
|
24
|
-
## Usage
|
|
25
|
-
|
|
26
|
-
`{{PKG_NAME}}` can be imported to your project with `npm`:
|
|
27
|
-
|
|
28
|
-
```console
|
|
29
|
-
npm install {{PKG_NAME}}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Then either require (Node.js CJS):
|
|
33
|
-
|
|
34
|
-
```javascript
|
|
35
|
-
const {{PKG_CAMELCASE}} = require('{{PKG_NAME}}')
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
or import (JavaScript ES module):
|
|
39
|
-
|
|
40
|
-
```javascript
|
|
41
|
-
import * as {{PKG_CAMELCASE}} from '{{PKG_NAME}}'
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
The appropriate version for browser or node is automatically exported.
|
|
45
|
-
|
|
46
|
-
> BigInt is [ES-2020](https://tc39.es/ecma262/#sec-bigint-objects). In order to use it with TypeScript you should set `target` (and probably also `lib`) to at least `es2020` in `tsconfig.json`.
|
|
47
|
-
|
|
48
|
-
You can also download the {{IIFE_BUNDLE}}, the {{ESM_BUNDLE}} or the {{UMD_BUNDLE}} and manually add it to your project, or, if you have already installed `{{PKG_NAME}}` in your project, just get the bundles from `node_modules/{{PKG_NAME}}/dist/bundles/`.
|
|
49
|
-
|
|
50
|
-
## API reference documentation
|
|
51
|
-
|
|
52
|
-
[Check the API](./docs/API.md)
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
|
|
5
|
-
export interface ConverterInterface {
|
|
6
|
-
toBigInt: (buf: Buffer, bigEndian?: boolean) => bigint;
|
|
7
|
-
fromBigInt: (num: bigint, buf: Buffer, bigEndian?: boolean) => Buffer;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export let isNative = false;
|
|
11
|
-
|
|
12
|
-
let converter: ConverterInterface | undefined;
|
|
13
|
-
let nativeLoadError: unknown;
|
|
14
|
-
|
|
15
|
-
export const IS_BROWSER =
|
|
16
|
-
typeof globalThis !== "undefined" &&
|
|
17
|
-
typeof (globalThis as { document?: unknown }).document !== "undefined";
|
|
18
|
-
|
|
19
|
-
export const candidateRoots = [
|
|
20
|
-
// when running from dist/
|
|
21
|
-
path.resolve(__dirname, "../.."),
|
|
22
|
-
// when running from build/conversion/src/ts
|
|
23
|
-
path.resolve(__dirname, "../../.."),
|
|
24
|
-
// when running from src/conversion/src/ts
|
|
25
|
-
path.resolve(__dirname, "../../../.."),
|
|
26
|
-
];
|
|
27
|
-
|
|
28
|
-
export const findModuleRoot = (): string => {
|
|
29
|
-
for (const root of candidateRoots) {
|
|
30
|
-
const candidate = path.join(root, "build", "Release", "bigint_buffer.node");
|
|
31
|
-
if (fs.existsSync(candidate)) return root;
|
|
32
|
-
}
|
|
33
|
-
return candidateRoots[0];
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export function loadNative(): ConverterInterface | undefined {
|
|
37
|
-
try {
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
39
|
-
const bindings = require("bindings");
|
|
40
|
-
const moduleRoot = findModuleRoot();
|
|
41
|
-
return bindings({
|
|
42
|
-
bindings: "bigint_buffer",
|
|
43
|
-
module_root: moduleRoot,
|
|
44
|
-
}) as ConverterInterface;
|
|
45
|
-
} catch (err) {
|
|
46
|
-
nativeLoadError = err;
|
|
47
|
-
return undefined;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (!IS_BROWSER) {
|
|
52
|
-
converter = loadNative();
|
|
53
|
-
isNative = converter !== undefined;
|
|
54
|
-
if (
|
|
55
|
-
!isNative &&
|
|
56
|
-
nativeLoadError !== undefined &&
|
|
57
|
-
process.env?.BIGINT_BUFFER_SILENT_NATIVE_FAIL !== "1"
|
|
58
|
-
) {
|
|
59
|
-
console.warn(
|
|
60
|
-
"bigint-buffer: Failed to load native bindings; using pure JS fallback. Run npm run rebuild to restore native.",
|
|
61
|
-
nativeLoadError
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (converter === undefined) {
|
|
67
|
-
// fallback to pure JS if needed (browser or when native load fails)
|
|
68
|
-
converter = {
|
|
69
|
-
toBigInt: (buf: Buffer, bigEndian = true) => {
|
|
70
|
-
const copy = Buffer.from(buf);
|
|
71
|
-
if (!bigEndian) copy.reverse();
|
|
72
|
-
const hex = copy.toString("hex");
|
|
73
|
-
return hex.length === 0 ? 0n : BigInt(`0x${hex}`);
|
|
74
|
-
},
|
|
75
|
-
fromBigInt: (num: bigint, buf: Buffer, bigEndian = true) => {
|
|
76
|
-
const hex = num.toString(16);
|
|
77
|
-
const width = buf.length;
|
|
78
|
-
const filled = hex.padStart(width * 2, "0").slice(0, width * 2);
|
|
79
|
-
const tmp = Buffer.from(filled, "hex");
|
|
80
|
-
if (!bigEndian) tmp.reverse();
|
|
81
|
-
tmp.copy(buf);
|
|
82
|
-
return buf;
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { bigintToHex, hexToBigint } from "../index";
|
|
2
|
-
|
|
3
|
-
export type FixedPoint = string;
|
|
4
|
-
|
|
5
|
-
export const FIXED_POINT_DECIMALS = 9;
|
|
6
|
-
export const FIXED_POINT_PATTERN = /^-?0x[0-9a-f]+$/i;
|
|
7
|
-
export const ZERO_FIXED_POINT: FixedPoint = '0x0';
|
|
8
|
-
|
|
9
|
-
const normalizeHex = (value: string): string =>
|
|
10
|
-
value.startsWith('0x') || value.startsWith('0X') ? value : `0x${value}`;
|
|
11
|
-
|
|
12
|
-
const toHexString = (value: bigint): FixedPoint => {
|
|
13
|
-
if (value === 0n) {
|
|
14
|
-
return ZERO_FIXED_POINT;
|
|
15
|
-
}
|
|
16
|
-
const isNegative = value < 0n;
|
|
17
|
-
const absValue = isNegative ? -value : value;
|
|
18
|
-
const hexValue = bigintToHex(absValue);
|
|
19
|
-
return `${isNegative ? '-' : ''}0x${hexValue}`;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export const toBigIntValue = (value?: FixedPoint): bigint => {
|
|
23
|
-
if (!value) {
|
|
24
|
-
return 0n;
|
|
25
|
-
}
|
|
26
|
-
const trimmed = value.trim();
|
|
27
|
-
if (trimmed.length === 0) {
|
|
28
|
-
return 0n;
|
|
29
|
-
}
|
|
30
|
-
const isNegative = trimmed.startsWith('-');
|
|
31
|
-
const body = isNegative ? trimmed.slice(1) : trimmed;
|
|
32
|
-
const normalized = normalizeHex(body);
|
|
33
|
-
const bigValue = hexToBigint(normalized);
|
|
34
|
-
return isNegative ? -bigValue : bigValue;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export function toFixedPoint(
|
|
38
|
-
value: number,
|
|
39
|
-
decimals: number = FIXED_POINT_DECIMALS,
|
|
40
|
-
): FixedPoint {
|
|
41
|
-
if (!Number.isFinite(value)) {
|
|
42
|
-
return ZERO_FIXED_POINT;
|
|
43
|
-
}
|
|
44
|
-
const scale = Math.pow(10, decimals);
|
|
45
|
-
const scaled = BigInt(Math.round(value * scale));
|
|
46
|
-
return toHexString(scaled);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export function fromFixedPoint(
|
|
50
|
-
value?: FixedPoint,
|
|
51
|
-
decimals: number = FIXED_POINT_DECIMALS,
|
|
52
|
-
): number {
|
|
53
|
-
const bigValue = toBigIntValue(value);
|
|
54
|
-
if (bigValue === 0n) {
|
|
55
|
-
return 0;
|
|
56
|
-
}
|
|
57
|
-
const scale = Math.pow(10, decimals);
|
|
58
|
-
return Number(bigValue) / scale;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export function addFixedPoint(a: FixedPoint, b: FixedPoint): FixedPoint {
|
|
62
|
-
return toHexString(toBigIntValue(a) + toBigIntValue(b));
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export function subtractFixedPoint(a: FixedPoint, b: FixedPoint): FixedPoint {
|
|
66
|
-
return toHexString(toBigIntValue(a) - toBigIntValue(b));
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export function averageFixedPoint(values: FixedPoint[]): FixedPoint {
|
|
70
|
-
if (values.length === 0) {
|
|
71
|
-
return ZERO_FIXED_POINT;
|
|
72
|
-
}
|
|
73
|
-
const sum = values.reduce((acc, value) => acc + toBigIntValue(value), 0n);
|
|
74
|
-
return toHexString(sum / BigInt(values.length));
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export function compareFixedPoint(a: FixedPoint, b: FixedPoint): number {
|
|
78
|
-
const diff = toBigIntValue(a) - toBigIntValue(b);
|
|
79
|
-
if (diff === 0n) {
|
|
80
|
-
return 0;
|
|
81
|
-
}
|
|
82
|
-
return diff > 0n ? 1 : -1;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export function fixedPointToBigInt(value?: FixedPoint): bigint {
|
|
86
|
-
return toBigIntValue(value);
|
|
87
|
-
}
|