From 157e9155718e85b3e1b7deffbd3ef283a1b44697 Mon Sep 17 00:00:00 2001 From: Evert Pot Date: Sat, 20 Apr 2024 21:46:41 -0400 Subject: [PATCH] Using the built-in assertion library instead of chai --- Makefile | 15 +- package-lock.json | 427 ----------------------------------- package.json | 4 - test/money-compare.ts | 38 +++- test/money.ts | 134 +++++++---- test/util-bigint-to-fixed.ts | 7 +- test/util-rounding.ts | 22 +- webpack.config.js | 26 --- 8 files changed, 144 insertions(+), 529 deletions(-) delete mode 100644 webpack.config.js diff --git a/Makefile b/Makefile index e7eb4d8..0b5cdad 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ project:=bigint-money export PATH:=./node_modules/.bin/:$(PATH) .PHONY: build -build: browser/${PROJECT}.min.js +build: tsbuild .PHONY: clean clean: @@ -11,7 +11,7 @@ clean: .PHONY: test test: lint - npx tsx --test + npx tsx --test test/*.ts .PHONY: test-debug test-debug: @@ -35,14 +35,3 @@ tsbuild: .PHONY: watch watch: tsc --watch - -.PHONY: browserbuild -browserbuild: tsbuild - # mkdir -p browser - # webpack \ - # --optimize-minimize \ - # -p \ - # --display-modules \ - # --sort-modules-by size - -browser/${PROJECT}.min.js: browserbuild diff --git a/package-lock.json b/package-lock.json index d6fe201..ded6698 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,14 +9,10 @@ "version": "1.3.0", "license": "MIT", "devDependencies": { - "@types/chai": "^4.2.12", - "@types/mocha": "^10.0.6", "@types/node": "^20.12.7", "@typescript-eslint/eslint-plugin": "^7.7.0", "@typescript-eslint/parser": "^7.7.0", - "chai": "^5.1.0", "eslint": "^8.57.0", - "ts-node": "^10.2.1", "tsx": "^4.7.2", "typescript": "^5.4.5" } @@ -30,28 +26,6 @@ "node": ">=0.10.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -527,21 +501,6 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -577,48 +536,12 @@ "node": ">= 8" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/chai": { - "version": "4.3.14", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", - "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", - "dev": true - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, - "node_modules/@types/mocha": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", - "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", - "dev": true - }, "node_modules/@types/node": { "version": "20.12.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", @@ -875,15 +798,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -924,12 +838,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -939,15 +847,6 @@ "node": ">=8" } }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -985,22 +884,6 @@ "node": ">=6" } }, - "node_modules/chai": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.0.tgz", - "integrity": "sha512-kDZ7MZyM6Q1DhR9jy7dalKohXQ2yrlXkk59CR52aRKxJrobmlBNqnFQxX9xOX8w+4mz8SYlKJa/7D7ddltFXCw==", - "dev": true, - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.0.0", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1017,15 +900,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/check-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.0.0.tgz", - "integrity": "sha512-tjLAOBHKVxtPoHe/SA7kNOMvhCRdCJ3vETdeY0RuAc9popf+hyaSV6ZEg9hr4cpWF7jmo/JSWEnLDrnijS9Tog==", - "dev": true, - "engines": { - "node": ">= 16" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1050,12 +924,6 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1087,15 +955,6 @@ } } }, - "node_modules/deep-eql": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.1.tgz", - "integrity": "sha512-nwQCf6ne2gez3o1MxWifqkciwt0zhl0LO1/UwVu4uMBuPmflWM4oQ70XMqHqnBJA+nhzncaqL9HVL6KkHJ28lw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1471,15 +1330,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/get-tsconfig": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", @@ -1730,21 +1580,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/loupe": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.0.tgz", - "integrity": "sha512-qKl+FrLXUhFuHUoDJG7f8P8gEMHq9NFS0c6ghXG1J0rldmZFQZoNVv/vyirE9qwCIhWZDsvEFd1sbFu3GvRQFg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -1895,15 +1730,6 @@ "node": ">=8" } }, - "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "engines": { - "node": ">= 14.16" - } - }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -2149,58 +1975,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/tsx": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.2.tgz", @@ -2272,12 +2046,6 @@ "punycode": "^2.1.0" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2299,15 +2067,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -2328,27 +2087,6 @@ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, "@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -2588,18 +2326,6 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2626,48 +2352,12 @@ "fastq": "^1.6.0" } }, - "@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "@types/chai": { - "version": "4.3.14", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", - "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", - "dev": true - }, "@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, - "@types/mocha": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", - "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", - "dev": true - }, "@types/node": { "version": "20.12.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", @@ -2823,12 +2513,6 @@ "dev": true, "requires": {} }, - "acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2856,24 +2540,12 @@ "color-convert": "^2.0.1" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2905,19 +2577,6 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "chai": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.0.tgz", - "integrity": "sha512-kDZ7MZyM6Q1DhR9jy7dalKohXQ2yrlXkk59CR52aRKxJrobmlBNqnFQxX9xOX8w+4mz8SYlKJa/7D7ddltFXCw==", - "dev": true, - "requires": { - "assertion-error": "^2.0.1", - "check-error": "^2.0.0", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2928,12 +2587,6 @@ "supports-color": "^7.1.0" } }, - "check-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.0.0.tgz", - "integrity": "sha512-tjLAOBHKVxtPoHe/SA7kNOMvhCRdCJ3vETdeY0RuAc9popf+hyaSV6ZEg9hr4cpWF7jmo/JSWEnLDrnijS9Tog==", - "dev": true - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2955,12 +2608,6 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2981,12 +2628,6 @@ "ms": "2.1.2" } }, - "deep-eql": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.1.tgz", - "integrity": "sha512-nwQCf6ne2gez3o1MxWifqkciwt0zhl0LO1/UwVu4uMBuPmflWM4oQ70XMqHqnBJA+nhzncaqL9HVL6KkHJ28lw==", - "dev": true - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -3275,12 +2916,6 @@ "dev": true, "optional": true }, - "get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true - }, "get-tsconfig": { "version": "4.7.3", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", @@ -3471,21 +3106,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "loupe": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.0.tgz", - "integrity": "sha512-qKl+FrLXUhFuHUoDJG7f8P8gEMHq9NFS0c6ghXG1J0rldmZFQZoNVv/vyirE9qwCIhWZDsvEFd1sbFu3GvRQFg==", - "dev": true, - "requires": { - "get-func-name": "^2.0.1" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -3597,12 +3217,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true - }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -3756,35 +3370,6 @@ "dev": true, "requires": {} }, - "ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - } - } - }, "tsx": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.2.tgz", @@ -3832,12 +3417,6 @@ "punycode": "^2.1.0" } }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -3853,12 +3432,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 6770798..2c31efc 100644 --- a/package.json +++ b/package.json @@ -26,14 +26,10 @@ }, "homepage": "https://github.com/evert/bigint-money#readme", "devDependencies": { - "@types/chai": "^4.2.12", - "@types/mocha": "^10.0.6", "@types/node": "^20.12.7", "@typescript-eslint/eslint-plugin": "^7.7.0", "@typescript-eslint/parser": "^7.7.0", - "chai": "^5.1.0", "eslint": "^8.57.0", - "ts-node": "^10.2.1", "tsx": "^4.7.2", "typescript": "^5.4.5" }, diff --git a/test/money-compare.ts b/test/money-compare.ts index c8edb60..6ac6add 100644 --- a/test/money-compare.ts +++ b/test/money-compare.ts @@ -1,6 +1,6 @@ import { Money, IncompatibleCurrencyError } from '../src/index.js'; -import { expect } from 'chai'; import { describe, it } from 'node:test'; +import assert from 'node:assert'; describe('Money.compare', () => { @@ -31,7 +31,10 @@ describe('Money.compare', () => { it(`${cas[0]} ${op} ${cas[1]} === true`, () => { const x = new Money(cas[0], 'AUD'); - expect(x.compare(cas[1])).to.equal(cas[2]); + assert.equal( + x.compare(cas[1]), + cas[2] + ); }); @@ -41,7 +44,10 @@ describe('Money.compare', () => { const x = new Money(1, 'AUD'); const y = new Money(2, 'NZD'); - expect(() => x.compare(y)).to.throw(IncompatibleCurrencyError); + assert.throws( + () => x.compare(y), + IncompatibleCurrencyError + ); }); @@ -64,7 +70,10 @@ describe('Money.isLesserThan', () => { it(`${cas[0]}.isLesserThan(${cas[1]}) === true`, () => { const x = new Money(cas[0], 'AUD'); - expect(x.isLesserThan(cas[1])).to.equal(cas[2]); + assert.equal( + x.isLesserThan(cas[1]), + cas[2] + ); }); @@ -89,7 +98,10 @@ describe('Money.isGreaterThan', () => { it(`${cas[0]}.isGreaterThan(${cas[1]}) === true`, () => { const x = new Money(cas[0], 'AUD'); - expect(x.isGreaterThan(cas[1])).to.equal(cas[2]); + assert.equal( + x.isGreaterThan(cas[1]), + cas[2] + ); }); @@ -114,7 +126,10 @@ describe('Money.isEqual', () => { it(`${cas[0]}.isEqual(${cas[1]}) === true`, () => { const x = new Money(cas[0], 'AUD'); - expect(x.isEqual(cas[1])).to.equal(cas[2]); + assert.equal( + x.isEqual(cas[1]), + cas[2] + ); }); @@ -139,7 +154,10 @@ describe('Money.isLesserThanOrEqual', () => { it(`${cas[0]}.isLesserThanOrEqual(${cas[1]}) === true`, () => { const x = new Money(cas[0], 'AUD'); - expect(x.isLesserThanOrEqual(cas[1])).to.equal(cas[2]); + assert.equal( + x.isLesserThanOrEqual(cas[1]), + cas[2] + ); }); @@ -164,8 +182,10 @@ describe('Money.isGreaterThanOrEqual', () => { it(`${cas[0]}.isGreaterThanOrEqual(${cas[1]}) === true`, () => { const x = new Money(cas[0], 'AUD'); - expect(x.isGreaterThanOrEqual(cas[1])).to.equal(cas[2]); - + assert.equal( + x.isGreaterThanOrEqual(cas[1]), + cas[2] + ); }); } diff --git a/test/money.ts b/test/money.ts index 39b78fd..ac9c4ec 100644 --- a/test/money.ts +++ b/test/money.ts @@ -1,37 +1,39 @@ import { Money, UnsafeIntegerError, IncompatibleCurrencyError } from '../src/index.js'; -import { expect } from 'chai'; import { PRECISION_I } from '../src/util'; import { describe, it } from 'node:test'; +import assert from 'node:assert'; describe('Money class', () => { it('should instantiate', () => { const m = new Money(1, 'USD'); - expect(m).to.be.an.instanceof(Money); - expect(m.currency).to.equal('USD'); + assert.ok(m instanceof Money); + assert.equal(m.currency, 'USD'); }); it('should error when instantiating with inprecise numbers', () => { - expect( () => { - new Money(1.1, 'yen'); - }).to.throw(UnsafeIntegerError); + assert.throws( + () => new Money(1.1, 'yen'), + UnsafeIntegerError + ); }); it('should error when instantiating with bad string formats', () => { - expect( () => { - new Money('1,5', 'yen'); - }).to.throw(TypeError); + assert.throws( + () => new Money('1,5', 'yen'), + TypeError, + ); }); describe('toFixed', () => { - const tests = [ + const tests: [any, number, string][] = [ [1, 3, '1.000'], ['3.5', 0, '4'], @@ -54,8 +56,10 @@ describe('Money class', () => { for(const test of tests) { it(`should return ${test[2]} when calling toFixed on ${test[0]} with ${test[1]} precision`, () => { - const m = new Money(test[0], 'USD'); - expect(m.toFixed(test[1] as number)).to.equal(test[2]); + assert.equal( + new Money(test[0], 'USD').toFixed(test[1]), + test[2] + ); }); } @@ -77,7 +81,7 @@ describe('Money class', () => { it(`should return ${test[1]} when calling format on ${test[0]}`, () => { const m = new Money(test[0], 'USD'); - expect(m.format()).to.equal(test[1]); + assert.equal(m.format(), test[1]); }); } @@ -91,18 +95,23 @@ describe('Money class', () => { it('should round to even', () => { const m = new Money('1.' + zeroes + '05', 'USD'); - expect(m).to.be.an.instanceof(Money); - expect(m.currency).to.equal('USD'); - expect(m.toFixed(PRECISION_I + 1)).to.equal('1.' + zeroes + '00'); - + assert.ok(m instanceof Money); + assert.equal(m.currency, 'USD'); + assert.equal( + m.toFixed(PRECISION_I + 1), + '1.' + zeroes + '00' + ); }); it('should round to even (2)', () => { const m = new Money('1.' + zeroes + '15', 'USD'); - expect(m).to.be.an.instanceof(Money); - expect(m.currency).to.equal('USD'); - expect(m.toFixed(PRECISION_I + 1)).to.equal('1.' + zeroes + '20'); + assert.ok(m instanceof Money); + assert.equal(m.currency,'USD'); + assert.equal( + m.toFixed(PRECISION_I + 1), + '1.' + zeroes + '20' + ); }); @@ -116,7 +125,10 @@ describe('Money class', () => { const y = new Money(2, 'USD'); const z = y.add(x); - expect(z.toFixed(3)).to.equal('3.000'); + assert.equal( + z.toFixed(3), + '3.000' + ); }); @@ -126,7 +138,10 @@ describe('Money class', () => { const y = new Money(2, 'USD'); const z = y.add(x); - expect(z.toFixed(3)).to.equal('3.000'); + assert.equal( + z.toFixed(3), + '3.000' + ); }); @@ -135,11 +150,14 @@ describe('Money class', () => { const x = new Money(1, 'USD'); const y = new Money(2, 'YEN'); - expect( () => y.add(x)).to.throw(IncompatibleCurrencyError); + assert.throws( + () => y.add(x), + IncompatibleCurrencyError + ); }); - const cases = [ + const cases: [string|number, string|number, string][] = [ ['0.1', '0.2', '0.30'], ['0.3', '-0.2', '0.10'], [Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, '18014398509481982.00'], @@ -157,7 +175,10 @@ describe('Money class', () => { const x = new Money(cas[0], 'USD'); const y = new Money(cas[1], 'USD'); - expect(x.add(y).toFixed(2)).to.equal(cas[2]); + assert.equal( + x.add(y).toFixed(2), + cas[2] + ); }); @@ -173,7 +194,10 @@ describe('Money class', () => { const y = new Money(2, 'USD'); const z = x.subtract(y); - expect(z.toFixed(3)).to.equal('-1.000'); + assert.equal( + z.toFixed(3), + '-1.000' + ); }); @@ -183,7 +207,10 @@ describe('Money class', () => { const y = new Money(2, 'USD'); const z = y.subtract(x); - expect(z.toFixed(3)).to.equal('-1.000'); + assert.equal( + z.toFixed(3), + '-1.000' + ); }); @@ -192,7 +219,10 @@ describe('Money class', () => { const x = new Money(1, 'USD'); const y = new Money(2, 'YEN'); - expect( () => y.subtract(x)).to.throw(IncompatibleCurrencyError); + assert.throws( + () => y.subtract(x), + IncompatibleCurrencyError + ); }); @@ -210,7 +240,10 @@ describe('Money class', () => { const x = new Money(cas[0], 'USD'); const y = new Money(cas[1], 'USD'); - expect(x.subtract(y).toFixed(2)).to.equal(cas[2]); + assert.equal( + x.subtract(y).toFixed(2), + cas[2] + ); }); @@ -252,7 +285,10 @@ describe('Money class', () => { it(`${cas[0]} / ${cas[1]} = ${cas[2]}`, () => { const x = new Money(cas[0], 'ETH'); - expect(x.divide(cas[1]).toFixed(2)).to.equal(cas[2]); + assert.equal( + x.divide(cas[1]).toFixed(2), + cas[2] + ); }); @@ -280,7 +316,10 @@ describe('Money class', () => { it(`${cas[0]} * ${cas[1]} = ${cas[2]}`, () => { const x = new Money(cas[0], 'ETH'); - expect(x.multiply(cas[1]).toFixed(2)).to.equal(cas[2]); + assert.equal( + x.multiply(cas[1]).toFixed(2), + cas[2] + ); }); @@ -305,7 +344,7 @@ describe('Money class', () => { it(`${cas[0]} ** ${cas[1]} = ${cas[2]}`, () => { const x = new Money(cas[0], 'CAD'); - expect(x.pow(cas[1]).toFixed(2)).to.equal(cas[2]); + assert.equal(x.pow(cas[1]).toFixed(2),cas[2]); }); @@ -330,7 +369,7 @@ describe('Money class', () => { it(`abs(${cas[0]}) = ${cas[1]}`, () => { const x = new Money(cas[0], 'ETH'); - expect(x.abs().toFixed(2)).to.equal(cas[1]); + assert.equal(x.abs().toFixed(2), cas[1]); }); @@ -355,7 +394,7 @@ describe('Money class', () => { it(`sign(${cas[0]}) = ${cas[1]}`, () => { const x = new Money(cas[0], 'ETH'); - expect(x.sign()).to.equal(cas[1]); + assert.equal(x.sign(), cas[1]); }); @@ -376,10 +415,20 @@ describe('Money class', () => { const x = new Money(cas[0], 'CAD'); const result = x.allocate(cas[1], cas[2]); - expect(result.map( item => item.toFixed(cas[2]))).to.eql(cas[3]); + assert.deepEqual( + result.map( + item => item.toFixed(cas[2]) + ), + cas[3] + ); // Double-check. Numbers must exactly add up to the source value - expect(result.reduce( (acc, cur) => acc + cur.toSource(), 0n)).to.equal(x.toSource()); + assert.deepEqual( + result.reduce( + (acc, cur) => acc + cur.toSource(), 0n + ), + x.toSource() + ); }); @@ -391,7 +440,10 @@ describe('Money class', () => { it('should return the underlying source bigint value', () => { const m = new Money(1, 'USD'); - expect(m.toSource()).to.equal(1n * (10n ** BigInt(PRECISION_I))); + assert.equal( + m.toSource(), + 1n * (10n ** BigInt(PRECISION_I)) + ); }); @@ -402,7 +454,11 @@ describe('Money class', () => { it('should return a meaningful value', () => { const m = new Money(1, 'USD'); - expect((m as any)[Symbol.for('nodejs.util.inspect.custom')]()).to.equal('1 USD'); + + assert.equal( + (m as any)[Symbol.for('nodejs.util.inspect.custom')](), + '1 USD' + ); }); @@ -424,7 +480,7 @@ describe('Money class', () => { const m = new Money(cas[0], 'DKK'); const result = JSON.stringify(m); - expect(result).to.equal(cas[1]); + assert.equal(result, cas[1]); }); diff --git a/test/util-bigint-to-fixed.ts b/test/util-bigint-to-fixed.ts index a8cdf63..bcd0dff 100644 --- a/test/util-bigint-to-fixed.ts +++ b/test/util-bigint-to-fixed.ts @@ -1,6 +1,6 @@ -import { expect } from 'chai'; import { bigintToFixed, Round, PRECISION } from '../src/util.js'; import { describe, it } from 'node:test'; +import assert from 'node:assert'; describe('bigintToFixed', () => { @@ -33,7 +33,10 @@ describe('bigintToFixed', () => { it(`bigintToFixed(${test[0]},${test[1]}) === ${test[2]}`, () => { const result = bigintToFixed(test[0] as bigint, test[1] as number, Round.BANKERS); - expect(result).to.equal(test[2]); + assert.equal( + result, + test[2] + ); }); } diff --git a/test/util-rounding.ts b/test/util-rounding.ts index a7cf7bc..dcfb66c 100644 --- a/test/util-rounding.ts +++ b/test/util-rounding.ts @@ -1,6 +1,6 @@ -import { expect } from 'chai'; import { divide, Round } from '../src/util.js'; import { describe, it } from 'node:test'; +import assert from 'node:assert'; describe('divide', () => { @@ -23,9 +23,10 @@ describe('divide', () => { it(`${test[0]} / ${test[1]} = ${test[2]}`, () => { - expect( + assert.equal( divide(test[0], test[1], Round.HALF_TO_EVEN), - ).to.equal(test[2]); + test[2] + ); }); @@ -52,9 +53,10 @@ describe('divide', () => { it(`${test[0]} / ${test[1]} = ${test[2]}`, () => { - expect( + assert.equal( divide(test[0], test[1], Round.HALF_AWAY_FROM_0), - ).to.equal(test[2]); + test[2] + ); }); @@ -81,9 +83,10 @@ describe('divide', () => { it(`${test[0]} / ${test[1]} = ${test[2]}`, () => { - expect( + assert.equal( divide(test[0], test[1], Round.HALF_TOWARDS_0), - ).to.equal(test[2]); + test[2] + ); }); @@ -111,9 +114,10 @@ describe('divide', () => { it(`${test[0]} / ${test[1]} = ${test[2]}`, () => { - expect( + assert.equal( divide(test[0], test[1], Round.TRUNCATE), - ).to.equal(test[2]); + test[2], + ); }); diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 6e47c8d..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = [ - { - entry: './dist/index', - output: { - path: __dirname + '/browser', - filename: 'bigint-money.min.js', - library: 'money' - }, - - resolve: { - extensions: ['.web.ts', '.web.js', '.ts', '.js', '.json'] - }, - - devtool: 'source-map', - - module: { - rules: [ - { - test: /\.tsx?$/, - loader: 'awesome-typescript-loader' - } - ] - }, - - } -];