diff --git a/gulpfile.babel.js b/gulpfile.babel.js
index c939c96..1e284a4 100644
--- a/gulpfile.babel.js
+++ b/gulpfile.babel.js
@@ -1,8 +1,5 @@
-'use strict';
-
import browser from 'browser-sync';
import gulp from 'gulp';
-import jsImport from 'gulp-js-import';
import minify from 'gulp-minify';
import plugins from 'gulp-load-plugins';
import { rimraf } from 'rimraf';
@@ -18,9 +15,7 @@ const PORT = 8000;
const PRODUCTION = !!yargs.argv.production;
function clean(done) {
- rimraf(PATHS.dist, {}).then(function () {
- done();
- });
+ rimraf(PATHS.dist, {}).then(() => done());
}
function copy() {
@@ -28,19 +23,13 @@ function copy() {
}
function javascript() {
- return (
- gulp
- .src(PATHS.javascript)
- .pipe($.if(!PRODUCTION, $.sourcemaps.init()))
- .pipe($.concat('utils.js'))
- .pipe(jsImport({ hideConsole: true }))
- // .pipe($.if(PRODUCTION, $.uglify()
- // .on('error', e => { console.log(e.message, e.fileName, e.lineNumber); })
- // ))
- .pipe($.if(!PRODUCTION, $.sourcemaps.write()))
- .pipe(minify({ ext: { min: '.min.js' } }))
- .pipe(gulp.dest(PATHS.dist))
- );
+ return gulp
+ .src(PATHS.javascript)
+ .pipe($.if(!PRODUCTION, $.sourcemaps.init()))
+ .pipe($.concat('utils.js'))
+ .pipe($.if(!PRODUCTION, $.sourcemaps.write()))
+ .pipe(minify({ ext: { min: '.min.js' } }))
+ .pipe(gulp.dest(PATHS.dist));
}
function server(done) {
diff --git a/package-lock.json b/package-lock.json
index 1cf38d8..7e64b1c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,29 +9,26 @@
"version": "0.24.1",
"license": "MIT",
"devDependencies": {
- "@babel/core": "^7.21.4",
- "@babel/preset-env": "^7.21.4",
- "@babel/register": "^7.21.0",
- "browser-sync": "^3.0.2",
- "codecov": "^3.7.2",
+ "@babel/core": "^7.26.0",
+ "@babel/preset-env": "^7.26.0",
+ "@babel/register": "^7.25.9",
+ "browser-sync": "^3.0.3",
+ "codecov": "^3.8.3",
"gulp": "^5.0.0",
- "gulp-babel": "^8.0.0",
"gulp-cli": "^3.0.0",
- "gulp-concat": "^2.5.2",
- "gulp-extname": "^0.2.0",
+ "gulp-concat": "^2.6.1",
+ "gulp-extname": "^0.2.2",
"gulp-if": "^3.0.0",
- "gulp-js-import": "^1.0.6",
- "gulp-load-plugins": "^2.0.3",
+ "gulp-load-plugins": "^2.0.8",
"gulp-minify": "^3.1.0",
"gulp-sourcemaps": "^3.0.0",
- "gulp-uglify": "^3.0.2",
- "jsdoc": "^4.0.2",
- "jsdoc-to-markdown": "^8.0.0",
- "mocha": "^10.2.0",
- "nyc": "^17.0.0",
- "prettier": "^3.0.0",
- "rimraf": "^5.0.0",
- "yargs": "^17.7.1"
+ "jsdoc": "^4.0.4",
+ "jsdoc-to-markdown": "^9.1.1",
+ "mocha": "^11.0.1",
+ "nyc": "^17.1.0",
+ "prettier": "^3.4.2",
+ "rimraf": "^6.0.1",
+ "yargs": "^17.7.2"
}
},
"node_modules/@ampproject/remapping": {
@@ -48,12 +45,14 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
},
"engines": {
@@ -61,30 +60,32 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
- "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz",
+ "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz",
- "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
+ "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helpers": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/template": "^7.24.7",
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7",
+ "@babel/code-frame": "^7.26.0",
+ "@babel/generator": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.0",
+ "@babel/parser": "^7.26.0",
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -106,25 +107,28 @@
"dev": true
},
"node_modules/@babel/generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
- "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz",
+ "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.7",
+ "@babel/parser": "^7.26.5",
+ "@babel/types": "^7.26.5",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -135,39 +139,28 @@
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
- "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
- "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
+ "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
- "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz",
+ "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.24.7",
- "@babel/helper-validator-option": "^7.24.7",
- "browserslist": "^4.22.2",
+ "@babel/compat-data": "^7.26.5",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
@@ -176,19 +169,18 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz",
- "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.7",
- "@babel/helper-optimise-call-expression": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz",
+ "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
"semver": "^6.3.1"
},
"engines": {
@@ -199,13 +191,14 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz",
- "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz",
+ "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "regexpu-core": "^5.3.1",
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "regexpu-core": "^6.2.0",
"semver": "^6.3.1"
},
"engines": {
@@ -216,10 +209,11 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
- "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz",
+ "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -231,80 +225,44 @@
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
- "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
- "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
- "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz",
- "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
+ "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
- "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -314,35 +272,38 @@
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
- "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
+ "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
- "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
+ "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz",
- "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz",
+ "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-wrap-function": "^7.24.7"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-wrap-function": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -352,14 +313,15 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz",
- "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz",
+ "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.7",
- "@babel/helper-optimise-call-expression": "^7.24.7"
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/traverse": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -368,119 +330,88 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-simple-access": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
- "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
- "dev": true,
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
- "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
- "dev": true,
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
- "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
+ "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
- "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
- "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz",
- "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz",
+ "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-function-name": "^7.24.7",
- "@babel/template": "^7.24.7",
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
- "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
+ "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/template": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.0"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+ "node_modules/@babel/parser": {
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz",
+ "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "@babel/types": "^7.26.5"
},
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
- "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
- "dev": true,
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -489,13 +420,30 @@
}
},
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz",
- "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz",
+ "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz",
+ "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -505,12 +453,13 @@
}
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz",
- "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz",
+ "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -520,14 +469,15 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
- "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz",
+ "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/plugin-transform-optional-chaining": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -537,13 +487,14 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz",
- "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz",
+ "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -557,6 +508,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
"integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
},
@@ -564,76 +516,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-static-block": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz",
- "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz",
+ "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -643,138 +533,13 @@
}
},
"node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
- "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz",
+ "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -788,6 +553,7 @@
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
"integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6"
@@ -800,12 +566,13 @@
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
- "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz",
+ "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -815,15 +582,15 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz",
- "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz",
+ "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-remap-async-to-generator": "^7.24.7",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-remap-async-to-generator": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -833,14 +600,15 @@
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
- "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz",
+ "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-remap-async-to-generator": "^7.24.7"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-remap-async-to-generator": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -850,12 +618,13 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
- "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz",
+ "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -865,12 +634,13 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz",
- "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz",
+ "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -880,13 +650,14 @@
}
},
"node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz",
- "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz",
+ "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -896,14 +667,14 @@
}
},
"node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
- "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz",
+ "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -913,18 +684,17 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz",
- "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz",
+ "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
"globals": "^11.1.0"
},
"engines": {
@@ -935,13 +705,14 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
- "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz",
+ "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/template": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/template": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -951,12 +722,13 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz",
- "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz",
+ "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -966,13 +738,14 @@
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
- "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz",
+ "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -982,12 +755,13 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
- "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz",
+ "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -996,14 +770,31 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz",
+ "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
- "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz",
+ "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1013,13 +804,13 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
- "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz",
+ "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1029,13 +820,13 @@
}
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
- "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz",
+ "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1045,13 +836,14 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
- "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz",
+ "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1061,14 +853,15 @@
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz",
- "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz",
+ "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1078,13 +871,13 @@
}
},
"node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
- "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz",
+ "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1094,12 +887,13 @@
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz",
- "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz",
+ "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1109,13 +903,13 @@
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
- "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz",
+ "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1125,12 +919,13 @@
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
- "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz",
+ "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1140,13 +935,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
- "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz",
+ "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1156,14 +952,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz",
- "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz",
+ "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1173,15 +969,16 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz",
- "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz",
+ "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-hoist-variables": "^7.24.7",
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1191,13 +988,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
- "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz",
+ "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1207,13 +1005,14 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
- "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz",
+ "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1223,12 +1022,13 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
- "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz",
+ "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1238,13 +1038,13 @@
}
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
- "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
+ "version": "7.26.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz",
+ "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1254,13 +1054,13 @@
}
},
"node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
- "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz",
+ "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1270,15 +1070,15 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
- "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz",
+ "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.24.7"
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/plugin-transform-parameters": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1288,13 +1088,14 @@
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
- "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz",
+ "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1304,13 +1105,13 @@
}
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
- "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz",
+ "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1320,14 +1121,14 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz",
- "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz",
+ "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1337,12 +1138,13 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
- "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz",
+ "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1352,13 +1154,14 @@
}
},
"node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz",
- "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz",
+ "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1368,15 +1171,15 @@
}
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
- "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz",
+ "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1386,12 +1189,13 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
- "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz",
+ "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1401,12 +1205,13 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
- "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz",
+ "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.25.9",
"regenerator-transform": "^0.15.2"
},
"engines": {
@@ -1416,13 +1221,31 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-regexp-modifiers": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz",
+ "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
- "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz",
+ "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1432,12 +1255,13 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
- "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz",
+ "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1447,13 +1271,14 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
- "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz",
+ "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1463,12 +1288,13 @@
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
- "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz",
+ "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1478,12 +1304,13 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
- "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz",
+ "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1493,12 +1320,13 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz",
- "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz",
+ "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1508,12 +1336,13 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
- "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz",
+ "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1523,13 +1352,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
- "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz",
+ "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1539,13 +1369,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
- "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz",
+ "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1555,13 +1386,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz",
- "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz",
+ "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1571,91 +1403,80 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz",
- "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-validator-option": "^7.24.7",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz",
+ "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9",
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9",
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-import-assertions": "^7.24.7",
- "@babel/plugin-syntax-import-attributes": "^7.24.7",
- "@babel/plugin-syntax-import-meta": "^7.10.4",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-syntax-import-assertions": "^7.26.0",
+ "@babel/plugin-syntax-import-attributes": "^7.26.0",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.24.7",
- "@babel/plugin-transform-async-generator-functions": "^7.24.7",
- "@babel/plugin-transform-async-to-generator": "^7.24.7",
- "@babel/plugin-transform-block-scoped-functions": "^7.24.7",
- "@babel/plugin-transform-block-scoping": "^7.24.7",
- "@babel/plugin-transform-class-properties": "^7.24.7",
- "@babel/plugin-transform-class-static-block": "^7.24.7",
- "@babel/plugin-transform-classes": "^7.24.7",
- "@babel/plugin-transform-computed-properties": "^7.24.7",
- "@babel/plugin-transform-destructuring": "^7.24.7",
- "@babel/plugin-transform-dotall-regex": "^7.24.7",
- "@babel/plugin-transform-duplicate-keys": "^7.24.7",
- "@babel/plugin-transform-dynamic-import": "^7.24.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.24.7",
- "@babel/plugin-transform-export-namespace-from": "^7.24.7",
- "@babel/plugin-transform-for-of": "^7.24.7",
- "@babel/plugin-transform-function-name": "^7.24.7",
- "@babel/plugin-transform-json-strings": "^7.24.7",
- "@babel/plugin-transform-literals": "^7.24.7",
- "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
- "@babel/plugin-transform-member-expression-literals": "^7.24.7",
- "@babel/plugin-transform-modules-amd": "^7.24.7",
- "@babel/plugin-transform-modules-commonjs": "^7.24.7",
- "@babel/plugin-transform-modules-systemjs": "^7.24.7",
- "@babel/plugin-transform-modules-umd": "^7.24.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
- "@babel/plugin-transform-new-target": "^7.24.7",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
- "@babel/plugin-transform-numeric-separator": "^7.24.7",
- "@babel/plugin-transform-object-rest-spread": "^7.24.7",
- "@babel/plugin-transform-object-super": "^7.24.7",
- "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.7",
- "@babel/plugin-transform-parameters": "^7.24.7",
- "@babel/plugin-transform-private-methods": "^7.24.7",
- "@babel/plugin-transform-private-property-in-object": "^7.24.7",
- "@babel/plugin-transform-property-literals": "^7.24.7",
- "@babel/plugin-transform-regenerator": "^7.24.7",
- "@babel/plugin-transform-reserved-words": "^7.24.7",
- "@babel/plugin-transform-shorthand-properties": "^7.24.7",
- "@babel/plugin-transform-spread": "^7.24.7",
- "@babel/plugin-transform-sticky-regex": "^7.24.7",
- "@babel/plugin-transform-template-literals": "^7.24.7",
- "@babel/plugin-transform-typeof-symbol": "^7.24.7",
- "@babel/plugin-transform-unicode-escapes": "^7.24.7",
- "@babel/plugin-transform-unicode-property-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-sets-regex": "^7.24.7",
+ "@babel/plugin-transform-arrow-functions": "^7.25.9",
+ "@babel/plugin-transform-async-generator-functions": "^7.25.9",
+ "@babel/plugin-transform-async-to-generator": "^7.25.9",
+ "@babel/plugin-transform-block-scoped-functions": "^7.25.9",
+ "@babel/plugin-transform-block-scoping": "^7.25.9",
+ "@babel/plugin-transform-class-properties": "^7.25.9",
+ "@babel/plugin-transform-class-static-block": "^7.26.0",
+ "@babel/plugin-transform-classes": "^7.25.9",
+ "@babel/plugin-transform-computed-properties": "^7.25.9",
+ "@babel/plugin-transform-destructuring": "^7.25.9",
+ "@babel/plugin-transform-dotall-regex": "^7.25.9",
+ "@babel/plugin-transform-duplicate-keys": "^7.25.9",
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9",
+ "@babel/plugin-transform-dynamic-import": "^7.25.9",
+ "@babel/plugin-transform-exponentiation-operator": "^7.25.9",
+ "@babel/plugin-transform-export-namespace-from": "^7.25.9",
+ "@babel/plugin-transform-for-of": "^7.25.9",
+ "@babel/plugin-transform-function-name": "^7.25.9",
+ "@babel/plugin-transform-json-strings": "^7.25.9",
+ "@babel/plugin-transform-literals": "^7.25.9",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.25.9",
+ "@babel/plugin-transform-member-expression-literals": "^7.25.9",
+ "@babel/plugin-transform-modules-amd": "^7.25.9",
+ "@babel/plugin-transform-modules-commonjs": "^7.25.9",
+ "@babel/plugin-transform-modules-systemjs": "^7.25.9",
+ "@babel/plugin-transform-modules-umd": "^7.25.9",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9",
+ "@babel/plugin-transform-new-target": "^7.25.9",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9",
+ "@babel/plugin-transform-numeric-separator": "^7.25.9",
+ "@babel/plugin-transform-object-rest-spread": "^7.25.9",
+ "@babel/plugin-transform-object-super": "^7.25.9",
+ "@babel/plugin-transform-optional-catch-binding": "^7.25.9",
+ "@babel/plugin-transform-optional-chaining": "^7.25.9",
+ "@babel/plugin-transform-parameters": "^7.25.9",
+ "@babel/plugin-transform-private-methods": "^7.25.9",
+ "@babel/plugin-transform-private-property-in-object": "^7.25.9",
+ "@babel/plugin-transform-property-literals": "^7.25.9",
+ "@babel/plugin-transform-regenerator": "^7.25.9",
+ "@babel/plugin-transform-regexp-modifiers": "^7.26.0",
+ "@babel/plugin-transform-reserved-words": "^7.25.9",
+ "@babel/plugin-transform-shorthand-properties": "^7.25.9",
+ "@babel/plugin-transform-spread": "^7.25.9",
+ "@babel/plugin-transform-sticky-regex": "^7.25.9",
+ "@babel/plugin-transform-template-literals": "^7.25.9",
+ "@babel/plugin-transform-typeof-symbol": "^7.25.9",
+ "@babel/plugin-transform-unicode-escapes": "^7.25.9",
+ "@babel/plugin-transform-unicode-property-regex": "^7.25.9",
+ "@babel/plugin-transform-unicode-regex": "^7.25.9",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
"@babel/preset-modules": "0.1.6-no-external-plugins",
"babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.4",
+ "babel-plugin-polyfill-corejs3": "^0.10.6",
"babel-plugin-polyfill-regenerator": "^0.6.1",
- "core-js-compat": "^3.31.0",
+ "core-js-compat": "^3.38.1",
"semver": "^6.3.1"
},
"engines": {
@@ -1670,6 +1491,7 @@
"resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
"integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/types": "^7.4.4",
@@ -1680,10 +1502,11 @@
}
},
"node_modules/@babel/register": {
- "version": "7.24.6",
- "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz",
- "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz",
+ "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clone-deep": "^4.0.1",
"find-cache-dir": "^2.0.0",
@@ -1698,17 +1521,12 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/regjsgen": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
- "dev": true
- },
"node_modules/@babel/runtime": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
- "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
+ "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -1717,33 +1535,32 @@
}
},
"node_modules/@babel/template": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
- "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
+ "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/code-frame": "^7.25.9",
+ "@babel/parser": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
- "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-hoist-variables": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/types": "^7.24.7",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz",
+ "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.5",
+ "@babel/parser": "^7.26.5",
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.5",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -1752,14 +1569,14 @@
}
},
"node_modules/@babel/types": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
- "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz",
+ "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -1851,6 +1668,7 @@
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
"string-width-cjs": "npm:string-width@^4.2.0",
@@ -1864,10 +1682,11 @@
}
},
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1880,6 +1699,7 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1891,13 +1711,15 @@
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2",
@@ -1915,6 +1737,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -1930,6 +1753,7 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^6.1.0",
"string-width": "^5.0.1",
@@ -2078,11 +1902,50 @@
"node": ">=v12.0.0"
}
},
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"dev": true,
+ "license": "MIT",
"optional": true,
"engines": {
"node": ">=14"
@@ -2107,13 +1970,15 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/cors": {
"version": "2.8.17",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
"integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
@@ -2141,12 +2006,13 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.14.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
- "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
+ "version": "22.10.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz",
+ "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.20.0"
}
},
"node_modules/accepts": {
@@ -2223,39 +2089,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/ansi-escape-sequences": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz",
- "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==",
- "dev": true,
- "dependencies": {
- "array-back": "^3.0.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/ansi-escape-sequences/node_modules/array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "dev": true,
- "dependencies": {
- "ansi-wrap": "0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/ansi-red": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
@@ -2278,15 +2111,19 @@
}
},
"node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "color-convert": "^1.9.0"
+ "color-convert": "^2.0.1"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/ansi-wrap": {
@@ -2347,15 +2184,6 @@
"node": ">=0.6.10"
}
},
- "node_modules/arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
@@ -2365,33 +2193,16 @@
"node": ">=0.10.0"
}
},
- "node_modules/arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/array-back": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
"integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12.17"
}
},
- "node_modules/array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@@ -2410,15 +2221,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
@@ -2428,15 +2230,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/async": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
@@ -2465,6 +2258,7 @@
"resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz",
"integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
@@ -2500,13 +2294,14 @@
"dev": true
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
- "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
+ "version": "0.4.12",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz",
+ "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.6.1",
+ "@babel/helper-define-polyfill-provider": "^0.6.3",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -2514,25 +2309,27 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
- "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
+ "version": "0.10.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
+ "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.1",
- "core-js-compat": "^3.36.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.2",
+ "core-js-compat": "^3.38.0"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz",
- "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz",
+ "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.3"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -2590,6 +2387,7 @@
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^4.5.0 || >= 5.9"
}
@@ -2600,15 +2398,6 @@
"integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
"dev": true
},
- "node_modules/beeper": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -2678,13 +2467,14 @@
"dev": true
},
"node_modules/browser-sync": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.2.tgz",
- "integrity": "sha512-PC9c7aWJFVR4IFySrJxOqLwB9ENn3/TaXCXtAa0SzLwocLN3qMjN+IatbjvtCX92BjNXsY6YWg9Eb7F3Wy255g==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.3.tgz",
+ "integrity": "sha512-91hoBHKk1C4pGeD+oE9Ld222k2GNQEAsI5AElqR8iLLWNrmZR2LPP8B0h8dpld9u7kro5IEUB3pUb0DJ3n1cRQ==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "browser-sync-client": "^3.0.2",
- "browser-sync-ui": "^3.0.2",
+ "browser-sync-client": "^3.0.3",
+ "browser-sync-ui": "^3.0.3",
"bs-recipes": "1.3.4",
"chalk": "4.1.2",
"chokidar": "^3.5.1",
@@ -2698,15 +2488,15 @@
"fs-extra": "3.0.1",
"http-proxy": "^1.18.1",
"immutable": "^3",
- "micromatch": "^4.0.2",
+ "micromatch": "^4.0.8",
"opn": "5.3.0",
"portscanner": "2.2.0",
"raw-body": "^2.3.2",
"resp-modifier": "6.0.2",
"rx": "4.1.0",
- "send": "0.16.2",
- "serve-index": "1.9.1",
- "serve-static": "1.13.2",
+ "send": "^0.19.0",
+ "serve-index": "^1.9.1",
+ "serve-static": "^1.16.2",
"server-destroy": "1.0.1",
"socket.io": "^4.4.1",
"ua-parser-js": "^1.0.33",
@@ -2720,10 +2510,11 @@
}
},
"node_modules/browser-sync-client": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.2.tgz",
- "integrity": "sha512-tBWdfn9L0wd2Pjuz/NWHtNEKthVb1Y67vg8/qyGNtCqetNz5lkDkFnrsx5UhPNPYUO8vci50IWC/BhYaQskDiQ==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.3.tgz",
+ "integrity": "sha512-TOEXaMgYNjBYIcmX5zDlOdjEqCeCN/d7opf/fuyUD/hhGVCfP54iQIDhENCi012AqzYZm3BvuFl57vbwSTwkSQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"etag": "1.8.1",
"fresh": "0.5.2",
@@ -2734,10 +2525,11 @@
}
},
"node_modules/browser-sync-ui": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.2.tgz",
- "integrity": "sha512-V3FwWAI+abVbFLTyJjXJlCMBwjc3GXf/BPGfwO2fMFACWbIGW9/4SrBOFYEOOtqzCjQE0Di+U3VIb7eES4omNA==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.3.tgz",
+ "integrity": "sha512-FcGWo5lP5VodPY6O/f4pXQy5FFh4JK0f2/fTBsp0Lx1NtyBWs/IfPPJbW8m1ujTW/2r07oUXKTF2LYZlCZktjw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"async-each-series": "0.1.1",
"chalk": "4.1.2",
@@ -2748,244 +2540,103 @@
"stream-throttle": "^0.1.3"
}
},
- "node_modules/browser-sync-ui/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "node_modules/browserslist": {
+ "version": "4.24.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
+ "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.1"
},
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/browser-sync-ui/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "bin": {
+ "browserslist": "cli.js"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/browser-sync-ui/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "node_modules/bs-recipes": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz",
+ "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=",
+ "dev": true
+ },
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
"dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
}
},
- "node_modules/browser-sync-ui/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
- "node_modules/browser-sync-ui/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "node_modules/bytes": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
+ "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">= 0.8"
}
},
- "node_modules/browser-sync-ui/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browser-sync/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/browser-sync/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/browser-sync/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/browser-sync/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/browser-sync/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browser-sync/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "node_modules/cache-point": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-3.0.1.tgz",
+ "integrity": "sha512-itTIMLEKbh6Dw5DruXbxAgcyLnh/oPGVLBfTPqBOftASxHe8bAeXy7JkO4F0LvHqht7XqP5O/09h5UcHS2w0FA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-flag": "^4.0.0"
+ "array-back": "^6.2.2"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.23.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
- "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
+ "node": ">=12.17"
},
- "bin": {
- "browserslist": "cli.js"
+ "peerDependencies": {
+ "@75lb/nature": "latest"
},
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/bs-recipes": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz",
- "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=",
- "dev": true
- },
- "node_modules/buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
}
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
- },
- "node_modules/bytes": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
- "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/cache-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-2.0.0.tgz",
- "integrity": "sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w==",
- "dev": true,
- "dependencies": {
- "array-back": "^4.0.1",
- "fs-then-native": "^2.0.0",
- "mkdirp2": "^1.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cache-point/node_modules/array-back": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
- "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
- "dev": true,
- "engines": {
- "node": ">=8"
}
},
"node_modules/caching-transform": {
@@ -3028,9 +2679,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001591",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz",
- "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==",
+ "version": "1.0.30001692",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz",
+ "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==",
"dev": true,
"funding": [
{
@@ -3045,7 +2696,8 @@
"type": "github",
"url": "https://github.com/sponsors/ai"
}
- ]
+ ],
+ "license": "CC-BY-4.0"
},
"node_modules/catharsis": {
"version": "0.9.0",
@@ -3060,17 +2712,36 @@
}
},
"node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk-template": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz",
+ "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "chalk": "^4.1.2"
},
"engines": {
- "node": ">=4"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk-template?sponsor=1"
}
},
"node_modules/chokidar": {
@@ -3146,6 +2817,7 @@
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
"integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-plain-object": "^2.0.4",
"kind-of": "^6.0.2",
@@ -3178,6 +2850,7 @@
"integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==",
"deprecated": "https://about.codecov.io/blog/codecov-uploader-deprecation-plan/",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argv": "0.0.2",
"ignore-walk": "3.0.4",
@@ -3192,33 +2865,25 @@
"node": ">=4.0"
}
},
- "node_modules/collect-all": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.4.tgz",
- "integrity": "sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==",
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "stream-connect": "^1.0.2",
- "stream-via": "^1.0.4"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
+ "node": ">=7.0.0"
}
},
"node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/color-support": {
"version": "1.1.3",
@@ -3230,91 +2895,43 @@
}
},
"node_modules/command-line-args": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.0.tgz",
- "integrity": "sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.1.tgz",
+ "integrity": "sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "array-back": "^3.1.0",
- "find-replace": "^3.0.0",
+ "array-back": "^6.2.2",
+ "find-replace": "^5.0.2",
"lodash.camelcase": "^4.3.0",
- "typical": "^4.0.0"
+ "typical": "^7.2.0"
},
"engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/command-line-args/node_modules/array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/command-line-args/node_modules/typical": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
- "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/command-line-tool": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz",
- "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==",
- "dev": true,
- "dependencies": {
- "ansi-escape-sequences": "^4.0.0",
- "array-back": "^2.0.0",
- "command-line-args": "^5.0.0",
- "command-line-usage": "^4.1.0",
- "typical": "^2.6.1"
+ "node": ">=12.20"
},
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/command-line-tool/node_modules/array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "dependencies": {
- "typical": "^2.6.1"
+ "peerDependencies": {
+ "@75lb/nature": "latest"
},
- "engines": {
- "node": ">=4"
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
+ }
}
},
"node_modules/command-line-usage": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz",
- "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==",
- "dev": true,
- "dependencies": {
- "ansi-escape-sequences": "^4.0.0",
- "array-back": "^2.0.0",
- "table-layout": "^0.4.2",
- "typical": "^2.6.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/command-line-usage/node_modules/array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz",
+ "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "typical": "^2.6.1"
+ "array-back": "^6.2.2",
+ "chalk-template": "^0.4.0",
+ "table-layout": "^4.1.0",
+ "typical": "^7.1.1"
},
"engines": {
- "node": ">=4"
+ "node": ">=12.20.0"
}
},
"node_modules/commander": {
@@ -3324,12 +2941,13 @@
"dev": true
},
"node_modules/common-sequence": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-2.0.2.tgz",
- "integrity": "sha512-jAg09gkdkrDO9EWTdXfv80WWH3yeZl5oT69fGfedBNS9pXUKYInVJ1bJ+/ht2+Moeei48TmSbQDYMc8EOx9G0g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-3.0.0.tgz",
+ "integrity": "sha512-g/CgSYk93y+a1IKm50tKl7kaT/OjjTYVQlEbUlt/49ZLV1mcKpUU7iyDiqTAeLdb4QDtQfq3ako8y8v//fzrWQ==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=8"
+ "node": ">=12.17"
}
},
"node_modules/commondir": {
@@ -3400,6 +3018,7 @@
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
"integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
@@ -3429,10 +3048,11 @@
}
},
"node_modules/cookie": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -3460,12 +3080,13 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.36.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz",
- "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==",
+ "version": "3.40.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz",
+ "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "browserslist": "^4.23.0"
+ "browserslist": "^4.24.3"
},
"funding": {
"type": "opencollective",
@@ -3483,6 +3104,7 @@
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"object-assign": "^4",
"vary": "^1"
@@ -3492,10 +3114,11 @@
}
},
"node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -3536,6 +3159,16 @@
"decode-uri-component": "^0.2.0"
}
},
+ "node_modules/current-module-paths": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/current-module-paths/-/current-module-paths-1.1.2.tgz",
+ "integrity": "sha512-H4s4arcLx/ugbu1XkkgSvcUZax0L6tXUqnppGniQb8l5VjUKGHoayXE5RiriiPhYDd+kjZnaok1Uig13PKtKYQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
"node_modules/d": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -3546,15 +3179,6 @@
"type": "^1.0.1"
}
},
- "node_modules/dateformat": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
- "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
"node_modules/debug": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
@@ -3610,15 +3234,6 @@
"node": ">=0.10"
}
},
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
"node_modules/default-require-extensions": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
@@ -3641,10 +3256,15 @@
}
},
"node_modules/destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
- "dev": true
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
},
"node_modules/detect-file": {
"version": "1.0.0",
@@ -3686,61 +3306,32 @@
}
},
"node_modules/dmd": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.0.tgz",
- "integrity": "sha512-uXWxLF1H7TkUAuoHK59/h/ts5cKavm2LnhrIgJWisip4BVzPoXavlwyoprFFn2CzcahKYgvkfaebS6oxzgflkg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/dmd/-/dmd-7.1.1.tgz",
+ "integrity": "sha512-Ap2HP6iuOek7eShReDLr9jluNJm9RMZESlt29H/Xs1qrVMkcS9X6m5h1mBC56WMxNiSo0wvjGICmZlYUSFjwZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-back": "^6.2.2",
- "cache-point": "^2.0.0",
- "common-sequence": "^2.0.2",
- "file-set": "^4.0.2",
- "handlebars": "^4.7.7",
- "marked": "^4.2.3",
- "object-get": "^2.1.1",
- "reduce-flatten": "^3.0.1",
- "reduce-unique": "^2.0.1",
- "reduce-without": "^1.0.1",
- "test-value": "^3.0.0",
- "walk-back": "^5.1.0"
+ "cache-point": "^3.0.0",
+ "common-sequence": "^3.0.0",
+ "file-set": "^5.2.2",
+ "handlebars": "^4.7.8",
+ "marked": "^4.3.0",
+ "walk-back": "^5.1.1"
},
"engines": {
- "node": ">=12"
- }
- },
- "node_modules/duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true,
- "dependencies": {
- "readable-stream": "~1.1.9"
- }
- },
- "node_modules/duplexer2/node_modules/isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "node_modules/duplexer2/node_modules/readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "node": ">=12.17"
+ },
+ "peerDependencies": {
+ "@75lb/nature": "latest"
+ },
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
+ }
}
},
- "node_modules/duplexer2/node_modules/string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
"node_modules/duplexify": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz",
@@ -3793,7 +3384,8 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/easy-extender": {
"version": "2.3.4",
@@ -3819,76 +3411,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/eazy-logger/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/eazy-logger/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/eazy-logger/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/eazy-logger/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/eazy-logger/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/eazy-logger/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -3896,10 +3418,11 @@
"dev": true
},
"node_modules/electron-to-chromium": {
- "version": "1.4.689",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.689.tgz",
- "integrity": "sha512-GatzRKnGPS1go29ep25reM94xxd1Wj8ritU0yRhCJ/tr1Bg8gKnm6R9O/yPOhGQBoLMZ9ezfrpghNaTw97C/PQ==",
- "dev": true
+ "version": "1.5.82",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.82.tgz",
+ "integrity": "sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/emoji-regex": {
"version": "8.0.0",
@@ -3926,17 +3449,18 @@
}
},
"node_modules/engine.io": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz",
- "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz",
+ "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
"@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "2.0.0",
- "cookie": "~0.4.1",
+ "cookie": "~0.7.2",
"cors": "~2.8.5",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
@@ -3947,37 +3471,17 @@
}
},
"node_modules/engine.io-client": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz",
- "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.2.tgz",
+ "integrity": "sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
"ws": "~8.17.1",
- "xmlhttprequest-ssl": "~2.0.0"
- }
- },
- "node_modules/engine.io-client/node_modules/ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "dev": true,
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
+ "xmlhttprequest-ssl": "~2.1.1"
}
},
"node_modules/engine.io-parser": {
@@ -3989,27 +3493,6 @@
"node": ">=10.0.0"
}
},
- "node_modules/engine.io/node_modules/ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "dev": true,
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -4023,22 +3506,22 @@
}
},
"node_modules/es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "version": "0.10.64",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"dev": true,
+ "hasInstallScript": true,
+ "license": "ISC",
"dependencies": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
+ "next-tick": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
}
},
- "node_modules/es5-ext/node_modules/next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
- "dev": true
- },
"node_modules/es6-error": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
@@ -4079,10 +3562,11 @@
}
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -4093,15 +3577,29 @@
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
},
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "node_modules/esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
"dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
"engines": {
- "node": ">=0.8.0"
+ "node": ">=0.10"
}
},
+ "node_modules/esniff/node_modules/type": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -4120,6 +3618,7 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -4127,8 +3626,9 @@
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -4191,40 +3691,29 @@
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
- "node_modules/extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "dependencies": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/fast-fifo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+ "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
+ "dev": true
},
- "node_modules/fancy-log": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
- "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "parse-node-version": "^1.0.0",
- "time-stamp": "^1.0.0"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">=8.6.0"
}
},
- "node_modules/fast-fifo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
- "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
- "dev": true
- },
"node_modules/fast-levenshtein": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
@@ -4262,25 +3751,25 @@
}
},
"node_modules/file-set": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz",
- "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/file-set/-/file-set-5.2.2.tgz",
+ "integrity": "sha512-/KgJI1V/QaDK4enOk/E2xMFk1cTWJghEr7UmWiRZfZ6upt6gQCfMn4jJ7aOm64OKurj4TaVnSSgSDqv5ZKYA3A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "array-back": "^5.0.0",
- "glob": "^7.1.6"
+ "array-back": "^6.2.2",
+ "fast-glob": "^3.3.2"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/file-set/node_modules/array-back": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
- "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
- "dev": true,
- "engines": {
- "node": ">=10"
+ "node": ">=12.17"
+ },
+ "peerDependencies": {
+ "@75lb/nature": "latest"
+ },
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
+ }
}
},
"node_modules/fill-range": {
@@ -4333,6 +3822,7 @@
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
"integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"commondir": "^1.0.1",
"make-dir": "^2.0.0",
@@ -4343,24 +3833,21 @@
}
},
"node_modules/find-replace": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
- "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
- "dev": true,
- "dependencies": {
- "array-back": "^3.0.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/find-replace/node_modules/array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz",
+ "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=6"
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@75lb/nature": "latest"
+ },
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
+ }
}
},
"node_modules/find-up": {
@@ -4500,8 +3987,9 @@
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -4550,15 +4038,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/fs-then-native": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
- "integrity": "sha512-X712jAOaWXkemQCAmWeg5rOT2i+KOpWz1Z/txk/cW0qlOu2oQ9H61vc5w3X/iyuUEfq/OyaFJ78/cZAQD1/bgA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -4738,22 +4217,11 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
- "node_modules/glogg": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
- "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
- "dev": true,
- "dependencies": {
- "sparkles": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -4765,6 +4233,7 @@
"resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.0.tgz",
"integrity": "sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"glob-watcher": "^6.0.0",
"gulp-cli": "^3.0.0",
@@ -4778,29 +4247,12 @@
"node": ">=10.13.0"
}
},
- "node_modules/gulp-babel": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-8.0.0.tgz",
- "integrity": "sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ==",
- "dev": true,
- "dependencies": {
- "plugin-error": "^1.0.1",
- "replace-ext": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl-sourcemaps-apply": "^0.2.0"
- },
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
"node_modules/gulp-cli": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz",
"integrity": "sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@gulpjs/messages": "^1.1.0",
"chalk": "^4.1.2",
@@ -4822,37 +4274,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/gulp-cli/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/gulp-cli/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
"node_modules/gulp-cli/node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -4864,24 +4285,6 @@
"wrap-ansi": "^7.0.0"
}
},
- "node_modules/gulp-cli/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/gulp-cli/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"node_modules/gulp-cli/node_modules/glogg": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz",
@@ -4906,15 +4309,6 @@
"node": ">= 10.13.0"
}
},
- "node_modules/gulp-cli/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/gulp-cli/node_modules/sparkles": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz",
@@ -4924,18 +4318,6 @@
"node": ">= 10.13.0"
}
},
- "node_modules/gulp-cli/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/gulp-cli/node_modules/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -4957,8 +4339,9 @@
"node_modules/gulp-concat": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
- "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
+ "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"concat-with-sourcemaps": "^1.0.0",
"through2": "^2.0.0",
@@ -4971,8 +4354,9 @@
"node_modules/gulp-extname": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/gulp-extname/-/gulp-extname-0.2.2.tgz",
- "integrity": "sha1-NEmBFyxXUj2HgaPFvCyMussHrqs=",
+ "integrity": "sha512-zyyOnfFymMZO96ic1qJTGOVeAAgCoJ9hDFizv2err8r1KsBpgq9T16fuvv4H+DrXz/rBKdADzP6s8j1Jyg2tmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"rewrite-ext": "^0.2.0",
"through2": "^2.0.0"
@@ -4986,6 +4370,7 @@
"resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz",
"integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"gulp-match": "^1.1.0",
"ternary-stream": "^3.0.0",
@@ -5002,21 +4387,12 @@
"readable-stream": "2 || 3"
}
},
- "node_modules/gulp-js-import": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/gulp-js-import/-/gulp-js-import-1.0.6.tgz",
- "integrity": "sha512-sA0mNBPM3CmPOH5QEoSIitoMyyI8kwqol4dU75fsZ10ay3PA8PEzqsLI+Msgrc6LHN+8khD7dt5N8OW/q/+dTw==",
- "dev": true,
- "dependencies": {
- "gulp-util": "^3.0.7",
- "through2": "^2.0.1"
- }
- },
"node_modules/gulp-load-plugins": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-2.0.8.tgz",
"integrity": "sha512-BS0aRx67WnWPt8stEDvwt+biD2gQ1NwDMgxuUhX5+AQSujqlcSecbdL+U6g0zu2S3YjOuY+eGmnXjT2J3hRMIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-unique": "^0.3.2",
"fancy-log": "^2.0.0",
@@ -5101,6 +4477,7 @@
"resolved": "https://registry.npmjs.org/gulp-minify/-/gulp-minify-3.1.0.tgz",
"integrity": "sha512-ixF41aYg+NQikI8hpoHdEclYcQkbGdXQu1CBdHaU7Epg8H6e8d2jWXw1+rBPgYwl/XpKgjHj7NI6gkhoSNSSAg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"ansi-colors": "^1.0.1",
"minimatch": "^3.0.2",
@@ -5183,202 +4560,42 @@
"resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz",
"integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "@gulp-sourcemaps/identity-map": "^2.0.1",
- "@gulp-sourcemaps/map-sources": "^1.0.0",
- "acorn": "^6.4.1",
- "convert-source-map": "^1.0.0",
- "css": "^3.0.0",
- "debug-fabulous": "^1.0.0",
- "detect-newline": "^2.0.0",
- "graceful-fs": "^4.0.0",
- "source-map": "^0.6.0",
- "strip-bom-string": "^1.0.0",
- "through2": "^2.0.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/gulp-sourcemaps/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-uglify": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz",
- "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==",
- "dev": true,
- "dependencies": {
- "array-each": "^1.0.1",
- "extend-shallow": "^3.0.2",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "isobject": "^3.0.1",
- "make-error-cause": "^1.1.1",
- "safe-buffer": "^5.1.2",
- "through2": "^2.0.0",
- "uglify-js": "^3.0.5",
- "vinyl-sourcemaps-apply": "^0.2.0"
- }
- },
- "node_modules/gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==",
- "deprecated": "gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5",
- "dev": true,
- "dependencies": {
- "array-differ": "^1.0.0",
- "array-uniq": "^1.0.2",
- "beeper": "^1.0.0",
- "chalk": "^1.0.0",
- "dateformat": "^2.0.0",
- "fancy-log": "^1.1.0",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash._reescape": "^3.0.0",
- "lodash._reevaluate": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.template": "^3.0.0",
- "minimist": "^1.1.0",
- "multipipe": "^0.1.2",
- "object-assign": "^3.0.0",
- "replace-ext": "0.0.1",
- "through2": "^2.0.0",
- "vinyl": "^0.5.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/gulp-util/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-util/node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-util/node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-util/node_modules/clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/gulp-util/node_modules/clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
- "dev": true
- },
- "node_modules/gulp-util/node_modules/object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-util/node_modules/replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/gulp-util/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gulp-util/node_modules/supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/gulp-util/node_modules/vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
- "dev": true,
- "dependencies": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
+ "@gulp-sourcemaps/identity-map": "^2.0.1",
+ "@gulp-sourcemaps/map-sources": "^1.0.0",
+ "acorn": "^6.4.1",
+ "convert-source-map": "^1.0.0",
+ "css": "^3.0.0",
+ "debug-fabulous": "^1.0.0",
+ "detect-newline": "^2.0.0",
+ "graceful-fs": "^4.0.0",
+ "source-map": "^0.6.0",
+ "strip-bom-string": "^1.0.0",
+ "through2": "^2.0.0"
},
"engines": {
- "node": ">= 0.9"
+ "node": ">= 6"
}
},
- "node_modules/gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "node_modules/gulp-sourcemaps/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
- "dependencies": {
- "glogg": "^1.0.0"
- },
"engines": {
- "node": ">= 0.10"
+ "node": ">=0.10.0"
}
},
"node_modules/handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"minimist": "^1.2.5",
- "neo-async": "^2.6.0",
+ "neo-async": "^2.6.2",
"source-map": "^0.6.1",
"wordwrap": "^1.0.0"
},
@@ -5397,6 +4614,7 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -5413,46 +4631,14 @@
"node": ">= 0.4.0"
}
},
- "node_modules/has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
- "dependencies": {
- "sparkles": "^1.0.0"
- },
+ "license": "MIT",
"engines": {
- "node": ">= 0.10"
+ "node": ">=8"
}
},
"node_modules/hasha": {
@@ -5610,6 +4796,7 @@
"resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
"integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -5700,18 +4887,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -5783,6 +4958,7 @@
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
},
@@ -6009,15 +5185,6 @@
"node": ">=8"
}
},
- "node_modules/istanbul-lib-report/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/istanbul-lib-report/node_modules/make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
@@ -6033,18 +5200,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/istanbul-lib-report/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/istanbul-lib-source-maps": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
@@ -6082,16 +5237,14 @@
}
},
"node_modules/jackspeak": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
- "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
- "engines": {
- "node": ">=14"
- },
"funding": {
"url": "https://github.com/sponsors/isaacs"
},
@@ -6103,7 +5256,8 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/js-yaml": {
"version": "3.14.1",
@@ -6128,10 +5282,11 @@
}
},
"node_modules/jsdoc": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz",
- "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz",
+ "integrity": "sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@babel/parser": "^7.20.15",
"@jsdoc/salty": "^0.2.1",
@@ -6157,60 +5312,77 @@
}
},
"node_modules/jsdoc-api": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.0.0.tgz",
- "integrity": "sha512-Rnhor0suB1Ds1abjmFkFfKeD+kSMRN9oHMTMZoJVUrmtCGDwXty+sWMA9sa4xbe4UyxuPjhC7tavZ40mDKK6QQ==",
+ "version": "9.3.4",
+ "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-9.3.4.tgz",
+ "integrity": "sha512-di8lggLACEttpyAZ6WjKKafUP4wC4prAGjt40nMl7quDpp2nD7GmLt6/WxhRu9Q6IYoAAySsNeidBXYVAMwlqg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-back": "^6.2.2",
- "cache-point": "^2.0.0",
- "collect-all": "^1.0.4",
- "file-set": "^4.0.2",
- "fs-then-native": "^2.0.0",
- "jsdoc": "^4.0.0",
+ "cache-point": "^3.0.0",
+ "current-module-paths": "^1.1.2",
+ "file-set": "^5.2.2",
+ "jsdoc": "^4.0.4",
"object-to-spawn-args": "^2.0.1",
- "temp-path": "^1.0.0",
- "walk-back": "^5.1.0"
+ "walk-back": "^5.1.1"
},
"engines": {
"node": ">=12.17"
+ },
+ "peerDependencies": {
+ "@75lb/nature": "latest"
+ },
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
+ }
}
},
"node_modules/jsdoc-parse": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.1.tgz",
- "integrity": "sha512-9viGRUUtWOk/G4V0+nQ6rfLucz5plxh5I74WbNSNm9h9NWugCDVX4jbG8hZP9QqKGpdTPDE+qJXzaYNos3wqTA==",
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.4.tgz",
+ "integrity": "sha512-MQA+lCe3ioZd0uGbyB3nDCDZcKgKC7m/Ivt0LgKZdUoOlMJxUWJQ3WI6GeyHp9ouznKaCjlp7CU9sw5k46yZTw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-back": "^6.2.2",
+ "find-replace": "^5.0.1",
"lodash.omit": "^4.5.0",
- "reduce-extract": "^1.0.0",
- "sort-array": "^4.1.5",
- "test-value": "^3.0.0"
+ "sort-array": "^5.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/jsdoc-to-markdown": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.1.tgz",
- "integrity": "sha512-qJfNJhkq2C26UYoOdj8L1yheTJlk1veCsxwRejRmj07XZKCn7oSkuPErx6+JoNi8afCaUKdIM5oUu0uF2/T8iw==",
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-9.1.1.tgz",
+ "integrity": "sha512-QqYVSo58iHXpD5Jwi1u4AFeuMcQp4jfk7SmWzvXKc3frM9Kop17/OHudmi0phzkT/K137Rlroc9Q0y+95XpUsw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-back": "^6.2.2",
- "command-line-tool": "^0.8.0",
+ "command-line-args": "^6.0.1",
+ "command-line-usage": "^7.0.3",
"config-master": "^3.1.0",
- "dmd": "^6.2.0",
- "jsdoc-api": "^8.0.0",
- "jsdoc-parse": "^6.2.1",
- "walk-back": "^5.1.0"
+ "dmd": "^7.1.1",
+ "jsdoc-api": "^9.3.4",
+ "jsdoc-parse": "^6.2.4",
+ "walk-back": "^5.1.1"
},
"bin": {
"jsdoc2md": "bin/cli.js"
},
"engines": {
"node": ">=12.17"
+ },
+ "peerDependencies": {
+ "@75lb/nature": "latest"
+ },
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
+ }
}
},
"node_modules/jsdoc/node_modules/escape-string-regexp": {
@@ -6223,15 +5395,16 @@
}
},
"node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"dev": true,
+ "license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
"node_modules/json5": {
@@ -6260,6 +5433,7 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -6344,255 +5518,63 @@
"engines": {
"node": ">=10"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "node_modules/lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
- },
- "node_modules/lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
- "dev": true
- },
- "node_modules/lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
- "dev": true
- },
- "node_modules/lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
- "dev": true
- },
- "node_modules/lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
- },
- "node_modules/lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
- "dev": true
- },
- "node_modules/lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
- "dev": true
- },
- "node_modules/lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
- "node_modules/lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
- "dev": true
- },
- "node_modules/lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
- "dev": true
- },
- "node_modules/lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
- "dev": true
- },
- "node_modules/lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true,
- "dependencies": {
- "lodash._root": "^3.0.0"
- }
- },
- "node_modules/lodash.flattendeep": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
- "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
- "dev": true
- },
- "node_modules/lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
- "dev": true
- },
- "node_modules/lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
- "dev": true
- },
- "node_modules/lodash.isfinite": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
- "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==",
- "dev": true
- },
- "node_modules/lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true,
- "dependencies": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
- "node_modules/lodash.omit": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
- "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==",
- "dev": true
- },
- "node_modules/lodash.padend": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
- "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=",
- "dev": true
- },
- "node_modules/lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
- "dev": true
- },
- "node_modules/lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==",
- "dev": true,
- "dependencies": {
- "lodash._basecopy": "^3.0.0",
- "lodash._basetostring": "^3.0.0",
- "lodash._basevalues": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0",
- "lodash.keys": "^3.0.0",
- "lodash.restparam": "^3.0.0",
- "lodash.templatesettings": "^3.0.0"
- }
- },
- "node_modules/lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true,
- "dependencies": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0"
- }
- },
- "node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-symbols/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/log-symbols/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/log-symbols/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/log-symbols/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "node_modules/log-symbols/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
"dev": true,
- "engines": {
- "node": ">=8"
- }
+ "license": "MIT"
},
- "node_modules/log-symbols/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.flattendeep": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
+ "dev": true
+ },
+ "node_modules/lodash.isfinite": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
+ "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==",
+ "dev": true
+ },
+ "node_modules/lodash.omit": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
+ "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dev": true,
"dependencies": {
- "has-flag": "^4.0.0"
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/lru-cache": {
@@ -6618,6 +5600,7 @@
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"pify": "^4.0.1",
"semver": "^5.6.0"
@@ -6627,29 +5610,15 @@
}
},
"node_modules/make-dir/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver"
}
},
- "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/make-error-cause": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
- "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
- "dev": true,
- "dependencies": {
- "make-error": "^1.2.0"
- }
- },
"node_modules/map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -6732,26 +5701,41 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
},
"engines": {
"node": ">=8.6"
}
},
"node_modules/mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
+ "license": "MIT",
"bin": {
"mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
}
},
"node_modules/mime-db": {
@@ -6797,10 +5781,11 @@
}
},
"node_modules/minipass": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
- "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
}
@@ -6809,7 +5794,8 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz",
"integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/mkdirp": {
"version": "1.0.4",
@@ -6823,17 +5809,12 @@
"node": ">=10"
}
},
- "node_modules/mkdirp2": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz",
- "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==",
- "dev": true
- },
"node_modules/mocha": {
- "version": "10.7.3",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz",
- "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==",
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.0.1.tgz",
+ "integrity": "sha512-+3GkODfsDG71KSCQhc4IekSW+ItCK/kiez1Z28ksWvYhKXV/syxMlerR/sC7whDp7IyreZ4YxceMLdTs5hQE8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-colors": "^4.1.3",
"browser-stdout": "^1.3.1",
@@ -6842,7 +5823,7 @@
"diff": "^5.2.0",
"escape-string-regexp": "^4.0.0",
"find-up": "^5.0.0",
- "glob": "^8.1.0",
+ "glob": "^10.4.5",
"he": "^1.2.0",
"js-yaml": "^4.1.0",
"log-symbols": "^4.1.0",
@@ -6861,7 +5842,7 @@
"mocha": "bin/mocha.js"
},
"engines": {
- "node": ">= 14.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/mocha/node_modules/ansi-colors": {
@@ -6884,6 +5865,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -6911,32 +5893,58 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/mocha/node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "node_modules/mocha/node_modules/foreground-child": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
},
"engines": {
- "node": ">=12"
+ "node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/mocha/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "node_modules/mocha/node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mocha/node_modules/glob/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/mocha/node_modules/js-yaml": {
@@ -6956,6 +5964,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -6969,6 +5978,19 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
+ "node_modules/mocha/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/mocha/node_modules/supports-color": {
"version": "8.1.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
@@ -7008,15 +6030,6 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "node_modules/multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
- "dev": true,
- "dependencies": {
- "duplexer2": "0.0.2"
- }
- },
"node_modules/mute-stdout": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz",
@@ -7039,7 +6052,8 @@
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/next-tick": {
"version": "1.1.0",
@@ -7080,10 +6094,11 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
- "dev": true
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
@@ -7107,10 +6122,11 @@
}
},
"node_modules/nyc": {
- "version": "17.0.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.0.0.tgz",
- "integrity": "sha512-ISp44nqNCaPugLLGGfknzQwSwt10SSS5IMoPR7GLoMAyS18Iw5js8U7ga2VF9lYuMZ42gOHr3UddZw4WZltxKg==",
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.1.0.tgz",
+ "integrity": "sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@istanbuljs/load-nyc-config": "^1.0.0",
"@istanbuljs/schema": "^0.1.2",
@@ -7119,7 +6135,7 @@
"decamelize": "^1.2.0",
"find-cache-dir": "^3.2.0",
"find-up": "^4.1.0",
- "foreground-child": "^2.0.0",
+ "foreground-child": "^3.3.0",
"get-package-type": "^0.1.0",
"glob": "^7.1.6",
"istanbul-lib-coverage": "^3.0.0",
@@ -7147,21 +6163,6 @@
"node": ">=18"
}
},
- "node_modules/nyc/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
"node_modules/nyc/node_modules/cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
@@ -7173,24 +6174,6 @@
"wrap-ansi": "^6.2.0"
}
},
- "node_modules/nyc/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/nyc/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"node_modules/nyc/node_modules/find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
@@ -7221,6 +6204,36 @@
"node": ">=8"
}
},
+ "node_modules/nyc/node_modules/foreground-child": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/nyc/node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/nyc/node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -7366,17 +6379,12 @@
"node": ">=0.10.0"
}
},
- "node_modules/object-get": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz",
- "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==",
- "dev": true
- },
"node_modules/object-to-spawn-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz",
"integrity": "sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.0.0"
}
@@ -7507,6 +6515,13 @@
"node": ">=8"
}
},
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0"
+ },
"node_modules/parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
@@ -7521,15 +6536,6 @@
"node": ">=0.8"
}
},
- "node_modules/parse-node-version": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
- "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/parse-passwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
@@ -7603,41 +6609,42 @@
}
},
"node_modules/path-scurry": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
- "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "lru-cache": "^9.1.1 || ^10.0.0",
+ "lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": ">=16 || 14 >=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
- "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"dev": true,
- "engines": {
- "node": "14 || >=16.14"
- }
+ "license": "ISC"
},
"node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -7650,6 +6657,7 @@
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -7659,6 +6667,7 @@
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
"integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
@@ -7668,6 +6677,7 @@
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
"integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^3.0.0"
},
@@ -7680,6 +6690,7 @@
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^3.0.0"
},
@@ -7692,6 +6703,7 @@
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
@@ -7705,6 +6717,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -7720,6 +6733,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.0.0"
},
@@ -7730,27 +6744,13 @@
"node_modules/pkg-dir/node_modules/path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
- "node_modules/plugin-error": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
- "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "^1.0.1",
- "arr-diff": "^4.0.0",
- "arr-union": "^3.1.0",
- "extend-shallow": "^3.0.2"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/portscanner": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz",
@@ -7798,10 +6798,11 @@
}
},
"node_modules/prettier": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
- "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+ "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true,
+ "license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -7845,6 +6846,27 @@
"node": ">=6"
}
},
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/queue-tick": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
@@ -7865,6 +6887,7 @@
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.6"
}
@@ -7923,109 +6946,19 @@
"node": ">= 10.13.0"
}
},
- "node_modules/reduce-extract": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
- "integrity": "sha512-QF8vjWx3wnRSL5uFMyCjDeDc5EBMiryoT9tz94VvgjKfzecHAVnqmXAwQDcr7X4JmLc2cjkjFGCVzhMqDjgR9g==",
- "dev": true,
- "dependencies": {
- "test-value": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/reduce-extract/node_modules/array-back": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
- "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
- "dev": true,
- "dependencies": {
- "typical": "^2.6.0"
- },
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/reduce-extract/node_modules/test-value": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
- "integrity": "sha512-wrsbRo7qP+2Je8x8DsK8ovCGyxe3sYfQwOraIY/09A2gFXU9DYKiTF14W4ki/01AEh56kMzAmlj9CaHGDDUBJA==",
- "dev": true,
- "dependencies": {
- "array-back": "^1.0.2",
- "typical": "^2.4.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/reduce-flatten": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.1.tgz",
- "integrity": "sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/reduce-unique": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz",
- "integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/reduce-without": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
- "integrity": "sha512-zQv5y/cf85sxvdrKPlfcRzlDn/OqKFThNimYmsS3flmkioKvkUGn2Qg9cJVoQiEvdxFGLE0MQER/9fZ9sUqdxg==",
- "dev": true,
- "dependencies": {
- "test-value": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/reduce-without/node_modules/array-back": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
- "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
- "dev": true,
- "dependencies": {
- "typical": "^2.6.0"
- },
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/reduce-without/node_modules/test-value": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
- "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==",
- "dev": true,
- "dependencies": {
- "array-back": "^1.0.3",
- "typical": "^2.6.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
"integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
- "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
+ "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"regenerate": "^1.4.2"
},
@@ -8037,27 +6970,30 @@
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/regenerator-transform": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
"integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.8.4"
}
},
"node_modules/regexpu-core": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
- "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
+ "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.1.0",
- "regjsparser": "^0.9.1",
+ "regenerate-unicode-properties": "^10.2.0",
+ "regjsgen": "^0.8.0",
+ "regjsparser": "^0.12.0",
"unicode-match-property-ecmascript": "^2.0.0",
"unicode-match-property-value-ecmascript": "^2.1.0"
},
@@ -8065,25 +7001,37 @@
"node": ">=4"
}
},
+ "node_modules/regjsgen": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
+ "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/regjsparser": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
- "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
+ "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "jsesc": "~0.5.0"
+ "jsesc": "~3.0.2"
},
"bin": {
"regjsparser": "bin/parser"
}
},
"node_modules/regjsparser/node_modules/jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"dev": true,
+ "license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/release-zalgo": {
@@ -8250,18 +7198,20 @@
}
},
"node_modules/rimraf": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz",
- "integrity": "sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz",
+ "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "glob": "^10.3.7"
+ "glob": "^11.0.0",
+ "package-json-from-dist": "^1.0.0"
},
"bin": {
"rimraf": "dist/esm/bin.mjs"
},
"engines": {
- "node": ">=14.18"
+ "node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -8272,15 +7222,17 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/rimraf/node_modules/foreground-child": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
- "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.0",
"signal-exit": "^4.0.1"
@@ -8293,37 +7245,83 @@
}
},
"node_modules/rimraf/node_modules/glob": {
- "version": "10.3.10",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
- "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz",
+ "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
- "jackspeak": "^2.3.5",
- "minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
- "path-scurry": "^1.10.1"
+ "jackspeak": "^4.0.1",
+ "minimatch": "^10.0.0",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
},
"bin": {
"glob": "dist/esm/bin.mjs"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/rimraf/node_modules/jackspeak": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz",
+ "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/lru-cache": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz",
+ "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
"node_modules/rimraf/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
+ "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/path-scurry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
+ "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -8334,6 +7332,7 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -8341,6 +7340,30 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
"node_modules/rx": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
@@ -8381,24 +7404,25 @@
}
},
"node_modules/send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.1.tgz",
+ "integrity": "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
- "http-errors": "~1.6.2",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.0",
- "statuses": "~1.4.0"
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
},
"engines": {
"node": ">= 0.8.0"
@@ -8409,50 +7433,83 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.0.0"
}
},
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/send/node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/send/node_modules/http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">= 0.8"
}
},
- "node_modules/send/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
"node_modules/send/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
},
- "node_modules/send/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
+ "node_modules/send/node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
},
"node_modules/send/node_modules/statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">= 0.6"
+ "node": ">= 0.8"
}
},
"node_modules/serialize-javascript": {
@@ -8524,35 +7581,156 @@
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
"dev": true
},
- "node_modules/serve-index/node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "node_modules/serve-index/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/serve-static/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/serve-static/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/serve-static/node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serve-static/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serve-static/node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serve-static/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/serve-static/node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">= 0.8"
}
},
- "node_modules/serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "node_modules/serve-static/node_modules/send": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
- "parseurl": "~1.3.2",
- "send": "0.16.2"
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
},
"engines": {
"node": ">= 0.8.0"
}
},
+ "node_modules/serve-static/node_modules/send/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serve-static/node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/server-destroy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
"integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/set-blocking": {
"version": "2.0.0",
@@ -8571,6 +7749,7 @@
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
"integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"kind-of": "^6.0.2"
},
@@ -8606,16 +7785,17 @@
"dev": true
},
"node_modules/socket.io": {
- "version": "4.7.5",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
- "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
+ "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"cors": "~2.8.5",
"debug": "~4.3.2",
- "engine.io": "~6.5.2",
+ "engine.io": "~6.6.0",
"socket.io-adapter": "~2.5.2",
"socket.io-parser": "~4.2.4"
},
@@ -8624,23 +7804,26 @@
}
},
"node_modules/socket.io-adapter": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
- "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz",
+ "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ws": "~8.11.0"
+ "debug": "~4.3.4",
+ "ws": "~8.17.1"
}
},
"node_modules/socket.io-client": {
- "version": "4.7.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.3.tgz",
- "integrity": "sha512-nU+ywttCyBitXIl9Xe0RSEfek4LneYkJxCeNnKCuhwoH4jGXO1ipIUw/VA/+Vvv2G1MTym11fzFC0SxkrcfXDw==",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz",
+ "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
- "engine.io-client": "~6.5.2",
+ "engine.io-client": "~6.6.1",
"socket.io-parser": "~4.2.4"
},
"engines": {
@@ -8661,43 +7844,25 @@
}
},
"node_modules/sort-array": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-4.1.5.tgz",
- "integrity": "sha512-Ya4peoS1fgFN42RN1REk2FgdNOeLIEMKFGJvs7VTP3OklF8+kl2SkpVliZ4tk/PurWsrWRsdNdU+tgyOBkB9sA==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-5.0.0.tgz",
+ "integrity": "sha512-Sg9MzajSGprcSrMIxsXyNT0e0JB47RJRfJspC+7co4Z5BdNsNl8FmWI+lXEpyKq+vkMG6pHgAhqyCO+bkDTfFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "array-back": "^5.0.0",
- "typical": "^6.0.1"
+ "array-back": "^6.2.2",
+ "typical": "^7.1.1"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/sort-array/node_modules/array-back": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
- "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/sort-array/node_modules/typical": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/typical/-/typical-6.0.1.tgz",
- "integrity": "sha512-+g3NEp7fJLe9DPa1TArHm9QAA7YciZmWnfAqEaFrBihQ7epOv9i99rjtgb6Iz0wh3WuQDjsCTDfgRoGnmHN81A==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node": ">=12.17"
+ },
+ "peerDependencies": {
+ "@75lb/nature": "^0.1.1"
+ },
+ "peerDependenciesMeta": {
+ "@75lb/nature": {
+ "optional": true
+ }
}
},
"node_modules/source-map-support": {
@@ -8719,15 +7884,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/sparkles": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/spawn-wrap": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
@@ -8799,30 +7955,6 @@
"streamx": "^2.13.2"
}
},
- "node_modules/stream-connect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
- "integrity": "sha512-68Kl+79cE0RGKemKkhxTSg8+6AGrqBt+cbZAXevg2iJ6Y3zX4JhA/sZeGzLpxW9cXhmqAcE7KnJCisUmIUfnFQ==",
- "dev": true,
- "dependencies": {
- "array-back": "^1.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/stream-connect/node_modules/array-back": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
- "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
- "dev": true,
- "dependencies": {
- "typical": "^2.6.0"
- },
- "engines": {
- "node": ">=0.12.0"
- }
- },
"node_modules/stream-events": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
@@ -8849,6 +7981,7 @@
"resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz",
"integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"commander": "^2.2.0",
"limiter": "^1.0.5"
@@ -8860,15 +7993,6 @@
"node": ">= 0.10.0"
}
},
- "node_modules/stream-via": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
- "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/streamx": {
"version": "2.18.0",
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz",
@@ -8912,6 +8036,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -8939,6 +8064,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -8983,15 +8109,16 @@
"dev": true
},
"node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/sver": {
@@ -9004,31 +8131,17 @@
}
},
"node_modules/table-layout": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz",
- "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==",
- "dev": true,
- "dependencies": {
- "array-back": "^2.0.0",
- "deep-extend": "~0.6.0",
- "lodash.padend": "^4.6.1",
- "typical": "^2.6.1",
- "wordwrapjs": "^3.0.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/table-layout/node_modules/array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-4.1.1.tgz",
+ "integrity": "sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "typical": "^2.6.1"
+ "array-back": "^6.2.2",
+ "wordwrapjs": "^5.1.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=12.17"
}
},
"node_modules/teeny-request": {
@@ -9065,12 +8178,6 @@
"streamx": "^2.12.5"
}
},
- "node_modules/temp-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
- "integrity": "sha512-TvmyH7kC6ZVTYkqCODjJIbgvu0FKiwQpZ4D1aknE7xpcDf/qEOB8KZEK5ef2pfbVoiBhNWs3yx4y+ESMtNYmlg==",
- "dev": true
- },
"node_modules/ternary-stream": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz",
@@ -9133,31 +8240,6 @@
"node": ">=8"
}
},
- "node_modules/test-value": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
- "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
- "dev": true,
- "dependencies": {
- "array-back": "^2.0.0",
- "typical": "^2.6.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/test-value/node_modules/array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "dependencies": {
- "typical": "^2.6.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/text-decoder": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.0.tgz",
@@ -9177,15 +8259,6 @@
"xtend": "~4.0.1"
}
},
- "node_modules/time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/timers-ext": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
@@ -9196,15 +8269,6 @@
"next-tick": "1"
}
},
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -9269,10 +8333,14 @@
}
},
"node_modules/typical": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
- "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=",
- "dev": true
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-7.3.0.tgz",
+ "integrity": "sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
},
"node_modules/ua-parser-js": {
"version": "1.0.33",
@@ -9304,6 +8372,7 @@
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz",
"integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==",
"dev": true,
+ "optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
},
@@ -9351,16 +8420,18 @@
}
},
"node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "version": "6.20.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
+ "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
- "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+ "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -9370,6 +8441,7 @@
"resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
"integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"unicode-canonical-property-names-ecmascript": "^2.0.0",
"unicode-property-aliases-ecmascript": "^2.0.0"
@@ -9379,10 +8451,11 @@
}
},
"node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
- "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
+ "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -9392,6 +8465,7 @@
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
"integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -9415,9 +8489,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz",
+ "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==",
"dev": true,
"funding": [
{
@@ -9433,9 +8507,10 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
},
"bin": {
"update-browserslist-db": "cli.js"
@@ -9501,6 +8576,7 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
@@ -9670,20 +8746,12 @@
"node": ">=10.13.0"
}
},
- "node_modules/vinyl-sourcemaps-apply": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
- "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
- "dev": true,
- "dependencies": {
- "source-map": "^0.5.1"
- }
- },
"node_modules/walk-back": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.0.tgz",
- "integrity": "sha512-Uhxps5yZcVNbLEAnb+xaEEMdgTXl9qAQDzKYejG2AZ7qPwRQ81lozY9ECDbjLPNWm7YsO1IK5rsP1KoQzXAcGA==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.1.tgz",
+ "integrity": "sha512-e/FRLDVdZQWFrAzU6Hdvpm7D7m2ina833gIKLptQykRK49mmCYHLHq7UqjPDbxbKLZkTkW1rFqbengdE3sLfdw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12.17"
}
@@ -9728,29 +8796,18 @@
"node_modules/wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- },
- "node_modules/wordwrapjs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
- "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true,
- "dependencies": {
- "reduce-flatten": "^1.0.1",
- "typical": "^2.6.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
+ "license": "MIT"
},
- "node_modules/wordwrapjs/node_modules/reduce-flatten": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
- "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=",
+ "node_modules/wordwrapjs": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz",
+ "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.10.0"
+ "node": ">=12.17"
}
},
"node_modules/workerpool": {
@@ -9782,6 +8839,7 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -9791,74 +8849,8 @@
"node": ">=10"
},
"funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
},
"node_modules/wrappy": {
"version": "1.0.2",
@@ -9879,16 +8871,17 @@
}
},
"node_modules/ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
@@ -9906,9 +8899,9 @@
"dev": true
},
"node_modules/xmlhttprequest-ssl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
- "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
+ "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
"dev": true,
"engines": {
"node": ">=0.4.0"
@@ -9943,6 +8936,7 @@
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -10038,37 +9032,38 @@
}
},
"@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
}
},
"@babel/compat-data": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
- "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz",
+ "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==",
"dev": true
},
"@babel/core": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz",
- "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
+ "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
"dev": true,
"requires": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helpers": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/template": "^7.24.7",
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7",
+ "@babel/code-frame": "^7.26.0",
+ "@babel/generator": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.0",
+ "@babel/parser": "^7.26.0",
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -10085,21 +9080,22 @@
}
},
"@babel/generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
- "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz",
+ "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
"dev": true,
"requires": {
- "@babel/types": "^7.24.7",
+ "@babel/parser": "^7.26.5",
+ "@babel/types": "^7.26.5",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"dependencies": {
"@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
"dev": true,
"requires": {
"@jridgewell/set-array": "^1.2.1",
@@ -10110,69 +9106,57 @@
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
- "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.24.7"
- }
- },
- "@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
- "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
+ "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.9"
}
},
"@babel/helper-compilation-targets": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
- "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz",
+ "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.24.7",
- "@babel/helper-validator-option": "^7.24.7",
- "browserslist": "^4.22.2",
+ "@babel/compat-data": "^7.26.5",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz",
- "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.7",
- "@babel/helper-optimise-call-expression": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz",
+ "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
"semver": "^6.3.1"
}
},
"@babel/helper-create-regexp-features-plugin": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz",
- "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz",
+ "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "regexpu-core": "^5.3.1",
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "regexpu-core": "^6.2.0",
"semver": "^6.3.1"
}
},
"@babel/helper-define-polyfill-provider": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
- "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz",
+ "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==",
"dev": true,
"requires": {
"@babel/helper-compilation-targets": "^7.22.6",
@@ -10182,229 +9166,179 @@
"resolve": "^1.14.2"
}
},
- "@babel/helper-environment-visitor": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
- "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.24.7"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
- "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.24.7",
- "@babel/types": "^7.24.7"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
- "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.24.7"
- }
- },
"@babel/helper-member-expression-to-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz",
- "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
+ "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
}
},
"@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
}
},
"@babel/helper-module-transforms": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
- "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"dev": true,
"requires": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
- "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
+ "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.9"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
- "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
+ "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
"dev": true
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz",
- "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz",
+ "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-wrap-function": "^7.24.7"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-wrap-function": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
}
},
"@babel/helper-replace-supers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz",
- "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==",
- "dev": true,
- "requires": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.7",
- "@babel/helper-optimise-call-expression": "^7.24.7"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
- "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz",
+ "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==",
"dev": true,
"requires": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/traverse": "^7.26.5"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
- "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
- "dev": true,
- "requires": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
- "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
+ "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
"dev": true,
"requires": {
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
}
},
"@babel/helper-string-parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
- "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"dev": true
},
"@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"dev": true
},
"@babel/helper-validator-option": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
- "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"dev": true
},
"@babel/helper-wrap-function": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz",
- "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz",
+ "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.24.7",
- "@babel/template": "^7.24.7",
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
}
},
"@babel/helpers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
- "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
+ "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
"dev": true,
"requires": {
- "@babel/template": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.0"
}
},
- "@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+ "@babel/parser": {
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz",
+ "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.24.7",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "@babel/types": "^7.26.5"
}
},
- "@babel/parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
- "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
- "dev": true
- },
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz",
- "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz",
+ "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
+ }
+ },
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz",
+ "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==",
"dev": true,
"requires": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz",
- "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz",
+ "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
- "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz",
+ "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/plugin-transform-optional-chaining": "^7.25.9"
}
},
"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz",
- "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz",
+ "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==",
"dev": true,
"requires": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
}
},
"@babel/plugin-proposal-private-property-in-object": {
@@ -10414,157 +9348,22 @@
"dev": true,
"requires": {}
},
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@babel/plugin-syntax-class-static-block": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.3"
- }
- },
"@babel/plugin-syntax-import-assertions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz",
- "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz",
+ "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-syntax-import-attributes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz",
- "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
- }
- },
- "@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz",
+ "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-syntax-unicode-sets-regex": {
@@ -10578,574 +9377,566 @@
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
- "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz",
+ "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-async-generator-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz",
- "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz",
+ "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==",
"dev": true,
"requires": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-remap-async-to-generator": "^7.24.7",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-remap-async-to-generator": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
- "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz",
+ "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-remap-async-to-generator": "^7.24.7"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-remap-async-to-generator": "^7.25.9"
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
- "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz",
+ "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.26.5"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz",
- "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz",
+ "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-class-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz",
- "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz",
+ "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-class-static-block": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
- "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz",
+ "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz",
- "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz",
+ "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
"globals": "^11.1.0"
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
- "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz",
+ "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/template": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/template": "^7.25.9"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz",
- "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz",
+ "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
- "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz",
+ "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
- "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz",
+ "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.25.9"
+ }
+ },
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz",
+ "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-dynamic-import": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
- "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz",
+ "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
- "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz",
+ "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==",
"dev": true,
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-export-namespace-from": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
- "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz",
+ "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
- "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz",
+ "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz",
- "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz",
+ "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==",
"dev": true,
"requires": {
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
}
},
"@babel/plugin-transform-json-strings": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
- "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz",
+ "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz",
- "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz",
+ "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
- "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz",
+ "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
- "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz",
+ "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
- "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz",
+ "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz",
- "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==",
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz",
+ "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz",
- "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz",
+ "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.24.7",
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
- "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz",
+ "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-module-transforms": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
- "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz",
+ "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
- "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz",
+ "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
- "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
+ "version": "7.26.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz",
+ "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.26.5"
}
},
"@babel/plugin-transform-numeric-separator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
- "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz",
+ "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-object-rest-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
- "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz",
+ "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==",
"dev": true,
"requires": {
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.24.7"
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/plugin-transform-parameters": "^7.25.9"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
- "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz",
+ "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9"
}
},
"@babel/plugin-transform-optional-catch-binding": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
- "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz",
+ "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-optional-chaining": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz",
- "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz",
+ "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
- "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz",
+ "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-private-methods": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz",
- "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz",
+ "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-private-property-in-object": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
- "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz",
+ "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-create-class-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
- "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz",
+ "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
- "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz",
+ "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
+ "@babel/helper-plugin-utils": "^7.25.9",
"regenerator-transform": "^0.15.2"
}
},
+ "@babel/plugin-transform-regexp-modifiers": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz",
+ "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
+ }
+ },
"@babel/plugin-transform-reserved-words": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
- "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz",
+ "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
- "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz",
+ "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
- "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz",
+ "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
- "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz",
+ "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
- "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz",
+ "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz",
- "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz",
+ "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-unicode-escapes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
- "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz",
+ "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-unicode-property-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
- "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz",
+ "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
- "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz",
+ "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz",
- "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz",
+ "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9"
}
},
"@babel/preset-env": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz",
- "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-validator-option": "^7.24.7",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz",
+ "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-plugin-utils": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9",
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9",
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-import-assertions": "^7.24.7",
- "@babel/plugin-syntax-import-attributes": "^7.24.7",
- "@babel/plugin-syntax-import-meta": "^7.10.4",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-syntax-import-assertions": "^7.26.0",
+ "@babel/plugin-syntax-import-attributes": "^7.26.0",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.24.7",
- "@babel/plugin-transform-async-generator-functions": "^7.24.7",
- "@babel/plugin-transform-async-to-generator": "^7.24.7",
- "@babel/plugin-transform-block-scoped-functions": "^7.24.7",
- "@babel/plugin-transform-block-scoping": "^7.24.7",
- "@babel/plugin-transform-class-properties": "^7.24.7",
- "@babel/plugin-transform-class-static-block": "^7.24.7",
- "@babel/plugin-transform-classes": "^7.24.7",
- "@babel/plugin-transform-computed-properties": "^7.24.7",
- "@babel/plugin-transform-destructuring": "^7.24.7",
- "@babel/plugin-transform-dotall-regex": "^7.24.7",
- "@babel/plugin-transform-duplicate-keys": "^7.24.7",
- "@babel/plugin-transform-dynamic-import": "^7.24.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.24.7",
- "@babel/plugin-transform-export-namespace-from": "^7.24.7",
- "@babel/plugin-transform-for-of": "^7.24.7",
- "@babel/plugin-transform-function-name": "^7.24.7",
- "@babel/plugin-transform-json-strings": "^7.24.7",
- "@babel/plugin-transform-literals": "^7.24.7",
- "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
- "@babel/plugin-transform-member-expression-literals": "^7.24.7",
- "@babel/plugin-transform-modules-amd": "^7.24.7",
- "@babel/plugin-transform-modules-commonjs": "^7.24.7",
- "@babel/plugin-transform-modules-systemjs": "^7.24.7",
- "@babel/plugin-transform-modules-umd": "^7.24.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
- "@babel/plugin-transform-new-target": "^7.24.7",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
- "@babel/plugin-transform-numeric-separator": "^7.24.7",
- "@babel/plugin-transform-object-rest-spread": "^7.24.7",
- "@babel/plugin-transform-object-super": "^7.24.7",
- "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.7",
- "@babel/plugin-transform-parameters": "^7.24.7",
- "@babel/plugin-transform-private-methods": "^7.24.7",
- "@babel/plugin-transform-private-property-in-object": "^7.24.7",
- "@babel/plugin-transform-property-literals": "^7.24.7",
- "@babel/plugin-transform-regenerator": "^7.24.7",
- "@babel/plugin-transform-reserved-words": "^7.24.7",
- "@babel/plugin-transform-shorthand-properties": "^7.24.7",
- "@babel/plugin-transform-spread": "^7.24.7",
- "@babel/plugin-transform-sticky-regex": "^7.24.7",
- "@babel/plugin-transform-template-literals": "^7.24.7",
- "@babel/plugin-transform-typeof-symbol": "^7.24.7",
- "@babel/plugin-transform-unicode-escapes": "^7.24.7",
- "@babel/plugin-transform-unicode-property-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-sets-regex": "^7.24.7",
+ "@babel/plugin-transform-arrow-functions": "^7.25.9",
+ "@babel/plugin-transform-async-generator-functions": "^7.25.9",
+ "@babel/plugin-transform-async-to-generator": "^7.25.9",
+ "@babel/plugin-transform-block-scoped-functions": "^7.25.9",
+ "@babel/plugin-transform-block-scoping": "^7.25.9",
+ "@babel/plugin-transform-class-properties": "^7.25.9",
+ "@babel/plugin-transform-class-static-block": "^7.26.0",
+ "@babel/plugin-transform-classes": "^7.25.9",
+ "@babel/plugin-transform-computed-properties": "^7.25.9",
+ "@babel/plugin-transform-destructuring": "^7.25.9",
+ "@babel/plugin-transform-dotall-regex": "^7.25.9",
+ "@babel/plugin-transform-duplicate-keys": "^7.25.9",
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9",
+ "@babel/plugin-transform-dynamic-import": "^7.25.9",
+ "@babel/plugin-transform-exponentiation-operator": "^7.25.9",
+ "@babel/plugin-transform-export-namespace-from": "^7.25.9",
+ "@babel/plugin-transform-for-of": "^7.25.9",
+ "@babel/plugin-transform-function-name": "^7.25.9",
+ "@babel/plugin-transform-json-strings": "^7.25.9",
+ "@babel/plugin-transform-literals": "^7.25.9",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.25.9",
+ "@babel/plugin-transform-member-expression-literals": "^7.25.9",
+ "@babel/plugin-transform-modules-amd": "^7.25.9",
+ "@babel/plugin-transform-modules-commonjs": "^7.25.9",
+ "@babel/plugin-transform-modules-systemjs": "^7.25.9",
+ "@babel/plugin-transform-modules-umd": "^7.25.9",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9",
+ "@babel/plugin-transform-new-target": "^7.25.9",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9",
+ "@babel/plugin-transform-numeric-separator": "^7.25.9",
+ "@babel/plugin-transform-object-rest-spread": "^7.25.9",
+ "@babel/plugin-transform-object-super": "^7.25.9",
+ "@babel/plugin-transform-optional-catch-binding": "^7.25.9",
+ "@babel/plugin-transform-optional-chaining": "^7.25.9",
+ "@babel/plugin-transform-parameters": "^7.25.9",
+ "@babel/plugin-transform-private-methods": "^7.25.9",
+ "@babel/plugin-transform-private-property-in-object": "^7.25.9",
+ "@babel/plugin-transform-property-literals": "^7.25.9",
+ "@babel/plugin-transform-regenerator": "^7.25.9",
+ "@babel/plugin-transform-regexp-modifiers": "^7.26.0",
+ "@babel/plugin-transform-reserved-words": "^7.25.9",
+ "@babel/plugin-transform-shorthand-properties": "^7.25.9",
+ "@babel/plugin-transform-spread": "^7.25.9",
+ "@babel/plugin-transform-sticky-regex": "^7.25.9",
+ "@babel/plugin-transform-template-literals": "^7.25.9",
+ "@babel/plugin-transform-typeof-symbol": "^7.25.9",
+ "@babel/plugin-transform-unicode-escapes": "^7.25.9",
+ "@babel/plugin-transform-unicode-property-regex": "^7.25.9",
+ "@babel/plugin-transform-unicode-regex": "^7.25.9",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
"@babel/preset-modules": "0.1.6-no-external-plugins",
"babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.4",
+ "babel-plugin-polyfill-corejs3": "^0.10.6",
"babel-plugin-polyfill-regenerator": "^0.6.1",
- "core-js-compat": "^3.31.0",
+ "core-js-compat": "^3.38.1",
"semver": "^6.3.1"
}
},
@@ -11161,9 +9952,9 @@
}
},
"@babel/register": {
- "version": "7.24.6",
- "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz",
- "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz",
+ "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==",
"dev": true,
"requires": {
"clone-deep": "^4.0.1",
@@ -11173,59 +9964,49 @@
"source-map-support": "^0.5.16"
}
},
- "@babel/regjsgen": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
- "dev": true
- },
"@babel/runtime": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
- "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
+ "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
"dev": true,
"requires": {
"regenerator-runtime": "^0.14.0"
}
},
"@babel/template": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
- "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
+ "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/code-frame": "^7.25.9",
+ "@babel/parser": "^7.25.9",
+ "@babel/types": "^7.25.9"
}
},
"@babel/traverse": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
- "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-hoist-variables": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/types": "^7.24.7",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz",
+ "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.5",
+ "@babel/parser": "^7.26.5",
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.5",
"debug": "^4.3.1",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
- "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
+ "version": "7.26.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz",
+ "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==",
"dev": true,
"requires": {
- "@babel/helper-string-parser": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
}
},
"@gulp-sourcemaps/identity-map": {
@@ -11310,9 +10091,9 @@
},
"dependencies": {
"ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true
},
"ansi-styles": {
@@ -11465,6 +10246,32 @@
"lodash": "^4.17.21"
}
},
+ "@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ }
+ },
"@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -11522,12 +10329,12 @@
"dev": true
},
"@types/node": {
- "version": "20.14.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
- "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
+ "version": "22.10.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz",
+ "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==",
"dev": true,
"requires": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.20.0"
}
},
"accepts": {
@@ -11583,32 +10390,6 @@
"ansi-wrap": "0.1.0"
}
},
- "ansi-escape-sequences": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz",
- "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==",
- "dev": true,
- "requires": {
- "array-back": "^3.0.1"
- },
- "dependencies": {
- "array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true
- }
- }
- },
- "ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-red": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
@@ -11625,12 +10406,12 @@
"dev": true
},
"ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "color-convert": "^1.9.0"
+ "color-convert": "^2.0.1"
}
},
"ansi-wrap": {
@@ -11679,36 +10460,18 @@
"integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=",
"dev": true
},
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true
- },
"array-back": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz",
"integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==",
"dev": true
},
- "array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true
- },
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@@ -11721,24 +10484,12 @@
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
"dev": true
},
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
"async": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
@@ -11787,33 +10538,33 @@
"dev": true
},
"babel-plugin-polyfill-corejs2": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
- "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
+ "version": "0.4.12",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz",
+ "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.6.1",
+ "@babel/helper-define-polyfill-provider": "^0.6.3",
"semver": "^6.3.1"
}
},
"babel-plugin-polyfill-corejs3": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
- "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
+ "version": "0.10.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
+ "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
"dev": true,
"requires": {
- "@babel/helper-define-polyfill-provider": "^0.6.1",
- "core-js-compat": "^3.36.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.2",
+ "core-js-compat": "^3.38.0"
}
},
"babel-plugin-polyfill-regenerator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz",
- "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz",
+ "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==",
"dev": true,
"requires": {
- "@babel/helper-define-polyfill-provider": "^0.6.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.3"
}
},
"bach": {
@@ -11858,12 +10609,6 @@
"integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
"dev": true
},
- "beeper": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
- "dev": true
- },
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -11926,13 +10671,13 @@
"dev": true
},
"browser-sync": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.2.tgz",
- "integrity": "sha512-PC9c7aWJFVR4IFySrJxOqLwB9ENn3/TaXCXtAa0SzLwocLN3qMjN+IatbjvtCX92BjNXsY6YWg9Eb7F3Wy255g==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.3.tgz",
+ "integrity": "sha512-91hoBHKk1C4pGeD+oE9Ld222k2GNQEAsI5AElqR8iLLWNrmZR2LPP8B0h8dpld9u7kro5IEUB3pUb0DJ3n1cRQ==",
"dev": true,
"requires": {
- "browser-sync-client": "^3.0.2",
- "browser-sync-ui": "^3.0.2",
+ "browser-sync-client": "^3.0.3",
+ "browser-sync-ui": "^3.0.3",
"bs-recipes": "1.3.4",
"chalk": "4.1.2",
"chokidar": "^3.5.1",
@@ -11946,76 +10691,25 @@
"fs-extra": "3.0.1",
"http-proxy": "^1.18.1",
"immutable": "^3",
- "micromatch": "^4.0.2",
+ "micromatch": "^4.0.8",
"opn": "5.3.0",
"portscanner": "2.2.0",
"raw-body": "^2.3.2",
"resp-modifier": "6.0.2",
"rx": "4.1.0",
- "send": "0.16.2",
- "serve-index": "1.9.1",
- "serve-static": "1.13.2",
+ "send": "^0.19.0",
+ "serve-index": "^1.9.1",
+ "serve-static": "^1.16.2",
"server-destroy": "1.0.1",
"socket.io": "^4.4.1",
"ua-parser-js": "^1.0.33",
"yargs": "^17.3.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
}
},
"browser-sync-client": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.2.tgz",
- "integrity": "sha512-tBWdfn9L0wd2Pjuz/NWHtNEKthVb1Y67vg8/qyGNtCqetNz5lkDkFnrsx5UhPNPYUO8vci50IWC/BhYaQskDiQ==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.3.tgz",
+ "integrity": "sha512-TOEXaMgYNjBYIcmX5zDlOdjEqCeCN/d7opf/fuyUD/hhGVCfP54iQIDhENCi012AqzYZm3BvuFl57vbwSTwkSQ==",
"dev": true,
"requires": {
"etag": "1.8.1",
@@ -12024,9 +10718,9 @@
}
},
"browser-sync-ui": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.2.tgz",
- "integrity": "sha512-V3FwWAI+abVbFLTyJjXJlCMBwjc3GXf/BPGfwO2fMFACWbIGW9/4SrBOFYEOOtqzCjQE0Di+U3VIb7eES4omNA==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.3.tgz",
+ "integrity": "sha512-FcGWo5lP5VodPY6O/f4pXQy5FFh4JK0f2/fTBsp0Lx1NtyBWs/IfPPJbW8m1ujTW/2r07oUXKTF2LYZlCZktjw==",
"dev": true,
"requires": {
"async-each-series": "0.1.1",
@@ -12036,69 +10730,18 @@
"server-destroy": "1.0.1",
"socket.io-client": "^4.4.1",
"stream-throttle": "^0.1.3"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
}
},
"browserslist": {
- "version": "4.23.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
- "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "version": "4.24.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
+ "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.1"
}
},
"bs-recipes": {
@@ -12130,22 +10773,12 @@
"dev": true
},
"cache-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-2.0.0.tgz",
- "integrity": "sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-3.0.1.tgz",
+ "integrity": "sha512-itTIMLEKbh6Dw5DruXbxAgcyLnh/oPGVLBfTPqBOftASxHe8bAeXy7JkO4F0LvHqht7XqP5O/09h5UcHS2w0FA==",
"dev": true,
"requires": {
- "array-back": "^4.0.1",
- "fs-then-native": "^2.0.0",
- "mkdirp2": "^1.0.4"
- },
- "dependencies": {
- "array-back": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
- "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
- "dev": true
- }
+ "array-back": "^6.2.2"
}
},
"caching-transform": {
@@ -12178,9 +10811,9 @@
"dev": true
},
"caniuse-lite": {
- "version": "1.0.30001591",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001591.tgz",
- "integrity": "sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==",
+ "version": "1.0.30001692",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz",
+ "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==",
"dev": true
},
"catharsis": {
@@ -12192,15 +10825,23 @@
"lodash": "^4.17.15"
}
},
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "chalk-template": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz",
+ "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "chalk": "^4.1.2"
}
},
"chokidar": {
@@ -12289,29 +10930,19 @@
"urlgrey": "1.0.0"
}
},
- "collect-all": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.4.tgz",
- "integrity": "sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==",
- "dev": true,
- "requires": {
- "stream-connect": "^1.0.2",
- "stream-via": "^1.0.4"
- }
- },
"color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "color-name": "1.1.3"
+ "color-name": "~1.1.4"
}
},
"color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"color-support": {
@@ -12321,76 +10952,27 @@
"dev": true
},
"command-line-args": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.0.tgz",
- "integrity": "sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.1.tgz",
+ "integrity": "sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==",
"dev": true,
"requires": {
- "array-back": "^3.1.0",
- "find-replace": "^3.0.0",
+ "array-back": "^6.2.2",
+ "find-replace": "^5.0.2",
"lodash.camelcase": "^4.3.0",
- "typical": "^4.0.0"
- },
- "dependencies": {
- "array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true
- },
- "typical": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
- "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
- "dev": true
- }
- }
- },
- "command-line-tool": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz",
- "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==",
- "dev": true,
- "requires": {
- "ansi-escape-sequences": "^4.0.0",
- "array-back": "^2.0.0",
- "command-line-args": "^5.0.0",
- "command-line-usage": "^4.1.0",
- "typical": "^2.6.1"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "^2.6.1"
- }
- }
+ "typical": "^7.2.0"
}
},
"command-line-usage": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz",
- "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz",
+ "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==",
"dev": true,
"requires": {
- "ansi-escape-sequences": "^4.0.0",
- "array-back": "^2.0.0",
- "table-layout": "^0.4.2",
- "typical": "^2.6.1"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "^2.6.1"
- }
- }
+ "array-back": "^6.2.2",
+ "chalk-template": "^0.4.0",
+ "table-layout": "^4.1.0",
+ "typical": "^7.1.1"
}
},
"commander": {
@@ -12400,9 +10982,9 @@
"dev": true
},
"common-sequence": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-2.0.2.tgz",
- "integrity": "sha512-jAg09gkdkrDO9EWTdXfv80WWH3yeZl5oT69fGfedBNS9pXUKYInVJ1bJ+/ht2+Moeei48TmSbQDYMc8EOx9G0g==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-3.0.0.tgz",
+ "integrity": "sha512-g/CgSYk93y+a1IKm50tKl7kaT/OjjTYVQlEbUlt/49ZLV1mcKpUU7iyDiqTAeLdb4QDtQfq3ako8y8v//fzrWQ==",
"dev": true
},
"commondir": {
@@ -12496,9 +11078,9 @@
}
},
"cookie": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
"dev": true
},
"copy-props": {
@@ -12520,12 +11102,12 @@
}
},
"core-js-compat": {
- "version": "3.36.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz",
- "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==",
+ "version": "3.40.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz",
+ "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==",
"dev": true,
"requires": {
- "browserslist": "^4.23.0"
+ "browserslist": "^4.24.3"
}
},
"core-util-is": {
@@ -12545,9 +11127,9 @@
}
},
"cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"requires": {
"path-key": "^3.1.0",
@@ -12584,6 +11166,12 @@
}
}
},
+ "current-module-paths": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/current-module-paths/-/current-module-paths-1.1.2.tgz",
+ "integrity": "sha512-H4s4arcLx/ugbu1XkkgSvcUZax0L6tXUqnppGniQb8l5VjUKGHoayXE5RiriiPhYDd+kjZnaok1Uig13PKtKYQ==",
+ "dev": true
+ },
"d": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -12594,12 +11182,6 @@
"type": "^1.0.1"
}
},
- "dateformat": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
- "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
- "dev": true
- },
"debug": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
@@ -12643,12 +11225,6 @@
"integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
"dev": true
},
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
"default-require-extensions": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
@@ -12665,9 +11241,9 @@
"dev": true
},
"destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true
},
"detect-file": {
@@ -12695,58 +11271,18 @@
"dev": true
},
"dmd": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.0.tgz",
- "integrity": "sha512-uXWxLF1H7TkUAuoHK59/h/ts5cKavm2LnhrIgJWisip4BVzPoXavlwyoprFFn2CzcahKYgvkfaebS6oxzgflkg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/dmd/-/dmd-7.1.1.tgz",
+ "integrity": "sha512-Ap2HP6iuOek7eShReDLr9jluNJm9RMZESlt29H/Xs1qrVMkcS9X6m5h1mBC56WMxNiSo0wvjGICmZlYUSFjwZQ==",
"dev": true,
"requires": {
"array-back": "^6.2.2",
- "cache-point": "^2.0.0",
- "common-sequence": "^2.0.2",
- "file-set": "^4.0.2",
- "handlebars": "^4.7.7",
- "marked": "^4.2.3",
- "object-get": "^2.1.1",
- "reduce-flatten": "^3.0.1",
- "reduce-unique": "^2.0.1",
- "reduce-without": "^1.0.1",
- "test-value": "^3.0.0",
- "walk-back": "^5.1.0"
- }
- },
- "duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.1.9"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
+ "cache-point": "^3.0.0",
+ "common-sequence": "^3.0.0",
+ "file-set": "^5.2.2",
+ "handlebars": "^4.7.8",
+ "marked": "^4.3.0",
+ "walk-back": "^5.1.1"
}
},
"duplexify": {
@@ -12814,57 +11350,6 @@
"dev": true,
"requires": {
"chalk": "4.1.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
}
},
"ee-first": {
@@ -12874,9 +11359,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.4.689",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.689.tgz",
- "integrity": "sha512-GatzRKnGPS1go29ep25reM94xxd1Wj8ritU0yRhCJ/tr1Bg8gKnm6R9O/yPOhGQBoLMZ9ezfrpghNaTw97C/PQ==",
+ "version": "1.5.82",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.82.tgz",
+ "integrity": "sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==",
"dev": true
},
"emoji-regex": {
@@ -12901,9 +11386,9 @@
}
},
"engine.io": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz",
- "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz",
+ "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==",
"dev": true,
"requires": {
"@types/cookie": "^0.4.1",
@@ -12911,42 +11396,24 @@
"@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "2.0.0",
- "cookie": "~0.4.1",
+ "cookie": "~0.7.2",
"cors": "~2.8.5",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
"ws": "~8.17.1"
- },
- "dependencies": {
- "ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "dev": true,
- "requires": {}
- }
}
},
"engine.io-client": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz",
- "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==",
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.2.tgz",
+ "integrity": "sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==",
"dev": true,
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
"ws": "~8.17.1",
- "xmlhttprequest-ssl": "~2.0.0"
- },
- "dependencies": {
- "ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "dev": true,
- "requires": {}
- }
+ "xmlhttprequest-ssl": "~2.1.1"
}
},
"engine.io-parser": {
@@ -12962,22 +11429,15 @@
"dev": true
},
"es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "version": "0.10.64",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"dev": true,
"requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- },
- "dependencies": {
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
- "dev": true
- }
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
+ "next-tick": "^1.1.0"
}
},
"es6-error": {
@@ -13020,9 +11480,9 @@
}
},
"escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true
},
"escape-html": {
@@ -13031,11 +11491,25 @@
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
},
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "dev": true,
+ "requires": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
+ "dev": true
+ }
+ }
},
"esprima": {
"version": "4.0.1",
@@ -13052,7 +11526,7 @@
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true
},
"event-emitter": {
@@ -13109,34 +11583,25 @@
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "fancy-log": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
- "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
- "dev": true,
- "requires": {
- "ansi-gray": "^0.1.1",
- "color-support": "^1.1.3",
- "parse-node-version": "^1.0.0",
- "time-stamp": "^1.0.0"
- }
- },
"fast-fifo": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
"integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
"dev": true
},
+ "fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ }
+ },
"fast-levenshtein": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz",
@@ -13171,21 +11636,13 @@
}
},
"file-set": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz",
- "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/file-set/-/file-set-5.2.2.tgz",
+ "integrity": "sha512-/KgJI1V/QaDK4enOk/E2xMFk1cTWJghEr7UmWiRZfZ6upt6gQCfMn4jJ7aOm64OKurj4TaVnSSgSDqv5ZKYA3A==",
"dev": true,
"requires": {
- "array-back": "^5.0.0",
- "glob": "^7.1.6"
- },
- "dependencies": {
- "array-back": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
- "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
- "dev": true
- }
+ "array-back": "^6.2.2",
+ "fast-glob": "^3.3.2"
}
},
"fill-range": {
@@ -13241,21 +11698,11 @@
}
},
"find-replace": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
- "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz",
+ "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==",
"dev": true,
- "requires": {
- "array-back": "^3.0.1"
- },
- "dependencies": {
- "array-back": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
- "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
- "dev": true
- }
- }
+ "requires": {}
},
"find-up": {
"version": "5.0.0",
@@ -13352,7 +11799,7 @@
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true
},
"fromentries": {
@@ -13382,12 +11829,6 @@
"streamx": "^2.12.0"
}
},
- "fs-then-native": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
- "integrity": "sha512-X712jAOaWXkemQCAmWeg5rOT2i+KOpWz1Z/txk/cW0qlOu2oQ9H61vc5w3X/iyuUEfq/OyaFJ78/cZAQD1/bgA==",
- "dev": true
- },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -13526,15 +11967,6 @@
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true
},
- "glogg": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
- "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
- },
"graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -13553,18 +11985,6 @@
"vinyl-fs": "^4.0.0"
}
},
- "gulp-babel": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-8.0.0.tgz",
- "integrity": "sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ==",
- "dev": true,
- "requires": {
- "plugin-error": "^1.0.1",
- "replace-ext": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl-sourcemaps-apply": "^0.2.0"
- }
- },
"gulp-cli": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz",
@@ -13585,25 +12005,6 @@
"yargs": "^16.2.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
"cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -13615,21 +12016,6 @@
"wrap-ansi": "^7.0.0"
}
},
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"glogg": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz",
@@ -13648,27 +12034,12 @@
"glogg": "^2.2.0"
}
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
"sparkles": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz",
"integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==",
"dev": true
},
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
"yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -13689,7 +12060,7 @@
"gulp-concat": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
- "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
+ "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==",
"dev": true,
"requires": {
"concat-with-sourcemaps": "^1.0.0",
@@ -13700,7 +12071,7 @@
"gulp-extname": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/gulp-extname/-/gulp-extname-0.2.2.tgz",
- "integrity": "sha1-NEmBFyxXUj2HgaPFvCyMussHrqs=",
+ "integrity": "sha512-zyyOnfFymMZO96ic1qJTGOVeAAgCoJ9hDFizv2err8r1KsBpgq9T16fuvv4H+DrXz/rBKdADzP6s8j1Jyg2tmw==",
"dev": true,
"requires": {
"rewrite-ext": "^0.2.0",
@@ -13730,16 +12101,6 @@
}
}
},
- "gulp-js-import": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/gulp-js-import/-/gulp-js-import-1.0.6.tgz",
- "integrity": "sha512-sA0mNBPM3CmPOH5QEoSIitoMyyI8kwqol4dU75fsZ10ay3PA8PEzqsLI+Msgrc6LHN+8khD7dt5N8OW/q/+dTw==",
- "dev": true,
- "requires": {
- "gulp-util": "^3.0.7",
- "through2": "^2.0.1"
- }
- },
"gulp-load-plugins": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/gulp-load-plugins/-/gulp-load-plugins-2.0.8.tgz",
@@ -13894,151 +12255,21 @@
},
"dependencies": {
"source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "gulp-uglify": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz",
- "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==",
- "dev": true,
- "requires": {
- "array-each": "^1.0.1",
- "extend-shallow": "^3.0.2",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "isobject": "^3.0.1",
- "make-error-cause": "^1.1.1",
- "safe-buffer": "^5.1.2",
- "through2": "^2.0.0",
- "uglify-js": "^3.0.5",
- "vinyl-sourcemaps-apply": "^0.2.0"
- }
- },
- "gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==",
- "dev": true,
- "requires": {
- "array-differ": "^1.0.0",
- "array-uniq": "^1.0.2",
- "beeper": "^1.0.0",
- "chalk": "^1.0.0",
- "dateformat": "^2.0.0",
- "fancy-log": "^1.1.0",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash._reescape": "^3.0.0",
- "lodash._reevaluate": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.template": "^3.0.0",
- "minimist": "^1.1.0",
- "multipipe": "^0.1.2",
- "object-assign": "^3.0.0",
- "replace-ext": "0.0.1",
- "through2": "^2.0.0",
- "vinyl": "^0.5.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
- "dev": true
- },
- "clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
- "dev": true
- },
- "object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
- "dev": true
- },
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
- "dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
- "dev": true,
- "requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
- }
}
}
},
- "gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
- "dev": true,
- "requires": {
- "glogg": "^1.0.0"
- }
- },
"handlebars": {
- "version": "4.7.7",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
- "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"requires": {
"minimist": "^1.2.5",
- "neo-async": "^2.6.0",
+ "neo-async": "^2.6.2",
"source-map": "^0.6.1",
"uglify-js": "^3.1.4",
"wordwrap": "^1.0.0"
@@ -14061,38 +12292,12 @@
"function-bind": "^1.1.1"
}
},
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- }
- }
- },
"has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
- },
"hasha": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
@@ -14275,15 +12480,6 @@
"has": "^1.0.3"
}
},
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- },
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -14501,12 +12697,6 @@
"supports-color": "^7.1.0"
},
"dependencies": {
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
@@ -14515,15 +12705,6 @@
"requires": {
"semver": "^6.0.0"
}
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
}
}
},
@@ -14557,9 +12738,9 @@
}
},
"jackspeak": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
- "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"dev": true,
"requires": {
"@isaacs/cliui": "^8.0.2",
@@ -14592,9 +12773,9 @@
}
},
"jsdoc": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz",
- "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz",
+ "integrity": "sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==",
"dev": true,
"requires": {
"@babel/parser": "^7.20.15",
@@ -14623,54 +12804,52 @@
}
},
"jsdoc-api": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.0.0.tgz",
- "integrity": "sha512-Rnhor0suB1Ds1abjmFkFfKeD+kSMRN9oHMTMZoJVUrmtCGDwXty+sWMA9sa4xbe4UyxuPjhC7tavZ40mDKK6QQ==",
+ "version": "9.3.4",
+ "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-9.3.4.tgz",
+ "integrity": "sha512-di8lggLACEttpyAZ6WjKKafUP4wC4prAGjt40nMl7quDpp2nD7GmLt6/WxhRu9Q6IYoAAySsNeidBXYVAMwlqg==",
"dev": true,
"requires": {
"array-back": "^6.2.2",
- "cache-point": "^2.0.0",
- "collect-all": "^1.0.4",
- "file-set": "^4.0.2",
- "fs-then-native": "^2.0.0",
- "jsdoc": "^4.0.0",
+ "cache-point": "^3.0.0",
+ "current-module-paths": "^1.1.2",
+ "file-set": "^5.2.2",
+ "jsdoc": "^4.0.4",
"object-to-spawn-args": "^2.0.1",
- "temp-path": "^1.0.0",
- "walk-back": "^5.1.0"
+ "walk-back": "^5.1.1"
}
},
"jsdoc-parse": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.1.tgz",
- "integrity": "sha512-9viGRUUtWOk/G4V0+nQ6rfLucz5plxh5I74WbNSNm9h9NWugCDVX4jbG8hZP9QqKGpdTPDE+qJXzaYNos3wqTA==",
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.4.tgz",
+ "integrity": "sha512-MQA+lCe3ioZd0uGbyB3nDCDZcKgKC7m/Ivt0LgKZdUoOlMJxUWJQ3WI6GeyHp9ouznKaCjlp7CU9sw5k46yZTw==",
"dev": true,
"requires": {
"array-back": "^6.2.2",
+ "find-replace": "^5.0.1",
"lodash.omit": "^4.5.0",
- "reduce-extract": "^1.0.0",
- "sort-array": "^4.1.5",
- "test-value": "^3.0.0"
+ "sort-array": "^5.0.0"
}
},
"jsdoc-to-markdown": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.1.tgz",
- "integrity": "sha512-qJfNJhkq2C26UYoOdj8L1yheTJlk1veCsxwRejRmj07XZKCn7oSkuPErx6+JoNi8afCaUKdIM5oUu0uF2/T8iw==",
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-9.1.1.tgz",
+ "integrity": "sha512-QqYVSo58iHXpD5Jwi1u4AFeuMcQp4jfk7SmWzvXKc3frM9Kop17/OHudmi0phzkT/K137Rlroc9Q0y+95XpUsw==",
"dev": true,
"requires": {
"array-back": "^6.2.2",
- "command-line-tool": "^0.8.0",
+ "command-line-args": "^6.0.1",
+ "command-line-usage": "^7.0.3",
"config-master": "^3.1.0",
- "dmd": "^6.2.0",
- "jsdoc-api": "^8.0.0",
- "jsdoc-parse": "^6.2.1",
- "walk-back": "^5.1.0"
+ "dmd": "^7.1.1",
+ "jsdoc-api": "^9.3.4",
+ "jsdoc-parse": "^6.2.4",
+ "walk-back": "^5.1.1"
}
},
"jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"dev": true
},
"json5": {
@@ -14768,64 +12947,10 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
- },
- "lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
- "dev": true
- },
- "lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
- "dev": true
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
- "dev": true
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
- },
- "lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
- "dev": true
- },
- "lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
- "dev": true
- },
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
- "lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
- "dev": true
- },
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
"dev": true
},
"lodash.debounce": {
@@ -14834,95 +12959,24 @@
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true
},
- "lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true,
- "requires": {
- "lodash._root": "^3.0.0"
- }
- },
"lodash.flattendeep": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
"dev": true
},
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
- "dev": true
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
- "dev": true
- },
"lodash.isfinite": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
"integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==",
"dev": true
},
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true,
- "requires": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
"lodash.omit": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
"integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==",
"dev": true
},
- "lodash.padend": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
- "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=",
- "dev": true
- },
- "lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
- "dev": true
- },
- "lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==",
- "dev": true,
- "requires": {
- "lodash._basecopy": "^3.0.0",
- "lodash._basetostring": "^3.0.0",
- "lodash._basevalues": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0",
- "lodash.keys": "^3.0.0",
- "lodash.restparam": "^3.0.0",
- "lodash.templatesettings": "^3.0.0"
- }
- },
- "lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0"
- }
- },
"log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -14931,57 +12985,6 @@
"requires": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
}
},
"lru-cache": {
@@ -15013,28 +13016,13 @@
},
"dependencies": {
"semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true
}
}
},
- "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
- },
- "make-error-cause": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
- "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
- "dev": true,
- "requires": {
- "make-error": "^1.2.0"
- }
- },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -15104,20 +13092,26 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
+ "merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true
+ },
"micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
"requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
}
},
"mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true
},
"mime-db": {
@@ -15151,9 +13145,9 @@
"dev": true
},
"minipass": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
- "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true
},
"mitt": {
@@ -15168,16 +13162,10 @@
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
- "mkdirp2": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz",
- "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==",
- "dev": true
- },
"mocha": {
- "version": "10.7.3",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz",
- "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==",
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.0.1.tgz",
+ "integrity": "sha512-+3GkODfsDG71KSCQhc4IekSW+ItCK/kiez1Z28ksWvYhKXV/syxMlerR/sC7whDp7IyreZ4YxceMLdTs5hQE8A==",
"dev": true,
"requires": {
"ansi-colors": "^4.1.3",
@@ -15187,7 +13175,7 @@
"diff": "^5.2.0",
"escape-string-regexp": "^4.0.0",
"find-up": "^5.0.0",
- "glob": "^8.1.0",
+ "glob": "^10.4.5",
"he": "^1.2.0",
"js-yaml": "^4.1.0",
"log-symbols": "^4.1.0",
@@ -15240,24 +13228,40 @@
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true
},
- "glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "foreground-child": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
"dev": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
}
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
+ "glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "dependencies": {
+ "minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
},
"js-yaml": {
"version": "4.1.0",
@@ -15283,6 +13287,12 @@
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
+ "signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true
+ },
"supports-color": {
"version": "8.1.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
@@ -15315,15 +13325,6 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
- "dev": true,
- "requires": {
- "duplexer2": "0.0.2"
- }
- },
"mute-stdout": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-2.0.0.tgz",
@@ -15367,9 +13368,9 @@
}
},
"node-releases": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"dev": true
},
"normalize-path": {
@@ -15388,9 +13389,9 @@
}
},
"nyc": {
- "version": "17.0.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.0.0.tgz",
- "integrity": "sha512-ISp44nqNCaPugLLGGfknzQwSwt10SSS5IMoPR7GLoMAyS18Iw5js8U7ga2VF9lYuMZ42gOHr3UddZw4WZltxKg==",
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/nyc/-/nyc-17.1.0.tgz",
+ "integrity": "sha512-U42vQ4czpKa0QdI1hu950XuNhYqgoM+ZF1HT+VuUHL9hPfDPVvNQyltmMqdE9bUHMVa+8yNbc3QKTj8zQhlVxQ==",
"dev": true,
"requires": {
"@istanbuljs/load-nyc-config": "^1.0.0",
@@ -15400,7 +13401,7 @@
"decamelize": "^1.2.0",
"find-cache-dir": "^3.2.0",
"find-up": "^4.1.0",
- "foreground-child": "^2.0.0",
+ "foreground-child": "^3.3.0",
"get-package-type": "^0.1.0",
"glob": "^7.1.6",
"istanbul-lib-coverage": "^3.0.0",
@@ -15422,15 +13423,6 @@
"yargs": "^15.0.2"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
"cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
@@ -15442,21 +13434,6 @@
"wrap-ansi": "^6.2.0"
}
},
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
@@ -15478,6 +13455,24 @@
"path-exists": "^4.0.0"
}
},
+ "foreground-child": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "dependencies": {
+ "signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true
+ }
+ }
+ },
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -15586,12 +13581,6 @@
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
- "object-get": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz",
- "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==",
- "dev": true
- },
"object-to-spawn-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz",
@@ -15691,6 +13680,12 @@
"release-zalgo": "^1.0.0"
}
},
+ "package-json-from-dist": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dev": true
+ },
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
@@ -15702,12 +13697,6 @@
"path-root": "^0.1.1"
}
},
- "parse-node-version": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
- "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
- "dev": true
- },
"parse-passwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
@@ -15760,33 +13749,33 @@
"dev": true
},
"path-scurry": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
- "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
"dev": true,
"requires": {
- "lru-cache": "^9.1.1 || ^10.0.0",
+ "lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"dependencies": {
"lru-cache": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
- "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"dev": true
}
}
},
"picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"dev": true
},
"picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"pify": {
@@ -15850,23 +13839,11 @@
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true
}
}
},
- "plugin-error": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
- "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
- "dev": true,
- "requires": {
- "ansi-colors": "^1.0.1",
- "arr-diff": "^4.0.0",
- "arr-union": "^3.1.0",
- "extend-shallow": "^3.0.2"
- }
- },
"portscanner": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz",
@@ -15902,9 +13879,9 @@
}
},
"prettier": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
- "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+ "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true
},
"process-nextick-args": {
@@ -15934,6 +13911,12 @@
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
"dev": true
},
+ "queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true
+ },
"queue-tick": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
@@ -15985,91 +13968,19 @@
"readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "rechoir": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
- "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
- "dev": true,
- "requires": {
- "resolve": "^1.20.0"
- }
- },
- "reduce-extract": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
- "integrity": "sha512-QF8vjWx3wnRSL5uFMyCjDeDc5EBMiryoT9tz94VvgjKfzecHAVnqmXAwQDcr7X4JmLc2cjkjFGCVzhMqDjgR9g==",
- "dev": true,
- "requires": {
- "test-value": "^1.0.1"
- },
- "dependencies": {
- "array-back": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
- "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
- "dev": true,
- "requires": {
- "typical": "^2.6.0"
- }
- },
- "test-value": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
- "integrity": "sha512-wrsbRo7qP+2Je8x8DsK8ovCGyxe3sYfQwOraIY/09A2gFXU9DYKiTF14W4ki/01AEh56kMzAmlj9CaHGDDUBJA==",
- "dev": true,
- "requires": {
- "array-back": "^1.0.2",
- "typical": "^2.4.2"
- }
- }
- }
- },
- "reduce-flatten": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.1.tgz",
- "integrity": "sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==",
- "dev": true
- },
- "reduce-unique": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz",
- "integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==",
- "dev": true
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
},
- "reduce-without": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
- "integrity": "sha512-zQv5y/cf85sxvdrKPlfcRzlDn/OqKFThNimYmsS3flmkioKvkUGn2Qg9cJVoQiEvdxFGLE0MQER/9fZ9sUqdxg==",
+ "rechoir": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"dev": true,
"requires": {
- "test-value": "^2.0.0"
- },
- "dependencies": {
- "array-back": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
- "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
- "dev": true,
- "requires": {
- "typical": "^2.6.0"
- }
- },
- "test-value": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
- "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==",
- "dev": true,
- "requires": {
- "array-back": "^1.0.3",
- "typical": "^2.6.0"
- }
- }
+ "resolve": "^1.20.0"
}
},
"regenerate": {
@@ -16079,9 +13990,9 @@
"dev": true
},
"regenerate-unicode-properties": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
- "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
+ "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
"dev": true,
"requires": {
"regenerate": "^1.4.2"
@@ -16103,32 +14014,38 @@
}
},
"regexpu-core": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
- "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
+ "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
"dev": true,
"requires": {
- "@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.1.0",
- "regjsparser": "^0.9.1",
+ "regenerate-unicode-properties": "^10.2.0",
+ "regjsgen": "^0.8.0",
+ "regjsparser": "^0.12.0",
"unicode-match-property-ecmascript": "^2.0.0",
"unicode-match-property-value-ecmascript": "^2.1.0"
}
},
+ "regjsgen": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
+ "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
+ "dev": true
+ },
"regjsparser": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
- "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
+ "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
"dev": true,
"requires": {
- "jsesc": "~0.5.0"
+ "jsesc": "~3.0.2"
},
"dependencies": {
"jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"dev": true
}
}
@@ -16265,12 +14182,13 @@
}
},
"rimraf": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz",
- "integrity": "sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz",
+ "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
"dev": true,
"requires": {
- "glob": "^10.3.7"
+ "glob": "^11.0.0",
+ "package-json-from-dist": "^1.0.0"
},
"dependencies": {
"brace-expansion": {
@@ -16283,9 +14201,9 @@
}
},
"foreground-child": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
- "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
"dev": true,
"requires": {
"cross-spawn": "^7.0.0",
@@ -16293,27 +14211,53 @@
}
},
"glob": {
- "version": "10.3.10",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
- "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz",
+ "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==",
"dev": true,
"requires": {
"foreground-child": "^3.1.0",
- "jackspeak": "^2.3.5",
- "minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
- "path-scurry": "^1.10.1"
+ "jackspeak": "^4.0.1",
+ "minimatch": "^10.0.0",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
+ }
+ },
+ "jackspeak": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz",
+ "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==",
+ "dev": true,
+ "requires": {
+ "@isaacs/cliui": "^8.0.2"
}
},
+ "lru-cache": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz",
+ "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
+ "dev": true
+ },
"minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
+ "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
},
+ "path-scurry": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
+ "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ }
+ },
"signal-exit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
@@ -16322,6 +14266,15 @@
}
}
},
+ "run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "requires": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
"rx": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
@@ -16356,24 +14309,24 @@
}
},
"send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.1.tgz",
+ "integrity": "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==",
"dev": true,
"requires": {
"debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
- "http-errors": "~1.6.2",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.0",
- "statuses": "~1.4.0"
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
},
"dependencies": {
"debug": {
@@ -16383,42 +14336,60 @@
"dev": true,
"requires": {
"ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
}
},
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true
+ },
"http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
"requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
}
},
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
"ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
},
"statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
}
}
@@ -16495,15 +14466,109 @@
}
},
"serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
"dev": true,
"requires": {
- "encodeurl": "~1.0.2",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
- "parseurl": "~1.3.2",
- "send": "0.16.2"
+ "parseurl": "~1.3.3",
+ "send": "0.19.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ }
+ }
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dev": true,
+ "requires": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "send": {
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "dependencies": {
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true
+ }
+ }
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true
+ }
}
},
"server-destroy": {
@@ -16555,38 +14620,39 @@
"dev": true
},
"socket.io": {
- "version": "4.7.5",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
- "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
+ "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==",
"dev": true,
"requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"cors": "~2.8.5",
"debug": "~4.3.2",
- "engine.io": "~6.5.2",
+ "engine.io": "~6.6.0",
"socket.io-adapter": "~2.5.2",
"socket.io-parser": "~4.2.4"
}
},
"socket.io-adapter": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
- "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz",
+ "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==",
"dev": true,
"requires": {
- "ws": "~8.11.0"
+ "debug": "~4.3.4",
+ "ws": "~8.17.1"
}
},
"socket.io-client": {
- "version": "4.7.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.3.tgz",
- "integrity": "sha512-nU+ywttCyBitXIl9Xe0RSEfek4LneYkJxCeNnKCuhwoH4jGXO1ipIUw/VA/+Vvv2G1MTym11fzFC0SxkrcfXDw==",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz",
+ "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==",
"dev": true,
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
- "engine.io-client": "~6.5.2",
+ "engine.io-client": "~6.6.1",
"socket.io-parser": "~4.2.4"
}
},
@@ -16601,35 +14667,15 @@
}
},
"sort-array": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-4.1.5.tgz",
- "integrity": "sha512-Ya4peoS1fgFN42RN1REk2FgdNOeLIEMKFGJvs7VTP3OklF8+kl2SkpVliZ4tk/PurWsrWRsdNdU+tgyOBkB9sA==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-5.0.0.tgz",
+ "integrity": "sha512-Sg9MzajSGprcSrMIxsXyNT0e0JB47RJRfJspC+7co4Z5BdNsNl8FmWI+lXEpyKq+vkMG6pHgAhqyCO+bkDTfFQ==",
"dev": true,
"requires": {
- "array-back": "^5.0.0",
- "typical": "^6.0.1"
- },
- "dependencies": {
- "array-back": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz",
- "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==",
- "dev": true
- },
- "typical": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/typical/-/typical-6.0.1.tgz",
- "integrity": "sha512-+g3NEp7fJLe9DPa1TArHm9QAA7YciZmWnfAqEaFrBihQ7epOv9i99rjtgb6Iz0wh3WuQDjsCTDfgRoGnmHN81A==",
- "dev": true
- }
+ "array-back": "^6.2.2",
+ "typical": "^7.1.1"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
"source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -16648,12 +14694,6 @@
}
}
},
- "sparkles": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
- "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
- "dev": true
- },
"spawn-wrap": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
@@ -16709,26 +14749,6 @@
"streamx": "^2.13.2"
}
},
- "stream-connect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
- "integrity": "sha512-68Kl+79cE0RGKemKkhxTSg8+6AGrqBt+cbZAXevg2iJ6Y3zX4JhA/sZeGzLpxW9cXhmqAcE7KnJCisUmIUfnFQ==",
- "dev": true,
- "requires": {
- "array-back": "^1.0.2"
- },
- "dependencies": {
- "array-back": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
- "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==",
- "dev": true,
- "requires": {
- "typical": "^2.6.0"
- }
- }
- }
- },
"stream-events": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
@@ -16760,12 +14780,6 @@
"limiter": "^1.0.5"
}
},
- "stream-via": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
- "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
- "dev": true
- },
"streamx": {
"version": "2.18.0",
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz",
@@ -16852,12 +14866,12 @@
"dev": true
},
"supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
}
},
"sver": {
@@ -16870,27 +14884,13 @@
}
},
"table-layout": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz",
- "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-4.1.1.tgz",
+ "integrity": "sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==",
"dev": true,
"requires": {
- "array-back": "^2.0.0",
- "deep-extend": "~0.6.0",
- "lodash.padend": "^4.6.1",
- "typical": "^2.6.1",
- "wordwrapjs": "^3.0.0"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "^2.6.1"
- }
- }
+ "array-back": "^6.2.2",
+ "wordwrapjs": "^5.1.0"
}
},
"teeny-request": {
@@ -16923,12 +14923,6 @@
"streamx": "^2.12.5"
}
},
- "temp-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
- "integrity": "sha512-TvmyH7kC6ZVTYkqCODjJIbgvu0FKiwQpZ4D1aknE7xpcDf/qEOB8KZEK5ef2pfbVoiBhNWs3yx4y+ESMtNYmlg==",
- "dev": true
- },
"ternary-stream": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz",
@@ -16983,27 +14977,6 @@
"minimatch": "^3.0.4"
}
},
- "test-value": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
- "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
- "dev": true,
- "requires": {
- "array-back": "^2.0.0",
- "typical": "^2.6.1"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "^2.6.1"
- }
- }
- }
- },
"text-decoder": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.0.tgz",
@@ -17023,12 +14996,6 @@
"xtend": "~4.0.1"
}
},
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
- "dev": true
- },
"timers-ext": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
@@ -17039,12 +15006,6 @@
"next-tick": "1"
}
},
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- },
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -17097,9 +15058,9 @@
}
},
"typical": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
- "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=",
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-7.3.0.tgz",
+ "integrity": "sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==",
"dev": true
},
"ua-parser-js": {
@@ -17118,7 +15079,8 @@
"version": "3.14.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz",
"integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"unc-path-regex": {
"version": "0.1.2",
@@ -17151,15 +15113,15 @@
"dev": true
},
"undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "version": "6.20.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
+ "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"dev": true
},
"unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
- "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+ "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
"dev": true
},
"unicode-match-property-ecmascript": {
@@ -17173,9 +15135,9 @@
}
},
"unicode-match-property-value-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
- "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
+ "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
"dev": true
},
"unicode-property-aliases-ecmascript": {
@@ -17197,13 +15159,13 @@
"dev": true
},
"update-browserslist-db": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz",
+ "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==",
"dev": true,
"requires": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
}
},
"urlgrey": {
@@ -17389,19 +15351,10 @@
}
}
},
- "vinyl-sourcemaps-apply": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
- "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
- "dev": true,
- "requires": {
- "source-map": "^0.5.1"
- }
- },
"walk-back": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.0.tgz",
- "integrity": "sha512-Uhxps5yZcVNbLEAnb+xaEEMdgTXl9qAQDzKYejG2AZ7qPwRQ81lozY9ECDbjLPNWm7YsO1IK5rsP1KoQzXAcGA==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.1.tgz",
+ "integrity": "sha512-e/FRLDVdZQWFrAzU6Hdvpm7D7m2ina833gIKLptQykRK49mmCYHLHq7UqjPDbxbKLZkTkW1rFqbengdE3sLfdw==",
"dev": true
},
"webidl-conversions": {
@@ -17438,26 +15391,14 @@
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true
},
"wordwrapjs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
- "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
- "dev": true,
- "requires": {
- "reduce-flatten": "^1.0.1",
- "typical": "^2.6.1"
- },
- "dependencies": {
- "reduce-flatten": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
- "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=",
- "dev": true
- }
- }
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz",
+ "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==",
+ "dev": true
},
"workerpool": {
"version": "6.5.1",
@@ -17474,32 +15415,6 @@
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- }
}
},
"wrap-ansi-cjs": {
@@ -17511,32 +15426,6 @@
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- }
}
},
"wrappy": {
@@ -17558,9 +15447,9 @@
}
},
"ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true,
"requires": {}
},
@@ -17571,9 +15460,9 @@
"dev": true
},
"xmlhttprequest-ssl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
- "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
+ "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
"dev": true
},
"xtend": {
diff --git a/package.json b/package.json
index dc82ff0..6ccfd98 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"url": "https://github.com/fabiocaccamo/utils.js"
},
"main": "dist/utils.js",
+ "type": "module",
"scripts": {
"build": "npm run format && gulp build --production",
"docs": "gulp build && ./node_modules/.bin/jsdoc2md ./dist/utils.js > ./docs/API.md && gulp build --production",
@@ -46,25 +47,22 @@
"@babel/preset-env": "^7.26.0",
"@babel/register": "^7.25.9",
"browser-sync": "^3.0.3",
- "codecov": "^3.7.2",
+ "codecov": "^3.8.3",
"gulp": "^5.0.0",
- "gulp-babel": "^8.0.0",
"gulp-cli": "^3.0.0",
- "gulp-concat": "^2.5.2",
- "gulp-extname": "^0.2.0",
+ "gulp-concat": "^2.6.1",
+ "gulp-extname": "^0.2.2",
"gulp-if": "^3.0.0",
- "gulp-js-import": "^1.0.6",
- "gulp-load-plugins": "^2.0.3",
+ "gulp-load-plugins": "^2.0.8",
"gulp-minify": "^3.1.0",
"gulp-sourcemaps": "^3.0.0",
- "gulp-uglify": "^3.0.2",
"jsdoc": "^4.0.4",
"jsdoc-to-markdown": "^9.1.1",
"mocha": "^11.0.1",
"nyc": "^17.1.0",
"prettier": "^3.4.2",
"rimraf": "^6.0.1",
- "yargs": "^17.7.1"
+ "yargs": "^17.7.2"
},
"babel": {
"presets": [
diff --git a/src/utils.js b/src/utils.js
index 5d62246..a8a0023 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -1,95 +1,59 @@
-(function (root, factory) {
- if (typeof define === 'function' && define.amd) {
- // AMD
- define(factory);
- } else if (typeof module === 'object') {
- // CommonJS
- module.exports = factory();
- } else {
- // Script tag import i.e., IIFE
- root.utils = factory();
- root.u = factory();
- }
-})(this, function () {
- 'use strict';
+import ArrayUtil from './utils/array.js';
+import Base64Util from './utils/base64.js';
+import ColorUtil from './utils/color.js';
+import DateUtil from './utils/date.js';
+import EaseUtil from './utils/ease.js';
+import FuncUtil from './utils/func.js';
+import GeomUtil from './utils/geom.js';
+import HexUtil from './utils/hex.js';
+import InterpolationUtil from './utils/interpolation.js';
+import JSONUtil from './utils/json.js';
+import MathUtil from './utils/math.js';
+import NumberUtil from './utils/number.js';
+import ObjectUtil from './utils/object.js';
+import RandomUtil from './utils/random.js';
+import StringUtil from './utils/string.js';
+import TestUtil from './utils/test.js';
+import TrigoUtil from './utils/trigo.js';
+import TypeUtil from './utils/type.js';
+import URLUtil from './utils/url.js';
+import UTF8Util from './utils/utf8.js';
+import XMLUtil from './utils/xml.js';
- var ArrayUtil,
- Base64Util,
- ColorCmykUtil,
- ColorHexUtil,
- ColorRgbUtil,
- ColorUtil,
- DateUtil,
- EaseUtil,
- FunctionUtil,
- PointUtil,
- GeomUtil,
- HexUtil,
- InterpolationUtil,
- JSONUtil,
- MathUtil,
- NumberUtil,
- ObjectUtil,
- RandomUtil,
- StringUtil,
- TestUtil,
- TrigoUtil,
- TypeUtil,
- URLUtil,
- UTF8Util,
- XMLUtil;
- @import './utils/ArrayUtil.js'
- @import './utils/Base64Util.js'
- @import './utils/ColorCmykUtil.js'
- @import './utils/ColorHexUtil.js'
- @import './utils/ColorRgbUtil.js'
- @import './utils/ColorUtil.js'
- @import './utils/DateUtil.js'
- @import './utils/EaseUtil.js'
- @import './utils/FunctionUtil.js'
- @import './utils/PointUtil.js'
- @import './utils/GeomUtil.js'
- @import './utils/HexUtil.js'
- @import './utils/InterpolationUtil.js'
- @import './utils/JSONUtil.js'
- @import './utils/MathUtil.js'
- @import './utils/NumberUtil.js'
- @import './utils/ObjectUtil.js'
- @import './utils/RandomUtil.js'
- @import './utils/StringUtil.js'
- @import './utils/TestUtil.js'
- @import './utils/TrigoUtil.js'
- @import './utils/TypeUtil.js'
- @import './utils/URLUtil.js'
- @import './utils/UTF8Util.js'
- @import './utils/XMLUtil.js'
+export const utils = {
+ array: ArrayUtil,
+ base64: Base64Util,
+ color: ColorUtil,
+ date: DateUtil,
+ ease: EaseUtil,
+ func: FuncUtil,
+ geom: GeomUtil,
+ hex: HexUtil,
+ json: JSONUtil,
+ math: MathUtil,
+ number: NumberUtil,
+ object: ObjectUtil,
+ random: RandomUtil,
+ string: StringUtil,
+ test: TestUtil,
+ trigo: TrigoUtil,
+ type: TypeUtil,
+ xml: XMLUtil,
+ url: URLUtil,
+ utf8: UTF8Util,
+ version: '0.24.1',
+};
- var utils = {
- array: ArrayUtil,
- base64: Base64Util,
- color: ColorUtil,
- date: DateUtil,
- ease: EaseUtil,
- func: FunctionUtil,
- geom: GeomUtil,
- // point: PointUtil,
- hex: HexUtil,
- json: JSONUtil,
- math: MathUtil,
- // interpolation: InterpolationUtil,
- number: NumberUtil,
- object: ObjectUtil,
- random: RandomUtil,
- string: StringUtil,
- test: TestUtil,
- trigo: TrigoUtil,
- type: TypeUtil,
- xml: XMLUtil,
- url: URLUtil,
- utf8: UTF8Util,
- version: '0.24.1',
- };
+export default utils;
- return utils;
-});
+// backward compatibility - add to global scope for legacy usage
+if (typeof window !== 'undefined') {
+ // for browsers
+ window.utils = utils;
+ window.u = utils; // alias for legacy code
+} else if (typeof global !== 'undefined') {
+ // for Node.js
+ global.utils = utils;
+ global.u = utils; // alias for legacy code
+}
diff --git a/src/utils/ArrayUtil.js b/src/utils/ArrayUtil.js
deleted file mode 100644
index 3976e67..0000000
--- a/src/utils/ArrayUtil.js
+++ /dev/null
@@ -1,339 +0,0 @@
-/** global: ArrayUtil */
-/** global: DateUtil */
-/** global: FunctionUtil */
-/** global: MathUtil */
-/** global: ObjectUtil */
-/** global: RandomUtil */
-/** global: StringUtil */
-/** global: TypeUtil */
-
-ArrayUtil = {
- all: function (list) {
- return list.every(function (item) {
- switch (TypeUtil.of(item)) {
- case TypeUtil.ARRAY:
- return item.length > 0;
- case TypeUtil.OBJECT:
- return ObjectUtil.length(item) > 0;
- default:
- return Boolean(item);
- }
- });
- },
-
- any: function (list) {
- return list.some(function (item) {
- switch (TypeUtil.of(item)) {
- case TypeUtil.ARRAY:
- return item.length > 0;
- case TypeUtil.OBJECT:
- return ObjectUtil.length(item) > 0;
- default:
- return Boolean(item);
- }
- });
- },
-
- clean: function (list, hard) {
- var items = list.slice();
- items = items.filter(function (item) {
- return !TypeUtil.isNone(item);
- });
- if (hard === true) {
- items = items
- .map(function (item) {
- var itemClean;
- switch (TypeUtil.of(item)) {
- case TypeUtil.ARRAY:
- itemClean = ArrayUtil.clean(item, hard);
- return itemClean.length > 0 ? itemClean : null;
- case TypeUtil.OBJECT:
- itemClean = ObjectUtil.clean(item, hard);
- return ObjectUtil.length(itemClean) > 0 ? itemClean : null;
- case TypeUtil.STRING:
- itemClean = StringUtil.trim(item);
- return itemClean !== '' ? item : null;
- default:
- return item;
- }
- })
- .filter(function (item) {
- return !TypeUtil.isNone(item);
- });
- }
- return items;
- },
-
- clone: function (list) {
- var cln = list.slice();
- var val;
- for (var i = 0, j = cln.length; i < j; i++) {
- val = cln[i];
- switch (TypeUtil.of(val)) {
- case TypeUtil.ARRAY:
- cln[i] = ArrayUtil.clone(val);
- break;
- case TypeUtil.DATE:
- cln[i] = DateUtil.clone(val);
- break;
- case TypeUtil.OBJECT:
- cln[i] = ObjectUtil.clone(val);
- break;
- default:
- break;
- }
- }
- return cln;
- },
-
- contains: function (list, value) {
- var values = [value].concat(FunctionUtil.args(arguments, 2));
- var val, valFound;
-
- for (var i = 0, j = values.length; i < j; i++) {
- val = values[i];
- valFound = false;
- for (var k = 0, m = list.length; k < m; k++) {
- if (ObjectUtil.equals(list[k], val)) {
- valFound = true;
- }
- }
- if (!valFound) {
- return false;
- }
- }
-
- return true;
- },
-
- equals: function (listA, listB) {
- return ObjectUtil.equals(listA, listB);
- },
-
- flatten: function (list) {
- var items = [];
- for (var i = 0, j = list.length; i < j; i++) {
- if (TypeUtil.isArray(list[i])) {
- items.push.apply(items, ArrayUtil.flatten(list[i]));
- } else {
- items.push(list[i]);
- }
- }
- return items;
- },
-
- index: function (list, keys, flat) {
- var dict = {},
- item,
- key,
- val;
-
- if (TypeUtil.isString(keys)) {
- keys = [keys];
- }
-
- for (var i = 0, j = list.length; i < j; i++) {
- item = list[i];
-
- for (var m = 0, n = keys.length; m < n; m++) {
- key = String(keys[m]);
- val = String(item[key]);
-
- if (flat === true) {
- dict[val] = item;
- } else {
- if (TypeUtil.isUndefined(dict[val])) {
- dict[val] = [];
- }
- dict[val].push(item);
- }
- }
- }
-
- return dict;
- },
-
- insert: function (list, index, item) {
- list.splice(index, 0, item);
- return list;
- },
-
- max: function (list, callback) {
- return ArrayUtil.reduce(
- list,
- function (a, b) {
- if (TypeUtil.isFunction(callback)) {
- return Math.max(a, callback(b));
- }
- return Math.max(a, b);
- },
- Number.MIN_VALUE
- );
- },
-
- min: function (list, callback) {
- return ArrayUtil.reduce(
- list,
- function (a, b) {
- if (TypeUtil.isFunction(callback)) {
- return Math.min(a, callback(b));
- }
- return Math.min(a, b);
- },
- Number.MAX_VALUE
- );
- },
-
- paginate: function (list, itemsPerPage) {
- var itemsTotal = list.length;
- var pagesTotal = itemsPerPage > 0 ? Math.ceil(itemsTotal / itemsPerPage) : 0;
- var pages = [];
- var i, j;
- for (i = 0, j = 0; i < pagesTotal; i++) {
- j = i * itemsPerPage;
- pages[i] = list.slice(j, j + Math.min(itemsPerPage, itemsTotal));
- }
- return pages;
- },
-
- reduce: function (list, reducer, initialValue) {
- var value = TypeUtil.isUndefined(initialValue) ? 0 : initialValue;
- for (var i = 0, j = list.length; i < j; i++) {
- value = reducer(value, list[i], i, list);
- }
- return value;
- },
-
- replace: function (list, searchValue, replacementValue) {
- for (var i = 0, j = list.length; i < j; i++) {
- if (ObjectUtil.equals(list[i], searchValue)) {
- list[i] = replacementValue;
- }
- }
- return list;
- },
-
- remove: function (list, value) {
- var values = [value].concat(FunctionUtil.args(arguments, 2));
- for (var k = 0, m = values.length; k < m; k++) {
- for (var i = 0, j = list.length; i < j; i++) {
- if (ObjectUtil.equals(list[i], values[k])) {
- list.splice(i, 1);
- i--;
- j--;
- }
- }
- }
- return list;
- },
-
- rotate: function (list, count) {
- var cursor = MathUtil.cycle(count, list.length);
- return list.slice(cursor).concat(list.slice(0, cursor));
- },
-
- shuffle: function (list) {
- var items = list.slice();
- var randomIndex;
- var randomItems;
- var sortedItems = list.length;
- while (sortedItems) {
- randomIndex = RandomUtil.integer(0, --sortedItems);
- randomItems = items.splice(randomIndex, 1);
- items.push.apply(items, randomItems);
- }
- return items;
- },
-
- sort: function (list, key) {
- var isArray = TypeUtil.isArray;
- var isObject = TypeUtil.isObject;
- var isNumber = TypeUtil.isNumber;
- var isString = TypeUtil.isString;
-
- var compare = function (a, b) {
- var aVal;
- var bVal;
-
- if (isObject(a) && isObject(b) && isString(key)) {
- // comparing objects
- aVal = key in a ? a[key] : a;
- bVal = key in b ? b[key] : b;
- } else if (isArray(a) && isArray(b) && isNumber(key)) {
- // comparing arrays
- var index = key;
- aVal = index >= 0 && index < a.length ? a[index] : a;
- bVal = index >= 0 && index < b.length ? b[index] : b;
- } else {
- aVal = a;
- bVal = b;
- }
-
- var aValIsNum = isNumber(aVal);
- var bValIsNum = isNumber(bVal);
-
- if (aValIsNum && bValIsNum) {
- return aVal <= bVal ? -1 : 1;
- } else if (aValIsNum) {
- return -1;
- } else if (bValIsNum) {
- return 1;
- } else {
- var ab = [aVal, bVal];
- ab.sort();
- return ab.indexOf(aVal) <= ab.indexOf(bVal) ? -1 : 1;
- }
- };
-
- return list.sort(compare);
- },
-
- sum: function (list, callback) {
- return ArrayUtil.reduce(
- list,
- function (a, b) {
- if (TypeUtil.isFunction(callback)) {
- return a + callback(b);
- }
- return a + b;
- },
- 0
- );
- },
-
- unique: function (list) {
- var item;
- var items = [];
- var itemsNotEquals = function (itemUnique) {
- return !ObjectUtil.equals(item, itemUnique);
- };
- for (var i = 0, j = list.length; i < j; i++) {
- item = list[i];
- if (items.every(itemsNotEquals)) {
- items.push(item);
- }
- }
- return items;
- },
-
- unzip: function (list) {
- return ArrayUtil.zip.apply(null, list);
- },
-
- zip: function (list1, list2) {
- var lists = [list1, list2].concat(FunctionUtil.args(arguments, 2));
- var listLength = 0;
- lists.forEach(function (item) {
- listLength =
- listLength === 0 ? item.length : Math.min(listLength, item.length);
- });
- var list = [];
- for (var i = 0; i < listLength; i++) {
- list[i] = [];
- for (var j = 0, k = lists.length; j < k; j++) {
- list[i][j] = lists[j][i];
- }
- }
- return list;
- },
-};
diff --git a/src/utils/Base64Util.js b/src/utils/Base64Util.js
deleted file mode 100644
index 04741d4..0000000
--- a/src/utils/Base64Util.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/** global: Base64Util */
-/** global: UTF8Util */
-
-Base64Util = {
- CHARS: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
- // prettier-ignore
- CHARS_LIST: [
- 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
- 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
- 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '='
- ],
- // prettier-ignore
- CHARS_TABLE: {
- 'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8, 'J': 9, 'K': 10, 'L': 11, 'M': 12,
- 'N': 13, 'O': 14, 'P': 15, 'Q': 16, 'R': 17, 'S': 18, 'T': 19, 'U': 20, 'V': 21, 'W': 22, 'X': 23, 'Y': 24, 'Z': 25,
- 'a': 26, 'b': 27, 'c': 28, 'd': 29, 'e': 30, 'f': 31, 'g': 32, 'h': 33, 'i': 34, 'j': 35, 'k': 36, 'l': 37, 'm': 38,
- 'n': 39, 'o': 40, 'p': 41, 'q': 42, 'r': 43, 's': 44, 't': 45, 'u': 46, 'v': 47, 'w': 48, 'x': 49, 'y': 50, 'z': 51,
- '0': 52, '1': 53, '2': 54, '3': 55, '4': 56, '5': 57, '6': 58, '7': 59, '8': 60, '9': 61, '+': 62, '/': 63, '=': 64
- },
-
- decode: function (str) {
- var input = str.replace(/[^A-Za-z0-9\+\/\=]/g, '');
- var output = '';
-
- try {
- output = window.atob(input);
- } catch (e) {
- var chars = Base64Util.CHARS_TABLE;
- var chr1, chr2, chr3;
- var enc1, enc2, enc3, enc4;
-
- var i = 0;
- var j = input.length;
-
- while (i < j) {
- enc1 = chars[input.charAt(i++)];
- enc2 = chars[input.charAt(i++)];
- enc3 = chars[input.charAt(i++)];
- enc4 = chars[input.charAt(i++)];
-
- chr1 = (enc1 << 2) | (enc2 >> 4);
- chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
- chr3 = ((enc3 & 3) << 6) | enc4;
-
- output += String.fromCharCode(chr1);
-
- if (enc3 !== 64) {
- output += String.fromCharCode(chr2);
- }
- if (enc4 !== 64) {
- output += String.fromCharCode(chr3);
- }
- }
- }
-
- output = UTF8Util.decode(output);
- return output;
- },
-
- encode: function (str) {
- var input = UTF8Util.encode(str);
- var output = '';
-
- try {
- output = window.btoa(input);
- } catch (e) {
- var chars = Base64Util.CHARS_LIST;
- var chr1, chr2, chr3;
- var enc1, enc2, enc3, enc4;
-
- var i = 0;
- var j = input.length;
-
- while (i < j) {
- chr1 = input.charCodeAt(i++);
- chr2 = input.charCodeAt(i++);
- chr3 = input.charCodeAt(i++);
-
- enc1 = chr1 >> 2;
- enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
- enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
- enc4 = chr3 & 63;
-
- if (isNaN(chr2)) {
- enc3 = enc4 = 64;
- } else if (isNaN(chr3)) {
- enc4 = 64;
- }
-
- // output += (chars.charAt(enc1) + chars.charAt(enc2) + chars.charAt(enc3) + chars.charAt(enc4));
- output += chars[enc1] + chars[enc2] + chars[enc3] + chars[enc4];
- }
- }
-
- return output;
- },
-};
diff --git a/src/utils/ColorCmykUtil.js b/src/utils/ColorCmykUtil.js
deleted file mode 100644
index b05cee3..0000000
--- a/src/utils/ColorCmykUtil.js
+++ /dev/null
@@ -1,131 +0,0 @@
-/** global: ColorCmykUtil */
-/** global: ColorRgbUtil */
-
-ColorCmykUtil = {
- // average: function(colors)
- // {
- // return ColorRgbUtil.toCmyk(
- // ColorRgbUtil.average(
- // colors.map(function(color){
- // return ColorCmykUtil.toRgb(color);
- // })
- // ));
- // },
-
- // distance: function(colorA, colorB)
- // {
- // return ColorRgbUtil.distance(
- // ColorCmykUtil.toRgb(colorA),
- // ColorCmykUtil.toRgb(colorB));
- // },
-
- // gradient: function(colors, steps)
- // {
- // return ColorRgbUtil.gradient(colors.map(function(color){
- // return ColorCmykUtil.toRgb(color);
- // }), steps).map(function(color){
- // return ColorRgbUtil.toCmyk(color);
- // });
- // },
-
- // gradientMatrix: function(colors, stepsX, stepsY)
- // {
- // return ColorRgbUtil.gradientMatrix(
- // ObjectUtil.map(colors, function(color){
- // return ColorCmykUtil.toRgb(color);
- // }), stepsX, stepsY).map(function(colors){
- // return colors.map(function(color){
- // return ColorRgbUtil.toCmyk(color);
- // });
- // });
- // },
-
- // interpolateBilinear: function(a, b, c, d, u, v)
- // {
- // return ColorRgbUtil.toCmyk(
- // ColorRgbUtil.interpolateBilinear(
- // ColorCmykUtil.toRgb(a),
- // ColorCmykUtil.toRgb(b),
- // ColorCmykUtil.toRgb(c),
- // ColorCmykUtil.toRgb(d), u, v));
- // },
-
- // interpolateLinear: function(colorFrom, colorTo, t)
- // {
- // return ColorRgbUtil.toCmyk(
- // ColorRgbUtil.interpolateLinear(
- // ColorCmykUtil.toRgb(colorFrom),
- // ColorCmykUtil.toRgb(colorTo), t));
- // },
-
- // interpolateMultilinear: function(colors, t)
- // {
- // return ColorRgbUtil.toCmyk(
- // ColorRgbUtil.interpolateMultilinear(
- // colors.map(function(color){
- // return ColorCmykUtil.toRgb(color);
- // }), t));
- // },
-
- // nearest: function(colorSearch, colors)
- // {
- // return ColorRgbUtil.toCmyk(
- // ColorRgbUtil.nearest(
- // ColorCmykUtil.toRgb(colorSearch),
- // colors.map(function(color){
- // return ColorCmykUtil.toRgb(color);
- // })
- // ));
- // },
-
- // toGrayscale: function(color)
- // {
- // return ColorRgbUtil.toGrayscale(
- // ColorCmykUtil.toRgb(color));
- // },
-
- toHex: function (color, prefix) {
- return ColorRgbUtil.toHex(ColorCmykUtil.toRgb(color), prefix);
- },
-
- // toHsl: function(color)
- // {
- // return ColorRgbUtil.toHsl(
- // ColorCmykUtil.toRgb(color));
- // },
-
- // toHsv: function(color)
- // {
- // return ColorRgbUtil.toHsv(
- // ColorCmykUtil.toRgb(color));
- // },
-
- toRgb: function (color) {
- var c = color.c / 100;
- var m = color.m / 100;
- var y = color.y / 100;
- var k = color.k / 100;
- var ik = 1.0 - k;
-
- var r = 1.0 - Math.min(1.0, c * ik + k);
- var g = 1.0 - Math.min(1.0, m * ik + k);
- var b = 1.0 - Math.min(1.0, y * ik + k);
-
- var round = Math.round;
- r = round(r * 255);
- g = round(g * 255);
- b = round(b * 255);
-
- return { r: r, g: g, b: b, a: 1.0 };
- },
-
- toString: function (color) {
- // prettier-ignore
- return '{ c:' + String(color.c) + ', m:' + String(color.m) + ', y:' + String(color.y) + ', k:' + String(color.k) + ' }';
- },
-
- toStringCSS: function (color) {
- // prettier-ignore
- return 'cmyk(' + String(color.c) + '%, ' + String(color.m) + '%, ' + String(color.y) + '%, ' + String(color.k) + '%)';
- },
-};
diff --git a/src/utils/ColorHexUtil.js b/src/utils/ColorHexUtil.js
deleted file mode 100644
index 1d97258..0000000
--- a/src/utils/ColorHexUtil.js
+++ /dev/null
@@ -1,185 +0,0 @@
-/** global: ColorHexUtil */
-/** global: ColorRgbUtil */
-/** global: HexUtil */
-/** global: InterpolationUtil */
-/** global: MathUtil */
-/** global: ObjectUtil */
-/** global: TypeUtil */
-
-ColorHexUtil = {
- average: function (colors) {
- return ColorRgbUtil.toHex(
- ColorRgbUtil.average(
- colors.map(function (color) {
- return ColorHexUtil.toRgb(color);
- })
- )
- );
- },
-
- distance: function (colorA, colorB) {
- return ColorRgbUtil.distance(
- ColorHexUtil.toRgb(colorA),
- ColorHexUtil.toRgb(colorB)
- );
- },
-
- gradient: function (colors, steps) {
- return ColorRgbUtil.gradient(
- colors.map(function (color) {
- return ColorHexUtil.toRgb(color);
- }),
- steps
- ).map(function (color) {
- return ColorRgbUtil.toHex(color);
- });
- },
-
- gradientMatrix: function (colors, stepsX, stepsY) {
- return ColorRgbUtil.gradientMatrix(
- ObjectUtil.map(colors, function (color) {
- return ColorHexUtil.toRgb(color);
- }),
- stepsX,
- stepsY
- ).map(function (colors) {
- return colors.map(function (color) {
- return ColorRgbUtil.toHex(color);
- });
- });
- },
-
- interpolateBilinear: function (a, b, c, d, u, v) {
- return ColorRgbUtil.toHex(
- ColorRgbUtil.interpolateBilinear(
- ColorHexUtil.toRgb(a),
- ColorHexUtil.toRgb(b),
- ColorHexUtil.toRgb(c),
- ColorHexUtil.toRgb(d),
- u,
- v
- )
- );
- },
-
- interpolateLinear: function (colorFrom, colorTo, t) {
- return ColorRgbUtil.toHex(
- ColorRgbUtil.interpolateLinear(
- ColorHexUtil.toRgb(colorFrom),
- ColorHexUtil.toRgb(colorTo),
- t
- )
- );
- },
-
- interpolateMultilinear: function (colors, t) {
- return ColorRgbUtil.toHex(
- ColorRgbUtil.interpolateMultilinear(
- colors.map(function (color) {
- return ColorHexUtil.toRgb(color);
- }),
- t
- )
- );
- },
-
- nearest: function (colorSearch, colors) {
- return ColorRgbUtil.toHex(
- ColorRgbUtil.nearest(
- ColorHexUtil.toRgb(colorSearch),
- colors.map(function (color) {
- return ColorHexUtil.toRgb(color);
- })
- )
- );
- },
-
- toCmyk: function (color) {
- return ColorRgbUtil.toCmyk(ColorHexUtil.toRgb(color));
- },
-
- // toGrayscale: function(color)
- // {
- // return ColorRgbUtil.toGrayscale(
- // ColorHexUtil.toRgb(color));
- // },
-
- // toHsl: function(color)
- // {
- // return ColorRgbUtil.toHsl(
- // ColorHexUtil.toRgb(color));
- // },
-
- // toHsv: function(color)
- // {
- // return ColorRgbUtil.toHsv(
- // ColorHexUtil.toRgb(color));
- // },
-
- toRgb: function (color) {
- var fromHex = HexUtil.decodeInt;
- var toHex = HexUtil.encodeInt;
-
- var hex;
- if (TypeUtil.isNumber(color)) {
- hex = toHex(color);
- } else if (TypeUtil.isString(color)) {
- hex = color.replace(/\#|0x/, '');
- } else {
- return null;
- }
- hex = hex.toUpperCase();
-
- var rgb;
- var comps;
-
- switch (hex.length) {
- case 3:
- // eg. #000
- comps = /^([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})$/i.exec(hex);
- rgb = {
- a: 1.0,
- r: fromHex(comps[1] + comps[1]),
- g: fromHex(comps[2] + comps[2]),
- b: fromHex(comps[3] + comps[3]),
- };
- break;
-
- case 6:
- // eg. #000000
- comps = /^([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
- rgb = {
- a: 1.0,
- r: fromHex(comps[1]),
- g: fromHex(comps[2]),
- b: fromHex(comps[3]),
- };
- break;
-
- case 8:
- // eg. #FF000000
- comps = /^([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
- rgb = {
- a: MathUtil.roundDecimals(fromHex(comps[1]) / 255, 2),
- r: fromHex(comps[2]),
- g: fromHex(comps[3]),
- b: fromHex(comps[4]),
- };
- break;
-
- default:
- return null;
- }
-
- // console.log(col, hex, rgb, comps);
- return rgb;
- },
-
- toString: function (color, prefix) {
- return ColorRgbUtil.toHex(ColorHexUtil.toRgb(color), prefix);
- },
-
- toStringCSS: function (color) {
- return ColorHexUtil.toString(color, '#');
- },
-};
diff --git a/src/utils/ColorRgbUtil.js b/src/utils/ColorRgbUtil.js
deleted file mode 100644
index b95d860..0000000
--- a/src/utils/ColorRgbUtil.js
+++ /dev/null
@@ -1,296 +0,0 @@
-/** global: ColorRgbUtil */
-/** global: HexUtil */
-/** global: InterpolationUtil */
-/** global: MathUtil */
-
-ColorRgbUtil = {
- average: function (colors) {
- var c;
- var r = 0;
- var g = 0;
- var b = 0;
- var a = 0;
- var i = 0,
- j = colors.length;
- for (i, j; i < j; i++) {
- c = colors[i];
- r += c.r;
- g += c.g;
- b += c.b;
- a += isNaN(c.a) ? 1.0 : c.a;
- }
- var round = Math.round;
- r = round(r / j);
- g = round(g / j);
- b = round(b / j);
- a = round(a / j);
- return { r: r, g: g, b: b, a: a };
- },
-
- distance: function (colorA, colorB) {
- var rDiff = colorA.r - colorB.r;
- var gDiff = colorA.g - colorB.g;
- var bDiff = colorA.b - colorB.b;
- var aDiff = Math.round(
- ((isNaN(colorA.a) ? 1.0 : colorA.a) - (isNaN(colorB.a) ? 1.0 : colorB.a)) *
- 255
- );
- return Math.sqrt(rDiff * rDiff + gDiff * gDiff + bDiff * bDiff + aDiff * aDiff);
- },
-
- gradient: function (colors, steps) {
- var colorsOutput = [];
- var color;
- var mlerp = ColorRgbUtil.interpolateMultilinear;
- var t = 0.0;
- var tInc = 1.0 / Math.max(1, steps - 1);
- var tConstrain = MathUtil.constrain;
- for (var i = 0; i < steps; i++) {
- t = i * tInc;
- t = tConstrain(t, 0.0, 1.0);
- color = mlerp(colors, t);
- colorsOutput.push(color);
- }
- return colorsOutput;
- },
-
- gradientMatrix: function (colors, stepsX, stepsY) {
- // colors: { top, topRight, right, bottomLeft, bottom, bottomRight, left, center };
- // only 4 corners are required
- var colorTopLeft = colors.topLeft;
- var colorTop = colors.top;
- var colorTopRight = colors.topRight;
- var colorRight = colors.right;
- var colorBottomLeft = colors.bottomLeft;
- var colorBottom = colors.bottom;
- var colorBottomRight = colors.bottomRight;
- var colorLeft = colors.left;
- var colorCenter = colors.center;
- // var colorAvg = ColorRgbUtil.average;
- var colorLerp = ColorRgbUtil.interpolateLinear;
- var colorBerp = ColorRgbUtil.interpolateBilinear;
-
- if (!colorTopLeft || !colorTopRight || !colorBottomLeft || !colorBottomRight) {
- return null;
- }
- if (!colorTop) {
- // colorTop = colorAvg([colorTopLeft, colorTopRight]);
- colorTop = colorLerp(colorTopLeft, colorTopRight, 0.5);
- }
- if (!colorRight) {
- // colorRight = colorAvg([colorBottomRight, colorTopRight]);
- colorRight = colorLerp(colorBottomRight, colorTopRight, 0.5);
- }
- if (!colorBottom) {
- // colorBottom = colorAvg([colorBottomLeft, colorBottomRight]);
- colorBottom = colorLerp(colorBottomLeft, colorBottomRight, 0.5);
- }
- if (!colorLeft) {
- // colorLeft = colorAvg([colorTopLeft, colorBottomLeft]);
- colorLeft = colorLerp(colorTopLeft, colorBottomLeft, 0.5);
- }
- if (!colorCenter) {
- // colorCenter = colorAvg([colorTop, colorLeft, colorBottom, colorRight]);
- colorCenter = colorBerp(
- colorTop,
- colorBottom,
- colorLeft,
- colorRight,
- 0.5,
- 0.5
- );
- }
-
- var colorsTopLeft = [colorTopLeft, colorLeft, colorCenter, colorTop];
- var colorsBottomLeft = [colorLeft, colorBottomLeft, colorBottom, colorCenter];
- var colorsBottomRight = [
- colorCenter,
- colorBottom,
- colorBottomRight,
- colorRight,
- ];
- var colorsTopRight = [colorTop, colorCenter, colorRight, colorTopRight];
- var colorsRegions = [
- [colorsTopLeft, colorsTopRight],
- [colorsBottomLeft, colorsBottomRight],
- ];
- var colorsRegion;
- var color;
- var colorsMatrix = [];
-
- // test
- // var gradientTop = ColorRgbUtil.gradient([colorTopLeft, colorTop, colorTopRight], stepsX);
- // var gradientLeft = ColorRgbUtil.gradient([colorTopLeft, colorLeft, colorBottomLeft], stepsY);
- // var gradientBottom = ColorRgbUtil.gradient([colorBottomLeft, colorBottom, colorBottomRight], stepsX);
- // var gradientRight = ColorRgbUtil.gradient([colorTopRight, colorRight, colorBottomRight], stepsY);
-
- var tX, tXScaled;
- var tY, tYScaled;
- var tScalar = InterpolationUtil.scalar;
-
- var x, y;
-
- for (y = 0; y < stepsY; y++) {
- colorsMatrix[y] = [];
-
- tY = y / (stepsY - 1) || 0.0;
- tYScaled = tScalar(2, tY); // 2 = colorsQuadrants.length
-
- for (x = 0; x < stepsX; x++) {
- tX = x / (stepsX - 1) || 0.0;
- tXScaled = tScalar(2, tX); // 2 = colorsQuadrants[tYScaled.index].length
-
- colorsRegion = colorsRegions[tYScaled.index][tXScaled.index];
- colorTopLeft = colorsRegion[0];
- colorBottomLeft = colorsRegion[1];
- colorBottomRight = colorsRegion[2];
- colorTopRight = colorsRegion[3];
- color = colorBerp(
- colorTopLeft,
- colorBottomLeft,
- colorTopRight,
- colorBottomRight,
- tYScaled.t,
- tXScaled.t
- );
- colorsMatrix[y][x] = color;
-
- // test
- // colorsMatrix[y][stepsX - 1] = gradientRight[y];
- // colorsMatrix[y][0] = gradientLeft[y];
- }
-
- // test
- // colorsMatrix[y][stepsX - 1] = gradientRight[y];
- // colorsMatrix[y][0] = gradientLeft[y];
- }
-
- return colorsMatrix;
- },
-
- interpolateBilinear: function (
- colorTopLeft,
- colorBottomLeft,
- colorTopRight,
- colorBottomRight,
- ty,
- tx
- ) {
- var lerp = ColorRgbUtil.interpolateLinear;
- return lerp(
- lerp(colorTopLeft, colorBottomLeft, ty),
- lerp(colorTopRight, colorBottomRight, ty),
- tx
- );
- },
-
- interpolateLinear: function (colorFrom, colorTo, t) {
- var lerp = InterpolationUtil.linear;
- var round = Math.round;
- return {
- r: round(lerp(colorFrom.r, colorTo.r, t)),
- g: round(lerp(colorFrom.g, colorTo.g, t)),
- b: round(lerp(colorFrom.b, colorTo.b, t)),
- a: round(
- lerp(
- isNaN(colorFrom.a) ? 1.0 : colorFrom.a,
- isNaN(colorTo.a) ? 1.0 : colorTo.a,
- t
- )
- ),
- };
- },
-
- interpolateMultilinear: function (colors, t) {
- var s = InterpolationUtil.scalar(colors.length - 1, t);
- var i = s.index;
- return ColorRgbUtil.interpolateLinear(colors[i], colors[i + 1], s.t);
- },
-
- nearest: function (colorSearch, colors) {
- var calcDistance = ColorRgbUtil.distance;
- var tempDistance;
- var nearestDistance =
- calcDistance({ r: 0, g: 0, b: 0 }, { r: 255, g: 255, b: 255 }) + 1.0;
- var nearestColor = null;
- for (var i = 0, j = colors.length; i < j; i++) {
- tempDistance = calcDistance(colorSearch, colors[i]);
- if (tempDistance < nearestDistance) {
- nearestDistance = tempDistance;
- nearestColor = colors[i];
- }
- }
- return nearestColor;
- },
-
- toCmyk: function (color) {
- var r = color.r / 255;
- var g = color.g / 255;
- var b = color.b / 255;
-
- var ir = 1.0 - r;
- var ig = 1.0 - g;
- var ib = 1.0 - b;
- var k = Math.min(ir, ig, ib);
- var ik = 1.0 - k;
-
- var c = k < 1.0 ? (ir - k) / ik : 0;
- var m = k < 1.0 ? (ig - k) / ik : 0;
- var y = k < 1.0 ? (ib - k) / ik : 0;
-
- c *= 100;
- m *= 100;
- y *= 100;
- k *= 100;
-
- var round = Math.round;
- c = round(c);
- m = round(m);
- y = round(y);
- k = round(k);
-
- return { c: c, m: m, y: y, k: k };
- },
-
- // toGrayscale: function(color, algorithm)
- // {
- // // TODO
- // // http://cadik.posvete.cz/color_to_gray_evaluation/
- // },
-
- toHex: function (color, prefix) {
- var a = isNaN(color.a) ? null : color.a;
- var r = isNaN(color.r) ? 0 : color.r;
- var g = isNaN(color.g) ? 0 : color.g;
- var b = isNaN(color.b) ? 0 : color.b;
- var hex = HexUtil.encodeInt;
- return String(
- (prefix || '#') +
- (a === null || a >= 1.0 ? '' : hex(a * 255)) +
- hex(r) +
- hex(g) +
- hex(b)
- );
- },
-
- // toHsl: function(color)
- // {
- // // TODO
- // },
-
- // toHsv: function(color)
- // {
- // // TODO
- // // https://gist.github.com/felipesabino/5066336/revisions
- // },
-
- toString: function (color) {
- // prettier-ignore
- return '{ r:' + String(color.r) + ', g:' + String(color.g) + ', b:' + String(color.b) + ', a:' + String(isNaN(color.a) ? 1.0 : color.a) + ' }';
- },
-
- toStringCSS: function (color) {
- // prettier-ignore
- return 'rgba(' + String(color.r) + ', ' + String(color.g) + ', ' + String(color.b) + ', ' + String(isNaN(color.a) ? 1.0 : color.a) + ')';
- },
-};
diff --git a/src/utils/ColorUtil.js b/src/utils/ColorUtil.js
deleted file mode 100644
index 899da78..0000000
--- a/src/utils/ColorUtil.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/** global: ColorUtil */
-/** global: ColorCmykUtil */
-/** global: ColorHexUtil */
-/** global: ColorRgbUtil */
-
-ColorUtil = {
- cmyk: ColorCmykUtil,
- // cmykToGrayscale: ColorCmykUtil.toGrayscale,
- cmykToHex: ColorCmykUtil.toHex,
- // cmykToHsl: ColorCmykUtil.toHsl,
- // cmykToHsv: ColorCmykUtil.toHsv,
- cmykToRgb: ColorCmykUtil.toRgb,
-
- // grayscale: ColorGrayscaleUtil,
- // grayscaleToGrayscale: ColorGrayscaleUtil.toGrayscale,
- // grayscaleToHex: ColorGrayscaleUtil.toHex,
- // grayscaleToHsl: ColorGrayscaleUtil.toHsl,
- // grayscaleToHsv: ColorGrayscaleUtil.toHsv,
- // grayscaleToRgb: ColorGrayscaleUtil.toRgb,
-
- hex: ColorHexUtil,
- hexToCmyk: ColorHexUtil.toCmyk,
- // hexToGrayscale: ColorHexUtil.toGrayscale,
- // hexToHsl: ColorHexUtil.toHsl,
- // hexToHsv: ColorHexUtil.toHsv,
- hexToRgb: ColorHexUtil.toRgb,
-
- // hsl: ColorHslUtil,
- // hslToGrayscale: ColorHslUtil.toGrayscale,
- // hslToHex: ColorHslUtil.toHex,
- // hslToHsl: ColorHslUtil.toHsl,
- // hslToHsv: ColorHslUtil.toHsv,
- // hslToRgb: ColorHslUtil.toRgb,
-
- // hsv: ColorHsvUtil,
- // hsvToGrayscale: ColorHsvUtil.toGrayscale,
- // hsvToHex: ColorHsvUtil.toHex,
- // hsvToHsl: ColorHsvUtil.toHsl,
- // hsvToHsv: ColorHsvUtil.toHsv,
- // hsvToRgb: ColorHsvUtil.toRgb,
-
- rgb: ColorRgbUtil,
- rgbToCmyk: ColorRgbUtil.toCmyk,
- // rgbToGrayscale: ColorRgbUtil.toGrayscale,
- rgbToHex: ColorRgbUtil.toRgb,
- // rgbToHsl: ColorRgbUtil.toHsl,
- // rgbToHsv: ColorRgbUtil.toHsv
-};
diff --git a/src/utils/DateUtil.js b/src/utils/DateUtil.js
deleted file mode 100644
index 1ec4a81..0000000
--- a/src/utils/DateUtil.js
+++ /dev/null
@@ -1,225 +0,0 @@
-/** global: DateUtil */
-/** global: StringUtil */
-/** global: isDate */
-
-DateUtil = {
- clone: function (date) {
- return new Date(date.getTime());
- },
-
- constrain: function (date, a, b) {
- var dateMin = DateUtil.min(a, b);
- var dateMax = DateUtil.max(a, b);
- return DateUtil.min(DateUtil.max(date, dateMin), dateMax);
- },
-
- format: function (date, str) {
- // https://docs.djangoproject.com/en/4.0/ref/templates/builtins/#date
- var replace = StringUtil.replace;
- var padZeros = StringUtil.padZeros;
- var months = [
- 'January',
- 'February',
- 'March',
- 'April',
- 'May',
- 'June',
- 'July',
- 'August',
- 'September',
- 'October',
- 'November',
- 'December',
- ];
- var days = [
- 'Sunday',
- 'Monday',
- 'Tuesday',
- 'Wednesday',
- 'Thursday',
- 'Friday',
- 'Saturday',
- ];
- var dt = date.getDate();
- var year = date.getFullYear();
- var month = date.getMonth();
- var monthNum = month + 1;
- var monthName = months[month];
- var day = date.getDay();
- var hours = date.getHours();
- var minutes = date.getMinutes();
- var seconds = date.getSeconds();
- var milliseconds = date.getMilliseconds();
- var placeholders = [
- ['YYYY', year],
- ['YY', padZeros(year, 4).substring(2, 4)],
- ['MM', padZeros(monthNum, 2)],
- ['M', monthNum],
- ['DD', padZeros(dt, 2)],
- ['D', dt],
- ['hh', padZeros(hours, 2)],
- ['h', hours],
- ['mm', padZeros(minutes, 2)],
- ['m', minutes],
- ['ss', padZeros(seconds, 2)],
- ['s', seconds],
- ['ll', padZeros(milliseconds, 2)],
- ['XX', monthName],
- ['X', monthName.substring(0, 3)],
- ['ZZ', days[day]],
- ['Z', days[day].substring(0, 3)],
- ];
- var placeholder, occurrence;
- for (var i = 0, j = placeholders.length; i < j; i++) {
- placeholder = placeholders[i];
- occurrence = placeholder[0];
- if (str.indexOf(occurrence) === -1) {
- continue;
- }
- str = replace(str, occurrence, placeholder[1]);
- }
- return str;
- },
-
- /*
- hhmm: function(hours, minutes, separator)
- {
- var hh = StringUtil.padZeros(hours, 2);
- var mm = StringUtil.padZeros(minutes, 2);
- var sep = (separator || ':');
- return (hh + sep + mm);
- },
- */
-
- identifier: function (date) {
- var d = date || new Date();
- var year = d.getFullYear();
- var month = d.getMonth() + 1; // getMonth() is zero-based
- var day = d.getDate();
- var hours = d.getHours();
- var minutes = d.getMinutes();
- var seconds = d.getSeconds();
- var milliseconds = d.getMilliseconds();
- return (
- String(year) +
- StringUtil.padZeros(month, 2) +
- StringUtil.padZeros(day, 2) +
- StringUtil.padZeros(hours, 2) +
- StringUtil.padZeros(minutes, 2) +
- StringUtil.padZeros(seconds, 2) +
- StringUtil.padZeros(milliseconds, 3)
- );
- },
-
- isFuture: function (date, checkTime) {
- var day = new Date(date.getTime());
- var now = new Date();
- if (checkTime !== true) {
- day.setHours(0);
- day.setMinutes(0);
- day.setSeconds(0);
- day.setMilliseconds(0);
- }
- var delta = now.getTime() - day.getTime();
- return delta < 0;
- },
-
- isPast: function (date, checkTime) {
- var day = new Date(date.getTime());
- var now = new Date();
- if (checkTime !== true) {
- now.setHours(0);
- now.setMinutes(0);
- now.setSeconds(0);
- now.setMilliseconds(0);
- }
- var delta = now.getTime() - day.getTime();
- return delta > 0;
- },
-
- max: function (date, other) {
- return date.getTime() > other.getTime() ? date : other;
- },
-
- min: function (date, other) {
- return date.getTime() <= other.getTime() ? date : other;
- },
-
- normalize: function (ms) {
- var time = {
- milliseconds: ms % 1000,
- seconds: Math.floor(ms / 1000) % 60,
- minutes: Math.floor(ms / 1000 / 60) % 60,
- hours: Math.floor(ms / 1000 / 60 / 60) % 24,
- days: Math.floor(ms / 1000 / 60 / 60 / 24),
- };
- return time;
- },
-
- parse: function (date) {
- var timestamp;
- var timestampIsValid = function (t) {
- return (
- TypeUtil.isNumber(t) &&
- t >= 0 &&
- TypeUtil.isNumber(new Date(t).getTime())
- );
- };
- if (TypeUtil.isDate(date)) {
- return date;
- } else if (TypeUtil.isNumber(date)) {
- timestamp = date;
- if (timestampIsValid(timestamp)) {
- return new Date(timestamp);
- }
- } else if (TypeUtil.isString(date)) {
- timestamp = Number(date);
- if (timestampIsValid(timestamp)) {
- return new Date(timestamp);
- }
- timestamp = Date.parse(date);
- if (timestampIsValid(timestamp)) {
- return new Date(timestamp);
- }
- }
- return null;
- },
-
- timestamp: function (date) {
- var d = date || new Date();
- return d.getTime();
- },
-
- today: function () {
- var d = new Date();
- d.setHours(0);
- d.setMinutes(0);
- d.setSeconds(0);
- d.setMilliseconds(0);
- return d;
- },
-
- tomorrow: function () {
- var d = DateUtil.today();
- d.setDate(d.getDate() + 1);
- return d;
- },
-
- yesterday: function () {
- var d = DateUtil.today();
- d.setDate(d.getDate() - 1);
- return d;
- },
-
- yyyymmdd: function (date, separator) {
- var d = date || new Date();
- var year = d.getFullYear();
- var month = d.getMonth() + 1; // getMonth() is zero-based
- var day = d.getDate();
- var sep = separator || '';
- // prettier-ignore
- return (String(year) + sep +
- StringUtil.padZeros(month, 2) + sep +
- StringUtil.padZeros(day, 2));
- },
-};
diff --git a/src/utils/EaseUtil.js b/src/utils/EaseUtil.js
deleted file mode 100644
index d445c03..0000000
--- a/src/utils/EaseUtil.js
+++ /dev/null
@@ -1,362 +0,0 @@
-/** global: EaseUtil */
-
-EaseUtil = {
- backIn: function (t, s) {
- // s = overshoot = 1.70158
- s = isNaN(s) ? 1.70158 : s;
- return t * t * ((s + 1.0) * t - s);
- },
-
- backInOut: function (t, s) {
- // s = overshoot = 1.70158
- s = isNaN(s) ? 1.70158 : s;
- t /= 0.5;
- if (t < 1.0) {
- s *= 1.525;
- return 0.5 * (t * t * ((s + 1.0) * t - s));
- }
- t -= 2.0;
- s *= 1.525;
- return 0.5 * (t * t * ((s + 1.0) * t + s) + 2.0);
- },
-
- backOut: function (t, s) {
- // s = overshoot = 1.70158
- s = isNaN(s) ? 1.70158 : s;
- t -= 1.0;
- return t * t * ((s + 1.0) * t + s) + 1.0;
- },
-
- bounceIn: function (t) {
- t = 1.0 - t;
- if (t < 1.0 / 2.75) {
- return 1.0 - 7.5625 * t * t;
- } else if (t < 2.0 / 2.75) {
- t -= 1.5 / 2.75;
- return 1.0 - (7.5625 * t * t + 0.75);
- } else if (t < 2.5 / 2.75) {
- t -= 2.25 / 2.75;
- return 1.0 - (7.5625 * t * t + 0.9375);
- }
- t -= 2.625 / 2.75;
- return 1.0 - (7.5625 * t * t + 0.984375);
- },
-
- bounceInOut: function (t) {
- if (t < 0.5) {
- t = 1.0 - t;
- if (t < 1.0 / 2.75) {
- return 1.0 - 7.5625 * t * t;
- } else if (t < 2.0 / 2.75) {
- t -= 1.5 / 2.75;
- return 1.0 - (7.5625 * t * t + 0.75);
- } else if (t < 2.5 / 2.75) {
- t -= 2.25 / 2.75;
- return 1.0 - (7.5625 * t * t + 0.9375);
- }
- t -= 2.625 / 2.75;
- return 1.0 - (7.5625 * t * t + 0.984375);
- }
- if (t < 1.0 / 2.75) {
- return 7.5625 * t * t;
- } else if (t < 2.0 / 2.75) {
- t -= 1.5 / 2.75;
- return 7.5625 * t * t + 0.75;
- } else if (t < 2.5 / 2.75) {
- t -= 2.25 / 2.75;
- return 7.5625 * t * t + 0.9375;
- }
- t -= 2.625 / 2.75;
- return 7.5625 * t * t + 0.984375;
- },
-
- bounceOut: function (t) {
- if (t < 1.0 / 2.75) {
- return 7.5625 * t * t;
- } else if (t < 2.0 / 2.75) {
- t -= 1.5 / 2.75;
- return 7.5625 * t * t + 0.75;
- } else if (t < 2.5 / 2.75) {
- t -= 2.25 / 2.75;
- return 7.5625 * t * t + 0.9375;
- }
- t -= 2.625 / 2.75;
- return 7.5625 * t * t + 0.984375;
- },
-
- circularIn: function (t) {
- return -(Math.sqrt(1.0 - t * t) - 1.0);
- },
-
- circularInOut: function (t) {
- t /= 0.5;
- if (t < 1.0) {
- return -0.5 * (Math.sqrt(1.0 - t * t) - 1.0);
- }
- t -= 2.0;
- return 0.5 * (Math.sqrt(1.0 - t * t) + 1.0);
- },
-
- circularOut: function (t) {
- t -= 1.0;
- return Math.sqrt(1.0 - t * t);
- },
-
- cubicIn: function (t) {
- return t * t * t;
- },
-
- cubicInOut: function (t) {
- t /= 0.5;
- if (t < 1.0) {
- return 0.5 * t * t * t;
- }
- t -= 2.0;
- return 0.5 * (t * t * t + 2.0);
- },
-
- cubicOut: function (t) {
- t -= 1.0;
- return t * t * t + 1.0;
- },
-
- elasticIn: function (t, a, p) {
- // a = amplitude = 0.0, p = period = 0.3
- if (t === 0.0) {
- return 0.0;
- }
- if (t === 1.0) {
- return 1.0;
- }
- a = isNaN(a) ? 0.0 : a;
- p = isNaN(p) ? 0.3 : p;
- var s;
- if (a < 1.0) {
- a = 1.0;
- s = p / 4.0;
- } else {
- s = (p / (2.0 * Math.PI)) * Math.asin(1.0 / a);
- }
- t -= 1.0;
- return -(
- a *
- Math.pow(2.0, 10.0 * t) *
- Math.sin(((t - s) * (2.0 * Math.PI)) / p)
- );
- },
-
- elasticInOut: function (t, a, p) {
- // a = amplitude = 0.0, p = period = 0.3
- if (t === 0.0) {
- return 0.0;
- }
- t /= 0.5;
- if (t === 2.0) {
- return 1.0;
- }
- a = isNaN(a) ? 0.0 : a;
- p = isNaN(p) ? 0.3 : p;
- var s;
- if (p === 0.3) {
- p *= 1.5;
- }
- if (a < 1.0) {
- a = 1.0;
- s = p / 4.0;
- } else {
- s = (p / (2.0 * Math.PI)) * Math.asin(1.0 / a);
- }
- if (t < 1.0) {
- t -= 1.0;
- return (
- -0.5 *
- (a *
- Math.pow(2.0, 10.0 * t) *
- Math.sin(((t - s) * (2.0 * Math.PI)) / p))
- );
- }
- t -= 1.0;
- return (
- a *
- Math.pow(2.0, -10.0 * t) *
- Math.sin(((t - s) * (2.0 * Math.PI)) / p) *
- 0.5 +
- 1.0
- );
- },
-
- elasticOut: function (t, a, p) {
- // a = amplitude = 0.0, p = period = 0.3
- if (t === 0.0) {
- return 0.0;
- }
- if (t === 1.0) {
- return 1.0;
- }
- a = isNaN(a) ? 0.0 : a;
- p = isNaN(p) ? 0.3 : p;
- var s;
- if (a < 1.0) {
- a = 1.0;
- s = p / 4.0;
- } else {
- s = (p / (2.0 * Math.PI)) * Math.asin(1.0 / a);
- }
- return (
- a * Math.pow(2.0, -10.0 * t) * Math.sin(((t - s) * (2.0 * Math.PI)) / p) +
- 1.0
- );
- },
-
- exponentialIn: function (t) {
- if (t === 0.0) {
- return 0.0;
- }
- return Math.pow(2.0, 10.0 * (t - 1.0));
- },
-
- exponentialInOut: function (t) {
- if (t === 0.0) {
- return 0.0;
- }
- if (t === 1.0) {
- return 1.0;
- }
- t /= 0.5;
- if (t < 1.0) {
- return 0.5 * Math.pow(2.0, 10.0 * (t - 1.0));
- }
- t -= 1.0;
- return 0.5 * (-Math.pow(2.0, -10.0 * t) + 2.0);
- },
-
- exponentialOut: function (t) {
- if (t === 1.0) {
- return t;
- }
- return -Math.pow(2.0, -10.0 * t) + 1.0;
- },
-
- none: function (t) {
- return t;
- },
-
- quadraticIn: function (t) {
- return t * t;
- },
-
- quadraticInOut: function (t) {
- t /= 0.5;
- if (t < 1.0) {
- return 0.5 * t * t;
- }
- t -= 1.0;
- return -0.5 * (t * (t - 2.0) - 1.0);
- },
-
- quadraticOut: function (t) {
- return -t * (t - 2.0);
- },
-
- quarticIn: function (t) {
- return t * t * t * t;
- },
-
- quarticInOut: function (t) {
- t /= 0.5;
- if (t < 1.0) {
- return 0.5 * t * t * t * t;
- }
- t -= 2.0;
- return -0.5 * (t * t * t * t - 2.0);
- },
-
- quarticOut: function (t) {
- t -= 1.0;
- return -(t * t * t * t - 1.0);
- },
-
- quinticIn: function (t) {
- return t * t * t * t * t;
- },
-
- quinticInOut: function (t) {
- t /= 0.5;
- if (t < 1.0) {
- return 0.5 * t * t * t * t * t;
- }
- t -= 2.0;
- return 0.5 * (t * t * t * t * t + 2.0);
- },
-
- quinticOut: function (t) {
- t -= 1.0;
- return t * t * t * t * t + 1.0;
- },
-
- sexticIn: function (t) {
- return t * t * t * t * t * t;
- },
-
- sexticInOut: function (t) {
- t /= 0.5;
- if (t < 1.0) {
- return 0.5 * t * t * t * t * t * t;
- }
- t -= 2.0;
- return -0.5 * (t * t * t * t * t * t - 2.0);
- },
-
- sexticOut: function (t) {
- t -= 1.0;
- return -(t * t * t * t * t * t - 1.0);
- },
-
- sineIn: function (t) {
- return -Math.cos(t * (Math.PI / 2.0)) + 1.0;
- },
-
- sineInOut: function (t) {
- return -0.5 * (Math.cos(Math.PI * t) - 1.0);
- },
-
- sineOut: function (t) {
- return Math.sin(t * (Math.PI / 2.0));
- },
-
- waveCosine: function (t, f, a, i) {
- // t, f = frequency = 1.0, a = absolute = false, i = inverse = false
- f = isNaN(f) ? 1.0 : f;
- a = a === true ? true : false;
- i = i === true ? true : false;
-
- var w = Math.cos(Math.PI * t * f);
- w = a ? Math.abs(w) : w;
- w = i ? 1.0 - w : w;
- return w;
- },
-
- waveSawtooth: function (t, f, a, i) {
- // t, f = frequency = 1.0, a = absolute = false, i = inverse = false
- f = isNaN(f) ? 1.0 : f;
- a = a === true ? true : false;
- i = i === true ? true : false;
-
- var w = (t * f) % 1.0;
- w = a ? Math.abs(w) : w;
- w = i ? 1.0 - w : w;
- return w;
- },
-
- waveSine: function (t, f, a, i) {
- // t, f = frequency = 1.0, a = absolute = false, i = inverse = false
- f = isNaN(f) ? 1.0 : f;
- a = a === true ? true : false;
- i = i === true ? true : false;
-
- var w = Math.sin(Math.PI * t * f);
- w = a ? Math.abs(w) : w;
- w = i ? 1.0 - w : w;
- return w;
- },
-};
diff --git a/src/utils/FunctionUtil.js b/src/utils/FunctionUtil.js
deleted file mode 100644
index ade43c0..0000000
--- a/src/utils/FunctionUtil.js
+++ /dev/null
@@ -1,175 +0,0 @@
-/** global: FunctionUtil */
-/** global: TypeUtil */
-
-FunctionUtil = {
- args: function (argumentsObj, skipCount) {
- return [].slice.call(argumentsObj, skipCount || 0);
- },
-
- attempt: function (func, scope) {
- try {
- var args = FunctionUtil.args(arguments);
- var result = FunctionUtil.call.apply(null, args);
- return result;
- } catch (e) {
- return e;
- }
- },
-
- bind: function (func, scope) {
- var argsBinded = FunctionUtil.args(arguments);
- return function () {
- var args = FunctionUtil.args(arguments);
- var result = FunctionUtil.call.apply(null, argsBinded.concat(args));
- return result;
- };
- },
-
- call: function (func, scope) {
- if (TypeUtil.isString(func)) {
- func = scope[func];
- }
- var args = FunctionUtil.args(arguments, 2);
- var result = func.apply(scope, args);
- return result;
- },
-
- debounce: function (milliseconds, func, scope) {
- var timeoutId;
- return function () {
- if (timeoutId) {
- clearTimeout(timeoutId);
- timeoutId = null;
- }
- var args = arguments;
- timeoutId = setTimeout(function () {
- func.apply(scope, args);
- }, milliseconds);
- };
- /*
- var timeoutId;
- return function() {
- if (timeoutId) {
- timeoutId.cancel();
- timeoutId = null;
- }
- timeoutId = FunctionUtil.delay.apply(null, [milliseconds, func, scope].concat(arguments));
- };
- */
- },
-
- delay: function (milliseconds, func, scope) {
- var args = FunctionUtil.args(arguments, 1);
- var wrapper = FunctionUtil.bind.apply(null, args);
- var timeoutId = setTimeout(wrapper, milliseconds);
- return {
- cancel: function () {
- clearTimeout(timeoutId);
- },
- func: wrapper,
- id: timeoutId,
- };
- },
-
- memoize: function (func, scope) {
- var cache = {};
-
- return function () {
- var args = FunctionUtil.args(arguments);
- var key = String(args);
- if (!(key in cache)) {
- cache[key] = FunctionUtil.call.apply(null, [func, scope].concat(args));
- }
- return cache[key];
- };
- },
-
- noop: function () {
- return true;
- },
-
- repeat: function (milliseconds, func, scope) {
- var args = FunctionUtil.args(arguments, 1);
- var wrapper = FunctionUtil.bind.apply(null, args);
- var intervalId = setInterval(wrapper, milliseconds);
- return {
- cancel: function () {
- clearInterval(intervalId);
- },
- func: wrapper,
- id: intervalId,
- };
- },
-
- throttle: function (milliseconds, func, scope) {
- var timeoutId;
- return function () {
- if (timeoutId) {
- return;
- }
- func.apply(scope, arguments);
- timeoutId = setTimeout(function () {
- clearTimeout(timeoutId);
- timeoutId = null;
- }, milliseconds);
- };
- },
-
- until: function (milliseconds, func, scope) {
- var args = FunctionUtil.args(arguments, 1);
- var wrapper = FunctionUtil.bind.apply(null, args);
- var interval = FunctionUtil.repeat(milliseconds, function () {
- if (wrapper() === false) {
- interval.cancel();
- }
- });
- return interval;
- },
-
- validate: function (argumentsObj) {
- // FunctionUtil.validate(arguments, 'number', 'string', ['string', 'undefined']);
-
- var args = FunctionUtil.args(argumentsObj);
- var types = FunctionUtil.args(arguments, 1);
-
- var i, j, k, n;
-
- for (i = 0, j = types.length; i < j; i++) {
- if (!TypeUtil.isArray(types[i])) {
- types[i] = [types[i]];
- }
- }
-
- var argsExpectedCount = types.length;
- while (argsExpectedCount > 0) {
- if (types[argsExpectedCount - 1].indexOf('undefined') === -1) {
- break;
- }
- argsExpectedCount--;
- }
- if (args.length < argsExpectedCount) {
- // prettier-ignore
- throw new TypeError('invalid arguments count: received ' + args.length + ', expected ' + argsExpectedCount + ' arguments.');
- }
-
- for (i = 0, j = types.length; i < j; i++) {
- for (k = 0, n = types[i].length; k < n; k++) {
- if (!TypeUtil.isType(types[i][k])) {
- // prettier-ignore
- throw new TypeError('invalid argument: expected type "' + String(types[i][k]) + '" is not a valid type.');
- }
- }
- }
-
- var arg, argType, argTypes;
- for (i = 0, j = args.length; i < j; i++) {
- arg = args[i];
- argType = TypeUtil.of(arg);
- argTypes = types[Math.min(i, types.length - 1)];
- if (argTypes.indexOf(argType) === -1) {
- // prettier-ignore
- throw new TypeError('invalid argument: type of argument[' + i + '] is "' + argType + '", expected "' + argTypes.join('" or "') + '".');
- }
- }
- },
-};
diff --git a/src/utils/GeomUtil.js b/src/utils/GeomUtil.js
deleted file mode 100644
index abc111d..0000000
--- a/src/utils/GeomUtil.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/** global: GeomUtil */
-/** global: PointUtil */
-
-GeomUtil = {
- point: PointUtil,
-};
diff --git a/src/utils/HexUtil.js b/src/utils/HexUtil.js
deleted file mode 100644
index 6134026..0000000
--- a/src/utils/HexUtil.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/** global: HexUtil */
-
-HexUtil = {
- decodeInt: function (s) {
- return parseInt(s, 16);
- },
-
- encodeInt: function (n) {
- var hex = Math.round(n).toString(16).toUpperCase();
- return hex.length === 1 ? '0' + hex : hex;
- },
-};
diff --git a/src/utils/InterpolationUtil.js b/src/utils/InterpolationUtil.js
deleted file mode 100644
index d0d1bbd..0000000
--- a/src/utils/InterpolationUtil.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/** global: MathUtil */
-/** global: InterpolationUtil */
-
-InterpolationUtil = {
- bilinear: function (a, b, c, d, u, v) {
- var f = InterpolationUtil.linear;
- return f(f(a, b, u), f(c, d, u), v);
- },
-
- linear: function (a, b, t) {
- // return (a + ((b - a) * t));
- return a * (1.0 - t) + b * t;
- },
-
- multilinear: function (list, t) {
- var s = InterpolationUtil.scalar(list.length - 1, t);
- var i = s.index;
- return InterpolationUtil.linear(list[i], list[i + 1], s.t);
- },
-
- scalar: function (parts, t) {
- var tScaled = t * parts;
- var tScaledIndex = Math.floor(tScaled);
-
- var tMinIndex = 0;
- var tMaxIndex = parts - 1;
-
- var tIndex = MathUtil.constrain(tScaledIndex, tMinIndex, tMaxIndex);
- var tReduced = tScaled - tIndex;
- return { index: tIndex, t: tReduced };
- },
-};
diff --git a/src/utils/JSONUtil.js b/src/utils/JSONUtil.js
deleted file mode 100644
index 9b38e48..0000000
--- a/src/utils/JSONUtil.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/** global: JSONUtil */
-
-JSONUtil = {
- decode: function (str) {
- var output = '';
- try {
- output = JSON.parse(str);
- } catch (error) {
- // unquote str to avoid syntax error
- str = str.replace(/"/g, '"');
- output = JSON.parse(str);
- }
- return output;
- },
-
- encode: function (obj) {
- return JSON.stringify(obj);
- },
-};
diff --git a/src/utils/MathUtil.js b/src/utils/MathUtil.js
deleted file mode 100644
index 2c27eb5..0000000
--- a/src/utils/MathUtil.js
+++ /dev/null
@@ -1,151 +0,0 @@
-/** global: ArrayUtil */
-/** global: FunctionUtil */
-/** global: InterpolationUtil */
-/** global: MathUtil */
-/** global: TypeUtil */
-
-MathUtil = {
- average: function (values) {
- return MathUtil.summation(values) / values.length;
- },
-
- constrain: function (n, a, b) {
- return Math.min(Math.max(n, Math.min(a, b)), Math.max(a, b));
- },
-
- cycle: function (n, len, shift) {
- if (!TypeUtil.isNumber(shift)) {
- shift = 0;
- }
- return ((((n - shift) % len) + len) % len) + shift;
- },
-
- equals: function (a, b, tolerance) {
- if (!TypeUtil.isNumber(tolerance)) {
- tolerance = 0.0000000001;
- } else if (tolerance > 0.0) {
- tolerance += 0.0000000001;
- }
- return Math.abs(a - b) <= tolerance;
- },
-
- euclideanDistance: function (a, b) {
- // https://en.wikipedia.org/wiki/Euclidean_distance#Higher_dimensions
- return Math.sqrt(
- MathUtil.summation(
- a.map(function (value, index) {
- return Math.pow(Math.abs(value - b[index]), 2);
- })
- )
- );
- },
-
- factorial: function (n) {
- var f = 1;
- for (var i = f; i <= n; i++) {
- f *= i;
- }
- return f;
- },
-
- gcd: function (a, b) {
- if (a === b) {
- return a;
- }
- if (a < b) {
- a ^= b;
- b ^= a;
- a ^= b;
- }
- return MathUtil.gcd(a - b, b);
- },
-
- interpolation: InterpolationUtil,
-
- lcm: function (a, b) {
- return (a * b) / MathUtil.gcd(a, b);
- },
-
- lerp: function (a, b, t) {
- return InterpolationUtil.linear(a, b, t);
- },
-
- map: function (n, a, b, c, d) {
- return InterpolationUtil.linear(c, d, MathUtil.normalize(n, a, b));
- },
-
- nearest: function (n, a, b) {
- return Math.abs(n - a) <= Math.abs(n - b) ? a : b;
- },
-
- normalize: function (n, a, b) {
- return (n - a) / (b - a);
- },
-
- proportion: function (a, b, x, y) {
- var args = FunctionUtil.args(arguments);
- var argsOk = ArrayUtil.clean(args);
- if (argsOk.length !== 3) {
- return NaN;
- }
-
- // a : b = x : y
- if (!TypeUtil.isNumber(a)) {
- return (b * x) / y;
- } else if (!TypeUtil.isNumber(b)) {
- return (a * y) / x;
- } else if (!TypeUtil.isNumber(x)) {
- return (y * a) / b;
- } else if (!TypeUtil.isNumber(y)) {
- return (x * b) / a;
- }
- return NaN;
- },
-
- roundDecimals: function (n, decimalsPlaces) {
- return Number(n.toFixed(decimalsPlaces || 2));
- },
-
- roundToMultiple: function (n, multiplier) {
- return Math.round(n / multiplier) * multiplier;
- },
-
- roundToNearest: function (n, values) {
- var a = ArrayUtil.sort(values.concat());
- var i = 0,
- j = 0,
- k = a.length;
- if (k === 0) {
- return NaN;
- } else if (k > 2) {
- while (j < k) {
- i = Math.floor((j + k) / 2.0);
- if (n < a[i]) {
- k = i;
- } else if (n > a[i + 1]) {
- j = i + 1;
- } else {
- break;
- }
- }
- }
- j = i + 1 in a ? i + 1 : i;
- return MathUtil.nearest(n, a[i], a[j]);
- },
-
- roundToPower: function (n, base) {
- return Math.pow(base, Math.round(Math.log(n) / Math.log(base)));
- },
-
- sign: function (n) {
- return n >= 0.0 ? 1 : -1;
- },
-
- summation: function (values) {
- var s = 0.0;
- for (var i = 0, j = values.length; i < j; i++) {
- s += values[i];
- }
- return s;
- },
-};
diff --git a/src/utils/NumberUtil.js b/src/utils/NumberUtil.js
deleted file mode 100644
index 5a8284d..0000000
--- a/src/utils/NumberUtil.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/** global: NumberUtil */
-
-NumberUtil = {
- isBetween: function (n, min, max) {
- return n >= min && n <= max;
- },
-
- isEven: function (n) {
- return n % 2.0 === 0.0 && !NumberUtil.isFloat(n);
- },
-
- isFloat: function (n) {
- return n % 1 !== 0;
- },
-
- isNegative: function (n) {
- return n < 0.0;
- },
-
- isOdd: function (n) {
- return n % 2.0 !== 0.0 && !NumberUtil.isFloat(n);
- },
-
- isPositive: function (n) {
- return n >= 0.0;
- },
-
- isPrime: function (n) {
- if (typeof n !== 'number' || Number.isNaN(n) || NumberUtil.isFloat(n)) {
- return false;
- }
- if (n <= 1) {
- return false;
- }
- if (n <= 3) {
- return true;
- }
- if (n % 2 === 0 || n % 3 === 0) {
- return false;
- }
- for (var i = 5; i * i <= n; i += 6) {
- if (n % i === 0 || n % (i + 2) === 0) {
- return false;
- }
- }
- return true;
- },
-};
diff --git a/src/utils/ObjectUtil.js b/src/utils/ObjectUtil.js
deleted file mode 100644
index 2ded3cd..0000000
--- a/src/utils/ObjectUtil.js
+++ /dev/null
@@ -1,285 +0,0 @@
-/** global: ArrayUtil */
-/** global: Base64Util */
-/** global: DateUtil */
-/** global: FunctionUtil */
-/** global: JSONUtil */
-/** global: MathUtil */
-/** global: ObjectUtil */
-/** global: StringUtil */
-/** global: TypeUtil */
-/** global: URLUtil */
-
-ObjectUtil = {
- assign: function (obj, other) {
- var objs = [other].concat(FunctionUtil.args(arguments, 2));
- var i, j, k;
- for (i = 0, j = objs.length; i < j; i++) {
- for (k in objs[i]) {
- obj[k] = objs[i][k];
- }
- }
- return obj;
- },
-
- clean: function (obj, hard) {
- var keys = ObjectUtil.keys(obj);
- var key, val;
- for (var i = 0, j = keys.length; i < j; i++) {
- key = keys[i];
- val = obj[key];
- if (hard === true) {
- switch (TypeUtil.of(val)) {
- case TypeUtil.ARRAY:
- val = obj[key] = ArrayUtil.clean(val, hard);
- if (val.length === 0) {
- val = null;
- }
- break;
- case TypeUtil.OBJECT:
- val = obj[key] = ObjectUtil.clean(val, hard);
- if (ObjectUtil.length(val) === 0) {
- val = null;
- }
- break;
- case TypeUtil.STRING:
- val = obj[key] = StringUtil.trim(val);
- if (val === '') {
- val = null;
- }
- break;
- }
- }
- if (TypeUtil.isNone(val)) {
- delete obj[key];
- }
- }
- return obj;
- },
-
- clone: function (obj) {
- var cln = {};
- var keys = ObjectUtil.keys(obj);
- var key, val;
- for (var i = 0, j = keys.length; i < j; i++) {
- key = keys[i];
- val = obj[key];
- switch (TypeUtil.of(val)) {
- case TypeUtil.ARRAY:
- cln[key] = ArrayUtil.clone(val);
- break;
- case TypeUtil.DATE:
- cln[key] = DateUtil.clone(val);
- break;
- case TypeUtil.OBJECT:
- cln[key] = ObjectUtil.clone(val);
- break;
- default:
- cln[key] = obj[key];
- break;
- }
- }
- return cln;
- },
-
- decodeBase64: function (str) {
- return JSONUtil.decode(Base64Util.decode(str));
- },
-
- decodeJSON: function (str) {
- return JSONUtil.decode(str);
- },
-
- decodeParameters: function (str) {
- return URLUtil.getParametersDict('?' + str);
- },
-
- encodeBase64: function (obj) {
- return Base64Util.encode(JSONUtil.encode(obj));
- },
-
- encodeJSON: function (obj) {
- return JSONUtil.encode(obj);
- },
-
- encodeParameters: function (obj, keysFilter) {
- var objClean = ObjectUtil.clean(ObjectUtil.clone(obj), true);
- var keys = TypeUtil.isArray(keysFilter)
- ? keysFilter
- : ObjectUtil.keys(obj, true);
- var key,
- val,
- keyval = [];
-
- for (var i = 0, j = keys.length; i < j; i++) {
- key = keys[i];
- if (key in objClean) {
- val = objClean[key];
- keyval.push(key + '=' + encodeURIComponent(val));
- }
- }
-
- return keyval.join('&');
- },
-
- equals: function (obj1, obj2) {
- if (obj1 === obj2 || ObjectUtil.is(obj1, obj2)) {
- return true;
- }
-
- var key, val1, val2, type1, type2;
-
- type1 = TypeUtil.of(obj1);
- type2 = TypeUtil.of(obj2);
-
- if (type1 !== type2) {
- return false;
- }
-
- switch (type1) {
- case TypeUtil.ARRAY:
- case TypeUtil.OBJECT:
- break;
- case TypeUtil.NUMBER:
- return MathUtil.equals(obj1, obj2);
- default:
- return String(obj1) === String(obj2);
- }
-
- for (key in obj2) {
- if (!(key in obj1)) {
- return false;
- }
- }
-
- for (key in obj1) {
- val1 = obj1[key];
- val2 = obj2[key];
-
- if (
- ObjectUtil.is(obj1, val1) ||
- ObjectUtil.is(obj2, val2) ||
- ObjectUtil.is(val1, val2) ||
- val1 === val2
- ) {
- continue;
- }
-
- if (!ObjectUtil.equals(val1, val2)) {
- return false;
- }
- }
-
- return true;
- },
-
- is: function (obj1, obj2) {
- // https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/Object/is
- if (!Object.is) {
- Object.is = function (x, y) {
- // Algoritmo SameValue
- if (x === y) {
- // Steps 1-5, 7-10
- // Steps 6.b-6.e: +0 != -0
- return x !== 0 || 1 / x === 1 / y;
- } else {
- // Step 6.a: NaN === NaN
- return x !== x && y !== y;
- }
- };
- }
- return Object.is(obj1, obj2);
- },
-
- keypath: {
- get: function (obj, path, defaultValue) {
- var keys = path.split('.');
- var key;
- var cursor = obj;
- for (var i = 0, j = keys.length; i < j; i++) {
- key = keys[i];
- try {
- cursor = cursor[key];
- } catch (e) {
- return defaultValue;
- }
- }
- return TypeUtil.isUndefined(cursor) ? defaultValue : cursor;
- },
-
- set: function (obj, path, value) {
- var keys = path.split('.');
- var key;
- var cursor = obj;
- for (var i = 0, j = keys.length; i < j; i++) {
- key = keys[i];
- if (key === '__proto__' || key === 'constructor') {
- break;
- }
- if (!TypeUtil.isObject(cursor[key])) {
- cursor[key] = {};
- }
- if (i < j - 1) {
- cursor = cursor[key];
- } else {
- cursor[key] = value;
- }
- }
- },
- },
-
- keys: function (obj, sorted) {
- var k = Object.keys(obj);
- if (sorted === true) {
- k.sort();
- }
- return k;
- },
-
- length: function (obj) {
- return ObjectUtil.keys(obj).length;
- },
-
- map: function (obj, func) {
- var m = {};
- ObjectUtil.keys(obj).forEach(function (k) {
- m[k] = func.call(null, obj[k], k, obj);
- });
- return m;
- },
-
- merge: function (obj1, obj2) {
- var objs = [{}, obj1, obj2].concat(FunctionUtil.args(arguments, 2));
- var obj = ObjectUtil.assign.apply(null, objs);
- return obj;
- },
-
- search: function (objs, filter) {
- // prettier-ignore
- var results = [], i, j, k, m, obj, res, keys, key, val;
- for (i = 0, j = objs.length; i < j; i++) {
- obj = objs[i];
- res = obj;
- keys = ObjectUtil.keys(filter);
- for (k = 0, m = keys.length; k < m; k++) {
- key = keys[k];
- val = filter[key];
- if (!ObjectUtil.equals(obj[key], val)) {
- res = null;
- }
- }
- if (res) {
- results.push(res);
- }
- }
- return results;
- },
-
- values: function (obj, sorted) {
- var keys = ObjectUtil.keys(obj, sorted);
- var vals = [];
- for (var i = 0, j = keys.length; i < j; i++) {
- vals.push(obj[keys[i]]);
- }
- return vals;
- },
-};
diff --git a/src/utils/PointUtil.js b/src/utils/PointUtil.js
deleted file mode 100644
index f24f6bb..0000000
--- a/src/utils/PointUtil.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/** global: MathUtil */
-/** global: InterpolationUtil */
-/** global: PointUtil */
-/** global: TrigoUtil */
-
-PointUtil = {
- add: function (a, b) {
- return {
- x: a.x + b.x,
- y: a.y + b.y,
- };
- },
-
- angle: function (a, b) {
- var angle = TrigoUtil.angleDeg(b.y - a.y, b.x - a.x);
- return TrigoUtil.cycleDeg(angle);
- },
-
- cross: function (a, b) {
- // z coordinate of the cross product; x and y coordinates are zero
- return a.x * b.y - a.y * b.x;
- },
-
- distance: function (a, b) {
- var dX = b.x - a.x;
- var dY = b.y - a.y;
- return Math.sqrt(dX * dX + dY * dY);
- },
-
- dot: function (a, b) {
- return a.x * b.x + a.y * b.y;
- },
-
- equals: function (a, b, tolerance) {
- var f = MathUtil.equals;
- return f(a.x, b.x, tolerance) && f(a.y, b.y, tolerance);
- },
-
- interpolate: function (a, b, t) {
- var f = InterpolationUtil.linear;
- return {
- x: f(a.x, b.x, t),
- y: f(a.y, b.y, t),
- };
- },
-
- length: function (p) {
- return PointUtil.distance(p, { x: 0, y: 0 });
- },
-
- magnitude: function (p) {
- return PointUtil.length(p);
- },
-
- project: function (p, distance, angle) {
- return {
- x: p.x + distance * TrigoUtil.cosDeg(angle),
- y: p.y + distance * TrigoUtil.sinDeg(angle),
- };
- },
-
- rect: function (points) {
- var point,
- pointsX = [],
- pointsY = [];
-
- for (var i = 0, j = points.length; i < j; i++) {
- point = points[i];
- pointsX.push(point.x);
- pointsY.push(point.y);
- }
-
- var minF = Math.min;
- var minX = minF.apply(null, pointsX);
- var minY = minF.apply(null, pointsY);
- var maxF = Math.max;
- var maxX = maxF.apply(null, pointsX);
- var maxY = maxF.apply(null, pointsY);
-
- return {
- topLeft: { x: minX, y: minY },
- topRight: { x: maxX, y: minY },
- bottomRight: { x: maxX, y: maxY },
- bottomLeft: { x: minX, y: maxY },
- };
- },
-
- rotate: function (p, angle, pivot) {
- var pointPivot = pivot || { x: 0.0, y: 0.0 };
- var pointRel = PointUtil.subtract(p, pointPivot);
- var angleCos = TrigoUtil.cosDeg(angle);
- var angleSin = TrigoUtil.sinDeg(angle);
- var pointRot = {
- x: pointRel.x * angleCos - pointRel.y * angleSin,
- y: pointRel.x * angleSin + pointRel.y * angleCos,
- };
- var pointAbs = PointUtil.add(pointRot, pointPivot);
- return pointAbs;
- },
-
- scale: function (p, amount) {
- return {
- x: p.x * amount,
- y: p.y * amount,
- };
- },
-
- subtract: function (a, b) {
- return {
- x: a.x - b.x,
- y: a.y - b.y,
- };
- },
-
- translate: function (p, x, y) {
- return {
- x: p.x + x,
- y: p.y + y,
- };
- },
-};
diff --git a/src/utils/RandomUtil.js b/src/utils/RandomUtil.js
deleted file mode 100644
index dc5975f..0000000
--- a/src/utils/RandomUtil.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/** global: FunctionUtil */
-/** global: RandomUtil */
-
-RandomUtil = {
- argument: function () {
- var args = FunctionUtil.args(arguments);
- return RandomUtil.element(args);
- },
-
- bit: function (chance) {
- return RandomUtil.boolean(chance) ? 1 : 0;
- },
-
- boolean: function (chance) {
- return Boolean(Math.random() < (isNaN(chance) ? 0.5 : chance));
- },
-
- color: function () {
- return RandomUtil.integer(0, 0xffffff);
- },
-
- element: function (array) {
- return array[RandomUtil.index(array)];
- },
-
- float: function (min, max) {
- return min + Math.random() * (max - min);
- },
-
- index: function (array) {
- return RandomUtil.integer(0, array.length - 1);
- },
-
- integer: function (min, max) {
- return Math.floor(Math.round(RandomUtil.float(min - 0.5, max + 0.5)));
- },
-
- map: function (func, count) {
- var m = [];
- for (var i = 0; i < count; i++) {
- m.push(func(i));
- }
- return m;
- },
-
- sign: function (chance) {
- return RandomUtil.boolean(chance) ? 1 : -1;
- },
-
- string: function (length, charset) {
- // prettier-ignore
- charset = (charset || 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?@#$%^&*(-_=+).,;');
- var c = charset.split('');
- var r = RandomUtil.element;
- var i = 0;
- var s = '';
- while (i < length) {
- s += r(c);
- i++;
- }
- return s;
- },
-};
diff --git a/src/utils/StringUtil.js b/src/utils/StringUtil.js
deleted file mode 100644
index a440e6d..0000000
--- a/src/utils/StringUtil.js
+++ /dev/null
@@ -1,235 +0,0 @@
-/** global: ArrayUtil */
-/** global: RandomUtil */
-/** global: StringUtil */
-/** global: TypeUtil */
-
-StringUtil = {
- contains: function (str, occurrence) {
- return Boolean(str.indexOf(occurrence) > -1);
- },
-
- endsWith: function (str, search) {
- // if (String.prototype.endsWith) {
- // return str.endsWith(search);
- // }
- return str.substring(str.length - search.length, str.length) === search;
- },
-
- icontains: function (str, occurrence) {
- return StringUtil.contains(str.toLowerCase(), occurrence.toLowerCase());
- },
-
- levenshteinDistance: function (a, b) {
- // taken from GitHub here:
- // https://gist.github.com/andrei-m/982927#gistcomment-586471
- var m = [];
- for (var i = 0; i <= b.length; i++) {
- m[i] = [i];
- if (i === 0) {
- continue;
- }
- for (var j = 0; j <= a.length; j++) {
- m[0][j] = j;
- if (j === 0) {
- continue;
- }
- m[i][j] =
- b.charAt(i - 1) === a.charAt(j - 1)
- ? m[i - 1][j - 1]
- : Math.min(
- m[i - 1][j - 1] + 1,
- m[i][j - 1] + 1,
- m[i - 1][j] + 1
- );
- }
- }
- return m[b.length][a.length];
- },
-
- levenshteinSimilarity: function (a, b) {
- var d = StringUtil.levenshteinDistance(a, b);
- var l = Math.max(a.length, b.length);
-
- return l === 0 ? 1.0 : 1.0 - d / l;
- },
-
- padLeft: function (str, len, char) {
- var i = str.length;
- while (i < len) {
- str = char + str;
- i++;
- }
- return str;
- },
-
- padRight: function (str, len, char) {
- var i = str.length;
- while (i < len) {
- str = str + char;
- i++;
- }
- return str;
- },
-
- padZeros: function (str, len) {
- return StringUtil.padLeft(String(str), len, '0');
- },
-
- render: function (str, data, placeholderStart, placeholderEnd) {
- var pattern =
- (placeholderStart || '{{') +
- '[\\s]*([a-zA-Z0-9\\-\\_]+){1}[\\s]*' +
- (placeholderEnd || '}}');
- var regex = new RegExp(pattern, 'g');
- var matches = Array.from(str.matchAll(regex));
- var occurrence, replacement;
- data = data || {};
- matches.forEach(function (match) {
- occurrence = match[0];
- replacement = data[match[1]];
- if (TypeUtil.isNone(replacement)) {
- replacement = '';
- }
- str = StringUtil.replace(str, occurrence, replacement);
- });
- return str;
- },
-
- replace: function (str, occurrence, replacement, caseSensitive) {
- var pattern = occurrence.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
- var flags = caseSensitive === false ? 'gi' : 'g';
- var regex = new RegExp(pattern, flags);
- return str.replace(regex, String(replacement));
- },
-
- reverse: function (str) {
- var chars = str.split('');
- chars.reverse();
- return chars.join('');
- },
-
- rotate: function (str, count) {
- var chars = str.split('');
- chars = ArrayUtil.rotate(chars, count);
- return chars.join('');
- },
-
- slugify: function (str) {
- var sep = '-';
- // prettier-ignore
- var chars = {
- // Latin
- 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE',
- 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I',
- 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O',
- 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U',
- 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'ß': 'ss', 'à': 'a', 'á': 'a',
- 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', 'è': 'e',
- 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', 'ï': 'i',
- 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o',
- 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', 'ű': 'u',
- 'ý': 'y', 'þ': 'th', 'ÿ': 'y', 'ẞ': 'SS', 'œ': 'oe', 'Œ': 'OE',
- // Greek
- 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h',
- 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3',
- 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f',
- 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o',
- 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y',
- 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z',
- 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N',
- 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y',
- 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I',
- 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y',
- // Turkish
- 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ğ': 'g', 'Ğ': 'G',
- // Russian
- 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo',
- 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm',
- 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u',
- 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': 'u',
- 'ы': 'y', 'э': 'e', 'ю': 'yu', 'я': 'ya', 'А': 'A', 'Б': 'B',
- 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', 'Ж': 'Zh', 'З': 'Z',
- 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', 'Н': 'N', 'О': 'O',
- 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', 'Ф': 'F', 'Х': 'H',
- 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': 'U', 'Ы': 'Y',
- 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya',
- // Ukranian
- 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G',
- 'є': 'ye', 'і': 'i', 'ї': 'yi', 'ґ': 'g',
- // Czech
- 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's',
- 'ť': 't', 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E',
- 'Ň': 'N', 'Ř': 'R', 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z',
- // Polish
- 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ś': 's',
- 'ź': 'z', 'ż': 'z', 'Ą': 'A', 'Ć': 'C', 'Ę': 'e', 'Ł': 'L',
- 'Ń': 'N', 'Ś': 'S', 'Ź': 'Z', 'Ż': 'Z',
- // Latvian
- 'ā': 'a', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l',
- 'ņ': 'n', 'ū': 'u', 'Ā': 'A', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'i',
- 'Ķ': 'k', 'Ļ': 'L', 'Ņ': 'N', 'Ū': 'u'
- };
-
- // transliterate non-english characters for their english equivalent
- for (var i = 0, len = str.length; i < len; i++) {
- if (chars[str.charAt(i)]) {
- str = str.replace(str.charAt(i), chars[str.charAt(i)]);
- }
- }
-
- str = str.toLowerCase();
- str = str.replace(/[^a-z0-9]/gm, sep);
- // replace multiple sep with single sep
- str = str.replace(/[\-]+/gm, sep);
- // strip sep from the beginning and from the end
- str = str.replace(/^[\-]|[\-]$/gm, '');
- return str;
- },
-
- startsWith: function (str, search) {
- // if (String.prototype.startsWith) {
- // return str.startsWith(search);
- // }
- return str.substr(0, search.length) === search;
- },
-
- toConstantCase: function (str) {
- return str.replace(/[\s]/gm, '_').toUpperCase();
- },
-
- toRandomCase: function (str) {
- return str.replace(/./gm, function (match) {
- return RandomUtil.boolean() ? match.toUpperCase() : match.toLowerCase();
- });
- },
-
- toTitleCase: function (str, toLowerCaseRest) {
- return str.replace(/[^\'\‘\’\`\-\s]+/gm, function (match) {
- return StringUtil.toUpperCaseFirst(match, toLowerCaseRest);
- });
- },
-
- toUpperCaseFirst: function (str, toLowerCaseRest) {
- if (str.length === 0) {
- return str;
- }
- var f = str.substr(0, 1).toUpperCase();
- var r = str.length > 1 ? str.substr(1) : '';
- return f + (toLowerCaseRest === true ? r.toLowerCase() : r);
- },
-
- trim: function (str) {
- // return str.replace(/^[\s]+|(? TrigoUtil.DEG_180) {
- return -TrigoUtil.DEG_360 + degDiff;
- } else if (degDiff < -TrigoUtil.DEG_180) {
- return TrigoUtil.DEG_360 + degTo;
- } else {
- return degTo;
- }
- },
-
- haversine: function (lat1, lon1, lat2, lon2, km) {
- var degToRad = TrigoUtil.degToRad;
- var lat1Rad = degToRad(lat1);
- var lon1Rad = degToRad(lon1);
- var lat2Rad = degToRad(lat2);
- var lon2Rad = degToRad(lon2);
- var latDist = lat2Rad - lat1Rad;
- var lonDist = lon2Rad - lon1Rad;
- // prettier-ignore
- var a = Math.sin(latDist / 2.0) * Math.sin(latDist / 2.0) +
- Math.cos(lat1Rad) * Math.cos(lat2Rad) *
- Math.sin(lonDist / 2.0) * Math.sin(lonDist / 2.0);
- var c = Math.atan2(Math.sqrt(a), Math.sqrt(1.0 - a)) * 2.0;
- var r; // earth radius
- if (km === false) {
- r = 3956; // miles
- } else {
- r = 6371; // km
- }
- var distance = MathUtil.roundDecimals(r * c, 3);
- return distance;
- },
-
- hypo: function (distanceX, distanceY) {
- return Math.sqrt(distanceX * distanceX + distanceY * distanceY);
- },
-
- radToDeg: function (rad) {
- return rad * TrigoUtil.RAD_TO_DEG;
- },
-
- sinDeg: function (deg) {
- return Math.sin(deg * TrigoUtil.DEG_TO_RAD);
- },
-
- tanDeg: function (deg) {
- return Math.tan(deg * TrigoUtil.DEG_TO_RAD);
- },
-};
diff --git a/src/utils/TypeUtil.js b/src/utils/TypeUtil.js
deleted file mode 100644
index 9e0b133..0000000
--- a/src/utils/TypeUtil.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/** global: Base64Util */
-/** global: JSONUtil */
-/** global: ObjectUtil */
-/** global: TypeUtil */
-/** global: URLUtil */
-
-TypeUtil = {
- ARRAY: 'array',
- BOOLEAN: 'boolean',
- DATE: 'date',
- ERROR: 'error',
- FUNCTION: 'function',
- NAN: 'nan',
- NUMBER: 'number',
- NULL: 'null',
- OBJECT: 'object',
- REGEXP: 'regexp',
- STRING: 'string',
- UNDEFINED: 'undefined',
- UNKNOWN: 'unknown',
- // XML: 'xml',
-
- isArray: function (val) {
- // https://stackoverflow.com/questions/4775722/check-if-object-is-array
- if (Array.isArray) {
- return Array.isArray(val);
- }
- return Object.prototype.toString.call(val) === '[object Array]';
- },
-
- isBase64: function (val) {
- if (TypeUtil.isString(val)) {
- try {
- if (Base64Util.decode(val) !== '') {
- return true;
- }
- } catch (e) {
- // value is not valid base64 data
- }
- }
- return false;
- },
-
- isBoolean: function (val) {
- return typeof val === 'boolean';
- },
-
- isDate: function (val) {
- return Object.prototype.toString.call(val) === '[object Date]';
- },
-
- isError: function (val) {
- return val instanceof Error;
- },
-
- isFunction: function (val) {
- return typeof val === 'function';
- },
-
- isJSON: function (val) {
- if (TypeUtil.isString(val)) {
- try {
- JSONUtil.decode(val);
- return true;
- } catch (e) {
- // value is not valid json data
- }
- }
- return false;
- },
-
- isNaN: function (val) {
- return ObjectUtil.is(val, NaN);
- },
-
- isNone: function (val) {
- return TypeUtil.isUndefined(val) || TypeUtil.isNull(val) || TypeUtil.isNaN(val);
- },
-
- isNumber: function (val) {
- return typeof val === 'number' && !isNaN(val) && isFinite(val);
- },
-
- isNull: function (val) {
- return val === null;
- },
-
- isObject: function (val) {
- return (
- typeof val === 'object' &&
- Object.prototype.toString.call(val) === '[object Object]'
- );
- },
-
- isRegExp: function (val) {
- return val instanceof RegExp;
- },
-
- isString: function (val) {
- return typeof val === 'string';
- },
-
- isType: function (val) {
- switch (val) {
- case TypeUtil.ARRAY:
- case TypeUtil.BOOLEAN:
- case TypeUtil.DATE:
- case TypeUtil.ERROR:
- case TypeUtil.FUNCTION:
- case TypeUtil.NAN:
- case TypeUtil.NUMBER:
- case TypeUtil.NULL:
- case TypeUtil.OBJECT:
- case TypeUtil.REGEXP:
- case TypeUtil.STRING:
- case TypeUtil.UNDEFINED:
- case TypeUtil.UNKNOWN:
- // case TypeUtil.XML:
- return true;
- default:
- return false;
- }
- },
-
- isUndefined: function (val) {
- return typeof val === 'undefined';
- },
-
- // isXML: function(val) {
- // // TODO
- // return false;
- // },
-
- of: function (val) {
- if (TypeUtil.isArray(val)) {
- return TypeUtil.ARRAY;
- } else if (TypeUtil.isBoolean(val)) {
- return TypeUtil.BOOLEAN;
- } else if (TypeUtil.isDate(val)) {
- return TypeUtil.DATE;
- } else if (TypeUtil.isError(val)) {
- return TypeUtil.ERROR;
- } else if (TypeUtil.isFunction(val)) {
- return TypeUtil.FUNCTION;
- } else if (TypeUtil.isNaN(val)) {
- return TypeUtil.NAN;
- } else if (TypeUtil.isNumber(val)) {
- return TypeUtil.NUMBER;
- } else if (TypeUtil.isNull(val)) {
- return TypeUtil.NULL;
- } else if (TypeUtil.isRegExp(val)) {
- return TypeUtil.REGEXP;
- } else if (TypeUtil.isString(val)) {
- return TypeUtil.STRING;
- } else if (TypeUtil.isUndefined(val)) {
- return TypeUtil.UNDEFINED;
- }
- // else if (TypeUtil.isXML(val)) {
- // return TypeUtil.XML;
- // }
- else if (TypeUtil.isObject(val)) {
- return TypeUtil.OBJECT;
- } else {
- return TypeUtil.UNKNOWN;
- }
- },
-};
diff --git a/src/utils/URLUtil.js b/src/utils/URLUtil.js
deleted file mode 100644
index 370456a..0000000
--- a/src/utils/URLUtil.js
+++ /dev/null
@@ -1,100 +0,0 @@
-/** global: URLUtil */
-
-URLUtil = {
- getDomain: function (url, level) {
- url = url || URLUtil.getURL();
- // remove protocol, www and port
- let domain = url.replace(/(^\w+:|^)\/\/(www\.)?/, '');
- domain = domain.split(':')[0];
- if (!level) {
- return domain;
- }
- let parts = domain.split('.');
- if (level > parts.length || level <= 0) {
- return '';
- }
- let domainName = parts[parts.length - level];
- return domainName;
- },
-
- getParameterByName: function (url, name, defaultValue) {
- var paramsDict = URLUtil.getParameters(url);
- return name in paramsDict
- ? paramsDict[name] || defaultValue || ''
- : defaultValue;
- },
-
- getParameters: function (url) {
- return URLUtil.getParametersDict(url);
- },
-
- getParametersDict: function (url) {
- var paramsList = URLUtil.getParametersList(url);
- var param;
- var paramsDict = {};
- for (var i = 0, j = paramsList.length; i < j; i++) {
- param = paramsList[i];
- paramsDict[param['key']] = param['value'];
- }
- return paramsDict;
- },
-
- getParametersList: function (url) {
- var paramsString = URLUtil.getParametersString(url);
- var paramsList = [];
- var paramsRE = /(([\w\-]+){1}(\=([^\&\n\r\t]*){1})?)/g;
- var paramMatch = paramsRE.exec(paramsString);
- while (paramMatch) {
- paramsList.push({
- key: paramMatch[2],
- value: decodeURIComponent(paramMatch[4] || ''),
- });
- paramMatch = paramsRE.exec(paramsString);
- }
- return paramsList;
- },
-
- getParametersString: function (url) {
- url = url || URLUtil.getURL();
- var queryStringPosition = url.indexOf('?');
- // prettier-ignore
- var queryString = (queryStringPosition > -1 ? url.substr(queryStringPosition + 1) : '');
- var hashDelimiterPosition = queryString.indexOf('#');
- if (hashDelimiterPosition > -1) {
- queryString = queryString.substring(0, hashDelimiterPosition);
- }
- return queryString;
- },
-
- getURL: function () {
- var url = '';
- try {
- url = window.location.href;
- } catch (e) {
- // catch exception if not running in browser
- }
- return url;
- },
-
- hasParameter: function (url, name) {
- return name in URLUtil.getParametersDict(url);
- },
-
- isFile: function (url) {
- return (url || URLUtil.getURL()).indexOf('file://') === 0;
- },
-
- isHttp: function (url) {
- return (url || URLUtil.getURL()).indexOf('http://') === 0;
- },
-
- isHttps: function (url) {
- return (url || URLUtil.getURL()).indexOf('https://') === 0;
- },
-
- isLocalhost: function (url) {
- var re =
- /^(https?\:\/\/)(localhost(.[a-z0-9\-])*|127\.0\.0\.1)(\:[\d]+)?(\/(.)*)?$/;
- return re.test(url || URLUtil.getURL());
- },
-};
diff --git a/src/utils/UTF8Util.js b/src/utils/UTF8Util.js
deleted file mode 100644
index 95ed019..0000000
--- a/src/utils/UTF8Util.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/** global: UTF8Util */
-
-UTF8Util = {
- decode: function (input) {
- return decodeURIComponent(escape(input));
-
- // var output = '';
- // var i = 0;
- // var j = input.length;
- // var c, c1, c2;
-
- // while (i < j)
- // {
- // c = input.charCodeAt(i);
-
- // if (c < 128) {
- // output += String.fromCharCode(c);
- // i++;
- // }
- // else if((c > 191) && (c < 224)) {
- // c2 = input.charCodeAt(i + 1);
- // output += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
- // i += 2;
- // }
- // else {
- // c2 = input.charCodeAt(i + 1);
- // c3 = input.charCodeAt(i + 2);
- // output += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
- // i += 3;
- // }
- // }
-
- // return output;
- },
-
- encode: function (input) {
- return unescape(encodeURIComponent(input));
-
- // input = input.replace(/\r\n/g, '\n');
-
- // var output = '';
- // var i = 0;
- // var j = input.length;
- // var c;
-
- // for (i; i < j; i++)
- // {
- // c = input.charCodeAt(i);
- // if (c < 128) {
- // output += String.fromCharCode(c);
- // }
- // else if ((c > 127) && (c < 2048)) {
- // output += String.fromCharCode((c >> 6) | 192);
- // output += String.fromCharCode((c & 63) | 128);
- // }
- // else {
- // output += String.fromCharCode((c >> 12) | 224);
- // output += String.fromCharCode(((c >> 6) & 63) | 128);
- // output += String.fromCharCode((c & 63) | 128);
- // }
- // }
-
- // return output;
- },
-};
diff --git a/src/utils/XMLUtil.js b/src/utils/XMLUtil.js
deleted file mode 100644
index 0b391a3..0000000
--- a/src/utils/XMLUtil.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/** global: XMLUtil */
-
-XMLUtil = {
- // decode: function(str) {
- // // https://stackoverflow.com/questions/17604071/parse-xml-using-javascript
- // var doc = null;
- // try {
- // if (window.DOMParser) {
- // parser = new DOMParser();
- // doc = parser.parseFromString(str, 'text/xml');
- // } else {
- // // Internet Explorer
- // doc = new ActiveXObject('Microsoft.XMLDOM');
- // doc.async = false;
- // doc.loadXML(str);
- // }
- // } catch(e) {
- // }
- // return doc;
- // },
-
- // encode: function(doc) {
- // var ser = new XMLSerializer();
- // var str = ser.serializeToString(doc);
- // return str;
- // },
-
- removeNamespaces: function (str) {
- return str.replace(/(\<(.|\n)+?\>)/g, function (tag) {
- return tag.replace(/(\s|\<\/?){1}([\w]+\:){1}/g, '$1');
- });
- },
-};
diff --git a/src/utils/array.js b/src/utils/array.js
new file mode 100644
index 0000000..4df8d37
--- /dev/null
+++ b/src/utils/array.js
@@ -0,0 +1,360 @@
+import DateUtil from './date.js';
+import FuncUtil from './func.js';
+import MathUtil from './math.js';
+import ObjectUtil from './object.js';
+import RandomUtil from './random.js';
+import StringUtil from './string.js';
+import TypeUtil from './type.js';
+
+function all(list) {
+ return list.every((item) => {
+ switch (TypeUtil.of(item)) {
+ case TypeUtil.ARRAY:
+ return item.length > 0;
+ case TypeUtil.OBJECT:
+ return ObjectUtil.length(item) > 0;
+ default:
+ return Boolean(item);
+ }
+ });
+}
+
+function any(list) {
+ return list.some((item) => {
+ switch (TypeUtil.of(item)) {
+ case TypeUtil.ARRAY:
+ return item.length > 0;
+ case TypeUtil.OBJECT:
+ return ObjectUtil.length(item) > 0;
+ default:
+ return Boolean(item);
+ }
+ });
+}
+
+function clean(list, hard) {
+ let items = list.slice();
+ items = items.filter((item) => {
+ return !TypeUtil.isNone(item);
+ });
+ if (hard === true) {
+ items = items
+ .map((item) => {
+ let itemClean;
+ switch (TypeUtil.of(item)) {
+ case TypeUtil.ARRAY:
+ itemClean = clean(item, hard);
+ return itemClean.length > 0 ? itemClean : null;
+ case TypeUtil.OBJECT:
+ itemClean = ObjectUtil.clean(item, hard);
+ return ObjectUtil.length(itemClean) > 0 ? itemClean : null;
+ case TypeUtil.STRING:
+ itemClean = StringUtil.trim(item);
+ return itemClean !== '' ? item : null;
+ default:
+ return item;
+ }
+ })
+ .filter((item) => {
+ return !TypeUtil.isNone(item);
+ });
+ }
+ return items;
+}
+
+function clone(list) {
+ const cln = list.slice();
+ let val;
+ for (let i = 0, j = cln.length; i < j; i++) {
+ val = cln[i];
+ switch (TypeUtil.of(val)) {
+ case TypeUtil.ARRAY:
+ cln[i] = clone(val);
+ break;
+ case TypeUtil.DATE:
+ cln[i] = DateUtil.clone(val);
+ break;
+ case TypeUtil.OBJECT:
+ cln[i] = ObjectUtil.clone(val);
+ break;
+ default:
+ break;
+ }
+ }
+ return cln;
+}
+
+function contains(list, value, ...otherValues) {
+ const values = [value].concat(otherValues);
+ let val, valFound;
+
+ for (let i = 0, j = values.length; i < j; i++) {
+ val = values[i];
+ valFound = false;
+ for (let k = 0, m = list.length; k < m; k++) {
+ if (ObjectUtil.equals(list[k], val)) {
+ valFound = true;
+ }
+ }
+ if (!valFound) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+function equals(listA, listB) {
+ return ObjectUtil.equals(listA, listB);
+}
+
+function flatten(list) {
+ const items = [];
+ for (let i = 0, j = list.length; i < j; i++) {
+ if (TypeUtil.isArray(list[i])) {
+ items.push(...flatten(list[i]));
+ } else {
+ items.push(list[i]);
+ }
+ }
+ return items;
+}
+
+function index(list, keys, flat) {
+ const dict = {};
+ let item;
+ let key;
+ let val;
+
+ if (TypeUtil.isString(keys)) {
+ keys = [keys];
+ }
+
+ for (let i = 0, j = list.length; i < j; i++) {
+ item = list[i];
+
+ for (let m = 0, n = keys.length; m < n; m++) {
+ key = String(keys[m]);
+ val = String(item[key]);
+
+ if (flat === true) {
+ dict[val] = item;
+ } else {
+ if (TypeUtil.isUndefined(dict[val])) {
+ dict[val] = [];
+ }
+ dict[val].push(item);
+ }
+ }
+ }
+
+ return dict;
+}
+
+function insert(list, index, item) {
+ list.splice(index, 0, item);
+ return list;
+}
+
+function max(list, callback) {
+ return reduce(
+ list,
+ (a, b) => {
+ if (TypeUtil.isFunction(callback)) {
+ return Math.max(a, callback(b));
+ }
+ return Math.max(a, b);
+ },
+ Number.MIN_VALUE
+ );
+}
+
+function min(list, callback) {
+ return reduce(
+ list,
+ (a, b) => {
+ if (TypeUtil.isFunction(callback)) {
+ return Math.min(a, callback(b));
+ }
+ return Math.min(a, b);
+ },
+ Number.MAX_VALUE
+ );
+}
+
+function paginate(list, itemsPerPage) {
+ const itemsTotal = list.length;
+ const pagesTotal = itemsPerPage > 0 ? Math.ceil(itemsTotal / itemsPerPage) : 0;
+ const pages = [];
+ let i, j;
+ for (i = 0, j = 0; i < pagesTotal; i++) {
+ j = i * itemsPerPage;
+ pages[i] = list.slice(j, j + Math.min(itemsPerPage, itemsTotal));
+ }
+ return pages;
+}
+
+function reduce(list, reducer, initialValue) {
+ let value = TypeUtil.isUndefined(initialValue) ? 0 : initialValue;
+ for (let i = 0, j = list.length; i < j; i++) {
+ value = reducer(value, list[i], i, list);
+ }
+ return value;
+}
+
+function replace(list, searchValue, replacementValue) {
+ for (let i = 0, j = list.length; i < j; i++) {
+ if (ObjectUtil.equals(list[i], searchValue)) {
+ list[i] = replacementValue;
+ }
+ }
+ return list;
+}
+
+function remove(list, value, ...otherValues) {
+ const values = [value].concat(otherValues);
+ for (let k = 0, m = values.length; k < m; k++) {
+ for (let i = 0, j = list.length; i < j; i++) {
+ if (ObjectUtil.equals(list[i], values[k])) {
+ list.splice(i, 1);
+ i--;
+ j--;
+ }
+ }
+ }
+ return list;
+}
+
+function rotate(list, count) {
+ const cursor = MathUtil.cycle(count, list.length);
+ return list.slice(cursor).concat(list.slice(0, cursor));
+}
+
+function shuffle(list) {
+ const items = list.slice();
+ let randomIndex;
+ let randomItems;
+ let sortedItems = list.length;
+ while (sortedItems) {
+ randomIndex = RandomUtil.integer(0, --sortedItems);
+ randomItems = items.splice(randomIndex, 1);
+ items.push(...randomItems);
+ }
+ return items;
+}
+
+function sort(list, key) {
+ const isArray = TypeUtil.isArray;
+ const isObject = TypeUtil.isObject;
+ const isNumber = TypeUtil.isNumber;
+ const isString = TypeUtil.isString;
+
+ const compare = (a, b) => {
+ let aVal;
+ let bVal;
+
+ if (isObject(a) && isObject(b) && isString(key)) {
+ // comparing objects
+ aVal = key in a ? a[key] : a;
+ bVal = key in b ? b[key] : b;
+ } else if (isArray(a) && isArray(b) && isNumber(key)) {
+ // comparing arrays
+ const index = key;
+ aVal = index >= 0 && index < a.length ? a[index] : a;
+ bVal = index >= 0 && index < b.length ? b[index] : b;
+ } else {
+ aVal = a;
+ bVal = b;
+ }
+
+ const aValIsNum = isNumber(aVal);
+ const bValIsNum = isNumber(bVal);
+
+ if (aValIsNum && bValIsNum) {
+ return aVal <= bVal ? -1 : 1;
+ } else if (aValIsNum) {
+ return -1;
+ } else if (bValIsNum) {
+ return 1;
+ } else {
+ const ab = [aVal, bVal];
+ ab.sort();
+ return ab.indexOf(aVal) <= ab.indexOf(bVal) ? -1 : 1;
+ }
+ };
+
+ return list.sort(compare);
+}
+
+function sum(list, callback) {
+ return reduce(
+ list,
+ (a, b) => {
+ if (TypeUtil.isFunction(callback)) {
+ return a + callback(b);
+ }
+ return a + b;
+ },
+ 0
+ );
+}
+
+function unique(list) {
+ let item;
+ const items = [];
+ const itemsNotEquals = (itemUnique) => {
+ return !ObjectUtil.equals(item, itemUnique);
+ };
+ for (let i = 0, j = list.length; i < j; i++) {
+ item = list[i];
+ if (items.every(itemsNotEquals)) {
+ items.push(item);
+ }
+ }
+ return items;
+}
+
+function unzip(list) {
+ return zip.apply(null, list);
+}
+
+function zip(list1, list2, ...otherLists) {
+ const lists = [list1, list2].concat(otherLists);
+ let listLength = 0;
+ lists.forEach((item) => {
+ listLength = listLength === 0 ? item.length : Math.min(listLength, item.length);
+ });
+ const list = [];
+ for (let i = 0; i < listLength; i++) {
+ list[i] = [];
+ for (let j = 0, k = lists.length; j < k; j++) {
+ list[i][j] = lists[j][i];
+ }
+ }
+ return list;
+}
+
+export default {
+ all,
+ any,
+ clean,
+ clone,
+ contains,
+ equals,
+ flatten,
+ index,
+ insert,
+ max,
+ min,
+ paginate,
+ reduce,
+ replace,
+ remove,
+ rotate,
+ shuffle,
+ sort,
+ sum,
+ unique,
+ unzip,
+ zip,
+};
diff --git a/src/utils/base64.js b/src/utils/base64.js
new file mode 100644
index 0000000..807d27a
--- /dev/null
+++ b/src/utils/base64.js
@@ -0,0 +1,98 @@
+import UTF8Util from './utf8.js';
+
+const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+// prettier-ignore
+const CHARS_LIST = [
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '='
+];
+// prettier-ignore
+const CHARS_TABLE = {
+ 'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8, 'J': 9, 'K': 10, 'L': 11, 'M': 12,
+ 'N': 13, 'O': 14, 'P': 15, 'Q': 16, 'R': 17, 'S': 18, 'T': 19, 'U': 20, 'V': 21, 'W': 22, 'X': 23, 'Y': 24, 'Z': 25,
+ 'a': 26, 'b': 27, 'c': 28, 'd': 29, 'e': 30, 'f': 31, 'g': 32, 'h': 33, 'i': 34, 'j': 35, 'k': 36, 'l': 37, 'm': 38,
+ 'n': 39, 'o': 40, 'p': 41, 'q': 42, 'r': 43, 's': 44, 't': 45, 'u': 46, 'v': 47, 'w': 48, 'x': 49, 'y': 50, 'z': 51,
+ '0': 52, '1': 53, '2': 54, '3': 55, '4': 56, '5': 57, '6': 58, '7': 59, '8': 60, '9': 61, '+': 62, '/': 63, '=': 64
+};
+
+function decode(str) {
+ const input = str.replace(/[^A-Za-z0-9\+\/\=]/g, '');
+ let output = '';
+
+ try {
+ output = window.atob(input);
+ } catch (e) {
+ const chars = CHARS_TABLE;
+ let chr1, chr2, chr3;
+ let enc1, enc2, enc3, enc4;
+
+ let i = 0;
+ const j = input.length;
+
+ while (i < j) {
+ enc1 = chars[input.charAt(i++)];
+ enc2 = chars[input.charAt(i++)];
+ enc3 = chars[input.charAt(i++)];
+ enc4 = chars[input.charAt(i++)];
+
+ chr1 = (enc1 << 2) | (enc2 >> 4);
+ chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
+ chr3 = ((enc3 & 3) << 6) | enc4;
+
+ output += String.fromCharCode(chr1);
+
+ if (enc3 !== 64) {
+ output += String.fromCharCode(chr2);
+ }
+ if (enc4 !== 64) {
+ output += String.fromCharCode(chr3);
+ }
+ }
+ }
+
+ output = UTF8Util.decode(output);
+ return output;
+}
+
+function encode(str) {
+ const input = UTF8Util.encode(str);
+ let output = '';
+
+ try {
+ output = window.btoa(input);
+ } catch (e) {
+ const chars = CHARS_LIST;
+ let chr1, chr2, chr3;
+ let enc1, enc2, enc3, enc4;
+
+ let i = 0;
+ const j = input.length;
+
+ while (i < j) {
+ chr1 = input.charCodeAt(i++);
+ chr2 = input.charCodeAt(i++);
+ chr3 = input.charCodeAt(i++);
+
+ enc1 = chr1 >> 2;
+ enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
+ enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
+ enc4 = chr3 & 63;
+
+ if (isNaN(chr2)) {
+ enc3 = enc4 = 64;
+ } else if (isNaN(chr3)) {
+ enc4 = 64;
+ }
+
+ // output += (chars.charAt(enc1) + chars.charAt(enc2) + chars.charAt(enc3) + chars.charAt(enc4));
+ output += chars[enc1] + chars[enc2] + chars[enc3] + chars[enc4];
+ }
+ }
+
+ return output;
+}
+
+export default { decode, encode };
diff --git a/src/utils/color.js b/src/utils/color.js
new file mode 100644
index 0000000..819c05f
--- /dev/null
+++ b/src/utils/color.js
@@ -0,0 +1,47 @@
+import CMYKColorUtil from './color/cmyk.js';
+import HexColorUtil from './color/hex.js';
+import RGBColorUtil from './color/rgb.js';
+
+export default {
+ cmyk: CMYKColorUtil,
+ // cmykToGrayscale: CMYKColorUtil.toGrayscale,
+ cmykToHex: CMYKColorUtil.toHex,
+ // cmykToHsl: CMYKColorUtil.toHsl,
+ // cmykToHsv: CMYKColorUtil.toHsv,
+ cmykToRgb: CMYKColorUtil.toRgb,
+
+ // grayscale: GrayscaleColorUtil,
+ // grayscaleToGrayscale: GrayscaleColorUtil.toGrayscale,
+ // grayscaleToHex: GrayscaleColorUtil.toHex,
+ // grayscaleToHsl: GrayscaleColorUtil.toHsl,
+ // grayscaleToHsv: GrayscaleColorUtil.toHsv,
+ // grayscaleToRgb: GrayscaleColorUtil.toRgb,
+
+ hex: HexColorUtil,
+ hexToCmyk: HexColorUtil.toCmyk,
+ // hexToGrayscale: HexColorUtil.toGrayscale,
+ // hexToHsl: HexColorUtil.toHsl,
+ // hexToHsv: HexColorUtil.toHsv,
+ hexToRgb: HexColorUtil.toRgb,
+
+ // hsl: HSLColorUtil,
+ // hslToGrayscale: HSLColorUtil.toGrayscale,
+ // hslToHex: HSLColorUtil.toHex,
+ // hslToHsl: HSLColorUtil.toHsl,
+ // hslToHsv: HSLColorUtil.toHsv,
+ // hslToRgb: HSLColorUtil.toRgb,
+
+ // hsv: HSVColorUtil,
+ // hsvToGrayscale: HSVColorUtil.toGrayscale,
+ // hsvToHex: HSVColorUtil.toHex,
+ // hsvToHsl: HSVColorUtil.toHsl,
+ // hsvToHsv: HSVColorUtil.toHsv,
+ // hsvToRgb: HSVColorUtil.toRgb,
+
+ rgb: RGBColorUtil,
+ rgbToCmyk: RGBColorUtil.toCmyk,
+ // rgbToGrayscale: RGBColorUtil.toGrayscale,
+ rgbToHex: RGBColorUtil.toRgb,
+ // rgbToHsl: RGBColorUtil.toHsl,
+ // rgbToHsv: RGBColorUtil.toHsv
+};
diff --git a/src/utils/color/cmyk.js b/src/utils/color/cmyk.js
new file mode 100644
index 0000000..5184c6c
--- /dev/null
+++ b/src/utils/color/cmyk.js
@@ -0,0 +1,119 @@
+import RGBColorUtil from './rgb.js';
+
+// function average(colors) {
+// return RGBColorUtil.toCmyk(
+// RGBColorUtil.average(
+// colors.map(function(color){
+// return toRgb(color);
+// })
+// ));
+// };
+
+// function distance(colorA, colorB) {
+// return RGBColorUtil.distance(
+// toRgb(colorA),
+// toRgb(colorB));
+// };
+
+// function gradient(colors, steps) {
+// return RGBColorUtil.gradient(colors.map(function(color){
+// return toRgb(color);
+// }), steps).map(function(color){
+// return RGBColorUtil.toCmyk(color);
+// });
+// };
+
+// function gradientMatrix(colors, stepsX, stepsY) {
+// return RGBColorUtil.gradientMatrix(
+// ObjectUtil.map(colors, function(color){
+// return toRgb(color);
+// }), stepsX, stepsY).map(function(colors){
+// return colors.map(function(color){
+// return RGBColorUtil.toCmyk(color);
+// });
+// });
+// };
+
+// function interpolateBilinear(a, b, c, d, u, v) {
+// return RGBColorUtil.toCmyk(
+// RGBColorUtil.interpolateBilinear(
+// toRgb(a),
+// toRgb(b),
+// toRgb(c),
+// toRgb(d), u, v));
+// };
+
+// function interpolateLinear(colorFrom, colorTo, t) {
+// return RGBColorUtil.toCmyk(
+// RGBColorUtil.interpolateLinear(
+// toRgb(colorFrom),
+// toRgb(colorTo), t));
+// };
+
+// function interpolateMultilinear(colors, t) {
+// return RGBColorUtil.toCmyk(
+// RGBColorUtil.interpolateMultilinear(
+// colors.map(function(color){
+// return toRgb(color);
+// }), t));
+// };
+
+// function nearest(colorSearch, colors) {
+// return RGBColorUtil.toCmyk(
+// RGBColorUtil.nearest(
+// toRgb(colorSearch),
+// colors.map(function(color){
+// return toRgb(color);
+// })
+// ));
+// };
+
+// function toGrayscale(color) {
+// return RGBColorUtil.toGrayscale(
+// toRgb(color));
+// };
+
+function toHex(color, prefix) {
+ return RGBColorUtil.toHex(toRgb(color), prefix);
+}
+
+// function toHsl(color) {
+// return RGBColorUtil.toHsl(
+// toRgb(color));
+// };
+
+// function toHsv(color) {
+// return RGBColorUtil.toHsv(
+// toRgb(color));
+// };
+
+function toRgb(color) {
+ const c = color.c / 100;
+ const m = color.m / 100;
+ const y = color.y / 100;
+ const k = color.k / 100;
+ const ik = 1.0 - k;
+
+ let r = 1.0 - Math.min(1.0, c * ik + k);
+ let g = 1.0 - Math.min(1.0, m * ik + k);
+ let b = 1.0 - Math.min(1.0, y * ik + k);
+
+ const round = Math.round;
+ r = round(r * 255);
+ g = round(g * 255);
+ b = round(b * 255);
+
+ return { r: r, g: g, b: b, a: 1.0 };
+}
+
+function toString(color) {
+ // prettier-ignore
+ return `{ c:${String(color.c)}, m:${String(color.m)}, y:${String(color.y)}, k:${String(color.k)} }`;
+}
+
+function toStringCSS(color) {
+ // prettier-ignore
+ return `cmyk(${String(color.c)}%, ${String(color.m)}%, ${String(color.y)}%, ${String(color.k)}%)`;
+}
+
+export default { toHex, toRgb, toString, toStringCSS };
diff --git a/src/utils/color/hex.js b/src/utils/color/hex.js
new file mode 100644
index 0000000..0389095
--- /dev/null
+++ b/src/utils/color/hex.js
@@ -0,0 +1,180 @@
+import RGBColorUtil from './rgb.js';
+import HexUtil from '../hex.js';
+import InterpolationUtil from '../interpolation.js';
+import MathUtil from '../math.js';
+import ObjectUtil from '../object.js';
+import TypeUtil from '../type.js';
+
+function average(colors) {
+ return RGBColorUtil.toHex(
+ RGBColorUtil.average(
+ colors.map((color) => {
+ return toRgb(color);
+ })
+ )
+ );
+}
+
+function distance(colorA, colorB) {
+ return RGBColorUtil.distance(toRgb(colorA), toRgb(colorB));
+}
+
+function gradient(colors, steps) {
+ return RGBColorUtil.gradient(
+ colors.map((color) => {
+ return toRgb(color);
+ }),
+ steps
+ ).map((color) => {
+ return RGBColorUtil.toHex(color);
+ });
+}
+
+function gradientMatrix(colors, stepsX, stepsY) {
+ return RGBColorUtil.gradientMatrix(
+ ObjectUtil.map(colors, (color) => {
+ return toRgb(color);
+ }),
+ stepsX,
+ stepsY
+ ).map((colors) => {
+ return colors.map((color) => {
+ return RGBColorUtil.toHex(color);
+ });
+ });
+}
+
+function interpolateBilinear(a, b, c, d, u, v) {
+ return RGBColorUtil.toHex(
+ RGBColorUtil.interpolateBilinear(toRgb(a), toRgb(b), toRgb(c), toRgb(d), u, v)
+ );
+}
+
+function interpolateLinear(colorFrom, colorTo, t) {
+ return RGBColorUtil.toHex(
+ RGBColorUtil.interpolateLinear(toRgb(colorFrom), toRgb(colorTo), t)
+ );
+}
+
+function interpolateMultilinear(colors, t) {
+ return RGBColorUtil.toHex(
+ RGBColorUtil.interpolateMultilinear(
+ colors.map((color) => {
+ return toRgb(color);
+ }),
+ t
+ )
+ );
+}
+
+function nearest(colorSearch, colors) {
+ return RGBColorUtil.toHex(
+ RGBColorUtil.nearest(
+ toRgb(colorSearch),
+ colors.map((color) => {
+ return toRgb(color);
+ })
+ )
+ );
+}
+
+function toCmyk(color) {
+ return RGBColorUtil.toCmyk(toRgb(color));
+}
+
+// function toGrayscale(color) {
+// return RGBColorUtil.toGrayscale(
+// toRgb(color));
+// };
+
+// function toHsl(color) {
+// return RGBColorUtil.toHsl(
+// toRgb(color));
+// };
+
+// function toHsv(color) {
+// return RGBColorUtil.toHsv(
+// toRgb(color));
+// };
+
+function toRgb(color) {
+ const fromHex = HexUtil.decodeInt;
+ const toHex = HexUtil.encodeInt;
+
+ let hex;
+ if (TypeUtil.isNumber(color)) {
+ hex = toHex(color);
+ } else if (TypeUtil.isString(color)) {
+ hex = color.replace(/\#|0x/, '');
+ } else {
+ return null;
+ }
+ hex = hex.toUpperCase();
+
+ let rgb;
+ let comps;
+
+ switch (hex.length) {
+ case 3:
+ // eg. #000
+ comps = /^([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})$/i.exec(hex);
+ rgb = {
+ a: 1.0,
+ r: fromHex(comps[1] + comps[1]),
+ g: fromHex(comps[2] + comps[2]),
+ b: fromHex(comps[3] + comps[3]),
+ };
+ break;
+
+ case 6:
+ // eg. #000000
+ comps = /^([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
+ rgb = {
+ a: 1.0,
+ r: fromHex(comps[1]),
+ g: fromHex(comps[2]),
+ b: fromHex(comps[3]),
+ };
+ break;
+
+ case 8:
+ // eg. #FF000000
+ comps = /^([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
+ rgb = {
+ a: MathUtil.roundDecimals(fromHex(comps[1]) / 255, 2),
+ r: fromHex(comps[2]),
+ g: fromHex(comps[3]),
+ b: fromHex(comps[4]),
+ };
+ break;
+
+ default:
+ return null;
+ }
+
+ // console.log(col, hex, rgb, comps);
+ return rgb;
+}
+
+function toString(color, prefix) {
+ return RGBColorUtil.toHex(toRgb(color), prefix);
+}
+
+function toStringCSS(color) {
+ return toString(color, '#');
+}
+
+export default {
+ average,
+ distance,
+ gradient,
+ gradientMatrix,
+ interpolateBilinear,
+ interpolateLinear,
+ interpolateMultilinear,
+ nearest,
+ toCmyk,
+ toRgb,
+ toString,
+ toStringCSS,
+};
diff --git a/src/utils/color/rgb.js b/src/utils/color/rgb.js
new file mode 100644
index 0000000..320624e
--- /dev/null
+++ b/src/utils/color/rgb.js
@@ -0,0 +1,292 @@
+import HexUtil from '../hex.js';
+import InterpolationUtil from '../interpolation.js';
+import MathUtil from '../math.js';
+
+function average(colors) {
+ let c;
+ let r = 0;
+ let g = 0;
+ let b = 0;
+ let a = 0;
+ let i = 0;
+ const j = colors.length;
+ for (i, j; i < j; i++) {
+ c = colors[i];
+ r += c.r;
+ g += c.g;
+ b += c.b;
+ a += isNaN(c.a) ? 1.0 : c.a;
+ }
+ const round = Math.round;
+ r = round(r / j);
+ g = round(g / j);
+ b = round(b / j);
+ a = round(a / j);
+ return { r: r, g: g, b: b, a: a };
+}
+
+function distance(colorA, colorB) {
+ const rDiff = colorA.r - colorB.r;
+ const gDiff = colorA.g - colorB.g;
+ const bDiff = colorA.b - colorB.b;
+ const aDiff = Math.round(
+ ((isNaN(colorA.a) ? 1.0 : colorA.a) - (isNaN(colorB.a) ? 1.0 : colorB.a)) * 255
+ );
+ return Math.sqrt(rDiff * rDiff + gDiff * gDiff + bDiff * bDiff + aDiff * aDiff);
+}
+
+function gradient(colors, steps) {
+ const colorsOutput = [];
+ let color;
+ const mlerp = interpolateMultilinear;
+ let t = 0.0;
+ const tInc = 1.0 / Math.max(1, steps - 1);
+ const tConstrain = MathUtil.constrain;
+ for (let i = 0; i < steps; i++) {
+ t = i * tInc;
+ t = tConstrain(t, 0.0, 1.0);
+ color = mlerp(colors, t);
+ colorsOutput.push(color);
+ }
+ return colorsOutput;
+}
+
+function gradientMatrix(colors, stepsX, stepsY) {
+ // colors: { top, topRight, right, bottomLeft, bottom, bottomRight, left, center };
+ // only 4 corners are required
+ let colorTopLeft = colors.topLeft;
+ let colorTop = colors.top;
+ let colorTopRight = colors.topRight;
+ let colorRight = colors.right;
+ let colorBottomLeft = colors.bottomLeft;
+ let colorBottom = colors.bottom;
+ let colorBottomRight = colors.bottomRight;
+ let colorLeft = colors.left;
+ let colorCenter = colors.center;
+ // var colorAvg = average;
+ const colorLerp = interpolateLinear;
+ const colorBerp = interpolateBilinear;
+
+ if (!colorTopLeft || !colorTopRight || !colorBottomLeft || !colorBottomRight) {
+ return null;
+ }
+ if (!colorTop) {
+ // colorTop = colorAvg([colorTopLeft, colorTopRight]);
+ colorTop = colorLerp(colorTopLeft, colorTopRight, 0.5);
+ }
+ if (!colorRight) {
+ // colorRight = colorAvg([colorBottomRight, colorTopRight]);
+ colorRight = colorLerp(colorBottomRight, colorTopRight, 0.5);
+ }
+ if (!colorBottom) {
+ // colorBottom = colorAvg([colorBottomLeft, colorBottomRight]);
+ colorBottom = colorLerp(colorBottomLeft, colorBottomRight, 0.5);
+ }
+ if (!colorLeft) {
+ // colorLeft = colorAvg([colorTopLeft, colorBottomLeft]);
+ colorLeft = colorLerp(colorTopLeft, colorBottomLeft, 0.5);
+ }
+ if (!colorCenter) {
+ // colorCenter = colorAvg([colorTop, colorLeft, colorBottom, colorRight]);
+ colorCenter = colorBerp(colorTop, colorBottom, colorLeft, colorRight, 0.5, 0.5);
+ }
+
+ const colorsTopLeft = [colorTopLeft, colorLeft, colorCenter, colorTop];
+ const colorsBottomLeft = [colorLeft, colorBottomLeft, colorBottom, colorCenter];
+ const colorsBottomRight = [colorCenter, colorBottom, colorBottomRight, colorRight];
+ const colorsTopRight = [colorTop, colorCenter, colorRight, colorTopRight];
+ const colorsRegions = [
+ [colorsTopLeft, colorsTopRight],
+ [colorsBottomLeft, colorsBottomRight],
+ ];
+ let colorsRegion;
+ let color;
+ const colorsMatrix = [];
+
+ // test
+ // var gradientTop = gradient([colorTopLeft, colorTop, colorTopRight], stepsX);
+ // var gradientLeft = gradient([colorTopLeft, colorLeft, colorBottomLeft], stepsY);
+ // var gradientBottom = gradient([colorBottomLeft, colorBottom, colorBottomRight], stepsX);
+ // var gradientRight = gradient([colorTopRight, colorRight, colorBottomRight], stepsY);
+
+ let tX, tXScaled;
+ let tY, tYScaled;
+ const tScalar = InterpolationUtil.scalar;
+
+ let x, y;
+
+ for (y = 0; y < stepsY; y++) {
+ colorsMatrix[y] = [];
+
+ tY = y / (stepsY - 1) || 0.0;
+ tYScaled = tScalar(2, tY); // 2 = colorsQuadrants.length
+
+ for (x = 0; x < stepsX; x++) {
+ tX = x / (stepsX - 1) || 0.0;
+ tXScaled = tScalar(2, tX); // 2 = colorsQuadrants[tYScaled.index].length
+
+ colorsRegion = colorsRegions[tYScaled.index][tXScaled.index];
+ colorTopLeft = colorsRegion[0];
+ colorBottomLeft = colorsRegion[1];
+ colorBottomRight = colorsRegion[2];
+ colorTopRight = colorsRegion[3];
+ color = colorBerp(
+ colorTopLeft,
+ colorBottomLeft,
+ colorTopRight,
+ colorBottomRight,
+ tYScaled.t,
+ tXScaled.t
+ );
+ colorsMatrix[y][x] = color;
+
+ // test
+ // colorsMatrix[y][stepsX - 1] = gradientRight[y];
+ // colorsMatrix[y][0] = gradientLeft[y];
+ }
+
+ // test
+ // colorsMatrix[y][stepsX - 1] = gradientRight[y];
+ // colorsMatrix[y][0] = gradientLeft[y];
+ }
+
+ return colorsMatrix;
+}
+
+function interpolateBilinear(
+ colorTopLeft,
+ colorBottomLeft,
+ colorTopRight,
+ colorBottomRight,
+ ty,
+ tx
+) {
+ const lerp = interpolateLinear;
+ return lerp(
+ lerp(colorTopLeft, colorBottomLeft, ty),
+ lerp(colorTopRight, colorBottomRight, ty),
+ tx
+ );
+}
+
+function interpolateLinear(colorFrom, colorTo, t) {
+ const lerp = InterpolationUtil.linear;
+ const round = Math.round;
+ return {
+ r: round(lerp(colorFrom.r, colorTo.r, t)),
+ g: round(lerp(colorFrom.g, colorTo.g, t)),
+ b: round(lerp(colorFrom.b, colorTo.b, t)),
+ a: round(
+ lerp(
+ isNaN(colorFrom.a) ? 1.0 : colorFrom.a,
+ isNaN(colorTo.a) ? 1.0 : colorTo.a,
+ t
+ )
+ ),
+ };
+}
+
+function interpolateMultilinear(colors, t) {
+ const s = InterpolationUtil.scalar(colors.length - 1, t);
+ const i = s.index;
+ return interpolateLinear(colors[i], colors[i + 1], s.t);
+}
+
+function nearest(colorSearch, colors) {
+ const calcDistance = distance;
+ let tempDistance;
+ let nearestDistance =
+ calcDistance({ r: 0, g: 0, b: 0 }, { r: 255, g: 255, b: 255 }) + 1.0;
+ let nearestColor = null;
+ for (let i = 0, j = colors.length; i < j; i++) {
+ tempDistance = calcDistance(colorSearch, colors[i]);
+ if (tempDistance < nearestDistance) {
+ nearestDistance = tempDistance;
+ nearestColor = colors[i];
+ }
+ }
+ return nearestColor;
+}
+
+function toCmyk(color) {
+ const r = color.r / 255;
+ const g = color.g / 255;
+ const b = color.b / 255;
+
+ const ir = 1.0 - r;
+ const ig = 1.0 - g;
+ const ib = 1.0 - b;
+ let k = Math.min(ir, ig, ib);
+ const ik = 1.0 - k;
+
+ let c = k < 1.0 ? (ir - k) / ik : 0;
+ let m = k < 1.0 ? (ig - k) / ik : 0;
+ let y = k < 1.0 ? (ib - k) / ik : 0;
+
+ c *= 100;
+ m *= 100;
+ y *= 100;
+ k *= 100;
+
+ const round = Math.round;
+ c = round(c);
+ m = round(m);
+ y = round(y);
+ k = round(k);
+
+ return { c: c, m: m, y: y, k: k };
+}
+
+// function toGrayscale(color, algorithm) {
+// // TODO
+// // http://cadik.posvete.cz/color_to_gray_evaluation/
+// };
+
+function toHex(color, prefix) {
+ const a = isNaN(color.a) ? null : color.a;
+ const r = isNaN(color.r) ? 0 : color.r;
+ const g = isNaN(color.g) ? 0 : color.g;
+ const b = isNaN(color.b) ? 0 : color.b;
+ const hex = HexUtil.encodeInt;
+ return String(
+ (prefix || '#') +
+ (a === null || a >= 1.0 ? '' : hex(a * 255)) +
+ hex(r) +
+ hex(g) +
+ hex(b)
+ );
+}
+
+// function toHsl(color) {
+// // TODO
+// };
+
+// function toHsv(color) {
+// // TODO
+// // https://gist.github.com/felipesabino/5066336/revisions
+// };
+
+function toString(color) {
+ // prettier-ignore
+ return `{ r:${String(color.r)}, g:${String(color.g)}, b:${String(color.b)}, a:${String(isNaN(color.a) ? 1.0 : color.a)} }`;
+}
+
+function toStringCSS(color) {
+ // prettier-ignore
+ return `rgba(${String(color.r)}, ${String(color.g)}, ${String(color.b)}, ${String(isNaN(color.a) ? 1.0 : color.a)})`;
+}
+
+export default {
+ average,
+ distance,
+ gradient,
+ gradientMatrix,
+ interpolateBilinear,
+ interpolateLinear,
+ interpolateMultilinear,
+ nearest,
+ toCmyk,
+ toHex,
+ toString,
+ toStringCSS,
+};
diff --git a/src/utils/date.js b/src/utils/date.js
new file mode 100644
index 0000000..c01a6a7
--- /dev/null
+++ b/src/utils/date.js
@@ -0,0 +1,228 @@
+import StringUtil from './string.js';
+import TypeUtil from './type.js';
+
+function clone(date) {
+ return new Date(date.getTime());
+}
+
+function constrain(date, a, b) {
+ const dateMin = min(a, b);
+ const dateMax = max(a, b);
+ return min(max(date, dateMin), dateMax);
+}
+
+function format(date, str) {
+ // https://docs.djangoproject.com/en/4.0/ref/templates/builtins/#date
+ const replace = StringUtil.replace;
+ const padZeros = StringUtil.padZeros;
+ const months = [
+ 'January',
+ 'February',
+ 'March',
+ 'April',
+ 'May',
+ 'June',
+ 'July',
+ 'August',
+ 'September',
+ 'October',
+ 'November',
+ 'December',
+ ];
+ const days = [
+ 'Sunday',
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday',
+ ];
+ const dt = date.getDate();
+ const year = date.getFullYear();
+ const month = date.getMonth();
+ const monthNum = month + 1;
+ const monthName = months[month];
+ const day = date.getDay();
+ const hours = date.getHours();
+ const minutes = date.getMinutes();
+ const seconds = date.getSeconds();
+ const milliseconds = date.getMilliseconds();
+ const placeholders = [
+ ['YYYY', year],
+ ['YY', padZeros(year, 4).substring(2, 4)],
+ ['MM', padZeros(monthNum, 2)],
+ ['M', monthNum],
+ ['DD', padZeros(dt, 2)],
+ ['D', dt],
+ ['hh', padZeros(hours, 2)],
+ ['h', hours],
+ ['mm', padZeros(minutes, 2)],
+ ['m', minutes],
+ ['ss', padZeros(seconds, 2)],
+ ['s', seconds],
+ ['ll', padZeros(milliseconds, 2)],
+ ['XX', monthName],
+ ['X', monthName.substring(0, 3)],
+ ['ZZ', days[day]],
+ ['Z', days[day].substring(0, 3)],
+ ];
+ let placeholder, occurrence;
+ for (let i = 0, j = placeholders.length; i < j; i++) {
+ placeholder = placeholders[i];
+ occurrence = placeholder[0];
+ if (!str.includes(occurrence)) {
+ continue;
+ }
+ str = replace(str, occurrence, placeholder[1]);
+ }
+ return str;
+}
+
+function identifier(date) {
+ const d = date || new Date();
+ const year = d.getFullYear();
+ const month = d.getMonth() + 1; // getMonth() is zero-based
+ const day = d.getDate();
+ const hours = d.getHours();
+ const minutes = d.getMinutes();
+ const seconds = d.getSeconds();
+ const milliseconds = d.getMilliseconds();
+ return (
+ String(year) +
+ StringUtil.padZeros(month, 2) +
+ StringUtil.padZeros(day, 2) +
+ StringUtil.padZeros(hours, 2) +
+ StringUtil.padZeros(minutes, 2) +
+ StringUtil.padZeros(seconds, 2) +
+ StringUtil.padZeros(milliseconds, 3)
+ );
+}
+
+function isFuture(date, checkTime) {
+ const day = new Date(date.getTime());
+ const now = new Date();
+ if (checkTime !== true) {
+ day.setHours(0);
+ day.setMinutes(0);
+ day.setSeconds(0);
+ day.setMilliseconds(0);
+ }
+ const delta = now.getTime() - day.getTime();
+ return delta < 0;
+}
+
+function isPast(date, checkTime) {
+ const day = new Date(date.getTime());
+ const now = new Date();
+ if (checkTime !== true) {
+ now.setHours(0);
+ now.setMinutes(0);
+ now.setSeconds(0);
+ now.setMilliseconds(0);
+ }
+ const delta = now.getTime() - day.getTime();
+ return delta > 0;
+}
+
+function max(date, other) {
+ return date.getTime() > other.getTime() ? date : other;
+}
+
+function min(date, other) {
+ return date.getTime() <= other.getTime() ? date : other;
+}
+
+function normalize(ms) {
+ const time = {
+ milliseconds: ms % 1000,
+ seconds: Math.floor(ms / 1000) % 60,
+ minutes: Math.floor(ms / 1000 / 60) % 60,
+ hours: Math.floor(ms / 1000 / 60 / 60) % 24,
+ days: Math.floor(ms / 1000 / 60 / 60 / 24),
+ };
+ return time;
+}
+
+function parse(date) {
+ let timestamp;
+ const timestampIsValid = (t) => {
+ return (
+ TypeUtil.isNumber(t) && t >= 0 && TypeUtil.isNumber(new Date(t).getTime())
+ );
+ };
+ if (TypeUtil.isDate(date)) {
+ return date;
+ } else if (TypeUtil.isNumber(date)) {
+ timestamp = date;
+ if (timestampIsValid(timestamp)) {
+ return new Date(timestamp);
+ }
+ } else if (TypeUtil.isString(date)) {
+ timestamp = Number(date);
+ if (timestampIsValid(timestamp)) {
+ return new Date(timestamp);
+ }
+ timestamp = Date.parse(date);
+ if (timestampIsValid(timestamp)) {
+ return new Date(timestamp);
+ }
+ }
+ return null;
+}
+
+function timestamp(date) {
+ const d = date || new Date();
+ return d.getTime();
+}
+
+function today() {
+ const d = new Date();
+ d.setHours(0);
+ d.setMinutes(0);
+ d.setSeconds(0);
+ d.setMilliseconds(0);
+ return d;
+}
+
+function tomorrow() {
+ const d = today();
+ d.setDate(d.getDate() + 1);
+ return d;
+}
+
+function yesterday() {
+ const d = today();
+ d.setDate(d.getDate() - 1);
+ return d;
+}
+
+function yyyymmdd(date, separator) {
+ const d = date || new Date();
+ const year = d.getFullYear();
+ const month = d.getMonth() + 1; // getMonth() is zero-based
+ const day = d.getDate();
+ const sep = separator || '';
+ // prettier-ignore
+ return (String(year) + sep +
+ StringUtil.padZeros(month, 2) + sep +
+ StringUtil.padZeros(day, 2));
+}
+
+export default {
+ clone,
+ constrain,
+ format,
+ identifier,
+ isFuture,
+ isPast,
+ max,
+ min,
+ normalize,
+ parse,
+ timestamp,
+ today,
+ tomorrow,
+ yesterday,
+ yyyymmdd,
+};
diff --git a/src/utils/ease.js b/src/utils/ease.js
new file mode 100644
index 0000000..7954a3d
--- /dev/null
+++ b/src/utils/ease.js
@@ -0,0 +1,384 @@
+function backIn(t, s) {
+ // s = overshoot = 1.70158
+ s = isNaN(s) ? 1.70158 : s;
+ return t * t * ((s + 1.0) * t - s);
+}
+
+function backInOut(t, s) {
+ // s = overshoot = 1.70158
+ s = isNaN(s) ? 1.70158 : s;
+ t /= 0.5;
+ if (t < 1.0) {
+ s *= 1.525;
+ return 0.5 * (t * t * ((s + 1.0) * t - s));
+ }
+ t -= 2.0;
+ s *= 1.525;
+ return 0.5 * (t * t * ((s + 1.0) * t + s) + 2.0);
+}
+
+function backOut(t, s) {
+ // s = overshoot = 1.70158
+ s = isNaN(s) ? 1.70158 : s;
+ t -= 1.0;
+ return t * t * ((s + 1.0) * t + s) + 1.0;
+}
+
+function bounceIn(t) {
+ t = 1.0 - t;
+ if (t < 1.0 / 2.75) {
+ return 1.0 - 7.5625 * t * t;
+ } else if (t < 2.0 / 2.75) {
+ t -= 1.5 / 2.75;
+ return 1.0 - (7.5625 * t * t + 0.75);
+ } else if (t < 2.5 / 2.75) {
+ t -= 2.25 / 2.75;
+ return 1.0 - (7.5625 * t * t + 0.9375);
+ }
+ t -= 2.625 / 2.75;
+ return 1.0 - (7.5625 * t * t + 0.984375);
+}
+
+function bounceInOut(t) {
+ if (t < 0.5) {
+ t = 1.0 - t;
+ if (t < 1.0 / 2.75) {
+ return 1.0 - 7.5625 * t * t;
+ } else if (t < 2.0 / 2.75) {
+ t -= 1.5 / 2.75;
+ return 1.0 - (7.5625 * t * t + 0.75);
+ } else if (t < 2.5 / 2.75) {
+ t -= 2.25 / 2.75;
+ return 1.0 - (7.5625 * t * t + 0.9375);
+ }
+ t -= 2.625 / 2.75;
+ return 1.0 - (7.5625 * t * t + 0.984375);
+ }
+ if (t < 1.0 / 2.75) {
+ return 7.5625 * t * t;
+ } else if (t < 2.0 / 2.75) {
+ t -= 1.5 / 2.75;
+ return 7.5625 * t * t + 0.75;
+ } else if (t < 2.5 / 2.75) {
+ t -= 2.25 / 2.75;
+ return 7.5625 * t * t + 0.9375;
+ }
+ t -= 2.625 / 2.75;
+ return 7.5625 * t * t + 0.984375;
+}
+
+function bounceOut(t) {
+ if (t < 1.0 / 2.75) {
+ return 7.5625 * t * t;
+ } else if (t < 2.0 / 2.75) {
+ t -= 1.5 / 2.75;
+ return 7.5625 * t * t + 0.75;
+ } else if (t < 2.5 / 2.75) {
+ t -= 2.25 / 2.75;
+ return 7.5625 * t * t + 0.9375;
+ }
+ t -= 2.625 / 2.75;
+ return 7.5625 * t * t + 0.984375;
+}
+
+function circularIn(t) {
+ return -(Math.sqrt(1.0 - t * t) - 1.0);
+}
+
+function circularInOut(t) {
+ t /= 0.5;
+ if (t < 1.0) {
+ return -0.5 * (Math.sqrt(1.0 - t * t) - 1.0);
+ }
+ t -= 2.0;
+ return 0.5 * (Math.sqrt(1.0 - t * t) + 1.0);
+}
+
+function circularOut(t) {
+ t -= 1.0;
+ return Math.sqrt(1.0 - t * t);
+}
+
+function cubicIn(t) {
+ return t * t * t;
+}
+
+function cubicInOut(t) {
+ t /= 0.5;
+ if (t < 1.0) {
+ return 0.5 * t * t * t;
+ }
+ t -= 2.0;
+ return 0.5 * (t * t * t + 2.0);
+}
+
+function cubicOut(t) {
+ t -= 1.0;
+ return t * t * t + 1.0;
+}
+
+function elasticIn(t, a, p) {
+ // a = amplitude = 0.0, p = period = 0.3
+ if (t === 0.0) {
+ return 0.0;
+ }
+ if (t === 1.0) {
+ return 1.0;
+ }
+ a = isNaN(a) ? 0.0 : a;
+ p = isNaN(p) ? 0.3 : p;
+ let s;
+ if (a < 1.0) {
+ a = 1.0;
+ s = p / 4.0;
+ } else {
+ s = (p / (2.0 * Math.PI)) * Math.asin(1.0 / a);
+ }
+ t -= 1.0;
+ return -(a * 2.0 ** (10.0 * t) * Math.sin(((t - s) * (2.0 * Math.PI)) / p));
+}
+
+function elasticInOut(t, a, p) {
+ // a = amplitude = 0.0, p = period = 0.3
+ if (t === 0.0) {
+ return 0.0;
+ }
+ t /= 0.5;
+ if (t === 2.0) {
+ return 1.0;
+ }
+ a = isNaN(a) ? 0.0 : a;
+ p = isNaN(p) ? 0.3 : p;
+ let s;
+ if (p === 0.3) {
+ p *= 1.5;
+ }
+ if (a < 1.0) {
+ a = 1.0;
+ s = p / 4.0;
+ } else {
+ s = (p / (2.0 * Math.PI)) * Math.asin(1.0 / a);
+ }
+ if (t < 1.0) {
+ t -= 1.0;
+ return (
+ -0.5 * (a * 2.0 ** (10.0 * t) * Math.sin(((t - s) * (2.0 * Math.PI)) / p))
+ );
+ }
+ t -= 1.0;
+ return (
+ a * 2.0 ** (-10.0 * t) * Math.sin(((t - s) * (2.0 * Math.PI)) / p) * 0.5 + 1.0
+ );
+}
+
+function elasticOut(t, a, p) {
+ // a = amplitude = 0.0, p = period = 0.3
+ if (t === 0.0) {
+ return 0.0;
+ }
+ if (t === 1.0) {
+ return 1.0;
+ }
+ a = isNaN(a) ? 0.0 : a;
+ p = isNaN(p) ? 0.3 : p;
+ let s;
+ if (a < 1.0) {
+ a = 1.0;
+ s = p / 4.0;
+ } else {
+ s = (p / (2.0 * Math.PI)) * Math.asin(1.0 / a);
+ }
+ return a * 2.0 ** (-10.0 * t) * Math.sin(((t - s) * (2.0 * Math.PI)) / p) + 1.0;
+}
+
+function exponentialIn(t) {
+ if (t === 0.0) {
+ return 0.0;
+ }
+ return 2.0 ** (10.0 * (t - 1.0));
+}
+
+function exponentialInOut(t) {
+ if (t === 0.0) {
+ return 0.0;
+ }
+ if (t === 1.0) {
+ return 1.0;
+ }
+ t /= 0.5;
+ if (t < 1.0) {
+ return 0.5 * 2.0 ** (10.0 * (t - 1.0));
+ }
+ t -= 1.0;
+ return 0.5 * (-(2.0 ** (-10.0 * t)) + 2.0);
+}
+
+function exponentialOut(t) {
+ if (t === 1.0) {
+ return t;
+ }
+ return -(2.0 ** (-10.0 * t)) + 1.0;
+}
+
+function none(t) {
+ return t;
+}
+
+function quadraticIn(t) {
+ return t * t;
+}
+
+function quadraticInOut(t) {
+ t /= 0.5;
+ if (t < 1.0) {
+ return 0.5 * t * t;
+ }
+ t -= 1.0;
+ return -0.5 * (t * (t - 2.0) - 1.0);
+}
+
+function quadraticOut(t) {
+ return -t * (t - 2.0);
+}
+
+function quarticIn(t) {
+ return t * t * t * t;
+}
+
+function quarticInOut(t) {
+ t /= 0.5;
+ if (t < 1.0) {
+ return 0.5 * t * t * t * t;
+ }
+ t -= 2.0;
+ return -0.5 * (t * t * t * t - 2.0);
+}
+
+function quarticOut(t) {
+ t -= 1.0;
+ return -(t * t * t * t - 1.0);
+}
+
+function quinticIn(t) {
+ return t * t * t * t * t;
+}
+
+function quinticInOut(t) {
+ t /= 0.5;
+ if (t < 1.0) {
+ return 0.5 * t * t * t * t * t;
+ }
+ t -= 2.0;
+ return 0.5 * (t * t * t * t * t + 2.0);
+}
+
+function quinticOut(t) {
+ t -= 1.0;
+ return t * t * t * t * t + 1.0;
+}
+
+function sexticIn(t) {
+ return t * t * t * t * t * t;
+}
+
+function sexticInOut(t) {
+ t /= 0.5;
+ if (t < 1.0) {
+ return 0.5 * t * t * t * t * t * t;
+ }
+ t -= 2.0;
+ return -0.5 * (t * t * t * t * t * t - 2.0);
+}
+
+function sexticOut(t) {
+ t -= 1.0;
+ return -(t * t * t * t * t * t - 1.0);
+}
+
+function sineIn(t) {
+ return -Math.cos(t * (Math.PI / 2.0)) + 1.0;
+}
+
+function sineInOut(t) {
+ return -0.5 * (Math.cos(Math.PI * t) - 1.0);
+}
+
+function sineOut(t) {
+ return Math.sin(t * (Math.PI / 2.0));
+}
+
+function waveCosine(t, f, a, i) {
+ // t, f = frequency = 1.0, a = absolute = false, i = inverse = false
+ f = isNaN(f) ? 1.0 : f;
+ a = a === true ? true : false;
+ i = i === true ? true : false;
+
+ let w = Math.cos(Math.PI * t * f);
+ w = a ? Math.abs(w) : w;
+ w = i ? 1.0 - w : w;
+ return w;
+}
+
+function waveSawtooth(t, f, a, i) {
+ // t, f = frequency = 1.0, a = absolute = false, i = inverse = false
+ f = isNaN(f) ? 1.0 : f;
+ a = a === true ? true : false;
+ i = i === true ? true : false;
+
+ let w = (t * f) % 1.0;
+ w = a ? Math.abs(w) : w;
+ w = i ? 1.0 - w : w;
+ return w;
+}
+
+function waveSine(t, f, a, i) {
+ // t, f = frequency = 1.0, a = absolute = false, i = inverse = false
+ f = isNaN(f) ? 1.0 : f;
+ a = a === true ? true : false;
+ i = i === true ? true : false;
+
+ let w = Math.sin(Math.PI * t * f);
+ w = a ? Math.abs(w) : w;
+ w = i ? 1.0 - w : w;
+ return w;
+}
+
+export default {
+ backIn,
+ backInOut,
+ backOut,
+ bounceIn,
+ bounceInOut,
+ bounceOut,
+ circularIn,
+ circularInOut,
+ circularOut,
+ cubicIn,
+ cubicInOut,
+ cubicOut,
+ elasticIn,
+ elasticInOut,
+ elasticOut,
+ exponentialIn,
+ exponentialInOut,
+ exponentialOut,
+ none,
+ quadraticIn,
+ quadraticInOut,
+ quadraticOut,
+ quarticIn,
+ quarticInOut,
+ quarticOut,
+ quinticIn,
+ quinticInOut,
+ quinticOut,
+ sexticIn,
+ sexticInOut,
+ sexticOut,
+ sineIn,
+ sineInOut,
+ sineOut,
+ waveCosine,
+ waveSawtooth,
+ waveSine,
+};
diff --git a/src/utils/func.js b/src/utils/func.js
new file mode 100644
index 0000000..8d5af5f
--- /dev/null
+++ b/src/utils/func.js
@@ -0,0 +1,161 @@
+import TypeUtil from './type.js';
+
+function args(argumentsObj, skipCount = 0) {
+ return Array.prototype.slice.call(argumentsObj, skipCount);
+}
+
+function attempt(func, scope, ...args) {
+ try {
+ const result = call(func, scope, ...args);
+ return result;
+ } catch (e) {
+ return e;
+ }
+}
+
+function bind(func, scope, ...argsBinded) {
+ return (...args) => {
+ const result = call(func, scope, ...argsBinded.concat(args));
+ return result;
+ };
+}
+
+function call(func, scope, ...args) {
+ if (TypeUtil.isString(func)) {
+ func = scope[func];
+ }
+ return func.apply(scope, args);
+}
+
+function debounce(milliseconds, func, scope) {
+ let timeoutId;
+ return function (...args) {
+ if (timeoutId) {
+ clearTimeout(timeoutId);
+ timeoutId = null;
+ }
+ timeoutId = setTimeout(() => {
+ func.apply(scope, args);
+ }, milliseconds);
+ };
+}
+
+function delay(milliseconds, func, scope, ...args) {
+ const wrapper = bind(func, scope, ...args);
+ const timeoutId = setTimeout(wrapper, milliseconds);
+ return {
+ cancel() {
+ clearTimeout(timeoutId);
+ },
+ func: wrapper,
+ id: timeoutId,
+ };
+}
+
+function memoize(func, scope) {
+ const cache = {};
+
+ return function (...args) {
+ const key = String(args);
+ if (!(key in cache)) {
+ cache[key] = call(func, scope, ...args);
+ }
+ return cache[key];
+ };
+}
+
+function noop() {
+ return true;
+}
+
+function repeat(milliseconds, func, scope, ...args) {
+ const wrapper = bind(func, scope, ...args);
+ const intervalId = setInterval(wrapper, milliseconds);
+ return {
+ cancel() {
+ clearInterval(intervalId);
+ },
+ func: wrapper,
+ id: intervalId,
+ };
+}
+
+function throttle(milliseconds, func, scope) {
+ let timeoutId;
+ return (...args) => {
+ if (timeoutId) {
+ return;
+ }
+ func.apply(scope, args);
+ timeoutId = setTimeout(() => {
+ clearTimeout(timeoutId);
+ timeoutId = null;
+ }, milliseconds);
+ };
+}
+
+function until(milliseconds, func, scope, ...args) {
+ const wrapper = bind(func, scope, ...args);
+ const interval = repeat(milliseconds, () => {
+ if (wrapper() === false) {
+ interval.cancel();
+ }
+ });
+ return interval;
+}
+
+function validate(argumentsObj, ...types) {
+ // validate(arguments, 'number', 'string', ['string', 'undefined']);
+
+ const argsList = args(argumentsObj);
+ types = types.map((type) => (Array.isArray(type) ? type : [type]));
+
+ let argsExpectedCount = types.length;
+ while (argsExpectedCount > 0) {
+ if (!types[argsExpectedCount - 1].includes('undefined')) {
+ break;
+ }
+ argsExpectedCount--;
+ }
+
+ if (argsList.length < argsExpectedCount) {
+ throw new TypeError(
+ `invalid arguments count: received ${argsList.length}, expected ${argsExpectedCount} arguments.`
+ );
+ }
+
+ for (let i = 0; i < types.length; i++) {
+ for (const type of types[i]) {
+ if (!TypeUtil.isType(type)) {
+ throw new TypeError(
+ `invalid argument: expected type "${type}" is not a valid type.`
+ );
+ }
+ }
+ }
+
+ argsList.forEach((arg, i) => {
+ const argType = TypeUtil.of(arg);
+ const argTypes = types[Math.min(i, types.length - 1)];
+ if (!argTypes.includes(argType)) {
+ throw new TypeError(
+ `invalid argument: type of argument[${i}] is "${argType}", expected "${argTypes.join('" or "')}".`
+ );
+ }
+ });
+}
+
+export default {
+ args,
+ attempt,
+ bind,
+ call,
+ debounce,
+ delay,
+ memoize,
+ noop,
+ repeat,
+ throttle,
+ until,
+ validate,
+};
diff --git a/src/utils/geom.js b/src/utils/geom.js
new file mode 100644
index 0000000..632672d
--- /dev/null
+++ b/src/utils/geom.js
@@ -0,0 +1,5 @@
+import PointUtil from './geom/point.js';
+
+export default {
+ point: PointUtil,
+};
diff --git a/src/utils/geom/point.js b/src/utils/geom/point.js
new file mode 100644
index 0000000..9b2d8d1
--- /dev/null
+++ b/src/utils/geom/point.js
@@ -0,0 +1,136 @@
+import MathUtil from '../math.js';
+import InterpolationUtil from '../interpolation.js';
+import TrigoUtil from '../trigo.js';
+
+function add(a, b) {
+ return {
+ x: a.x + b.x,
+ y: a.y + b.y,
+ };
+}
+
+function angle(a, b) {
+ const angle = TrigoUtil.angleDeg(b.y - a.y, b.x - a.x);
+ return TrigoUtil.cycleDeg(angle);
+}
+
+function cross(a, b) {
+ // z coordinate of the cross product; x and y coordinates are zero
+ return a.x * b.y - a.y * b.x;
+}
+
+function distance(a, b) {
+ const dX = b.x - a.x;
+ const dY = b.y - a.y;
+ return Math.sqrt(dX * dX + dY * dY);
+}
+
+function dot(a, b) {
+ return a.x * b.x + a.y * b.y;
+}
+
+function equals(a, b, tolerance) {
+ const f = MathUtil.equals;
+ return f(a.x, b.x, tolerance) && f(a.y, b.y, tolerance);
+}
+
+function interpolate(a, b, t) {
+ const f = InterpolationUtil.linear;
+ return {
+ x: f(a.x, b.x, t),
+ y: f(a.y, b.y, t),
+ };
+}
+
+function length(p) {
+ return distance(p, { x: 0, y: 0 });
+}
+
+function magnitude(p) {
+ return length(p);
+}
+
+function project(p, distance, angle) {
+ return {
+ x: p.x + distance * TrigoUtil.cosDeg(angle),
+ y: p.y + distance * TrigoUtil.sinDeg(angle),
+ };
+}
+
+function rect(points) {
+ let point;
+ const pointsX = [];
+ const pointsY = [];
+
+ for (let i = 0, j = points.length; i < j; i++) {
+ point = points[i];
+ pointsX.push(point.x);
+ pointsY.push(point.y);
+ }
+
+ const minF = Math.min;
+ const minX = minF(...pointsX);
+ const minY = minF(...pointsY);
+ const maxF = Math.max;
+ const maxX = maxF(...pointsX);
+ const maxY = maxF(...pointsY);
+
+ return {
+ topLeft: { x: minX, y: minY },
+ topRight: { x: maxX, y: minY },
+ bottomRight: { x: maxX, y: maxY },
+ bottomLeft: { x: minX, y: maxY },
+ };
+}
+
+function rotate(p, angle, pivot) {
+ const pointPivot = pivot || { x: 0.0, y: 0.0 };
+ const pointRel = subtract(p, pointPivot);
+ const angleCos = TrigoUtil.cosDeg(angle);
+ const angleSin = TrigoUtil.sinDeg(angle);
+ const pointRot = {
+ x: pointRel.x * angleCos - pointRel.y * angleSin,
+ y: pointRel.x * angleSin + pointRel.y * angleCos,
+ };
+ const pointAbs = add(pointRot, pointPivot);
+ return pointAbs;
+}
+
+function scale(p, amount) {
+ return {
+ x: p.x * amount,
+ y: p.y * amount,
+ };
+}
+
+function subtract(a, b) {
+ return {
+ x: a.x - b.x,
+ y: a.y - b.y,
+ };
+}
+
+function translate(p, x, y) {
+ return {
+ x: p.x + x,
+ y: p.y + y,
+ };
+}
+
+export default {
+ add,
+ angle,
+ cross,
+ distance,
+ dot,
+ equals,
+ interpolate,
+ length,
+ magnitude,
+ project,
+ rect,
+ rotate,
+ scale,
+ subtract,
+ translate,
+};
diff --git a/src/utils/hex.js b/src/utils/hex.js
new file mode 100644
index 0000000..58d7d37
--- /dev/null
+++ b/src/utils/hex.js
@@ -0,0 +1,13 @@
+function decodeInt(s) {
+ return parseInt(s, 16);
+}
+
+function encodeInt(n) {
+ const hex = Math.round(n).toString(16).toUpperCase();
+ return hex.length === 1 ? `0${hex}` : hex;
+}
+
+export default {
+ decodeInt,
+ encodeInt,
+};
diff --git a/src/utils/interpolation.js b/src/utils/interpolation.js
new file mode 100644
index 0000000..b4701db
--- /dev/null
+++ b/src/utils/interpolation.js
@@ -0,0 +1,36 @@
+import MathUtil from './math.js';
+
+function bilinear(a, b, c, d, u, v) {
+ const f = linear;
+ return f(f(a, b, u), f(c, d, u), v);
+}
+
+function linear(a, b, t) {
+ // return (a + ((b - a) * t));
+ return a * (1.0 - t) + b * t;
+}
+
+function multilinear(list, t) {
+ const s = scalar(list.length - 1, t);
+ const i = s.index;
+ return linear(list[i], list[i + 1], s.t);
+}
+
+function scalar(parts, t) {
+ const tScaled = t * parts;
+ const tScaledIndex = Math.floor(tScaled);
+
+ const tMinIndex = 0;
+ const tMaxIndex = parts - 1;
+
+ const tIndex = MathUtil.constrain(tScaledIndex, tMinIndex, tMaxIndex);
+ const tReduced = tScaled - tIndex;
+ return { index: tIndex, t: tReduced };
+}
+
+export default {
+ bilinear,
+ linear,
+ multilinear,
+ scalar,
+};
diff --git a/src/utils/json.js b/src/utils/json.js
new file mode 100644
index 0000000..0ce2472
--- /dev/null
+++ b/src/utils/json.js
@@ -0,0 +1,20 @@
+function decode(str) {
+ let output = '';
+ try {
+ output = JSON.parse(str);
+ } catch (error) {
+ // unquote str to avoid syntax error
+ str = str.replace(/"/g, '"');
+ output = JSON.parse(str);
+ }
+ return output;
+}
+
+function encode(obj) {
+ return JSON.stringify(obj);
+}
+
+export default {
+ decode,
+ encode,
+};
diff --git a/src/utils/math.js b/src/utils/math.js
new file mode 100644
index 0000000..5a4d0b9
--- /dev/null
+++ b/src/utils/math.js
@@ -0,0 +1,171 @@
+import ArrayUtil from './array.js';
+import InterpolationUtil from './interpolation.js';
+import TypeUtil from './type.js';
+
+function average(values) {
+ return summation(values) / values.length;
+}
+
+function constrain(n, a, b) {
+ return Math.min(Math.max(n, Math.min(a, b)), Math.max(a, b));
+}
+
+function cycle(n, len, shift) {
+ if (!TypeUtil.isNumber(shift)) {
+ shift = 0;
+ }
+ return ((((n - shift) % len) + len) % len) + shift;
+}
+
+function equals(a, b, tolerance) {
+ if (!TypeUtil.isNumber(tolerance)) {
+ tolerance = 0.0000000001;
+ } else if (tolerance > 0.0) {
+ tolerance += 0.0000000001;
+ }
+ return Math.abs(a - b) <= tolerance;
+}
+
+function euclideanDistance(a, b) {
+ // https://en.wikipedia.org/wiki/Euclidean_distance#Higher_dimensions
+ return Math.sqrt(
+ summation(
+ a.map((value, index) => {
+ return Math.abs(value - b[index]) ** 2;
+ })
+ )
+ );
+}
+
+function factorial(n) {
+ let f = 1;
+ for (let i = f; i <= n; i++) {
+ f *= i;
+ }
+ return f;
+}
+
+function gcd(a, b) {
+ if (a === b) {
+ return a;
+ }
+ if (a < b) {
+ a ^= b;
+ b ^= a;
+ a ^= b;
+ }
+ return gcd(a - b, b);
+}
+
+const interpolation = InterpolationUtil;
+
+function lcm(a, b) {
+ return (a * b) / gcd(a, b);
+}
+
+function lerp(a, b, t) {
+ return InterpolationUtil.linear(a, b, t);
+}
+
+function map(n, a, b, c, d) {
+ return InterpolationUtil.linear(c, d, normalize(n, a, b));
+}
+
+function nearest(n, a, b) {
+ return Math.abs(n - a) <= Math.abs(n - b) ? a : b;
+}
+
+function normalize(n, a, b) {
+ return (n - a) / (b - a);
+}
+
+function proportion(a, b, x, y) {
+ const args = [a, b, x, y];
+ const argsOk = ArrayUtil.clean(args);
+ if (argsOk.length !== 3) {
+ return NaN;
+ }
+
+ // a : b = x : y
+ const isNumber = TypeUtil.isNumber;
+ if (!isNumber(a)) {
+ return (b * x) / y;
+ } else if (!isNumber(b)) {
+ return (a * y) / x;
+ } else if (!isNumber(x)) {
+ return (y * a) / b;
+ } else if (!isNumber(y)) {
+ return (x * b) / a;
+ }
+ return NaN;
+}
+
+function roundDecimals(n, decimalsPlaces) {
+ return Number(n.toFixed(decimalsPlaces || 2));
+}
+
+function roundToMultiple(n, multiplier) {
+ return Math.round(n / multiplier) * multiplier;
+}
+
+function roundToNearest(n, values) {
+ const a = ArrayUtil.sort(values.concat());
+ let i = 0,
+ j = 0,
+ k = a.length;
+ if (k === 0) {
+ return NaN;
+ } else if (k > 2) {
+ while (j < k) {
+ i = Math.floor((j + k) / 2.0);
+ if (n < a[i]) {
+ k = i;
+ } else if (n > a[i + 1]) {
+ j = i + 1;
+ } else {
+ break;
+ }
+ }
+ }
+ j = i + 1 in a ? i + 1 : i;
+ return nearest(n, a[i], a[j]);
+}
+
+function roundToPower(n, base) {
+ return base ** Math.round(Math.log(n) / Math.log(base));
+}
+
+function sign(n) {
+ return n >= 0.0 ? 1 : -1;
+}
+
+function summation(values) {
+ let s = 0.0;
+ for (let i = 0, j = values.length; i < j; i++) {
+ s += values[i];
+ }
+ return s;
+}
+
+export default {
+ average,
+ constrain,
+ cycle,
+ equals,
+ euclideanDistance,
+ factorial,
+ gcd,
+ interpolation,
+ lcm,
+ lerp,
+ map,
+ nearest,
+ normalize,
+ proportion,
+ roundDecimals,
+ roundToMultiple,
+ roundToNearest,
+ roundToPower,
+ sign,
+ summation,
+};
diff --git a/src/utils/number.js b/src/utils/number.js
new file mode 100644
index 0000000..2cdbdd0
--- /dev/null
+++ b/src/utils/number.js
@@ -0,0 +1,54 @@
+function isBetween(n, min, max) {
+ return n >= min && n <= max;
+}
+
+function isEven(n) {
+ return n % 2.0 === 0.0 && !isFloat(n);
+}
+
+function isFloat(n) {
+ return n % 1 !== 0;
+}
+
+function isNegative(n) {
+ return n < 0.0;
+}
+
+function isOdd(n) {
+ return n % 2.0 !== 0.0 && !isFloat(n);
+}
+
+function isPositive(n) {
+ return n >= 0.0;
+}
+
+function isPrime(n) {
+ if (typeof n !== 'number' || Number.isNaN(n) || isFloat(n)) {
+ return false;
+ }
+ if (n <= 1) {
+ return false;
+ }
+ if (n <= 3) {
+ return true;
+ }
+ if (n % 2 === 0 || n % 3 === 0) {
+ return false;
+ }
+ for (let i = 5; i * i <= n; i += 6) {
+ if (n % i === 0 || n % (i + 2) === 0) {
+ return false;
+ }
+ }
+ return true;
+}
+
+export default {
+ isBetween,
+ isEven,
+ isFloat,
+ isNegative,
+ isOdd,
+ isPositive,
+ isPrime,
+};
diff --git a/src/utils/object.js b/src/utils/object.js
new file mode 100644
index 0000000..0a2a85e
--- /dev/null
+++ b/src/utils/object.js
@@ -0,0 +1,296 @@
+import ArrayUtil from './array.js';
+import Base64Util from './base64.js';
+import DateUtil from './date.js';
+import JSONUtil from './json.js';
+import MathUtil from './math.js';
+import StringUtil from './string.js';
+import TypeUtil from './type.js';
+import URLUtil from './url.js';
+
+function assign(obj, other, ...others) {
+ const objs = [other].concat(others);
+ let i, j, k;
+ for (i = 0, j = objs.length; i < j; i++) {
+ for (k in objs[i]) {
+ obj[k] = objs[i][k];
+ }
+ }
+ return obj;
+}
+
+function clean(obj, hard) {
+ const objKeys = keys(obj);
+ let key, val;
+ for (let i = 0, j = objKeys.length; i < j; i++) {
+ key = objKeys[i];
+ val = obj[key];
+ if (hard === true) {
+ switch (TypeUtil.of(val)) {
+ case TypeUtil.ARRAY:
+ val = obj[key] = ArrayUtil.clean(val, hard);
+ if (val.length === 0) {
+ val = null;
+ }
+ break;
+ case TypeUtil.OBJECT:
+ val = obj[key] = clean(val, hard);
+ if (length(val) === 0) {
+ val = null;
+ }
+ break;
+ case TypeUtil.STRING:
+ val = obj[key] = StringUtil.trim(val);
+ if (val === '') {
+ val = null;
+ }
+ break;
+ }
+ }
+ if (TypeUtil.isNone(val)) {
+ delete obj[key];
+ }
+ }
+ return obj;
+}
+
+function clone(obj) {
+ const cln = {};
+ const objKeys = keys(obj);
+ let key, val;
+ for (let i = 0, j = objKeys.length; i < j; i++) {
+ key = objKeys[i];
+ val = obj[key];
+ switch (TypeUtil.of(val)) {
+ case TypeUtil.ARRAY:
+ cln[key] = ArrayUtil.clone(val);
+ break;
+ case TypeUtil.DATE:
+ cln[key] = DateUtil.clone(val);
+ break;
+ case TypeUtil.OBJECT:
+ cln[key] = clone(val);
+ break;
+ default:
+ cln[key] = obj[key];
+ break;
+ }
+ }
+ return cln;
+}
+
+function decodeBase64(str) {
+ return JSONUtil.decode(Base64Util.decode(str));
+}
+
+function decodeJSON(str) {
+ return JSONUtil.decode(str);
+}
+
+function decodeParameters(str) {
+ return URLUtil.getParametersDict(`?${str}`);
+}
+
+function encodeBase64(obj) {
+ return Base64Util.encode(JSONUtil.encode(obj));
+}
+
+function encodeJSON(obj) {
+ return JSONUtil.encode(obj);
+}
+
+function encodeParameters(obj, objKeysFilter) {
+ const objClean = clean(clone(obj), true);
+ const objKeys = TypeUtil.isArray(objKeysFilter) ? objKeysFilter : keys(obj, true);
+ let key;
+ let val;
+ const keyval = [];
+
+ for (let i = 0, j = objKeys.length; i < j; i++) {
+ key = objKeys[i];
+ if (key in objClean) {
+ val = objClean[key];
+ keyval.push(`${key}=${encodeURIComponent(val)}`);
+ }
+ }
+
+ return keyval.join('&');
+}
+
+function equals(obj1, obj2) {
+ if (obj1 === obj2 || is(obj1, obj2)) {
+ return true;
+ }
+
+ let key, val1, val2, type1, type2;
+
+ type1 = TypeUtil.of(obj1);
+ type2 = TypeUtil.of(obj2);
+
+ if (type1 !== type2) {
+ return false;
+ }
+
+ switch (type1) {
+ case TypeUtil.ARRAY:
+ case TypeUtil.OBJECT:
+ break;
+ case TypeUtil.NUMBER:
+ return MathUtil.equals(obj1, obj2);
+ default:
+ return String(obj1) === String(obj2);
+ }
+
+ for (key in obj2) {
+ if (!(key in obj1)) {
+ return false;
+ }
+ }
+
+ for (key in obj1) {
+ val1 = obj1[key];
+ val2 = obj2[key];
+
+ if (is(obj1, val1) || is(obj2, val2) || is(val1, val2) || val1 === val2) {
+ continue;
+ }
+
+ if (!equals(val1, val2)) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+function is(obj1, obj2) {
+ // https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/Object/is
+ if (!Object.is) {
+ Object.is = (x, y) => {
+ // Algoritmo SameValue
+ if (x === y) {
+ // Steps 1-5, 7-10
+ // Steps 6.b-6.e: +0 != -0
+ return x !== 0 || 1 / x === 1 / y;
+ } else {
+ // Step 6.a: NaN === NaN
+ return x !== x && y !== y;
+ }
+ };
+ }
+ return Object.is(obj1, obj2);
+}
+
+const keypath = {
+ get(obj, path, defaultValue) {
+ const objKeys = path.split('.');
+ let key;
+ let cursor = obj;
+ for (let i = 0, j = objKeys.length; i < j; i++) {
+ key = objKeys[i];
+ try {
+ cursor = cursor[key];
+ } catch (e) {
+ return defaultValue;
+ }
+ }
+ return TypeUtil.isUndefined(cursor) ? defaultValue : cursor;
+ },
+
+ set(obj, path, value) {
+ const objKeys = path.split('.');
+ let key;
+ let cursor = obj;
+ for (let i = 0, j = objKeys.length; i < j; i++) {
+ key = objKeys[i];
+ if (key === '__proto__' || key === 'constructor') {
+ break;
+ }
+ if (!TypeUtil.isObject(cursor[key])) {
+ cursor[key] = {};
+ }
+ if (i < j - 1) {
+ cursor = cursor[key];
+ } else {
+ cursor[key] = value;
+ }
+ }
+ },
+};
+
+function keys(obj, sorted) {
+ const k = Object.keys(obj);
+ if (sorted === true) {
+ k.sort();
+ }
+ return k;
+}
+
+function length(obj) {
+ return keys(obj).length;
+}
+
+function map(obj, func) {
+ const m = {};
+ keys(obj).forEach((k) => {
+ m[k] = func.call(null, obj[k], k, obj);
+ });
+ return m;
+}
+
+function merge(obj1, obj2, ...objs) {
+ const objsList = [{}, obj1, obj2].concat(objs);
+ const obj = assign.apply(null, objsList);
+ return obj;
+}
+
+function search(objs, filter) {
+ // prettier-ignore
+ const results = [];
+ let i, j, k, m, obj, res, objKeys, key, val;
+ for (i = 0, j = objs.length; i < j; i++) {
+ obj = objs[i];
+ res = obj;
+ objKeys = keys(filter);
+ for (k = 0, m = objKeys.length; k < m; k++) {
+ key = objKeys[k];
+ val = filter[key];
+ if (!equals(obj[key], val)) {
+ res = null;
+ }
+ }
+ if (res) {
+ results.push(res);
+ }
+ }
+ return results;
+}
+
+function values(obj, sorted) {
+ const objKeys = keys(obj, sorted);
+ const vals = [];
+ for (let i = 0, j = objKeys.length; i < j; i++) {
+ vals.push(obj[objKeys[i]]);
+ }
+ return vals;
+}
+
+export default {
+ assign,
+ clean,
+ clone,
+ decodeBase64,
+ decodeJSON,
+ decodeParameters,
+ encodeBase64,
+ encodeJSON,
+ encodeParameters,
+ equals,
+ is,
+ keypath,
+ keys,
+ length,
+ map,
+ merge,
+ search,
+ values,
+};
diff --git a/src/utils/random.js b/src/utils/random.js
new file mode 100644
index 0000000..e526fc3
--- /dev/null
+++ b/src/utils/random.js
@@ -0,0 +1,74 @@
+import FuncUtil from './func.js';
+
+function argument(...args) {
+ return element(args);
+}
+
+function bit(chance) {
+ return boolean(chance) ? 1 : 0;
+}
+
+function boolean(chance) {
+ return Boolean(Math.random() < (isNaN(chance) ? 0.5 : chance));
+}
+
+function color() {
+ return integer(0, 0xffffff);
+}
+
+function element(array) {
+ return array[index(array)];
+}
+
+function float(min, max) {
+ return min + Math.random() * (max - min);
+}
+
+function index(array) {
+ return integer(0, array.length - 1);
+}
+
+function integer(min, max) {
+ return Math.floor(Math.round(float(min - 0.5, max + 0.5)));
+}
+
+function map(func, count) {
+ const m = [];
+ for (let i = 0; i < count; i++) {
+ m.push(func(i));
+ }
+ return m;
+}
+
+function sign(chance) {
+ return boolean(chance) ? 1 : -1;
+}
+
+function string(
+ length,
+ charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?@#$%^&*(-_=+).,;'
+) {
+ const c = charset.split('');
+ const r = element;
+ let i = 0;
+ let s = '';
+ while (i < length) {
+ s += r(c);
+ i++;
+ }
+ return s;
+}
+
+export default {
+ argument,
+ bit,
+ boolean,
+ color,
+ element,
+ float,
+ index,
+ integer,
+ map,
+ sign,
+ string,
+};
diff --git a/src/utils/string.js b/src/utils/string.js
new file mode 100644
index 0000000..0295d99
--- /dev/null
+++ b/src/utils/string.js
@@ -0,0 +1,249 @@
+import ArrayUtil from './array.js';
+import RandomUtil from './random.js';
+import TypeUtil from './type.js';
+
+function contains(str, occurrence) {
+ return Boolean(str.includes(occurrence));
+}
+
+function endsWith(str, search) {
+ // if (String.prototype.endsWith) {
+ // return str.endsWith(search);
+ // }
+ return str.substring(str.length - search.length, str.length) === search;
+}
+
+function icontains(str, occurrence) {
+ return contains(str.toLowerCase(), occurrence.toLowerCase());
+}
+
+function levenshteinDistance(a, b) {
+ // taken from GitHub here:
+ // https://gist.github.com/andrei-m/982927#gistcomment-586471
+ const m = [];
+ for (let i = 0; i <= b.length; i++) {
+ m[i] = [i];
+ if (i === 0) {
+ continue;
+ }
+ for (let j = 0; j <= a.length; j++) {
+ m[0][j] = j;
+ if (j === 0) {
+ continue;
+ }
+ m[i][j] =
+ b.charAt(i - 1) === a.charAt(j - 1)
+ ? m[i - 1][j - 1]
+ : Math.min(m[i - 1][j - 1] + 1, m[i][j - 1] + 1, m[i - 1][j] + 1);
+ }
+ }
+ return m[b.length][a.length];
+}
+
+function levenshteinSimilarity(a, b) {
+ const d = levenshteinDistance(a, b);
+ const l = Math.max(a.length, b.length);
+
+ return l === 0 ? 1.0 : 1.0 - d / l;
+}
+
+function padLeft(str, len, char) {
+ let i = str.length;
+ while (i < len) {
+ str = char + str;
+ i++;
+ }
+ return str;
+}
+
+function padRight(str, len, char) {
+ let i = str.length;
+ while (i < len) {
+ str = str + char;
+ i++;
+ }
+ return str;
+}
+
+function padZeros(str, len) {
+ return padLeft(String(str), len, '0');
+}
+
+function render(str, data, placeholderStart, placeholderEnd) {
+ const pattern = `${placeholderStart || '{{'}[\\s]*([a-zA-Z0-9\\-\\_]+){1}[\\s]*${placeholderEnd || '}}'}`;
+ const regex = new RegExp(pattern, 'g');
+ const matches = Array.from(str.matchAll(regex));
+ let occurrence, replacement;
+ data = data || {};
+ matches.forEach((match) => {
+ occurrence = match[0];
+ replacement = data[match[1]];
+ if (TypeUtil.isNone(replacement)) {
+ replacement = '';
+ }
+ str = replace(str, occurrence, replacement);
+ });
+ return str;
+}
+
+function replace(str, occurrence, replacement, caseSensitive) {
+ const pattern = occurrence.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+ const flags = caseSensitive === false ? 'gi' : 'g';
+ const regex = new RegExp(pattern, flags);
+ return str.replace(regex, String(replacement));
+}
+
+function reverse(str) {
+ const chars = str.split('');
+ chars.reverse();
+ return chars.join('');
+}
+
+function rotate(str, count) {
+ let chars = str.split('');
+ chars = ArrayUtil.rotate(chars, count);
+ return chars.join('');
+}
+
+function slugify(str) {
+ const sep = '-';
+ // prettier-ignore
+ const chars = {
+ // Latin
+ 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE',
+ 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I',
+ 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O',
+ 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U',
+ 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'ß': 'ss', 'à': 'a', 'á': 'a',
+ 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', 'è': 'e',
+ 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', 'ï': 'i',
+ 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o',
+ 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', 'ű': 'u',
+ 'ý': 'y', 'þ': 'th', 'ÿ': 'y', 'ẞ': 'SS', 'œ': 'oe', 'Œ': 'OE',
+ // Greek
+ 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h',
+ 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3',
+ 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f',
+ 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o',
+ 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y',
+ 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z',
+ 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N',
+ 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y',
+ 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I',
+ 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y',
+ // Turkish
+ 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ğ': 'g', 'Ğ': 'G',
+ // Russian
+ 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo',
+ 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm',
+ 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u',
+ 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': 'u',
+ 'ы': 'y', 'э': 'e', 'ю': 'yu', 'я': 'ya', 'А': 'A', 'Б': 'B',
+ 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', 'Ж': 'Zh', 'З': 'Z',
+ 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', 'Н': 'N', 'О': 'O',
+ 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', 'Ф': 'F', 'Х': 'H',
+ 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': 'U', 'Ы': 'Y',
+ 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya',
+ // Ukranian
+ 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G',
+ 'є': 'ye', 'і': 'i', 'ї': 'yi', 'ґ': 'g',
+ // Czech
+ 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's',
+ 'ť': 't', 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E',
+ 'Ň': 'N', 'Ř': 'R', 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z',
+ // Polish
+ 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ś': 's',
+ 'ź': 'z', 'ż': 'z', 'Ą': 'A', 'Ć': 'C', 'Ę': 'e', 'Ł': 'L',
+ 'Ń': 'N', 'Ś': 'S', 'Ź': 'Z', 'Ż': 'Z',
+ // Latvian
+ 'ā': 'a', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l',
+ 'ņ': 'n', 'ū': 'u', 'Ā': 'A', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'i',
+ 'Ķ': 'k', 'Ļ': 'L', 'Ņ': 'N', 'Ū': 'u'
+ };
+
+ // transliterate non-english characters for their english equivalent
+ for (let i = 0, len = str.length; i < len; i++) {
+ if (chars[str.charAt(i)]) {
+ str = str.replace(str.charAt(i), chars[str.charAt(i)]);
+ }
+ }
+
+ str = str.toLowerCase();
+ str = str.replace(/[^a-z0-9]/gm, sep);
+ // replace multiple sep with single sep
+ str = str.replace(/[\-]+/gm, sep);
+ // strip sep from the beginning and from the end
+ str = str.replace(/^[\-]|[\-]$/gm, '');
+ return str;
+}
+
+function startsWith(str, search) {
+ // if (String.prototype.startsWith) {
+ // return str.startsWith(search);
+ // }
+ return str.substr(0, search.length) === search;
+}
+
+function toConstantCase(str) {
+ return str.replace(/[\s]/gm, '_').toUpperCase();
+}
+
+function toRandomCase(str) {
+ return str.replace(/./gm, (match) => {
+ return RandomUtil.boolean() ? match.toUpperCase() : match.toLowerCase();
+ });
+}
+
+function toTitleCase(str, toLowerCaseRest) {
+ return str.replace(/[^\'\‘\’\`\-\s]+/gm, (match) => {
+ return toUpperCaseFirst(match, toLowerCaseRest);
+ });
+}
+
+function toUpperCaseFirst(str, toLowerCaseRest) {
+ if (str.length === 0) {
+ return str;
+ }
+ const f = str.substr(0, 1).toUpperCase();
+ const r = str.length > 1 ? str.substr(1) : '';
+ return f + (toLowerCaseRest === true ? r.toLowerCase() : r);
+}
+
+function trim(str) {
+ // return str.replace(/^[\s]+|(? DEG_180) {
+ return -DEG_360 + degDiff;
+ } else if (degDiff < -DEG_180) {
+ return DEG_360 + degTo;
+ } else {
+ return degTo;
+ }
+}
+
+function haversine(lat1, lon1, lat2, lon2, km) {
+ const lat1Rad = degToRad(lat1);
+ const lon1Rad = degToRad(lon1);
+ const lat2Rad = degToRad(lat2);
+ const lon2Rad = degToRad(lon2);
+ const latDist = lat2Rad - lat1Rad;
+ const lonDist = lon2Rad - lon1Rad;
+ // prettier-ignore
+ const a = Math.sin(latDist / 2.0) * Math.sin(latDist / 2.0) +
+ Math.cos(lat1Rad) * Math.cos(lat2Rad) *
+ Math.sin(lonDist / 2.0) * Math.sin(lonDist / 2.0);
+ const c = Math.atan2(Math.sqrt(a), Math.sqrt(1.0 - a)) * 2.0;
+ let r; // earth radius
+ if (km === false) {
+ r = 3956; // miles
+ } else {
+ r = 6371; // km
+ }
+ const distance = MathUtil.roundDecimals(r * c, 3);
+ return distance;
+}
+
+function hypo(distanceX, distanceY) {
+ return Math.sqrt(distanceX * distanceX + distanceY * distanceY);
+}
+
+function radToDeg(rad) {
+ return rad * RAD_TO_DEG;
+}
+
+function sinDeg(deg) {
+ return Math.sin(deg * DEG_TO_RAD);
+}
+
+function tanDeg(deg) {
+ return Math.tan(deg * DEG_TO_RAD);
+}
+
+export default {
+ DEG_0,
+ DEG_90,
+ DEG_180,
+ DEG_270,
+ DEG_360,
+ DEG_TO_RAD,
+ RAD_TO_DEG,
+ acosDeg,
+ angleDeg,
+ angleRad,
+ asinDeg,
+ atanDeg,
+ atan2Deg,
+ cosDeg,
+ cycleDeg,
+ degToRad,
+ fastDeg,
+ haversine,
+ hypo,
+ radToDeg,
+ sinDeg,
+ tanDeg,
+};
diff --git a/src/utils/type.js b/src/utils/type.js
new file mode 100644
index 0000000..e4b6eb6
--- /dev/null
+++ b/src/utils/type.js
@@ -0,0 +1,208 @@
+import Base64Util from './base64.js';
+import JSONUtil from './json.js';
+import ObjectUtil from './object.js';
+import URLUtil from './url.js';
+
+const ARRAY = 'array';
+const BOOLEAN = 'boolean';
+const DATE = 'date';
+const ERROR = 'error';
+const FUNCTION = 'function';
+const MODULE = 'module';
+const NAN = 'nan';
+const NUMBER = 'number';
+const NULL = 'null';
+const OBJECT = 'object';
+const REGEXP = 'regexp';
+const STRING = 'string';
+const UNDEFINED = 'undefined';
+const UNKNOWN = 'unknown';
+// const XML = 'xml';
+
+function isArray(val) {
+ // https://stackoverflow.com/questions/4775722/check-if-object-is-array
+ if (Array.isArray) {
+ return Array.isArray(val);
+ }
+ return Object.prototype.toString.call(val) === '[object Array]';
+}
+
+function isBase64(val) {
+ if (isString(val)) {
+ try {
+ if (Base64Util.decode(val) !== '') {
+ return true;
+ }
+ } catch (e) {
+ // value is not valid base64 data
+ }
+ }
+ return false;
+}
+
+function isBoolean(val) {
+ return typeof val === 'boolean';
+}
+
+function isDate(val) {
+ return Object.prototype.toString.call(val) === '[object Date]';
+}
+
+function isError(val) {
+ return val instanceof Error;
+}
+
+function isFunction(val) {
+ return typeof val === 'function';
+}
+
+function isJSON(val) {
+ if (isString(val)) {
+ try {
+ JSONUtil.decode(val);
+ return true;
+ } catch (e) {
+ // value is not valid json data
+ }
+ }
+ return false;
+}
+
+function isModule(val) {
+ return Object.prototype.toString.call(val) === '[object Module]';
+}
+
+function isNaN(val) {
+ return ObjectUtil.is(val, NaN);
+}
+
+function isNone(val) {
+ return isUndefined(val) || isNull(val) || isNaN(val);
+}
+
+function isNumber(val) {
+ return typeof val === 'number' && !isNaN(val) && isFinite(val);
+}
+
+function isNull(val) {
+ return val === null;
+}
+
+function isObject(val) {
+ return (
+ typeof val === 'object' &&
+ Object.prototype.toString.call(val) === '[object Object]'
+ );
+}
+
+function isRegExp(val) {
+ return val instanceof RegExp;
+}
+
+function isString(val) {
+ return typeof val === 'string';
+}
+
+function isType(val) {
+ switch (val) {
+ case ARRAY:
+ case BOOLEAN:
+ case DATE:
+ case ERROR:
+ case FUNCTION:
+ case MODULE:
+ case NAN:
+ case NUMBER:
+ case NULL:
+ case OBJECT:
+ case REGEXP:
+ case STRING:
+ case UNDEFINED:
+ case UNKNOWN:
+ // case XML:
+ return true;
+ default:
+ return false;
+ }
+}
+
+function isUndefined(val) {
+ return typeof val === 'undefined';
+}
+
+// function isXML(val) {
+// // TODO
+// return false;
+// };
+
+function of(val) {
+ if (isArray(val)) {
+ return ARRAY;
+ } else if (isBoolean(val)) {
+ return BOOLEAN;
+ } else if (isDate(val)) {
+ return DATE;
+ } else if (isError(val)) {
+ return ERROR;
+ } else if (isFunction(val)) {
+ return FUNCTION;
+ } else if (isModule(val)) {
+ return MODULE;
+ } else if (isNaN(val)) {
+ return NAN;
+ } else if (isNumber(val)) {
+ return NUMBER;
+ } else if (isNull(val)) {
+ return NULL;
+ } else if (isRegExp(val)) {
+ return REGEXP;
+ } else if (isString(val)) {
+ return STRING;
+ } else if (isUndefined(val)) {
+ return UNDEFINED;
+ }
+ // else if (isXML(val)) {
+ // return XML;
+ // }
+ else if (isObject(val)) {
+ return OBJECT;
+ } else {
+ return UNKNOWN;
+ }
+}
+
+export default {
+ ARRAY,
+ BOOLEAN,
+ DATE,
+ ERROR,
+ FUNCTION,
+ MODULE,
+ NAN,
+ NUMBER,
+ NULL,
+ OBJECT,
+ REGEXP,
+ STRING,
+ UNDEFINED,
+ UNKNOWN,
+ // XML,
+ isArray,
+ isBase64,
+ isBoolean,
+ isDate,
+ isError,
+ isFunction,
+ isJSON,
+ isModule,
+ isNaN,
+ isNone,
+ isNumber,
+ isNull,
+ isObject,
+ isRegExp,
+ isString,
+ isType,
+ isUndefined,
+ of,
+};
diff --git a/src/utils/url.js b/src/utils/url.js
new file mode 100644
index 0000000..41fdd11
--- /dev/null
+++ b/src/utils/url.js
@@ -0,0 +1,107 @@
+function getDomain(url = getURL(), level) {
+ // remove protocol, www and port
+ let domain = url.replace(/(^\w+:|^)\/\/(www\.)?/, '');
+ domain = domain.split(':')[0];
+ if (!level) {
+ return domain;
+ }
+ let parts = domain.split('.');
+ if (level > parts.length || level <= 0) {
+ return '';
+ }
+ let domainName = parts[parts.length - level];
+ return domainName;
+}
+
+function getParameterByName(url, name, defaultValue) {
+ const paramsDict = getParameters(url);
+ return name in paramsDict ? paramsDict[name] || defaultValue || '' : defaultValue;
+}
+
+function getParameters(url) {
+ return getParametersDict(url);
+}
+
+function getParametersDict(url) {
+ const paramsList = getParametersList(url);
+ let param;
+ const paramsDict = {};
+ for (let i = 0, j = paramsList.length; i < j; i++) {
+ param = paramsList[i];
+ paramsDict[param['key']] = param['value'];
+ }
+ return paramsDict;
+}
+
+function getParametersList(url) {
+ const paramsString = getParametersString(url);
+ const paramsList = [];
+ const paramsRE = /(([\w\-]+){1}(\=([^\&\n\r\t]*){1})?)/g;
+ let paramMatch = paramsRE.exec(paramsString);
+ while (paramMatch) {
+ paramsList.push({
+ key: paramMatch[2],
+ value: decodeURIComponent(paramMatch[4] || ''),
+ });
+ paramMatch = paramsRE.exec(paramsString);
+ }
+ return paramsList;
+}
+
+function getParametersString(url = getURL()) {
+ const queryStringPosition = url.indexOf('?');
+ // prettier-ignore
+ let queryString = (queryStringPosition > -1 ? url.substr(queryStringPosition + 1) : '');
+ const hashDelimiterPosition = queryString.indexOf('#');
+ if (hashDelimiterPosition > -1) {
+ queryString = queryString.substring(0, hashDelimiterPosition);
+ }
+ return queryString;
+}
+
+function getURL() {
+ let url = '';
+ try {
+ url = window.location.href;
+ } catch (e) {
+ // catch exception if not running in browser
+ }
+ return url;
+}
+
+function hasParameter(url, name) {
+ return name in getParametersDict(url);
+}
+
+function isFile(url) {
+ return (url || getURL()).indexOf('file://') === 0;
+}
+
+function isHttp(url) {
+ return (url || getURL()).indexOf('http://') === 0;
+}
+
+function isHttps(url) {
+ return (url || getURL()).indexOf('https://') === 0;
+}
+
+function isLocalhost(url) {
+ const re =
+ /^(https?\:\/\/)(localhost(.[a-z0-9\-])*|127\.0\.0\.1)(\:[\d]+)?(\/(.)*)?$/;
+ return re.test(url || getURL());
+}
+
+export default {
+ getDomain,
+ getParameterByName,
+ getParameters,
+ getParametersDict,
+ getParametersList,
+ getParametersString,
+ getURL,
+ hasParameter,
+ isFile,
+ isHttp,
+ isHttps,
+ isLocalhost,
+};
diff --git a/src/utils/utf8.js b/src/utils/utf8.js
new file mode 100644
index 0000000..11ed6cd
--- /dev/null
+++ b/src/utils/utf8.js
@@ -0,0 +1,66 @@
+function decode(input) {
+ return decodeURIComponent(escape(input));
+
+ // var output = '';
+ // var i = 0;
+ // var j = input.length;
+ // var c, c1, c2;
+
+ // while (i < j)
+ // {
+ // c = input.charCodeAt(i);
+
+ // if (c < 128) {
+ // output += String.fromCharCode(c);
+ // i++;
+ // }
+ // else if((c > 191) && (c < 224)) {
+ // c2 = input.charCodeAt(i + 1);
+ // output += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
+ // i += 2;
+ // }
+ // else {
+ // c2 = input.charCodeAt(i + 1);
+ // c3 = input.charCodeAt(i + 2);
+ // output += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
+ // i += 3;
+ // }
+ // }
+
+ // return output;
+}
+
+function encode(input) {
+ return unescape(encodeURIComponent(input));
+
+ // input = input.replace(/\r\n/g, '\n');
+
+ // var output = '';
+ // var i = 0;
+ // var j = input.length;
+ // var c;
+
+ // for (i; i < j; i++)
+ // {
+ // c = input.charCodeAt(i);
+ // if (c < 128) {
+ // output += String.fromCharCode(c);
+ // }
+ // else if ((c > 127) && (c < 2048)) {
+ // output += String.fromCharCode((c >> 6) | 192);
+ // output += String.fromCharCode((c & 63) | 128);
+ // }
+ // else {
+ // output += String.fromCharCode((c >> 12) | 224);
+ // output += String.fromCharCode(((c >> 6) & 63) | 128);
+ // output += String.fromCharCode((c & 63) | 128);
+ // }
+ // }
+
+ // return output;
+}
+
+export default {
+ decode,
+ encode,
+};
diff --git a/src/utils/xml.js b/src/utils/xml.js
new file mode 100644
index 0000000..ad9cfcd
--- /dev/null
+++ b/src/utils/xml.js
@@ -0,0 +1,31 @@
+// function decode(str) {
+// // https://stackoverflow.com/questions/17604071/parse-xml-using-javascript
+// var doc = null;
+// try {
+// if (window.DOMParser) {
+// parser = new DOMParser();
+// doc = parser.parseFromString(str, 'text/xml');
+// } else {
+// // Internet Explorer
+// doc = new ActiveXObject('Microsoft.XMLDOM');
+// doc.async = false;
+// doc.loadXML(str);
+// }
+// } catch(e) {
+// }
+// return doc;
+// };
+
+// function encode(doc) {
+// var ser = new XMLSerializer();
+// var str = ser.serializeToString(doc);
+// return str;
+// };
+
+function removeNamespaces(str) {
+ return str.replace(/(\<(.|\n)+?\>)/g, (tag) => {
+ return tag.replace(/(\s|\<\/?){1}([\w]+\:){1}/g, '$1');
+ });
+}
+
+export default { removeNamespaces };
diff --git a/test/test.js b/test/test.js
index 2b8574d..4a93452 100644
--- a/test/test.js
+++ b/test/test.js
@@ -1,83 +1,84 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
+import utils from '../src/utils.js';
-describe('utils', function () {
- it('utils', function () {
+const test = utils.test;
+
+describe('utils', () => {
+ it('utils', () => {
test.assertObject(utils);
});
- it('utils.array', function () {
+ it('utils.array', () => {
test.assertObject(utils.array);
});
- it('utils.base64', function () {
+ it('utils.base64', () => {
test.assertObject(utils.base64);
});
- it('utils.color', function () {
+ it('utils.color', () => {
test.assertObject(utils.color);
});
- it('utils.color.cmyk', function () {
+ it('utils.color.cmyk', () => {
test.assertObject(utils.color.cmyk);
});
- it('utils.color.hex', function () {
+ it('utils.color.hex', () => {
test.assertObject(utils.color.hex);
});
- it('utils.color.rgb', function () {
+ it('utils.color.rgb', () => {
test.assertObject(utils.color.rgb);
});
- it('utils.date', function () {
+ it('utils.date', () => {
test.assertObject(utils.date);
});
- it('utils.ease', function () {
+ it('utils.ease', () => {
test.assertObject(utils.ease);
});
- it('utils.func', function () {
+ it('utils.func', () => {
test.assertObject(utils.func);
});
- it('utils.geom', function () {
+ it('utils.geom', () => {
test.assertObject(utils.geom);
});
- it('utils.geom.point', function () {
+ it('utils.geom.point', () => {
test.assertObject(utils.geom.point);
});
- it('utils.hex', function () {
+ it('utils.hex', () => {
test.assertObject(utils.hex);
});
- it('utils.json', function () {
+ it('utils.json', () => {
test.assertObject(utils.json);
});
- it('utils.math', function () {
+ it('utils.math', () => {
test.assertObject(utils.math);
});
- it('utils.math.interpolation', function () {
+ it('utils.math.interpolation', () => {
test.assertObject(utils.math.interpolation);
});
- it('utils.number', function () {
+ it('utils.number', () => {
test.assertObject(utils.number);
});
- it('utils.object', function () {
+ it('utils.object', () => {
test.assertObject(utils.object);
});
- it('utils.random', function () {
+ it('utils.random', () => {
test.assertObject(utils.random);
});
- it('utils.string', function () {
+ it('utils.string', () => {
test.assertObject(utils.string);
});
- it('utils.test', function () {
+ it('utils.test', () => {
test.assertObject(utils.test);
});
- it('utils.trigo', function () {
+ it('utils.trigo', () => {
test.assertObject(utils.trigo);
});
- it('utils.type', function () {
+ it('utils.type', () => {
test.assertObject(utils.type);
});
- it('utils.url', function () {
+ it('utils.url', () => {
test.assertObject(utils.url);
});
- it('utils.utf8', function () {
+ it('utils.utf8', () => {
test.assertObject(utils.utf8);
});
- it('utils.xml', function () {
+ it('utils.xml', () => {
test.assertObject(utils.xml);
});
});
diff --git a/test/test_array.js b/test/test_array.js
index 72fe1fa..e18a083 100644
--- a/test/test_array.js
+++ b/test/test_array.js
@@ -1,14 +1,14 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var arr = utils.array;
+import utils from '../src/utils.js';
+const test = utils.test;
+const arr = utils.array;
-describe('array', function () {
- describe('all', function () {
- var f = arr.all;
- it('test true', function () {
+describe('array', () => {
+ describe('all', () => {
+ const f = arr.all;
+ it('test true', () => {
test.assertEqual(f([true, 1, 'ok', [0], { a: 0 }]), true);
});
- it('test false', function () {
+ it('test false', () => {
test.assertEqual(f([false, 1, 'ok', [0], { a: 0 }]), false);
test.assertEqual(f([true, 0, 'ok', [0], { a: 0 }]), false);
test.assertEqual(f([true, 1, '', [0], { a: 0 }]), false);
@@ -16,9 +16,9 @@ describe('array', function () {
test.assertEqual(f([true, 1, 'ok', [0], {}]), false);
});
});
- describe('any', function () {
- var f = arr.any;
- it('test true', function () {
+ describe('any', () => {
+ const f = arr.any;
+ it('test true', () => {
test.assertEqual(f([true, 1, 'ok', [0], { a: 0 }]), true);
test.assertEqual(f([false, 1, 'ok', [0], { a: 0 }]), true);
test.assertEqual(f([true, 0, 'ok', [0], { a: 0 }]), true);
@@ -27,75 +27,75 @@ describe('array', function () {
test.assertEqual(f([true, 1, 'ok', [0], {}]), true);
test.assertEqual(f([true, 0, '', [], {}]), true);
});
- it('test false', function () {
+ it('test false', () => {
test.assertEqual(f([false, 0, '', [], {}]), false);
});
});
- describe('clean', function () {
- var f = arr.clean;
+ describe('clean', () => {
+ const f = arr.clean;
- it('test none', function () {
+ it('test none', () => {
test.assertEqual(f([null, undefined, NaN], false), []);
});
- it('test none hard', function () {
+ it('test none hard', () => {
test.assertEqual(f([null, undefined, NaN], true), []);
});
- it('test booleans', function () {
+ it('test booleans', () => {
test.assertEqual(f([true, false], false), [true, false]);
});
- it('test booleans hard', function () {
+ it('test booleans hard', () => {
test.assertEqual(f([true, false], true), [true, false]);
});
- it('test date', function () {
- var d = new Date();
+ it('test date', () => {
+ const d = new Date();
test.assertEqual(f([d], false), [d]);
});
- it('test date hard', function () {
- var d = new Date();
+ it('test date hard', () => {
+ const d = new Date();
test.assertEqual(f([d], true), [d]);
});
- it('test error', function () {
- var e = new Error();
+ it('test error', () => {
+ const e = new Error();
test.assertEqual(f([e], false), [e]);
});
- it('test error hard', function () {
- var e = new Error();
+ it('test error hard', () => {
+ const e = new Error();
test.assertEqual(f([e], true), [e]);
});
- it('test function', function () {
+ it('test function', () => {
test.assertEqual(f([f], false), [f]);
});
- it('test function hard', function () {
+ it('test function hard', () => {
test.assertEqual(f([f], true), [f]);
});
- it('test numbers', function () {
+ it('test numbers', () => {
test.assertEqual(
f([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, NaN, Number.Infinity], false),
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
);
});
- it('test numbers hard', function () {
+ it('test numbers hard', () => {
test.assertEqual(
f([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, NaN, Number.Infinity], true),
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
);
});
- it('test regexp', function () {
- var re = /^$/;
+ it('test regexp', () => {
+ const re = /^$/;
test.assertEqual(f([re], false), [re]);
});
- it('test regexp hard', function () {
- var re = /^$/;
+ it('test regexp hard', () => {
+ const re = /^$/;
test.assertEqual(f([re], true), [re]);
});
- it('test strings', function () {
+ it('test strings', () => {
test.assertEqual(f(['', ' ', ' ', 'a', 'b', 'c'], false), [
'',
' ',
@@ -105,11 +105,11 @@ describe('array', function () {
'c',
]);
});
- it('test strings hard', function () {
+ it('test strings hard', () => {
test.assertEqual(f(['', ' ', ' ', 'a', 'b', 'c'], true), ['a', 'b', 'c']);
});
- it('test arrays', function () {
+ it('test arrays', () => {
test.assertEqual(f([[[], [], []], [], [], []], false), [
[[], [], []],
[],
@@ -117,12 +117,12 @@ describe('array', function () {
[],
]);
});
- it('test arrays hard', function () {
+ it('test arrays hard', () => {
test.assertEqual(f([[], [], []], true), []);
test.assertEqual(f([[[], [], []], [], [], []], true), []);
});
- it('test objects', function () {
+ it('test objects', () => {
test.assertEqual(f([{}, {}, {}], false), [{}, {}, {}]);
test.assertEqual(f([{ a: {} }, { b: {} }, { c: {} }], false), [
{ a: {} },
@@ -140,7 +140,7 @@ describe('array', function () {
{ c: {} },
]);
});
- it('test objects hard', function () {
+ it('test objects hard', () => {
test.assertEqual(f([{}, {}, {}], true), []);
test.assertEqual(f([{ a: {} }, { b: {} }, { c: {} }], true), []);
test.assertEqual(f([{ a: null }, { b: {} }, { c: {} }], true), []);
@@ -149,7 +149,7 @@ describe('array', function () {
{ a: { b: 0 } },
]);
- var input, output;
+ let input, output;
input = [
0,
1,
@@ -191,14 +191,14 @@ describe('array', function () {
test.assertEqual(f(input, true), output);
});
});
- describe('clone', function () {
- var f = arr.clone;
- it('test array of array(s)', function () {
- var a = [1, 2, 3];
- var b = [4, 5, 6];
- var c = [7, 8, 9];
- var o = [a, b, c];
- var r = f(o);
+ describe('clone', () => {
+ const f = arr.clone;
+ it('test array of array(s)', () => {
+ const a = [1, 2, 3];
+ const b = [4, 5, 6];
+ const c = [7, 8, 9];
+ const o = [a, b, c];
+ const r = f(o);
test.assertFalse(r === o);
test.assertEqual(r, o);
@@ -212,24 +212,24 @@ describe('array', function () {
test.assertFalse(r[2] === c);
test.assertEqual(r[2], c);
});
- it('test array of boolean(s)', function () {
- var o = [true, false, true, false];
- var r = f(o);
+ it('test array of boolean(s)', () => {
+ const o = [true, false, true, false];
+ const r = f(o);
test.assertFalse(r === o);
test.assertEqual(r, o);
});
- it('test array of date(s)', function () {
- var o = [new Date(1800), new Date(1900), new Date(2000)];
- var r = f(o);
+ it('test array of date(s)', () => {
+ const o = [new Date(1800), new Date(1900), new Date(2000)];
+ const r = f(o);
test.assertFalse(r === o);
test.assertEqual(r, o);
});
- it('test array of object(s)', function () {
- var a = { a: 1, b: 2, c: 3 };
- var b = { d: 4, e: 5, f: 6 };
- var c = { g: 7, h: 8, i: 9 };
- var o = [a, b, c];
- var r = f(o);
+ it('test array of object(s)', () => {
+ const a = { a: 1, b: 2, c: 3 };
+ const b = { d: 4, e: 5, f: 6 };
+ const c = { g: 7, h: 8, i: 9 };
+ const o = [a, b, c];
+ const r = f(o);
test.assertFalse(r[0] === a);
test.assertEqual(r[0], a);
test.assertFalse(r[1] === b);
@@ -237,63 +237,62 @@ describe('array', function () {
test.assertFalse(r[2] === c);
test.assertEqual(r[2], c);
});
- it('test array of number(s)', function () {
- var o = [0, 1, 2, 3];
- var r = f(o);
+ it('test array of number(s)', () => {
+ const o = [0, 1, 2, 3];
+ const r = f(o);
test.assertFalse(r === o);
test.assertEqual(r, o);
});
- it('test array of string(s)', function () {
- var o = ['a', 'b', 'c', 'd'];
- var r = f(o);
+ it('test array of string(s)', () => {
+ const o = ['a', 'b', 'c', 'd'];
+ const r = f(o);
test.assertFalse(r === o);
test.assertEqual(r, o);
});
});
- describe('contains', function () {
- var f = arr.contains;
- var a, b;
- it('test none', function () {
+ describe('contains', () => {
+ const f = arr.contains;
+ it('test none', () => {
test.assertTrue(f([null, undefined, NaN], null));
test.assertTrue(f([null, undefined, NaN], undefined));
test.assertTrue(f([null, undefined, NaN], NaN));
test.assertFalse(f([null, undefined, NaN], 0));
});
- it('test booleans', function () {
+ it('test booleans', () => {
test.assertTrue(f([true, true, true], true));
test.assertFalse(f([true, true, true], false));
test.assertTrue(f([false, false, false], false));
test.assertFalse(f([false, false, false], true));
});
- it('test date', function () {
+ it('test date', () => {
test.assertTrue(f([new Date('1999/12/31')], new Date('1999/12/31')));
test.assertFalse(f([new Date('1999/12/31')], new Date('1999/12/30')));
});
- it('test error', function () {
- a = new Error('message 1');
- b = new Error('message 1');
- c = new Error('message 2');
+ it('test error', () => {
+ const a = new Error('message 1');
+ const b = new Error('message 1');
+ const c = new Error('message 2');
test.assertTrue(f([a], b));
test.assertFalse(f([a], c));
});
- it('test function', function () {
+ it('test function', () => {
test.assertTrue(f([f, f, f], f));
- test.assertFalse(f([f, f, f], function () {}));
+ test.assertFalse(f([f, f, f], () => {}));
});
- it('test numbers', function () {
+ it('test numbers', () => {
test.assertTrue(f([0, 1, 2, 3, 4, 5, NaN], 0));
test.assertFalse(f([0, 1, 2, 3, 4, 5, NaN], 6));
});
- it('test regexp', function () {
+ it('test regexp', () => {
test.assertTrue(f([/^[a-z]$/], /^[a-z]$/));
test.assertFalse(f([/^[a-z]$/], /^[a-zA-Z]$/));
});
- it('test strings', function () {
+ it('test strings', () => {
test.assertTrue(f(['a', 'b', 'c'], 'a'));
test.assertFalse(f(['a', 'b', 'c'], 'd'));
test.assertFalse(f(['a', 'b', 'c'], 'A'));
});
- it('test arrays', function () {
+ it('test arrays', () => {
test.assertTrue(
f(
[
@@ -315,7 +314,7 @@ describe('array', function () {
)
);
});
- it('test objects', function () {
+ it('test objects', () => {
test.assertTrue(
f(
[
@@ -347,19 +346,19 @@ describe('array', function () {
)
);
});
- it('test none multivalue', function () {
+ it('test none multivalue', () => {
test.assertTrue(f([null, undefined, NaN], null, undefined));
test.assertTrue(f([null, undefined, NaN], undefined, NaN));
test.assertTrue(f([null, undefined, NaN], NaN, null));
test.assertFalse(f([null, undefined, NaN], NaN, 0));
});
- it('test booleans multivalue', function () {
+ it('test booleans multivalue', () => {
test.assertTrue(f([true, true, true], true, true));
test.assertFalse(f([true, true, true], false, true));
test.assertTrue(f([false, false, false], false, false));
test.assertFalse(f([false, false, false], true, true));
});
- it('test date multivalue', function () {
+ it('test date multivalue', () => {
test.assertTrue(
f(
[
@@ -383,31 +382,31 @@ describe('array', function () {
)
);
});
- it('test error multivalue', function () {
- a = new Error('message 1');
- b = new Error('message 1');
- c = new Error('message 2');
+ it('test error multivalue', () => {
+ const a = new Error('message 1');
+ const b = new Error('message 1');
+ const c = new Error('message 2');
test.assertTrue(f([a, b], a, b));
test.assertFalse(f([a, b], a, c));
});
- it('test function multivalue', function () {
+ it('test function multivalue', () => {
test.assertTrue(f([f, f, f], f, f));
- test.assertFalse(f([f, f, f], f, function () {}));
+ test.assertFalse(f([f, f, f], f, () => {}));
});
- it('test numbers multivalue', function () {
+ it('test numbers multivalue', () => {
test.assertTrue(f([0, 1, 2, 3, 4, 5, NaN], 0, 3, NaN));
test.assertFalse(f([0, 1, 2, 3, 4, 5, NaN], 0, 3, 6));
});
- it('test regexp multivalue', function () {
+ it('test regexp multivalue', () => {
test.assertTrue(f([/^[a-z]$/], /^[a-z]$/, /^[a-z]$/));
test.assertFalse(f([/^[a-z]$/], /^[a-z]$/, /^[a-zA-Z]$/));
});
- it('test strings multivalue', function () {
+ it('test strings multivalue', () => {
test.assertTrue(f(['a', 'b', 'c'], 'a', 'c'));
test.assertFalse(f(['a', 'b', 'c'], 'a', 'd'));
test.assertFalse(f(['a', 'b', 'c'], 'A', 'b'));
});
- it('test arrays multivalue', function () {
+ it('test arrays multivalue', () => {
test.assertTrue(
f(
[
@@ -431,7 +430,7 @@ describe('array', function () {
)
);
});
- it('test objects multivalue', function () {
+ it('test objects multivalue', () => {
test.assertTrue(
f(
[
@@ -467,53 +466,53 @@ describe('array', function () {
);
});
});
- describe('equals', function () {
- var f = arr.equals;
- var a, b;
- it('test none', function () {
+ describe('equals', () => {
+ const f = arr.equals;
+ it('test none', () => {
test.assertTrue(f([null, undefined, NaN], [null, undefined, NaN]));
test.assertFalse(f([null, undefined, NaN], [null, undefined, NaN, NaN]));
test.assertFalse(f([null, undefined, NaN], [null, undefined, null]));
});
- it('test booleans', function () {
+ it('test booleans', () => {
test.assertTrue(f([true, false, true, false], [true, false, true, false]));
test.assertFalse(f([true, false, true, false], [true, false, true, true]));
test.assertFalse(f([true, false, true, false], [true, false, true]));
});
- it('test date', function () {
- a = new Date();
- b = new Date();
- c = new Date('1999/12/31');
+ it('test date', () => {
+ const a = new Date();
+ const b = new Date();
+ const c = new Date('1999/12/31');
test.assertTrue(f([a], [a]));
test.assertTrue(f([a], [b]));
test.assertFalse(f([a], [c]));
});
- it('test error', function () {
- a = new Error('message 1');
- b = new Error('message 1');
- c = new Error('message 2');
+ it('test error', () => {
+ const a = new Error('message 1');
+ const b = new Error('message 1');
+ const c = new Error('message 2');
test.assertTrue(f([a], [a]));
test.assertTrue(f([a], [b]));
test.assertFalse(f([a], [c]));
});
- it('test function', function () {
+ it('test function', () => {
test.assertTrue(f([f, f, f], [f, f, f]));
test.assertFalse(f([f, f, f], [f, f]));
- test.assertFalse(f([f, f, f], [f, f, function () {}]));
+ test.assertFalse(f([f, f, f], [f, f, () => {}]));
});
- it('test numbers', function () {
+ it('test numbers', () => {
test.assertTrue(f([0, 1, 2, 3, 4, 5, NaN], [0, 1, 2, 3, 4, 5, NaN]));
test.assertFalse(f([0, 1, 2, 3, 4, 5, NaN], [1, 2, 3, 4, 5, NaN]));
});
- it('test regexp', function () {
+ it('test regexp', () => {
test.assertTrue(f([/^[a-z]$/], [/^[a-z]$/]));
test.assertFalse(f([/^[a-z]$/], [/^[a-zA-Z]$/]));
});
- it('test strings', function () {
+ it('test strings', () => {
test.assertTrue(f(['a'], ['a']));
test.assertFalse(f(['a'], ['A']));
});
- it('test arrays', function () {
+ it('test arrays', () => {
+ let a, b;
a = [
[1, 2],
[null, true],
@@ -533,7 +532,8 @@ describe('array', function () {
];
test.assertFalse(f(a, b));
});
- it('test objects', function () {
+ it('test objects', () => {
+ let a, b;
a = [{ a: 1, b: 2 }];
b = [{ a: 1, b: 2 }];
test.assertTrue(f(a, b));
@@ -544,7 +544,8 @@ describe('array', function () {
b = [{ a: 1, b: 2, c: 3 }];
test.assertFalse(f(a, b));
});
- it('test complex', function () {
+ it('test complex', () => {
+ let a, b;
a = [
0,
1,
@@ -608,41 +609,39 @@ describe('array', function () {
test.assertTrue(f(a, b));
});
});
- describe('flatten', function () {
- var f = arr.flatten;
- var a, b;
- it('test array 2D', function () {
- a = [
+ describe('flatten', () => {
+ const f = arr.flatten;
+ it('test array 2D', () => {
+ const a = [
[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
];
- b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ const b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a), b);
});
- it('test array 2D and values', function () {
- a = [0, [1, 2], 3, [4, 5], 6, [7, 8], 9];
- b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ it('test array 2D and values', () => {
+ const a = [0, [1, 2], 3, [4, 5], 6, [7, 8], 9];
+ const b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a), b);
});
- it('test array 3D', function () {
- a = [
+ it('test array 3D', () => {
+ const a = [
[[0, 1, 2], 3, 4],
[[5, 6, 7], 8, 9],
];
- b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ const b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a), b);
});
- it('test array [n]D', function () {
- a = [[[[[[[[[[0], 1], 2], 3], 4], 5], 6], 7], 8], 9];
- b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ it('test array [n]D', () => {
+ const a = [[[[[[[[[[0], 1], 2], 3], 4], 5], 6], 7], 8], 9];
+ const b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a), b);
});
});
- describe('index', function () {
- var f = arr.index;
- var a, b;
- it('test single key / single value', function () {
- a = [
+ describe('index', () => {
+ const f = arr.index;
+ it('test single key / single value', () => {
+ const a = [
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' },
@@ -650,7 +649,7 @@ describe('array', function () {
{ id: 5, name: 'e' },
{ id: 6, name: 'f' },
];
- b = {
+ const b = {
1: [{ id: 1, name: 'a' }],
2: [{ id: 2, name: 'b' }],
3: [{ id: 3, name: 'c' }],
@@ -660,8 +659,8 @@ describe('array', function () {
};
test.assertEqual(f(a, 'id'), b);
});
- it('test single key / single value flat', function () {
- a = [
+ it('test single key / single value flat', () => {
+ const a = [
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' },
@@ -669,7 +668,7 @@ describe('array', function () {
{ id: 5, name: 'e' },
{ id: 6, name: 'f' },
];
- b = {
+ const b = {
1: { id: 1, name: 'a' },
2: { id: 2, name: 'b' },
3: { id: 3, name: 'c' },
@@ -679,8 +678,8 @@ describe('array', function () {
};
test.assertEqual(f(a, 'id', true), b);
});
- it('test single key / multiple values', function () {
- a = [
+ it('test single key / multiple values', () => {
+ const a = [
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' },
@@ -694,7 +693,7 @@ describe('array', function () {
{ id: 5, name: 'ee' },
{ id: 6, name: 'ff' },
];
- b = {
+ const b = {
1: [
{ id: 1, name: 'a' },
{ id: 1, name: 'aa' },
@@ -722,8 +721,8 @@ describe('array', function () {
};
test.assertEqual(f(a, 'id'), b);
});
- it('test single key / multiple values flat', function () {
- a = [
+ it('test single key / multiple values flat', () => {
+ const a = [
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' },
@@ -737,7 +736,7 @@ describe('array', function () {
{ id: 5, name: 'ee' },
{ id: 6, name: 'ff' },
];
- b = {
+ const b = {
1: { id: 1, name: 'aa' },
2: { id: 2, name: 'bb' },
3: { id: 3, name: 'cc' },
@@ -747,8 +746,8 @@ describe('array', function () {
};
test.assertEqual(f(a, 'id', true), b);
});
- it('test multiple keys / values', function () {
- a = [
+ it('test multiple keys / values', () => {
+ const a = [
{ id: 1, name: 'a', even: false },
{ id: 2, name: 'b', even: true },
{ id: 3, name: 'c', even: false },
@@ -756,7 +755,7 @@ describe('array', function () {
{ id: 5, name: 'e', even: false },
{ id: 6, name: 'f', even: true },
];
- b = {
+ const b = {
1: [{ id: 1, name: 'a', even: false }],
2: [{ id: 2, name: 'b', even: true }],
3: [{ id: 3, name: 'c', even: false }],
@@ -776,8 +775,8 @@ describe('array', function () {
};
test.assertEqual(f(a, ['id', 'even']), b);
});
- it('test multiple keys / values flat', function () {
- a = [
+ it('test multiple keys / values flat', () => {
+ const a = [
{ id: 1, name: 'a', even: false },
{ id: 2, name: 'b', even: true },
{ id: 3, name: 'c', even: false },
@@ -785,7 +784,7 @@ describe('array', function () {
{ id: 5, name: 'e', even: false },
{ id: 6, name: 'f', even: true },
];
- b = {
+ const b = {
1: { id: 1, name: 'a', even: false },
2: { id: 2, name: 'b', even: true },
3: { id: 3, name: 'c', even: false },
@@ -798,27 +797,29 @@ describe('array', function () {
test.assertEqual(f(a, ['id', 'even'], true), b);
});
});
- describe('insert', function () {
- var f = arr.insert;
- var a = ['a', 'b', 'c', 'd', 'e'];
- it('test first', function () {
+ describe('insert', () => {
+ const f = arr.insert;
+ it('test first', () => {
+ const a = ['a', 'b', 'c', 'd', 'e'];
test.assertEqual(f(a.slice(), 0, 'x'), ['x', 'a', 'b', 'c', 'd', 'e']);
});
- it('test last', function () {
+ it('test last', () => {
+ const a = ['a', 'b', 'c', 'd', 'e'];
test.assertEqual(f(a.slice(), 5, 'x'), ['a', 'b', 'c', 'd', 'e', 'x']);
});
- it('test middle', function () {
+ it('test middle', () => {
+ const a = ['a', 'b', 'c', 'd', 'e'];
test.assertEqual(f(a.slice(), 3, 'x'), ['a', 'b', 'c', 'x', 'd', 'e']);
});
});
- describe('min', function () {
- var f = arr.min;
- it('test array of numbers', function () {
- a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ describe('min', () => {
+ const f = arr.min;
+ it('test array of numbers', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a), 0);
});
- it('test array of objects', function () {
- a = [
+ it('test array of objects', () => {
+ const a = [
{ n: 0 },
{ n: 1 },
{ n: 2 },
@@ -831,21 +832,21 @@ describe('array', function () {
{ n: 9 },
];
test.assertEqual(
- f(a, function (item) {
+ f(a, (item) => {
return item['n'];
}),
0
);
});
});
- describe('max', function () {
- var f = arr.max;
- it('test array of numbers', function () {
- a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ describe('max', () => {
+ const f = arr.max;
+ it('test array of numbers', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a), 9);
});
- it('test array of objects', function () {
- a = [
+ it('test array of objects', () => {
+ const a = [
{ n: 0 },
{ n: 1 },
{ n: 2 },
@@ -858,23 +859,25 @@ describe('array', function () {
{ n: 9 },
];
test.assertEqual(
- f(a, function (item) {
+ f(a, (item) => {
return item['n'];
}),
9
);
});
});
- describe('paginate', function () {
- var f = arr.paginate;
- var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
- it('test array length 10 items per page -1', function () {
+ describe('paginate', () => {
+ const f = arr.paginate;
+ it('test array length 10 items per page -1', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 0), []);
});
- it('test array length 10 items per page 0', function () {
+ it('test array length 10 items per page 0', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 0), []);
});
- it('test array length 10 items per page 1', function () {
+ it('test array length 10 items per page 1', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 1), [
[0],
[1],
@@ -888,7 +891,8 @@ describe('array', function () {
[9],
]);
});
- it('test array length 10 items per page 2', function () {
+ it('test array length 10 items per page 2', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 2), [
[0, 1],
[2, 3],
@@ -897,105 +901,115 @@ describe('array', function () {
[8, 9],
]);
});
- it('test array length 10 items per page 3', function () {
+ it('test array length 10 items per page 3', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 3), [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]);
});
- it('test array length 10 items per page 4', function () {
+ it('test array length 10 items per page 4', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 4), [
[0, 1, 2, 3],
[4, 5, 6, 7],
[8, 9],
]);
});
- it('test array length 10 items per page 5', function () {
+ it('test array length 10 items per page 5', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 5), [
[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
]);
});
- it('test array length 10 items per page 6', function () {
+ it('test array length 10 items per page 6', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 6), [
[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9],
]);
});
- it('test array length 10 items per page 7', function () {
+ it('test array length 10 items per page 7', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 7), [
[0, 1, 2, 3, 4, 5, 6],
[7, 8, 9],
]);
});
- it('test array length 10 items per page 8', function () {
+ it('test array length 10 items per page 8', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 8), [
[0, 1, 2, 3, 4, 5, 6, 7],
[8, 9],
]);
});
- it('test array length 10 items per page 9', function () {
+ it('test array length 10 items per page 9', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 9), [[0, 1, 2, 3, 4, 5, 6, 7, 8], [9]]);
});
- it('test array length 10 items per page 10', function () {
+ it('test array length 10 items per page 10', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 10), [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]);
});
- it('test array length 10 items per page 11', function () {
+ it('test array length 10 items per page 11', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 11), [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]);
});
});
- describe('reduce', function () {
- var f = arr.reduce;
- var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
- it('test value', function () {
- var r = function (accumulator, value, index, list) {
+ describe('reduce', () => {
+ const f = arr.reduce;
+ it('test value', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ const r = (accumulator, value, index, list) => {
return accumulator + value;
};
test.assertEqual(f(a, r), 45);
});
- it('test initial value', function () {
- var r = function (accumulator, value, index, list) {
+ it('test initial value', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ const r = (accumulator, value, index, list) => {
return accumulator + value;
};
test.assertEqual(f(a, r, 1), 46);
});
- it('test index', function () {
- var r = function (accumulator, value, index, list) {
+ it('test index', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ const r = (accumulator, value, index, list) => {
return accumulator + index;
};
test.assertEqual(f(a, r), 45);
});
});
- describe('remove', function () {
- var f = arr.remove;
- var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ describe('remove', () => {
+ const f = arr.remove;
- it('test single value first', function () {
- var b = a.slice();
- test.assertEqual(f(b, 0), [1, 2, 3, 4, 5, 6, 7, 8, 9]);
+ it('test single value first', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ test.assertEqual(f(a, 0), [1, 2, 3, 4, 5, 6, 7, 8, 9]);
});
- it('test single value last', function () {
- var b = a.slice();
- test.assertEqual(f(b, 9), [0, 1, 2, 3, 4, 5, 6, 7, 8]);
+ it('test single value last', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ test.assertEqual(f(a, 9), [0, 1, 2, 3, 4, 5, 6, 7, 8]);
});
- it('test single value middle', function () {
- var b = a.slice();
- test.assertEqual(f(b, 5), [0, 1, 2, 3, 4, 6, 7, 8, 9]);
+ it('test single value middle', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ test.assertEqual(f(a, 5), [0, 1, 2, 3, 4, 6, 7, 8, 9]);
});
- it('test single value multiple items', function () {
- var b = [0, 1, 0, 1, 0, 1, 0, 1, 0];
- test.assertEqual(f(b, 0), [1, 1, 1, 1]);
+ it('test single value multiple items', () => {
+ const a = [0, 1, 0, 1, 0, 1, 0, 1, 0];
+ test.assertEqual(f(a, 0), [1, 1, 1, 1]);
});
- it('test single value all items', function () {
- var b = [0, 0, 0, 0, 0];
- test.assertEqual(f(b, 0), []);
+ it('test single value all items', () => {
+ const a = [0, 0, 0, 0, 0];
+ test.assertEqual(f(a, 0), []);
});
- it('test multiple values', function () {
- var b = a.slice();
- test.assertEqual(f(b, 1, 3, 5, 7, 9), [0, 2, 4, 6, 8]);
+ it('test multiple values', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ test.assertEqual(f(a, 1, 3, 5, 7, 9), [0, 2, 4, 6, 8]);
});
- it('test none values', function () {
- var b = [null, undefined, NaN, NaN, null, undefined, undefined];
- test.assertEqual(f(b, undefined), [null, NaN, NaN, null]);
+ it('test none values', () => {
+ const a = [null, undefined, NaN, NaN, null, undefined, undefined];
+ test.assertEqual(f(a, undefined), [null, NaN, NaN, null]);
});
- it('test arrays', function () {
+ it('test arrays', () => {
test.assertEqual(
f(
[
@@ -1026,7 +1040,7 @@ describe('array', function () {
]
);
});
- it('test objects', function () {
+ it('test objects', () => {
test.assertEqual(
f(
[
@@ -1058,35 +1072,34 @@ describe('array', function () {
);
});
});
- describe('replace', function () {
- var f = arr.replace;
- var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ describe('replace', () => {
+ const f = arr.replace;
- it('test single value first', function () {
- var b = a.slice();
- test.assertEqual(f(b, 0, 9), [9, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
+ it('test single value first', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ test.assertEqual(f(a, 0, 9), [9, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
});
- it('test single value last', function () {
- var b = a.slice();
- test.assertEqual(f(b, 9, 0), [0, 1, 2, 3, 4, 5, 6, 7, 8, 0]);
+ it('test single value last', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ test.assertEqual(f(a, 9, 0), [0, 1, 2, 3, 4, 5, 6, 7, 8, 0]);
});
- it('test single value middle', function () {
- var b = a.slice();
- test.assertEqual(f(b, 5, 0), [0, 1, 2, 3, 4, 0, 6, 7, 8, 9]);
+ it('test single value middle', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ test.assertEqual(f(a, 5, 0), [0, 1, 2, 3, 4, 0, 6, 7, 8, 9]);
});
- it('test multiple values', function () {
- var b = [0, 1, 0, 1, 0, 1, 0, 1, 0];
- test.assertEqual(f(b, 1, -1), [0, -1, 0, -1, 0, -1, 0, -1, 0]);
+ it('test multiple values', () => {
+ const a = [0, 1, 0, 1, 0, 1, 0, 1, 0];
+ test.assertEqual(f(a, 1, -1), [0, -1, 0, -1, 0, -1, 0, -1, 0]);
});
- it('test all values', function () {
- var b = [0, 0, 0, 0, 0];
- test.assertEqual(f(b, 0, 1), [1, 1, 1, 1, 1]);
+ it('test all values', () => {
+ const a = [0, 0, 0, 0, 0];
+ test.assertEqual(f(a, 0, 1), [1, 1, 1, 1, 1]);
});
});
- describe('rotate', function () {
- var f = arr.rotate;
- var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
- it('test rotate negative', function () {
+ describe('rotate', () => {
+ const f = arr.rotate;
+ it('test rotate negative', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, -0), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
test.assertEqual(f(a, -1), [9, 0, 1, 2, 3, 4, 5, 6, 7, 8]);
test.assertEqual(f(a, -2), [8, 9, 0, 1, 2, 3, 4, 5, 6, 7]);
@@ -1104,7 +1117,8 @@ describe('array', function () {
test.assertEqual(f(a, -14), [6, 7, 8, 9, 0, 1, 2, 3, 4, 5]);
test.assertEqual(f(a, -15), [5, 6, 7, 8, 9, 0, 1, 2, 3, 4]);
});
- it('test rotate positive', function () {
+ it('test rotate positive', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a, 1), [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]);
test.assertEqual(f(a, 2), [2, 3, 4, 5, 6, 7, 8, 9, 0, 1]);
test.assertEqual(f(a, 3), [3, 4, 5, 6, 7, 8, 9, 0, 1, 2]);
@@ -1121,57 +1135,58 @@ describe('array', function () {
test.assertEqual(f(a, 14), [4, 5, 6, 7, 8, 9, 0, 1, 2, 3]);
test.assertEqual(f(a, 15), [5, 6, 7, 8, 9, 0, 1, 2, 3, 4]);
});
- it('test rotate 0-1 length', function () {
- for (var i = -5; i <= 5; i++) {
+ it('test rotate 0-1 length', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ for (let i = -5; i <= 5; i++) {
test.assertEqual(f([], i), []);
test.assertEqual(f([1], i), [1]);
}
});
});
- describe('shuffle', function () {
- var f = arr.shuffle;
- var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
- var b;
- var c = [];
- it('test array has same length', function () {
+ describe('shuffle', () => {
+ const f = arr.shuffle;
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ let b;
+ let c = [];
+ it('test array has same length', () => {
b = f(a);
test.assertEqual(b.length, a.length);
});
- it('test array contains all items', function () {
+ it('test array contains all items', () => {
b = f(a);
- for (var i = 0; i < a.length; i++) {
- test.assertTrue(b.indexOf(a[i]) > -1);
+ for (let i = 0; i < a.length; i++) {
+ test.assertTrue(b.includes(a[i]));
}
});
- it('test array contains all items once', function () {
+ it('test array contains all items once', () => {
b = f(a);
- for (var i = 0; i < a.length; i++) {
+ for (let i = 0; i < a.length; i++) {
test.assertEqual(b.indexOf(a[i]), b.lastIndexOf(a[i]));
}
});
- it('test array items order changed', function () {
+ it('test array items order changed', () => {
b = f(a);
- c = b.some(function (item) {
+ c = b.some((item) => {
return a.indexOf(item) != b.indexOf(item);
});
test.assertTrue(c);
});
});
- describe('sort', function () {
- var f = arr.sort;
- var s = arr.shuffle;
- var a, b;
- it('test array of numbers', function () {
+ describe('sort', () => {
+ const f = arr.sort;
+ const s = arr.shuffle;
+ let a, b;
+ it('test array of numbers', () => {
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
b = s([9, 8, 7, 6, 5, 4, 3, 2, 1, 0]);
test.assertEqual(f(b), a);
});
- it('test array of numbers and strings', function () {
+ it('test array of numbers and strings', () => {
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd'];
b = s([9, 8, 'd', 7, 6, 'c', 5, 4, 'b', 3, 2, 'a', 1, 0]);
test.assertEqual(f(b), a);
});
- it('test array of objects on key', function () {
+ it('test array of objects on key', () => {
a = [
{ n: 0 },
{ n: 1 },
@@ -1204,7 +1219,7 @@ describe('array', function () {
]);
test.assertEqual(f(b, 'n'), a);
});
- it('test array of arrays on index', function () {
+ it('test array of arrays on index', () => {
a = [
[4, 0, 7],
[0, 1, 2],
@@ -1217,14 +1232,14 @@ describe('array', function () {
test.assertEqual(f(b, 1), a);
});
});
- describe('sum', function () {
- var f = arr.sum;
- it('test array of numbers', function () {
- a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ describe('sum', () => {
+ const f = arr.sum;
+ it('test array of numbers', () => {
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
test.assertEqual(f(a), 45);
});
- it('test array of objects', function () {
- a = [
+ it('test array of objects', () => {
+ const a = [
{ n: 0 },
{ n: 1 },
{ n: 2 },
@@ -1237,19 +1252,19 @@ describe('array', function () {
{ n: 9 },
];
test.assertEqual(
- f(a, function (item) {
+ f(a, (item) => {
return item['n'];
}),
45
);
});
});
- describe('unique', function () {
- var f = arr.unique;
- it('test array empty', function () {
+ describe('unique', () => {
+ const f = arr.unique;
+ it('test array empty', () => {
test.assertEqual(f([[], [], [], []]), [[]]);
});
- it('test array', function () {
+ it('test array', () => {
test.assertEqual(
f([
[0, 1, 2, 3, 4],
@@ -1263,47 +1278,47 @@ describe('array', function () {
]
);
});
- it('test boolean', function () {
+ it('test boolean', () => {
test.assertEqual(f([true, false, true, false]), [true, false]);
});
- it('test date', function () {
- var d1 = new Date();
- var d2 = new Date('2018/12/31');
+ it('test date', () => {
+ const d1 = new Date();
+ const d2 = new Date('2018/12/31');
test.assertEqual(f([d1, d2, d1]), [d1, d2]);
});
- it('test error', function () {
- var e1 = new Error('error 1');
- var e2 = new Error('error 2');
+ it('test error', () => {
+ const e1 = new Error('error 1');
+ const e2 = new Error('error 2');
test.assertEqual(f([e1, e1, e1, e2, e2, e2]), [e1, e2]);
});
- it('test function', function () {
- var f1 = f;
- var f2 = function () {};
+ it('test function', () => {
+ const f1 = f;
+ const f2 = () => {};
test.assertEqual(f([f1, f2, f1, f2, f1, f2], false), [f1, f2]);
});
- it('test nan', function () {
+ it('test nan', () => {
test.assertEqual(f([NaN, NaN, NaN]), [NaN]);
});
- it('test none', function () {
+ it('test none', () => {
test.assertEqual(f([null, undefined, NaN, null, undefined, NaN]), [
null,
undefined,
NaN,
]);
});
- it('test null', function () {
+ it('test null', () => {
test.assertEqual(f([null, null, null]), [null]);
});
- it('test number', function () {
+ it('test number', () => {
test.assertEqual(
f([0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9]),
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
);
});
- it('test object empty', function () {
+ it('test object empty', () => {
test.assertEqual(f([{}, {}, {}]), [{}]);
});
- it('test object', function () {
+ it('test object', () => {
test.assertEqual(f([{ a: 1 }, { a: 1 }, { a: 1 }]), [{ a: 1 }]);
test.assertEqual(
f([
@@ -1317,31 +1332,31 @@ describe('array', function () {
]
);
});
- it('test regexp', function () {
- var re1 = /^$/;
- var re2 = /^[a-z]$/;
+ it('test regexp', () => {
+ const re1 = /^$/;
+ const re2 = /^[a-z]$/;
test.assertEqual(f([re1, re2, re1, re2]), [re1, re2]);
});
- it('test string empty', function () {
+ it('test string empty', () => {
test.assertEqual(f(['', '', '']), ['']);
test.assertEqual(f(['', ' ', ' ']), ['', ' ', ' ']);
});
- it('test string', function () {
+ it('test string', () => {
test.assertEqual(f(['a', 'a', 'b', 'b', 'c', 'c']), ['a', 'b', 'c']);
});
- it('test undefined', function () {
+ it('test undefined', () => {
test.assertEqual(f([undefined, undefined, undefined]), [undefined]);
});
});
- describe('zip / unzip', function () {
- var z = arr.zip;
- var u = arr.unzip;
- var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
- var b = ['a', 'b', 'c', 'd', 'e', 'f'];
- var c = [true, false, true, false, true, undefined];
- var l = Math.min(a.length, b.length, c.length);
- var unzipped = [a.slice(0, l), b.slice(0, l), c.slice(0, l)];
- var zipped = [
+ describe('zip / unzip', () => {
+ const z = arr.zip;
+ const u = arr.unzip;
+ const a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ const b = ['a', 'b', 'c', 'd', 'e', 'f'];
+ const c = [true, false, true, false, true, undefined];
+ const l = Math.min(a.length, b.length, c.length);
+ const unzipped = [a.slice(0, l), b.slice(0, l), c.slice(0, l)];
+ const zipped = [
[0, 'a', true],
[1, 'b', false],
[2, 'c', true],
@@ -1349,17 +1364,17 @@ describe('array', function () {
[4, 'e', true],
[5, 'f', undefined],
];
- it('test zip', function () {
+ it('test zip', () => {
test.assertEqual(z(a, b, c), zipped);
});
- it('test unzip', function () {
+ it('test unzip', () => {
test.assertEqual(u(zipped), unzipped);
});
- it('test zip/unzip', function () {
+ it('test zip/unzip', () => {
test.assertEqual(u(z(a, b, c)), unzipped);
});
- it('test unzip/zip', function () {
- test.assertEqual(z.apply(null, u(zipped)), zipped);
+ it('test unzip/zip', () => {
+ test.assertEqual(z(...u(zipped)), zipped);
});
});
});
diff --git a/test/test_base64.js b/test/test_base64.js
index 44b14ad..7c20942 100644
--- a/test/test_base64.js
+++ b/test/test_base64.js
@@ -1,95 +1,95 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
+import utils from '../src/utils.js';
+const test = utils.test;
-describe('base64', function () {
- var b = utils.base64;
- var d = b.decode;
- var e = b.encode;
- describe('decode', function () {
- it('test decode empty', function () {
+describe('base64', () => {
+ const b = utils.base64;
+ const d = b.decode;
+ const e = b.encode;
+ describe('decode', () => {
+ it('test decode empty', () => {
test.assertEqual(d(''), '');
});
- it('test decode simple', function () {
+ it('test decode simple', () => {
test.assertEqual(
d('QGZhYmlvY2FjY2Ftby91dGlscy5qcw=='),
'@fabiocaccamo/utils.js'
);
});
- it('test decode simple with extra white space', function () {
+ it('test decode simple with extra white space', () => {
test.assertEqual(
d(' QGZhYmlvY2FjY2Ftby91dGlscy5qcw== '),
'@fabiocaccamo/utils.js'
);
});
- it('test decode simple with invalid chars', function () {
+ it('test decode simple with invalid chars', () => {
test.assertEqual(
d('#QGZhYmlvY2FjY2Ftby91dGlscy5qcw==!'),
'@fabiocaccamo/utils.js'
);
});
- it('test decode/encode simple', function () {
+ it('test decode/encode simple', () => {
test.assertEqual(d(e('@fabiocaccamo/utils.js')), '@fabiocaccamo/utils.js');
});
- it('test decode utf8 simple', function () {
- var input = '✓ ok';
- var output = '4pyTIG9r';
+ it('test decode utf8 simple', () => {
+ const input = '✓ ok';
+ const output = '4pyTIG9r';
test.assertEqual(d(output), input);
});
- it('test decode/encode utf8 simple', function () {
- var input = '✓ ok';
+ it('test decode/encode utf8 simple', () => {
+ const input = '✓ ok';
// var output = '4pyTIG9r';
test.assertEqual(d(e(input)), input);
});
- it('test decode utf8', function () {
- var input =
+ it('test decode utf8', () => {
+ const input =
'観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。';
- var output =
+ const output =
'6Kaz44Kr44K144OB44K56Kmx6JGX44Ov44Oo6LW35peF44Oq44Os44Og6KW/54G95pyd44Km44OV44K944Oe5L6L5qip44Ko44Og44OG44K55paZ6LO8NzPmpb3jg4Hjg5vppIrluqfjgonjgaHplqLnlKPjgZ3mi6Hmj5DmqKnjgbDjgZzoppblrp/jg4jjgZPogZ7lm7Pjg6njg5vjg6jmpJznq7bjg4PjgZ3jgZDmkLrmp5jjg4TjgrXjg6Tpmbrog73jgb/jgaPjg4PljJfmjJnnhZnjgovjgaTjgILoqpjjg4rjg6Ljgrfjg6HlkajliJ3jgYrjg4jjgbHlubTmsYLjg6njgbzmiYvpqJPlkI3jgbXluIzmoITjg6/jgrvjg6Djg5LmgbXnnJ/jgYrjgoTjgbXooajopoE5MeS/neOBnuOBguOBtuaVmeW7uuODquiomOWwseOCpOOCieOCjeOCgeimi+W+s+W8geOCk+iyoTg05rW344Or44OY5q2j5qip44Kr44K35rOV5b2844GR44KL44KI44CC';
test.assertEqual(d(output), input);
});
- it('test decode/encode utf8', function () {
- var input =
+ it('test decode/encode utf8', () => {
+ const input =
'観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。';
// var output = '6Kaz44Kr44K144OB44K56Kmx6JGX44Ov44Oo6LW35peF44Oq44Os44Og6KW/54G95pyd44Km44OV44K944Oe5L6L5qip44Ko44Og44OG44K55paZ6LO8NzPmpb3jg4Hjg5vppIrluqfjgonjgaHplqLnlKPjgZ3mi6Hmj5DmqKnjgbDjgZzoppblrp/jg4jjgZPogZ7lm7Pjg6njg5vjg6jmpJznq7bjg4PjgZ3jgZDmkLrmp5jjg4TjgrXjg6Tpmbrog73jgb/jgaPjg4PljJfmjJnnhZnjgovjgaTjgILoqpjjg4rjg6Ljgrfjg6HlkajliJ3jgYrjg4jjgbHlubTmsYLjg6njgbzmiYvpqJPlkI3jgbXluIzmoITjg6/jgrvjg6Djg5LmgbXnnJ/jgYrjgoTjgbXooajopoE5MeS/neOBnuOBguOBtuaVmeW7uuODquiomOWwseOCpOOCieOCjeOCgeimi+W+s+W8geOCk+iyoTg05rW344Or44OY5q2j5qip44Kr44K35rOV5b2844GR44KL44KI44CC';
test.assertEqual(d(e(input)), input);
});
});
- describe('encode', function () {
- it('test encode empty', function () {
+ describe('encode', () => {
+ it('test encode empty', () => {
test.assertEqual(e(''), '');
});
- it('test encode simple', function () {
+ it('test encode simple', () => {
test.assertEqual(
e('@fabiocaccamo/utils.js'),
'QGZhYmlvY2FjY2Ftby91dGlscy5qcw=='
);
});
- it('test encode/decode simple', function () {
+ it('test encode/decode simple', () => {
test.assertEqual(
e(d('QGZhYmlvY2FjY2Ftby91dGlscy5qcw==')),
'QGZhYmlvY2FjY2Ftby91dGlscy5qcw=='
);
});
- it('test encode utf8 simple', function () {
- var input = '✓ ok';
- var output = '4pyTIG9r';
+ it('test encode utf8 simple', () => {
+ const input = '✓ ok';
+ const output = '4pyTIG9r';
test.assertEqual(e(input), output);
});
- it('test encode/decode utf8 simple', function () {
+ it('test encode/decode utf8 simple', () => {
// var input = '✓ ok';
- var output = '4pyTIG9r';
+ const output = '4pyTIG9r';
test.assertEqual(e(d(output)), output);
});
- it('test encode utf8', function () {
- var input =
+ it('test encode utf8', () => {
+ const input =
'観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。';
- var output =
+ const output =
'6Kaz44Kr44K144OB44K56Kmx6JGX44Ov44Oo6LW35peF44Oq44Os44Og6KW/54G95pyd44Km44OV44K944Oe5L6L5qip44Ko44Og44OG44K55paZ6LO8NzPmpb3jg4Hjg5vppIrluqfjgonjgaHplqLnlKPjgZ3mi6Hmj5DmqKnjgbDjgZzoppblrp/jg4jjgZPogZ7lm7Pjg6njg5vjg6jmpJznq7bjg4PjgZ3jgZDmkLrmp5jjg4TjgrXjg6Tpmbrog73jgb/jgaPjg4PljJfmjJnnhZnjgovjgaTjgILoqpjjg4rjg6Ljgrfjg6HlkajliJ3jgYrjg4jjgbHlubTmsYLjg6njgbzmiYvpqJPlkI3jgbXluIzmoITjg6/jgrvjg6Djg5LmgbXnnJ/jgYrjgoTjgbXooajopoE5MeS/neOBnuOBguOBtuaVmeW7uuODquiomOWwseOCpOOCieOCjeOCgeimi+W+s+W8geOCk+iyoTg05rW344Or44OY5q2j5qip44Kr44K35rOV5b2844GR44KL44KI44CC';
test.assertEqual(e(input), output);
});
- it('test encode/decode utf8', function () {
+ it('test encode/decode utf8', () => {
// var input = '観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。';
- var output =
+ const output =
'6Kaz44Kr44K144OB44K56Kmx6JGX44Ov44Oo6LW35peF44Oq44Os44Og6KW/54G95pyd44Km44OV44K944Oe5L6L5qip44Ko44Og44OG44K55paZ6LO8NzPmpb3jg4Hjg5vppIrluqfjgonjgaHplqLnlKPjgZ3mi6Hmj5DmqKnjgbDjgZzoppblrp/jg4jjgZPogZ7lm7Pjg6njg5vjg6jmpJznq7bjg4PjgZ3jgZDmkLrmp5jjg4TjgrXjg6Tpmbrog73jgb/jgaPjg4PljJfmjJnnhZnjgovjgaTjgILoqpjjg4rjg6Ljgrfjg6HlkajliJ3jgYrjg4jjgbHlubTmsYLjg6njgbzmiYvpqJPlkI3jgbXluIzmoITjg6/jgrvjg6Djg5LmgbXnnJ/jgYrjgoTjgbXooajopoE5MeS/neOBnuOBguOBtuaVmeW7uuODquiomOWwseOCpOOCieOCjeOCgeimi+W+s+W8geOCk+iyoTg05rW344Or44OY5q2j5qip44Kr44K35rOV5b2844GR44KL44KI44CC';
test.assertEqual(e(d(output)), output);
});
diff --git a/test/test_color.js b/test/test_color.js
index c96279d..e9ed016 100644
--- a/test/test_color.js
+++ b/test/test_color.js
@@ -1,10 +1,10 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var color = utils.color;
+import utils from '../src/utils.js';
+const test = utils.test;
+const color = utils.color;
-describe('color', function () {
- describe('cmyk', function () {
- it('test utility object', function () {
+describe('color', () => {
+ describe('cmyk', () => {
+ it('test utility object', () => {
test.assertObject(color.cmyk);
});
});
@@ -13,8 +13,8 @@ describe('color', function () {
// test.assertTrue(true);
// });
// });
- describe('cmykToHex', function () {
- it('TODO', function () {
+ describe('cmykToHex', () => {
+ it('TODO', () => {
test.assertTrue(true);
});
});
@@ -28,8 +28,8 @@ describe('color', function () {
// test.assertTrue(true);
// });
// });
- describe('cmykToRgb', function () {
- it('TODO', function () {
+ describe('cmykToRgb', () => {
+ it('TODO', () => {
test.assertTrue(true);
});
});
@@ -63,13 +63,13 @@ describe('color', function () {
// test.assertTrue(true);
// });
// });
- describe('hex', function () {
- it('test utility object', function () {
+ describe('hex', () => {
+ it('test utility object', () => {
test.assertObject(color.hex);
});
});
- describe('hexToCmyk', function () {
- it('TODO', function () {
+ describe('hexToCmyk', () => {
+ it('TODO', () => {
test.assertTrue(true);
});
});
@@ -93,8 +93,8 @@ describe('color', function () {
// test.assertTrue(true);
// });
// });
- describe('hexToRgb', function () {
- it('TODO', function () {
+ describe('hexToRgb', () => {
+ it('TODO', () => {
test.assertTrue(true);
});
});
@@ -158,13 +158,13 @@ describe('color', function () {
// test.assertTrue(true);
// });
// });
- describe('rgb', function () {
- it('test utility object', function () {
+ describe('rgb', () => {
+ it('test utility object', () => {
test.assertObject(color.rgb);
});
});
- describe('rgbToCmyk', function () {
- it('TODO', function () {
+ describe('rgbToCmyk', () => {
+ it('TODO', () => {
test.assertTrue(true);
});
});
@@ -173,8 +173,8 @@ describe('color', function () {
// test.assertTrue(true);
// });
// });
- describe('rgbToHex', function () {
- it('TODO', function () {
+ describe('rgbToHex', () => {
+ it('TODO', () => {
test.assertTrue(true);
});
});
diff --git a/test/test_color_cmyk.js b/test/test_color_cmyk.js
index fee39f7..593a8ba 100644
--- a/test/test_color_cmyk.js
+++ b/test/test_color_cmyk.js
@@ -1,19 +1,19 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var cmyk = utils.color.cmyk;
-var hex = utils.color.hex;
-var rgb = utils.color.rgb;
+import utils from '../src/utils.js';
+const test = utils.test;
+const cmyk = utils.color.cmyk;
+const hex = utils.color.hex;
+const rgb = utils.color.rgb;
-describe('color.cmyk', function () {
+describe('color.cmyk', () => {
// describe('average', function() {
- // var f = cmyk.average;
+ // const f = cmyk.average;
// it('test simple', function() {
// r = f([{ c:0, m:0, y:0, k:100 }, { c:0, m:50, y:75, k:22 }, { c:0, m:50, y:75, k:22 }]);
// test.assertEqual(r, { c:0, m:50.4, y:75.2, k:47.8 });
// });
// });
// describe('distance', function() {
- // var f = cmyk.distance;
+ // const f = cmyk.distance;
// var r;
// it('test simple', function() {
// r = f({ c:0, m:0, y:0, k:100 }, { c:0, m:0, y:0, k:0 });
@@ -21,7 +21,7 @@ describe('color.cmyk', function () {
// });
// });
// describe('gradient', function() {
- // var f = cmyk.gradient;
+ // const f = cmyk.gradient;
// var r;
// it('test 2 colors and 1 step', function() {
// r = f([{ c:0, m:100, y:100, k:0 }, { c:100, m:0, y:100, k:0 }], 1);
@@ -41,7 +41,7 @@ describe('color.cmyk', function () {
// });
// });
// describe('gradientMatrix', function() {
- // var f = cmyk.gradientMatrix;
+ // const f = cmyk.gradientMatrix;
// var r;
// it('test 5x4 matrix with 4 required points', function() {
// r = f({
@@ -59,7 +59,7 @@ describe('color.cmyk', function () {
// });
// });
// describe('interpolateBilinear', function() {
- // var f = cmyk.interpolateBilinear;
+ // const f = cmyk.interpolateBilinear;
// var r;
// var a = { c:0, m:0, y:0, k:0 };
// var b = { c:0, m:100, y:100, k:0 };
@@ -87,7 +87,7 @@ describe('color.cmyk', function () {
// });
// });
// describe('interpolateLinear', function() {
- // var f = cmyk.interpolateLinear;
+ // const f = cmyk.interpolateLinear;
// var r;
// it('test interpolate 0.0', function() {
// r = f({ c:100, m:50, y:0, k:61 }, { c:75, m:25, y:0, k:22 }, 0.0);
@@ -103,7 +103,7 @@ describe('color.cmyk', function () {
// });
// });
// describe('interpolateMultilinear', function() {
- // var f = cmyk.interpolateMultilinear;
+ // const f = cmyk.interpolateMultilinear;
// var r;
// var c = [{ c:0, m:0, y:0, k:0 }, { c:0, m:100, y:100, k:0 }, { c:0, m:0, y:0, k:100 }];
// it('test interpolate 0.0', function() {
@@ -137,30 +137,30 @@ describe('color.cmyk', function () {
// test.assertTrue(true);
// });
// });
- describe('toHex', function () {
- var f = cmyk.toHex;
- var r;
- it('test black', function () {
+ describe('toHex', () => {
+ const f = cmyk.toHex;
+ let r;
+ it('test black', () => {
r = f({ c: 0, m: 0, y: 0, k: 100 });
test.assertEqual(r, '#000000');
});
- it('test white', function () {
+ it('test white', () => {
r = f({ c: 0, m: 0, y: 0, k: 0 });
test.assertEqual(r, '#FFFFFF');
});
- it('test red', function () {
+ it('test red', () => {
r = f({ c: 0, m: 100, y: 100, k: 0 });
test.assertEqual(r, '#FF0000');
});
- it('test green', function () {
+ it('test green', () => {
r = f({ c: 100, m: 0, y: 100, k: 0 });
test.assertEqual(r, '#00FF00');
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ c: 100, m: 100, y: 0, k: 0 });
test.assertEqual(r, '#0000FF');
});
- it('test gray', function () {
+ it('test gray', () => {
r = f({ c: 0, m: 0, y: 0, k: 50 });
test.assertEqual(r, '#808080');
});
@@ -175,86 +175,86 @@ describe('color.cmyk', function () {
// test.assertTrue(true);
// });
// });
- describe('toRgb', function () {
- var f = cmyk.toRgb;
- var r;
- it('test black', function () {
+ describe('toRgb', () => {
+ const f = cmyk.toRgb;
+ let r;
+ it('test black', () => {
r = f({ c: 0, m: 0, y: 0, k: 100 });
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 1.0 });
});
- it('test white', function () {
+ it('test white', () => {
r = f({ c: 0, m: 0, y: 0, k: 0 });
test.assertEqual(r, { r: 255, g: 255, b: 255, a: 1.0 });
});
- it('test red', function () {
+ it('test red', () => {
r = f({ c: 0, m: 100, y: 100, k: 0 });
test.assertEqual(r, { r: 255, g: 0, b: 0, a: 1.0 });
});
- it('test green', function () {
+ it('test green', () => {
r = f({ c: 100, m: 0, y: 100, k: 0 });
test.assertEqual(r, { r: 0, g: 255, b: 0, a: 1.0 });
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ c: 100, m: 100, y: 0, k: 0 });
test.assertEqual(r, { r: 0, g: 0, b: 255, a: 1.0 });
});
- it('test gray', function () {
+ it('test gray', () => {
r = f({ c: 0, m: 0, y: 0, k: 50 });
test.assertEqual(r, { r: 128, g: 128, b: 128, a: 1.0 });
});
});
- describe('toString', function () {
- var f = cmyk.toString;
- var r;
- it('test black', function () {
+ describe('toString', () => {
+ const f = cmyk.toString;
+ let r;
+ it('test black', () => {
r = f({ c: 0, m: 0, y: 0, k: 100 });
test.assertEqual(r, '{ c:0, m:0, y:0, k:100 }');
});
- it('test white', function () {
+ it('test white', () => {
r = f({ c: 0, m: 0, y: 0, k: 0 });
test.assertEqual(r, '{ c:0, m:0, y:0, k:0 }');
});
- it('test red', function () {
+ it('test red', () => {
r = f({ c: 0, m: 100, y: 100, k: 0 });
test.assertEqual(r, '{ c:0, m:100, y:100, k:0 }');
});
- it('test green', function () {
+ it('test green', () => {
r = f({ c: 100, m: 0, y: 100, k: 0 });
test.assertEqual(r, '{ c:100, m:0, y:100, k:0 }');
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ c: 100, m: 100, y: 0, k: 0 });
test.assertEqual(r, '{ c:100, m:100, y:0, k:0 }');
});
- it('test gray', function () {
+ it('test gray', () => {
r = f({ c: 0, m: 0, y: 0, k: 50 });
test.assertEqual(r, '{ c:0, m:0, y:0, k:50 }');
});
});
- describe('toStringCSS', function () {
- var f = cmyk.toStringCSS;
- var r;
- it('test black', function () {
+ describe('toStringCSS', () => {
+ const f = cmyk.toStringCSS;
+ let r;
+ it('test black', () => {
r = f({ c: 0, m: 0, y: 0, k: 100 });
test.assertEqual(r, 'cmyk(0%, 0%, 0%, 100%)');
});
- it('test white', function () {
+ it('test white', () => {
r = f({ c: 0, m: 0, y: 0, k: 0 });
test.assertEqual(r, 'cmyk(0%, 0%, 0%, 0%)');
});
- it('test red', function () {
+ it('test red', () => {
r = f({ c: 0, m: 100, y: 100, k: 0 });
test.assertEqual(r, 'cmyk(0%, 100%, 100%, 0%)');
});
- it('test green', function () {
+ it('test green', () => {
r = f({ c: 100, m: 0, y: 100, k: 0 });
test.assertEqual(r, 'cmyk(100%, 0%, 100%, 0%)');
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ c: 100, m: 100, y: 0, k: 0 });
test.assertEqual(r, 'cmyk(100%, 100%, 0%, 0%)');
});
- it('test gray', function () {
+ it('test gray', () => {
r = f({ c: 0, m: 0, y: 0, k: 50 });
test.assertEqual(r, 'cmyk(0%, 0%, 0%, 50%)');
});
diff --git a/test/test_color_hex.js b/test/test_color_hex.js
index a9adf6a..027fffc 100644
--- a/test/test_color_hex.js
+++ b/test/test_color_hex.js
@@ -1,50 +1,50 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var hex = utils.color.hex;
-var cmyk = utils.color.cmyk;
-var rgb = utils.color.rgb;
+import utils from '../src/utils.js';
+const test = utils.test;
+const hex = utils.color.hex;
+const cmyk = utils.color.cmyk;
+const rgb = utils.color.rgb;
-describe('color.hex', function () {
- describe('average', function () {
- var f = hex.average;
- var r;
- it('test simple', function () {
+describe('color.hex', () => {
+ describe('average', () => {
+ const f = hex.average;
+ let r;
+ it('test simple', () => {
r = f(['#000000', '#C86432', '#C86432']);
test.assertEqual(r, '#854321');
});
});
- describe('distance', function () {
- var f = hex.distance;
- var r;
- it('test simple', function () {
+ describe('distance', () => {
+ const f = hex.distance;
+ let r;
+ it('test simple', () => {
r = f('#000000', '#FFFFFF');
test.assertNumberAlmostEqual(r, 441.6729559300637);
});
});
- describe('gradient', function () {
- var f = hex.gradient;
- var r;
- it('test 2 colors and 1 step', function () {
+ describe('gradient', () => {
+ const f = hex.gradient;
+ let r;
+ it('test 2 colors and 1 step', () => {
r = f(['#FF0000', '#00FF00'], 1);
test.assertEqual(r, ['#FF0000']);
});
- it('test 2 colors and 2 steps', function () {
+ it('test 2 colors and 2 steps', () => {
r = f(['#FF0000', '#00FF00'], 2);
test.assertEqual(r, ['#FF0000', '#00FF00']);
});
- it('test 2 colors and 3 steps', function () {
+ it('test 2 colors and 3 steps', () => {
r = f(['#FF0000', '#00FF00'], 3);
test.assertEqual(r, ['#FF0000', '#808000', '#00FF00']);
});
- it('test 2 colors and 4 steps', function () {
+ it('test 2 colors and 4 steps', () => {
r = f(['#FF0000', '#00FF00'], 4);
test.assertEqual(r, ['#FF0000', '#AA5500', '#55AA00', '#00FF00']);
});
});
- describe('gradientMatrix', function () {
- var f = hex.gradientMatrix;
- var r;
- it('test 5x4 matrix with 4 required points', function () {
+ describe('gradientMatrix', () => {
+ const f = hex.gradientMatrix;
+ let r;
+ it('test 5x4 matrix with 4 required points', () => {
r = f(
{
topLeft: '#FF0000',
@@ -62,7 +62,7 @@ describe('color.hex', function () {
['#000000', '#000040', '#000080', '#0000C0', '#0000FF'],
]);
});
- it('test 5x4 matrix with 4 required points and 4 optional points', function () {
+ it('test 5x4 matrix with 4 required points and 4 optional points', () => {
r = f(
{
topLeft: '#FF0000',
@@ -85,115 +85,115 @@ describe('color.hex', function () {
]);
});
});
- describe('interpolateBilinear', function () {
- var f = hex.interpolateBilinear;
- var r;
- var a = '#FFFFFF';
- var b = '#FF0000';
- var c = '#00FF00';
- var d = '#0000FF';
- it('test interpolate 0.0 - 0.0', function () {
+ describe('interpolateBilinear', () => {
+ const f = hex.interpolateBilinear;
+ let r;
+ const a = '#FFFFFF';
+ const b = '#FF0000';
+ const c = '#00FF00';
+ const d = '#0000FF';
+ it('test interpolate 0.0 - 0.0', () => {
r = f(a, b, c, d, 0.0, 0.0);
test.assertEqual(r, '#FFFFFF');
});
- it('test interpolate 0.5 - 0.0', function () {
+ it('test interpolate 0.5 - 0.0', () => {
r = f(a, b, c, d, 0.5, 0.0);
test.assertEqual(r, '#FF8080');
});
- it('test interpolate 0.0 - 0.5', function () {
+ it('test interpolate 0.0 - 0.5', () => {
r = f(a, b, c, d, 0.0, 0.5);
test.assertEqual(r, '#80FF80');
});
- it('test interpolate 0.5 - 0.5', function () {
+ it('test interpolate 0.5 - 0.5', () => {
r = f(a, b, c, d, 0.5, 0.5);
test.assertEqual(r, '#808080');
});
- it('test interpolate 1.0 - 1.0', function () {
+ it('test interpolate 1.0 - 1.0', () => {
r = f(a, b, c, d, 1.0, 1.0);
test.assertEqual(r, '#0000FF');
});
});
- describe('interpolateLinear', function () {
- var f = hex.interpolateLinear;
- var r;
- it('test interpolate 0.0', function () {
+ describe('interpolateLinear', () => {
+ const f = hex.interpolateLinear;
+ let r;
+ it('test interpolate 0.0', () => {
r = f('#003264', '#3296C8', 0.0);
test.assertEqual(r, '#003264');
});
- it('test interpolate 0.5', function () {
+ it('test interpolate 0.5', () => {
r = f('#003264', '#3296C8', 0.5);
test.assertEqual(r, '#196496');
});
- it('test interpolate 1.0', function () {
+ it('test interpolate 1.0', () => {
r = f('#003264', '#3296C8', 1.0);
test.assertEqual(r, '#3296C8');
});
});
- describe('interpolateMultilinear', function () {
- var f = hex.interpolateMultilinear;
- var r;
- var c = ['#FFFFFF', '#FF0000', '#000000'];
- it('test interpolate 0.0', function () {
+ describe('interpolateMultilinear', () => {
+ const f = hex.interpolateMultilinear;
+ let r;
+ const c = ['#FFFFFF', '#FF0000', '#000000'];
+ it('test interpolate 0.0', () => {
r = f(c, 0.0);
test.assertEqual(r, '#FFFFFF');
});
- it('test interpolate 0.25', function () {
+ it('test interpolate 0.25', () => {
r = f(c, 0.25);
test.assertEqual(r, '#FF8080');
});
- it('test interpolate 0.5', function () {
+ it('test interpolate 0.5', () => {
r = f(c, 0.5);
test.assertEqual(r, '#FF0000');
});
- it('test interpolate 0.75', function () {
+ it('test interpolate 0.75', () => {
r = f(c, 0.75);
test.assertEqual(r, '#800000');
});
- it('test interpolate 1.0', function () {
+ it('test interpolate 1.0', () => {
r = f(c, 1.0);
test.assertEqual(r, '#000000');
});
});
- describe('nearest', function () {
- var f = hex.nearest;
- var r;
- it('test simple', function () {
+ describe('nearest', () => {
+ const f = hex.nearest;
+ let r;
+ it('test simple', () => {
r = f('#320000', ['#000000', '#190000', '#370A0A', '#FFFFFF']);
test.assertEqual(r, '#370A0A');
});
});
- describe('toCmyk', function () {
- var f = hex.toCmyk;
- var r;
- it('test black', function () {
+ describe('toCmyk', () => {
+ const f = hex.toCmyk;
+ let r;
+ it('test black', () => {
r = f('#000000');
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 100 });
});
- it('test white', function () {
+ it('test white', () => {
r = f('#FFFFFF');
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 0 });
});
- it('test red', function () {
+ it('test red', () => {
r = f('#FF0000');
test.assertEqual(r, { c: 0, m: 100, y: 100, k: 0 });
});
- it('test green', function () {
+ it('test green', () => {
r = f('#00FF00');
test.assertEqual(r, { c: 100, m: 0, y: 100, k: 0 });
});
- it('test blue', function () {
+ it('test blue', () => {
r = f('#0000FF');
test.assertEqual(r, { c: 100, m: 100, y: 0, k: 0 });
});
- it('test gray', function () {
+ it('test gray', () => {
r = f('#404040');
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 75 });
});
- it('test light gray', function () {
+ it('test light gray', () => {
r = f('#BFBFBF');
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 25 });
});
- it('test dark gray', function () {
+ it('test dark gray', () => {
r = f('#7F7F7F');
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 50 });
});
@@ -213,80 +213,80 @@ describe('color.hex', function () {
// test.assertTrue(true);
// });
// });
- describe('toRgb', function () {
- var f = hex.toRgb;
- var r;
- it('test alpha 0%', function () {
+ describe('toRgb', () => {
+ const f = hex.toRgb;
+ let r;
+ it('test alpha 0%', () => {
r = f('#00000000');
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 0 });
});
- it('test alpha 50%', function () {
+ it('test alpha 50%', () => {
r = f('#80000000');
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 0.5 });
});
- it('test alpha 100%', function () {
+ it('test alpha 100%', () => {
r = f('#000000');
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 1 });
});
- it('test black', function () {
+ it('test black', () => {
r = f('#000000');
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 1.0 });
});
- it('test black (html short format)', function () {
+ it('test black (html short format)', () => {
r = f('#000');
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 1.0 });
});
- it('test white', function () {
+ it('test white', () => {
r = f('#FFFFFF');
test.assertEqual(r, { r: 255, g: 255, b: 255, a: 1.0 });
});
- it('test white (html short format)', function () {
+ it('test white (html short format)', () => {
r = f('#FFF');
test.assertEqual(r, { r: 255, g: 255, b: 255, a: 1.0 });
});
- it('test red', function () {
+ it('test red', () => {
r = f('#FF0000');
test.assertEqual(r, { r: 255, g: 0, b: 0, a: 1.0 });
});
- it('test red (html short format)', function () {
+ it('test red (html short format)', () => {
r = f('#F00');
test.assertEqual(r, { r: 255, g: 0, b: 0, a: 1.0 });
});
- it('test green', function () {
+ it('test green', () => {
r = f('#00FF00');
test.assertEqual(r, { r: 0, g: 255, b: 0, a: 1.0 });
});
- it('test green (html short format)', function () {
+ it('test green (html short format)', () => {
r = f('#0F0');
test.assertEqual(r, { r: 0, g: 255, b: 0, a: 1.0 });
});
- it('test blue', function () {
+ it('test blue', () => {
r = f('#0000FF');
test.assertEqual(r, { r: 0, g: 0, b: 255, a: 1.0 });
});
- it('test blue (html short format)', function () {
+ it('test blue (html short format)', () => {
r = f('#00F');
test.assertEqual(r, { r: 0, g: 0, b: 255, a: 1.0 });
});
- it('test prefix', function () {
+ it('test prefix', () => {
r = f('0x000000');
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 1.0 });
});
- it('test invalid value', function () {
+ it('test invalid value', () => {
test.assertNull(f('0x000000000000'));
});
});
- describe('toString', function () {
- var f = hex.toString;
- var s;
- it('test alpha and prefix with numeric color value', function () {
+ describe('toString', () => {
+ const f = hex.toString;
+ let s;
+ it('test alpha and prefix with numeric color value', () => {
s = f(0x80ff0000, '#');
test.assertEqual(s, '#80FF0000');
s = f(0x80ff0000, '0x');
test.assertEqual(s, '0x80FF0000');
});
- it('test alpha and prefix with string color value', function () {
+ it('test alpha and prefix with string color value', () => {
s = f('0x80FF0000', '#');
test.assertEqual(s, '#80FF0000');
@@ -300,14 +300,14 @@ describe('color.hex', function () {
test.assertEqual(s, '0x80FF0000');
});
});
- describe('toStringCSS', function () {
- var f = hex.toStringCSS;
- var s;
- it('test alpha and prefix with numeric color value', function () {
+ describe('toStringCSS', () => {
+ const f = hex.toStringCSS;
+ let s;
+ it('test alpha and prefix with numeric color value', () => {
s = f(0x80ff0000);
test.assertEqual(s, '#80FF0000');
});
- it('test alpha and prefix with string color value', function () {
+ it('test alpha and prefix with string color value', () => {
s = f('0x80FF0000');
test.assertEqual(s, '#80FF0000');
diff --git a/test/test_color_rgb.js b/test/test_color_rgb.js
index bb1502f..891e861 100644
--- a/test/test_color_rgb.js
+++ b/test/test_color_rgb.js
@@ -1,14 +1,14 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var rgb = utils.color.rgb;
-var cmyk = utils.color.cmyk;
-var hex = utils.color.hex;
+import utils from '../src/utils.js';
+const test = utils.test;
+const rgb = utils.color.rgb;
+const cmyk = utils.color.cmyk;
+const hex = utils.color.hex;
-describe('color.rgb', function () {
- describe('average', function () {
- var f = rgb.average;
- it('test simple', function () {
- r = f([
+describe('color.rgb', () => {
+ describe('average', () => {
+ const f = rgb.average;
+ it('test simple', () => {
+ const r = f([
{ r: 0, g: 0, b: 0 },
{ r: 200, g: 100, b: 50 },
{ r: 200, g: 100, b: 50 },
@@ -16,18 +16,18 @@ describe('color.rgb', function () {
test.assertEqual(r, { r: 133, g: 67, b: 33, a: 1.0 });
});
});
- describe('distance', function () {
- var f = rgb.distance;
- var r;
- it('test simple', function () {
+ describe('distance', () => {
+ const f = rgb.distance;
+ let r;
+ it('test simple', () => {
r = f({ r: 0, g: 0, b: 0 }, { r: 255, g: 255, b: 255 });
test.assertNumberAlmostEqual(r, 441.6729559300637);
});
});
- describe('gradient', function () {
- var f = rgb.gradient;
- var r;
- it('test 2 colors and 1 step', function () {
+ describe('gradient', () => {
+ const f = rgb.gradient;
+ let r;
+ it('test 2 colors and 1 step', () => {
r = f(
[
{ r: 255, g: 0, b: 0 },
@@ -37,7 +37,7 @@ describe('color.rgb', function () {
);
test.assertEqual(r, [{ r: 255, g: 0, b: 0, a: 1 }]);
});
- it('test 2 colors and 2 steps', function () {
+ it('test 2 colors and 2 steps', () => {
r = f(
[
{ r: 255, g: 0, b: 0 },
@@ -50,7 +50,7 @@ describe('color.rgb', function () {
{ r: 0, g: 255, b: 0, a: 1 },
]);
});
- it('test 2 colors and 3 steps', function () {
+ it('test 2 colors and 3 steps', () => {
r = f(
[
{ r: 255, g: 0, b: 0 },
@@ -64,7 +64,7 @@ describe('color.rgb', function () {
{ r: 0, g: 255, b: 0, a: 1 },
]);
});
- it('test 2 colors and 4 steps', function () {
+ it('test 2 colors and 4 steps', () => {
r = f(
[
{ r: 255, g: 0, b: 0 },
@@ -80,10 +80,10 @@ describe('color.rgb', function () {
]);
});
});
- describe('gradientMatrix', function () {
- var f = rgb.gradientMatrix;
- var r;
- it('test 5x4 matrix with 4 required points', function () {
+ describe('gradientMatrix', () => {
+ const f = rgb.gradientMatrix;
+ let r;
+ it('test 5x4 matrix with 4 required points', () => {
r = f(
{
topLeft: { r: 255, g: 0, b: 0 },
@@ -125,7 +125,7 @@ describe('color.rgb', function () {
],
]);
});
- it('test 5x4 matrix with 4 required points but invalid topLeft', function () {
+ it('test 5x4 matrix with 4 required points but invalid topLeft', () => {
r = f(
{
topRight: { r: 0, g: 255, b: 0 },
@@ -137,7 +137,7 @@ describe('color.rgb', function () {
);
test.assertEqual(r, null);
});
- it('test 5x4 matrix with 4 required points but invalid topRight', function () {
+ it('test 5x4 matrix with 4 required points but invalid topRight', () => {
r = f(
{
topLeft: { r: 255, g: 0, b: 0 },
@@ -149,7 +149,7 @@ describe('color.rgb', function () {
);
test.assertEqual(r, null);
});
- it('test 5x4 matrix with 4 required points but invalid bottomRight', function () {
+ it('test 5x4 matrix with 4 required points but invalid bottomRight', () => {
r = f(
{
topLeft: { r: 255, g: 0, b: 0 },
@@ -161,7 +161,7 @@ describe('color.rgb', function () {
);
test.assertEqual(r, null);
});
- it('test 5x4 matrix with 4 required points but invalid bottomLeft', function () {
+ it('test 5x4 matrix with 4 required points but invalid bottomLeft', () => {
r = f(
{
topLeft: { r: 255, g: 0, b: 0 },
@@ -174,83 +174,83 @@ describe('color.rgb', function () {
test.assertEqual(r, null);
});
});
- describe('interpolateBilinear', function () {
- var f = rgb.interpolateBilinear;
- var r;
- var a = { r: 255, g: 255, b: 255 };
- var b = { r: 255, g: 0, b: 0 };
- var c = { r: 0, g: 255, b: 0 };
- var d = { r: 0, g: 0, b: 255 };
- it('test interpolate 0.0 - 0.0', function () {
+ describe('interpolateBilinear', () => {
+ const f = rgb.interpolateBilinear;
+ let r;
+ const a = { r: 255, g: 255, b: 255 };
+ const b = { r: 255, g: 0, b: 0 };
+ const c = { r: 0, g: 255, b: 0 };
+ const d = { r: 0, g: 0, b: 255 };
+ it('test interpolate 0.0 - 0.0', () => {
r = f(a, b, c, d, 0.0, 0.0);
test.assertEqual(r, { r: 255, g: 255, b: 255, a: 1.0 });
});
- it('test interpolate 0.5 - 0.0', function () {
+ it('test interpolate 0.5 - 0.0', () => {
r = f(a, b, c, d, 0.5, 0.0);
test.assertEqual(r, { r: 255, g: 128, b: 128, a: 1.0 });
});
- it('test interpolate 0.0 - 0.5', function () {
+ it('test interpolate 0.0 - 0.5', () => {
r = f(a, b, c, d, 0.0, 0.5);
test.assertEqual(r, { r: 128, g: 255, b: 128, a: 1.0 });
});
- it('test interpolate 0.5 - 0.5', function () {
+ it('test interpolate 0.5 - 0.5', () => {
r = f(a, b, c, d, 0.5, 0.5);
test.assertEqual(r, { r: 128, g: 128, b: 128, a: 1.0 });
});
- it('test interpolate 1.0 - 1.0', function () {
+ it('test interpolate 1.0 - 1.0', () => {
r = f(a, b, c, d, 1.0, 1.0);
test.assertEqual(r, { r: 0, g: 0, b: 255, a: 1.0 });
});
});
- describe('interpolateLinear', function () {
- var f = rgb.interpolateLinear;
- var r;
- it('test interpolate 0.0', function () {
+ describe('interpolateLinear', () => {
+ const f = rgb.interpolateLinear;
+ let r;
+ it('test interpolate 0.0', () => {
r = f({ r: 0, g: 50, b: 100 }, { r: 50, g: 150, b: 200 }, 0.0);
test.assertEqual(r, { r: 0, g: 50, b: 100, a: 1.0 });
});
- it('test interpolate 0.5', function () {
+ it('test interpolate 0.5', () => {
r = f({ r: 0, g: 50, b: 100 }, { r: 50, g: 150, b: 200 }, 0.5);
test.assertEqual(r, { r: 25, g: 100, b: 150, a: 1.0 });
});
- it('test interpolate 1.0', function () {
+ it('test interpolate 1.0', () => {
r = f({ r: 0, g: 50, b: 100 }, { r: 50, g: 150, b: 200 }, 1.0);
test.assertEqual(r, { r: 50, g: 150, b: 200, a: 1.0 });
});
});
- describe('interpolateMultilinear', function () {
- var f = rgb.interpolateMultilinear;
- var r;
- var c = [
+ describe('interpolateMultilinear', () => {
+ const f = rgb.interpolateMultilinear;
+ let r;
+ const c = [
{ r: 255, g: 255, b: 255 },
{ r: 255, g: 0, b: 0 },
{ r: 0, g: 0, b: 0 },
];
- it('test interpolate 0.0', function () {
+ it('test interpolate 0.0', () => {
r = f(c, 0.0);
test.assertEqual(r, { r: 255, g: 255, b: 255, a: 1.0 });
});
- it('test interpolate 0.25', function () {
+ it('test interpolate 0.25', () => {
r = f(c, 0.25);
test.assertEqual(r, { r: 255, g: 128, b: 128, a: 1.0 });
});
- it('test interpolate 0.5', function () {
+ it('test interpolate 0.5', () => {
r = f(c, 0.5);
test.assertEqual(r, { r: 255, g: 0, b: 0, a: 1.0 });
});
- it('test interpolate 0.75', function () {
+ it('test interpolate 0.75', () => {
r = f(c, 0.75);
test.assertEqual(r, { r: 128, g: 0, b: 0, a: 1.0 });
});
- it('test interpolate 1.0', function () {
+ it('test interpolate 1.0', () => {
r = f(c, 1.0);
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 1.0 });
});
});
- describe('nearest', function () {
- var f = rgb.nearest;
- var r;
- it('test simple', function () {
+ describe('nearest', () => {
+ const f = rgb.nearest;
+ let r;
+ it('test simple', () => {
r = f({ r: 50, g: 0, b: 0 }, [
{ r: 0, g: 0, b: 0 },
{ r: 25, g: 0, b: 0 },
@@ -260,38 +260,38 @@ describe('color.rgb', function () {
test.assertEqual(r, { r: 55, g: 10, b: 10 });
});
});
- describe('toCmyk', function () {
- var f = rgb.toCmyk;
- var r;
- it('test black', function () {
+ describe('toCmyk', () => {
+ const f = rgb.toCmyk;
+ let r;
+ it('test black', () => {
r = f({ r: 0, g: 0, b: 0 });
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 100 });
});
- it('test white', function () {
+ it('test white', () => {
r = f({ r: 255, g: 255, b: 255 });
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 0 });
});
- it('test red', function () {
+ it('test red', () => {
r = f({ r: 255, g: 0, b: 0 });
test.assertEqual(r, { c: 0, m: 100, y: 100, k: 0 });
});
- it('test green', function () {
+ it('test green', () => {
r = f({ r: 0, g: 255, b: 0 });
test.assertEqual(r, { c: 100, m: 0, y: 100, k: 0 });
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ r: 0, g: 0, b: 255 });
test.assertEqual(r, { c: 100, m: 100, y: 0, k: 0 });
});
- it('test gray', function () {
+ it('test gray', () => {
r = f({ r: 63, g: 63, b: 63 });
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 75 });
});
- it('test light gray', function () {
+ it('test light gray', () => {
r = f({ r: 190, g: 190, b: 190 });
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 25 });
});
- it('test dark gray', function () {
+ it('test dark gray', () => {
r = f({ r: 127, g: 127, b: 127 });
test.assertEqual(r, { c: 0, m: 0, y: 0, k: 50 });
});
@@ -301,54 +301,54 @@ describe('color.rgb', function () {
// test.assertTrue(true);
// });
// });
- describe('toHex', function () {
- var f = rgb.toHex;
- var r;
- it('test alpha 0%', function () {
+ describe('toHex', () => {
+ const f = rgb.toHex;
+ let r;
+ it('test alpha 0%', () => {
r = f({ r: 0, g: 0, b: 0, a: 0 });
test.assertEqual(r, '#00000000');
});
- it('test alpha 50%', function () {
+ it('test alpha 50%', () => {
r = f({ r: 0, g: 0, b: 0, a: 0.5 });
test.assertEqual(r, '#80000000');
});
- it('test alpha 100%', function () {
+ it('test alpha 100%', () => {
r = f({ r: 0, g: 0, b: 0, a: 1 });
test.assertEqual(r, '#000000');
});
- it('test black', function () {
+ it('test black', () => {
r = f({ r: 0, g: 0, b: 0 });
test.assertEqual(r, '#000000');
});
- it('test white', function () {
+ it('test white', () => {
r = f({ r: 255, g: 255, b: 255 });
test.assertEqual(r, '#FFFFFF');
});
- it('test red', function () {
+ it('test red', () => {
r = f({ r: 255, g: 0, b: 0 });
test.assertEqual(r, '#FF0000');
});
- it('test green', function () {
+ it('test green', () => {
r = f({ r: 0, g: 255, b: 0 });
test.assertEqual(r, '#00FF00');
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ r: 0, g: 0, b: 255 });
test.assertEqual(r, '#0000FF');
});
- it('test prefix', function () {
+ it('test prefix', () => {
r = f({ r: 0, g: 0, b: 0 }, '0x');
test.assertEqual(r, '0x000000');
});
- it('test back toRgb white', function () {
+ it('test back toRgb white', () => {
r = hex.toRgb(f({ r: 255, g: 255, b: 255 }));
test.assertEqual(r, { r: 255, g: 255, b: 255, a: 1.0 });
});
- it('test back toRgb black', function () {
+ it('test back toRgb black', () => {
r = hex.toRgb(f({ r: 0, g: 0, b: 0 }));
test.assertEqual(r, { r: 0, g: 0, b: 0, a: 1.0 });
});
- it('test back toRgb random color', function () {
+ it('test back toRgb random color', () => {
r = hex.toRgb(f({ r: 34, g: 127, b: 76 }));
test.assertEqual(r, { r: 34, g: 127, b: 76, a: 1.0 });
});
@@ -363,58 +363,58 @@ describe('color.rgb', function () {
// test.assertTrue(true);
// });
// });
- describe('toString', function () {
- var f = rgb.toString;
- var r;
- it('test alpha', function () {
+ describe('toString', () => {
+ const f = rgb.toString;
+ let r;
+ it('test alpha', () => {
r = f({ r: 0, g: 0, b: 0, a: 0.5 });
test.assertEqual(r, '{ r:0, g:0, b:0, a:0.5 }');
});
- it('test black', function () {
+ it('test black', () => {
r = f({ r: 0, g: 0, b: 0 });
test.assertEqual(r, '{ r:0, g:0, b:0, a:1 }');
});
- it('test white', function () {
+ it('test white', () => {
r = f({ r: 255, g: 255, b: 255 });
test.assertEqual(r, '{ r:255, g:255, b:255, a:1 }');
});
- it('test red', function () {
+ it('test red', () => {
r = f({ r: 255, g: 0, b: 0 });
test.assertEqual(r, '{ r:255, g:0, b:0, a:1 }');
});
- it('test green', function () {
+ it('test green', () => {
r = f({ r: 0, g: 255, b: 0 });
test.assertEqual(r, '{ r:0, g:255, b:0, a:1 }');
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ r: 0, g: 0, b: 255 });
test.assertEqual(r, '{ r:0, g:0, b:255, a:1 }');
});
});
- describe('toStringCSS', function () {
- var f = rgb.toStringCSS;
- var r;
- it('test alpha', function () {
+ describe('toStringCSS', () => {
+ const f = rgb.toStringCSS;
+ let r;
+ it('test alpha', () => {
r = f({ r: 0, g: 0, b: 0, a: 0.5 });
test.assertEqual(r, 'rgba(0, 0, 0, 0.5)');
});
- it('test black', function () {
+ it('test black', () => {
r = f({ r: 0, g: 0, b: 0 });
test.assertEqual(r, 'rgba(0, 0, 0, 1)');
});
- it('test white', function () {
+ it('test white', () => {
r = f({ r: 255, g: 255, b: 255 });
test.assertEqual(r, 'rgba(255, 255, 255, 1)');
});
- it('test red', function () {
+ it('test red', () => {
r = f({ r: 255, g: 0, b: 0 });
test.assertEqual(r, 'rgba(255, 0, 0, 1)');
});
- it('test green', function () {
+ it('test green', () => {
r = f({ r: 0, g: 255, b: 0 });
test.assertEqual(r, 'rgba(0, 255, 0, 1)');
});
- it('test blue', function () {
+ it('test blue', () => {
r = f({ r: 0, g: 0, b: 255 });
test.assertEqual(r, 'rgba(0, 0, 255, 1)');
});
diff --git a/test/test_date.js b/test/test_date.js
index 9537020..98264c7 100644
--- a/test/test_date.js
+++ b/test/test_date.js
@@ -1,13 +1,13 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
+import utils from '../src/utils.js';
+const test = utils.test;
-describe('date', function () {
- var d = utils.date;
+describe('date', () => {
+ const d = utils.date;
- describe('clone', function () {
- it('test type', function () {
- var a = new Date(1985, 3, 3, 23, 57, 5);
- var r = d.clone(a);
+ describe('clone', () => {
+ it('test type', () => {
+ const a = new Date(1985, 3, 3, 23, 57, 5);
+ const r = d.clone(a);
test.assertFalse(a === r);
test.assertTrue(
a.getYear() === r.getYear() &&
@@ -18,161 +18,161 @@ describe('date', function () {
);
});
});
- describe('constrain', function () {
- it('test constrain with date < min', function () {
- var a = new Date();
+ describe('constrain', () => {
+ it('test constrain with date < min', () => {
+ const a = new Date();
a.setFullYear(2022);
- var b = new Date();
+ const b = new Date();
b.setFullYear(2023);
- var c = new Date();
+ const c = new Date();
c.setFullYear(2019);
- var r = d.constrain(c, a, b);
+ const r = d.constrain(c, a, b);
test.assertEqual(r, a);
});
- it('test constrain with date < min and inverted min/max', function () {
- var a = new Date();
+ it('test constrain with date < min and inverted min/max', () => {
+ const a = new Date();
a.setFullYear(2022);
- var b = new Date();
+ const b = new Date();
b.setFullYear(2023);
- var c = new Date();
+ const c = new Date();
c.setFullYear(2019);
- var r = d.constrain(c, b, a);
+ const r = d.constrain(c, b, a);
test.assertEqual(r, a);
});
- it('test constrain with date > max', function () {
- var a = new Date();
+ it('test constrain with date > max', () => {
+ const a = new Date();
a.setFullYear(2022);
- var b = new Date();
+ const b = new Date();
b.setFullYear(2023);
- var c = new Date();
+ const c = new Date();
c.setFullYear(2024);
- var r = d.constrain(c, a, b);
+ const r = d.constrain(c, a, b);
test.assertEqual(r, b);
});
- it('test constrain with date > max and inverted min/max', function () {
- var a = new Date();
+ it('test constrain with date > max and inverted min/max', () => {
+ const a = new Date();
a.setFullYear(2022);
- var b = new Date();
+ const b = new Date();
b.setFullYear(2023);
- var c = new Date();
+ const c = new Date();
c.setFullYear(2024);
- var r = d.constrain(c, b, a);
+ const r = d.constrain(c, b, a);
test.assertEqual(r, b);
});
});
- describe('format', function () {
- it('test format 1', function () {
- var a = new Date(1985, 3, 3, 23, 57, 5);
- var s = d.format(a, 'YYYY/MM/DD');
+ describe('format', () => {
+ it('test format 1', () => {
+ const a = new Date(1985, 3, 3, 23, 57, 5);
+ const s = d.format(a, 'YYYY/MM/DD');
test.assertTrue(s === '1985/04/03');
});
- it('test format 2', function () {
- var a = new Date(1985, 3, 3, 23, 57, 5);
- var s = d.format(a, 'YYYYMMDD');
+ it('test format 2', () => {
+ const a = new Date(1985, 3, 3, 23, 57, 5);
+ const s = d.format(a, 'YYYYMMDD');
test.assertTrue(s === '19850403');
});
- it('test format 3', function () {
- var a = new Date(1985, 3, 3, 23, 57, 5);
- var s = d.format(a, "XX D, 'YY");
+ it('test format 3', () => {
+ const a = new Date(1985, 3, 3, 23, 57, 5);
+ const s = d.format(a, "XX D, 'YY");
test.assertTrue(s === "April 3, '85");
});
});
- describe('identifier', function () {
- it('test type', function () {
- var s = d.identifier();
+ describe('identifier', () => {
+ it('test type', () => {
+ const s = d.identifier();
test.assertString(s);
});
- it('test format (now)', function () {
- var s = d.identifier();
+ it('test format (now)', () => {
+ const s = d.identifier();
test.assertTrue(/^[0-9]{17}$/.test(s));
});
- it('test format (custom date)', function () {
- var s = d.identifier(new Date('85/4/3'));
+ it('test format (custom date)', () => {
+ const s = d.identifier(new Date('85/4/3'));
test.assertTrue(/^[0-9]{17}$/.test(s));
});
});
- describe('isFuture', function () {
- it('test with past date', function () {
- var date = new Date('1985/4/3');
+ describe('isFuture', () => {
+ it('test with past date', () => {
+ const date = new Date('1985/4/3');
test.assertFalse(d.isFuture(date));
});
- it('test with future date', function () {
- var date = new Date();
+ it('test with future date', () => {
+ const date = new Date();
date.setFullYear(date.getFullYear() + 1);
test.assertTrue(d.isFuture(date));
});
- it('test with same day date', function () {
- var date = new Date();
+ it('test with same day date', () => {
+ const date = new Date();
test.assertFalse(d.isFuture(date));
});
- it('test with same day date ignoring time', function () {
- var date = new Date();
+ it('test with same day date ignoring time', () => {
+ const date = new Date();
date.setMinutes(date.getMinutes() + 1);
test.assertFalse(d.isFuture(date));
test.assertTrue(d.isFuture(date, true));
});
});
- describe('isPast', function () {
- it('test with past date', function () {
- var date = new Date('1985/4/3');
+ describe('isPast', () => {
+ it('test with past date', () => {
+ const date = new Date('1985/4/3');
test.assertTrue(d.isPast(date));
});
- it('test with future date', function () {
- var date = new Date();
+ it('test with future date', () => {
+ const date = new Date();
date.setFullYear(date.getFullYear() + 1);
test.assertFalse(d.isPast(date));
});
- it('test with same day date', function () {
- var date = new Date();
+ it('test with same day date', () => {
+ const date = new Date();
test.assertFalse(d.isPast(date));
});
- it('test with same day date ignoring time', function () {
- var date = new Date();
+ it('test with same day date ignoring time', () => {
+ const date = new Date();
date.setMinutes(date.getMinutes() - 1);
test.assertFalse(d.isPast(date));
test.assertTrue(d.isPast(date, true));
});
});
- describe('max', function () {
- it('test max with past comparison', function () {
- var a = new Date();
- var b = new Date();
+ describe('max', () => {
+ it('test max with past comparison', () => {
+ const a = new Date();
+ const b = new Date();
b.setFullYear(a.getFullYear() - 1);
- var r = d.max(a, b);
+ const r = d.max(a, b);
test.assertEqual(r, a);
});
- it('test max with future comparison', function () {
- var a = new Date();
- var b = new Date();
+ it('test max with future comparison', () => {
+ const a = new Date();
+ const b = new Date();
b.setFullYear(a.getFullYear() + 1);
- var r = d.max(a, b);
+ const r = d.max(a, b);
test.assertEqual(r, b);
});
});
- describe('min', function () {
- it('test min with past comparison', function () {
- var a = new Date();
- var b = new Date();
+ describe('min', () => {
+ it('test min with past comparison', () => {
+ const a = new Date();
+ const b = new Date();
b.setFullYear(a.getFullYear() - 1);
- var r = d.min(a, b);
+ const r = d.min(a, b);
test.assertEqual(r, b);
});
- it('test min with future comparison', function () {
- var a = new Date();
- var b = new Date();
+ it('test min with future comparison', () => {
+ const a = new Date();
+ const b = new Date();
b.setFullYear(a.getFullYear() + 1);
- var r = d.min(a, b);
+ const r = d.min(a, b);
test.assertEqual(r, a);
});
});
- describe('normalize', function () {
- it('test type', function () {
- var r = d.normalize(0);
+ describe('normalize', () => {
+ it('test type', () => {
+ const r = d.normalize(0);
test.assertObject(r);
});
- it('test milliseconds', function () {
- var ms = 500;
- var r = d.normalize(ms);
+ it('test milliseconds', () => {
+ const ms = 500;
+ const r = d.normalize(ms);
test.assertEqual(r, {
milliseconds: 500,
seconds: 0,
@@ -181,9 +181,9 @@ describe('date', function () {
days: 0,
});
});
- it('test seconds', function () {
- var ms = 1100 * 7;
- var r = d.normalize(ms);
+ it('test seconds', () => {
+ const ms = 1100 * 7;
+ const r = d.normalize(ms);
test.assertEqual(r, {
milliseconds: 700,
seconds: 7,
@@ -192,9 +192,9 @@ describe('date', function () {
days: 0,
});
});
- it('test minutes', function () {
- var ms = 1000 * 125;
- var r = d.normalize(ms);
+ it('test minutes', () => {
+ const ms = 1000 * 125;
+ const r = d.normalize(ms);
test.assertEqual(r, {
milliseconds: 0,
seconds: 5,
@@ -203,9 +203,9 @@ describe('date', function () {
days: 0,
});
});
- it('test hours', function () {
- var ms = 1000 * 980;
- var r = d.normalize(ms);
+ it('test hours', () => {
+ const ms = 1000 * 980;
+ const r = d.normalize(ms);
test.assertEqual(r, {
milliseconds: 0,
seconds: 20,
@@ -214,9 +214,9 @@ describe('date', function () {
days: 0,
});
});
- it('test days', function () {
- var ms = 1000 * 15270;
- var r = d.normalize(ms);
+ it('test days', () => {
+ const ms = 1000 * 15270;
+ const r = d.normalize(ms);
test.assertEqual(r, {
milliseconds: 0,
seconds: 30,
@@ -226,90 +226,90 @@ describe('date', function () {
});
});
});
- describe('parse', function () {
- it('test parse with invalid value', function () {
- var dt = d.parse(null);
+ describe('parse', () => {
+ it('test parse with invalid value', () => {
+ const dt = d.parse(null);
test.assertNull(dt);
});
- it('test parse with date value', function () {
- var now = new Date();
- var dt = d.parse(now);
+ it('test parse with date value', () => {
+ const now = new Date();
+ const dt = d.parse(now);
test.assertDate(dt);
test.assertEqual(dt, now);
});
- it('test parse with timestamp value (as number)', function () {
- var dt = d.parse(818035920000);
+ it('test parse with timestamp value (as number)', () => {
+ const dt = d.parse(818035920000);
test.assertDate(dt);
test.assertEqual(dt.getFullYear(), 1995);
test.assertEqual(dt.getMonth(), 11);
test.assertEqual(dt.getDate(), 4);
});
- it('test parse with timestamp value (as string)', function () {
- var dt = d.parse('818035920000');
+ it('test parse with timestamp value (as string)', () => {
+ const dt = d.parse('818035920000');
test.assertDate(dt);
test.assertEqual(dt.getFullYear(), 1995);
test.assertEqual(dt.getMonth(), 11);
test.assertEqual(dt.getDate(), 4);
});
- it('test parse with date string', function () {
- var dt = d.parse('04 Dec 1995 00:12:00 GMT');
+ it('test parse with date string', () => {
+ const dt = d.parse('04 Dec 1995 00:12:00 GMT');
test.assertDate(dt);
test.assertEqual(dt.getFullYear(), 1995);
test.assertEqual(dt.getMonth(), 11);
test.assertEqual(dt.getDate(), 4);
});
- it('test parse with date string (other format)', function () {
- var dt = d.parse('2024-04-30T00:00:00Z');
+ it('test parse with date string (other format)', () => {
+ const dt = d.parse('2024-04-30T00:00:00Z');
test.assertDate(dt);
test.assertEqual(dt.getFullYear(), 2024);
test.assertEqual(dt.getMonth(), 3);
test.assertEqual(dt.getDate(), 30);
});
});
- describe('timestamp', function () {
- it('test type', function () {
- var t = d.timestamp();
+ describe('timestamp', () => {
+ it('test type', () => {
+ const t = d.timestamp();
test.assertNumber(t);
});
});
- describe('today', function () {
- it('test today', function () {
- var t = d.today();
- var now = new Date();
+ describe('today', () => {
+ it('test today', () => {
+ const t = d.today();
+ const now = new Date();
test.assertEqual(t.getDate(), now.getDate());
});
});
- describe('tomorrow', function () {
- it('test tomorrow', function () {
- var t = d.tomorrow();
- var now = new Date();
+ describe('tomorrow', () => {
+ it('test tomorrow', () => {
+ const t = d.tomorrow();
+ const now = new Date();
now.setDate(now.getDate() + 1);
test.assertEqual(t.getDate(), now.getDate());
});
});
- describe('yesterday', function () {
- it('test yesterday', function () {
- var y = d.yesterday();
- var now = new Date();
+ describe('yesterday', () => {
+ it('test yesterday', () => {
+ const y = d.yesterday();
+ const now = new Date();
now.setDate(now.getDate() - 1);
test.assertEqual(y.getDate(), now.getDate());
});
});
- describe('yyyymmdd', function () {
- it('test type', function () {
- var s = d.yyyymmdd();
+ describe('yyyymmdd', () => {
+ it('test type', () => {
+ const s = d.yyyymmdd();
test.assertString(s);
});
- it('test format (now)', function () {
- var s = d.yyyymmdd();
+ it('test format (now)', () => {
+ const s = d.yyyymmdd();
test.assertTrue(/^[0-9]{8}$/.test(s));
});
- it('test format (custom date)', function () {
- var s = d.yyyymmdd(new Date('85/4/3'));
+ it('test format (custom date)', () => {
+ const s = d.yyyymmdd(new Date('85/4/3'));
test.assertTrue(/^[0-9]{8}$/.test(s));
});
- it('test format (custom separator)', function () {
- var s = d.yyyymmdd(new Date('85/4/3'), '-');
+ it('test format (custom separator)', () => {
+ const s = d.yyyymmdd(new Date('85/4/3'), '-');
test.assertEqual(s, '1985-04-03');
});
});
diff --git a/test/test_ease.js b/test/test_ease.js
index 60dcae6..300ebd3 100644
--- a/test/test_ease.js
+++ b/test/test_ease.js
@@ -1,560 +1,560 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var ease = utils.ease;
-describe('ease', function () {
- var assertReturnAlwaysNumber = function (f) {
- var t = 0.0;
+import utils from '../src/utils.js';
+const test = utils.test;
+const ease = utils.ease;
+describe('ease', () => {
+ const assertReturnAlwaysNumber = (f) => {
+ let t = 0.0;
while (t <= 1.0) {
test.assertNumber(f(t));
t += 0.05;
}
};
- describe('backIn', function () {
- var f = ease.backIn;
- it('t = 0.0', function () {
+ describe('backIn', () => {
+ const f = ease.backIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, overshoot = 0.0', function () {
+ it('t = 0.0, overshoot = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0, 0.0), 0.0);
});
- it('t = 0.0, overshoot = 1.0', function () {
+ it('t = 0.0, overshoot = 1.0', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0), 0.0);
});
- it('t = 0.0, overshoot = 2.0', function () {
+ it('t = 0.0, overshoot = 2.0', () => {
test.assertNumberAlmostEqual(f(0.0, 2.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = 1.0, overshoot = 0.0', function () {
+ it('t = 1.0, overshoot = 0.0', () => {
test.assertNumberAlmostEqual(f(1.0, 0.0), 1.0);
});
- it('t = 1.0, overshoot = 1.0', function () {
+ it('t = 1.0, overshoot = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0), 1.0);
});
- it('t = 1.0, overshoot = 2.0', function () {
+ it('t = 1.0, overshoot = 2.0', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('backInOut', function () {
- var f = ease.backInOut;
- it('t = 0.0', function () {
+ describe('backInOut', () => {
+ const f = ease.backInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, overshoot = 0.0', function () {
+ it('t = 0.0, overshoot = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0, 0.0), 0.0);
});
- it('t = 0.0, overshoot = 1.0', function () {
+ it('t = 0.0, overshoot = 1.0', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0), 0.0);
});
- it('t = 0.0, overshoot = 2.0', function () {
+ it('t = 0.0, overshoot = 2.0', () => {
test.assertNumberAlmostEqual(f(0.0, 2.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = 1.0, overshoot = 0.0', function () {
+ it('t = 1.0, overshoot = 0.0', () => {
test.assertNumberAlmostEqual(f(1.0, 0.0), 1.0);
});
- it('t = 1.0, overshoot = 1.0', function () {
+ it('t = 1.0, overshoot = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0), 1.0);
});
- it('t = 1.0, overshoot = 2.0', function () {
+ it('t = 1.0, overshoot = 2.0', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('backOut', function () {
- var f = ease.backOut;
- it('t = 0.0', function () {
+ describe('backOut', () => {
+ const f = ease.backOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, overshoot = 0.0', function () {
+ it('t = 0.0, overshoot = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0, 0.0), 0.0);
});
- it('t = 0.0, overshoot = 1.0', function () {
+ it('t = 0.0, overshoot = 1.0', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0), 0.0);
});
- it('t = 0.0, overshoot = 2.0', function () {
+ it('t = 0.0, overshoot = 2.0', () => {
test.assertNumberAlmostEqual(f(0.0, 2.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = 1.0, overshoot = 0.0', function () {
+ it('t = 1.0, overshoot = 0.0', () => {
test.assertNumberAlmostEqual(f(1.0, 0.0), 1.0);
});
- it('t = 1.0, overshoot = 1.0', function () {
+ it('t = 1.0, overshoot = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0), 1.0);
});
- it('t = 1.0, overshoot = 2.0', function () {
+ it('t = 1.0, overshoot = 2.0', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('bounceIn', function () {
- var f = ease.bounceIn;
- it('t = 0.0', function () {
+ describe('bounceIn', () => {
+ const f = ease.bounceIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('bounceInOut', function () {
- var f = ease.bounceInOut;
- it('t = 0.0', function () {
+ describe('bounceInOut', () => {
+ const f = ease.bounceInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('bounceOut', function () {
- var f = ease.bounceOut;
- it('t = 0.0', function () {
+ describe('bounceOut', () => {
+ const f = ease.bounceOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('circularIn', function () {
- var f = ease.circularIn;
- it('t = 0.0', function () {
+ describe('circularIn', () => {
+ const f = ease.circularIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('circularInOut', function () {
- var f = ease.circularInOut;
- it('t = 0.0', function () {
+ describe('circularInOut', () => {
+ const f = ease.circularInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('circularOut', function () {
- var f = ease.circularOut;
- it('t = 0.0', function () {
+ describe('circularOut', () => {
+ const f = ease.circularOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('cubicIn', function () {
- var f = ease.cubicIn;
- it('t = 0.0', function () {
+ describe('cubicIn', () => {
+ const f = ease.cubicIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('cubicInOut', function () {
- var f = ease.cubicInOut;
- it('t = 0.0', function () {
+ describe('cubicInOut', () => {
+ const f = ease.cubicInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('cubicOut', function () {
- var f = ease.cubicOut;
- it('t = 0.0', function () {
+ describe('cubicOut', () => {
+ const f = ease.cubicOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('elasticIn', function () {
- var f = ease.elasticIn;
- it('t = 0.0', function () {
+ describe('elasticIn', () => {
+ const f = ease.elasticIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, amplitude = 0.5, period = 0.5', function () {
+ it('t = 0.0, amplitude = 0.5, period = 0.5', () => {
test.assertNumberAlmostEqual(f(0.0, 0.5, 0.5), 0.0);
});
- it('t = 0.0, amplitude = 1.0, period = 1.0', function () {
+ it('t = 0.0, amplitude = 1.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, 1.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = 1.0, amplitude = 0.5, period = 0.5', function () {
+ it('t = 1.0, amplitude = 0.5, period = 0.5', () => {
test.assertNumberAlmostEqual(f(1.0, 0.5, 0.5), 1.0);
});
- it('t = 1.0, amplitude = 1.0, period = 1.0', function () {
+ it('t = 1.0, amplitude = 1.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, 1.0), 1.0);
});
- it('t = 1.0, amplitude = 2.0, period = 1.0', function () {
+ it('t = 1.0, amplitude = 2.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0, 1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('elasticInOut', function () {
- var f = ease.elasticInOut;
- it('t = 0.0', function () {
+ describe('elasticInOut', () => {
+ const f = ease.elasticInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, amplitude = 0.5, period = 0.5', function () {
+ it('t = 0.0, amplitude = 0.5, period = 0.5', () => {
test.assertNumberAlmostEqual(f(0.0, 0.5, 0.5), 0.0);
});
- it('t = 0.0, amplitude = 1.0, period = 1.0', function () {
+ it('t = 0.0, amplitude = 1.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, 1.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = 1.0, amplitude = 0.5, period = 0.5', function () {
+ it('t = 1.0, amplitude = 0.5, period = 0.5', () => {
test.assertNumberAlmostEqual(f(1.0, 0.5, 0.5), 1.0);
});
- it('t = 1.0, amplitude = 1.0, period = 1.0', function () {
+ it('t = 1.0, amplitude = 1.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, 1.0), 1.0);
});
- it('t = 1.0, amplitude = 2.0, period = 1.0', function () {
+ it('t = 1.0, amplitude = 2.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0, 1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('elasticOut', function () {
- var f = ease.elasticOut;
- it('t = 0.0', function () {
+ describe('elasticOut', () => {
+ const f = ease.elasticOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, amplitude = 0.5, period = 0.5', function () {
+ it('t = 0.0, amplitude = 0.5, period = 0.5', () => {
test.assertNumberAlmostEqual(f(0.0, 0.5, 0.5), 0.0);
});
- it('t = 0.0, amplitude = 1.0, period = 1.0', function () {
+ it('t = 0.0, amplitude = 1.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, 1.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = 1.0, amplitude = 0.5, period = 0.5', function () {
+ it('t = 1.0, amplitude = 0.5, period = 0.5', () => {
test.assertNumberAlmostEqual(f(1.0, 0.5, 0.5), 1.0);
});
- it('t = 1.0, amplitude = 1.0, period = 1.0', function () {
+ it('t = 1.0, amplitude = 1.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, 1.0), 1.0);
});
- it('t = 1.0, amplitude = 2.0, period = 1.0', function () {
+ it('t = 1.0, amplitude = 2.0, period = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0, 1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('exponentialIn', function () {
- var f = ease.exponentialIn;
- it('t = 0.0', function () {
+ describe('exponentialIn', () => {
+ const f = ease.exponentialIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('exponentialInOut', function () {
- var f = ease.exponentialInOut;
- it('t = 0.0', function () {
+ describe('exponentialInOut', () => {
+ const f = ease.exponentialInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('exponentialOut', function () {
- var f = ease.exponentialOut;
- it('t = 0.0', function () {
+ describe('exponentialOut', () => {
+ const f = ease.exponentialOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('none', function () {
- var f = ease.none;
- it('t = 0.0', function () {
+ describe('none', () => {
+ const f = ease.none;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quadraticIn', function () {
- var f = ease.quadraticIn;
- it('t = 0.0', function () {
+ describe('quadraticIn', () => {
+ const f = ease.quadraticIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quadraticInOut', function () {
- var f = ease.quadraticInOut;
- it('t = 0.0', function () {
+ describe('quadraticInOut', () => {
+ const f = ease.quadraticInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quadraticOut', function () {
- var f = ease.quadraticOut;
- it('t = 0.0', function () {
+ describe('quadraticOut', () => {
+ const f = ease.quadraticOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quarticIn', function () {
- var f = ease.quarticIn;
- it('t = 0.0', function () {
+ describe('quarticIn', () => {
+ const f = ease.quarticIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quarticInOut', function () {
- var f = ease.quarticInOut;
- it('t = 0.0', function () {
+ describe('quarticInOut', () => {
+ const f = ease.quarticInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quarticOut', function () {
- var f = ease.quarticOut;
- it('t = 0.0', function () {
+ describe('quarticOut', () => {
+ const f = ease.quarticOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quinticIn', function () {
- var f = ease.quinticIn;
- it('t = 0.0', function () {
+ describe('quinticIn', () => {
+ const f = ease.quinticIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quinticInOut', function () {
- var f = ease.quinticInOut;
- it('t = 0.0', function () {
+ describe('quinticInOut', () => {
+ const f = ease.quinticInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('quinticOut', function () {
- var f = ease.quinticOut;
- it('t = 0.0', function () {
+ describe('quinticOut', () => {
+ const f = ease.quinticOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('sexticIn', function () {
- var f = ease.sexticIn;
- it('t = 0.0', function () {
+ describe('sexticIn', () => {
+ const f = ease.sexticIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('sexticInOut', function () {
- var f = ease.sexticInOut;
- it('t = 0.0', function () {
+ describe('sexticInOut', () => {
+ const f = ease.sexticInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('sexticOut', function () {
- var f = ease.sexticOut;
- it('t = 0.0', function () {
+ describe('sexticOut', () => {
+ const f = ease.sexticOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('sineIn', function () {
- var f = ease.sineIn;
- it('t = 0.0', function () {
+ describe('sineIn', () => {
+ const f = ease.sineIn;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('sineInOut', function () {
- var f = ease.sineInOut;
- it('t = 0.0', function () {
+ describe('sineInOut', () => {
+ const f = ease.sineInOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('sineOut', function () {
- var f = ease.sineOut;
- it('t = 0.0', function () {
+ describe('sineOut', () => {
+ const f = ease.sineOut;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
});
- describe('waveCosine', function () {
- var f = ease.waveCosine;
- it('t = 0.0', function () {
+ describe('waveCosine', () => {
+ const f = ease.waveCosine;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 1.0);
});
- it('t = 0.0, frequency = 1.0, absolute = false, inverse = false', function () {
+ it('t = 0.0, frequency = 1.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, false, false), 1.0);
});
- it('t = 0.0, frequency = 2.0, absolute = false, inverse = false', function () {
+ it('t = 0.0, frequency = 2.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 2.0, false, false), 1.0);
});
- it('t = 0.0, frequency = 1.0, absolute = true, inverse = false', function () {
+ it('t = 0.0, frequency = 1.0, absolute = true, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, true, false), 1.0);
});
- it('t = 0.0, frequency = 1.0, absolute = true, inverse = true', function () {
+ it('t = 0.0, frequency = 1.0, absolute = true, inverse = true', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, true, true), 0.0);
});
- it('t = 0.0, frequency = 1.0, absolute = false, inverse = true', function () {
+ it('t = 0.0, frequency = 1.0, absolute = false, inverse = true', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, false, true), 0.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), -1.0);
});
- it('t = 1.0, frequency = 1.0, absolute = false, inverse = false', function () {
+ it('t = 1.0, frequency = 1.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, false, false), -1.0);
});
- it('t = 1.0, frequency = 2.0, absolute = false, inverse = false', function () {
+ it('t = 1.0, frequency = 2.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0, false, false), 1.0);
});
- it('t = 1.0, frequency = 1.0, absolute = true, inverse = false', function () {
+ it('t = 1.0, frequency = 1.0, absolute = true, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, true, false), 1.0);
});
- it('t = 1.0, frequency = 1.0, absolute = true, inverse = true', function () {
+ it('t = 1.0, frequency = 1.0, absolute = true, inverse = true', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, true, true), 0.0);
});
- it('t = 1.0, frequency = 1.0, absolute = false, inverse = true', function () {
+ it('t = 1.0, frequency = 1.0, absolute = false, inverse = true', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, false, true), 2.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
// console.log(0.0, f(0.0));
@@ -570,45 +570,45 @@ describe('ease', function () {
// console.log(1.0, f(1.0, 1.0, true, true));
// console.log(1.0, f(1.0, 1.0, false, true));
});
- describe('waveSawtooth', function () {
- var f = ease.waveSawtooth;
- it('t = 0.0', function () {
+ describe('waveSawtooth', () => {
+ const f = ease.waveSawtooth;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, frequency = 1.0, absolute = false, inverse = false', function () {
+ it('t = 0.0, frequency = 1.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, false, false), 0.0);
});
- it('t = 0.0, frequency = 2.0, absolute = false, inverse = false', function () {
+ it('t = 0.0, frequency = 2.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 2.0, false, false), 0.0);
});
- it('t = 0.0, frequency = 1.0, absolute = true, inverse = false', function () {
+ it('t = 0.0, frequency = 1.0, absolute = true, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, true, false), 0.0);
});
- it('t = 0.0, frequency = 1.0, absolute = true, inverse = true', function () {
+ it('t = 0.0, frequency = 1.0, absolute = true, inverse = true', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, true, true), 1.0);
});
- it('t = 0.0, frequency = 1.0, absolute = false, inverse = true', function () {
+ it('t = 0.0, frequency = 1.0, absolute = false, inverse = true', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, false, true), 1.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 0.0);
});
- it('t = 1.0, frequency = 1.0, absolute = false, inverse = false', function () {
+ it('t = 1.0, frequency = 1.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, false, false), 0.0);
});
- it('t = 1.0, frequency = 2.0, absolute = false, inverse = false', function () {
+ it('t = 1.0, frequency = 2.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0, false, false), 0.0);
});
- it('t = 1.0, frequency = 1.0, absolute = true, inverse = false', function () {
+ it('t = 1.0, frequency = 1.0, absolute = true, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, true, false), 0.0);
});
- it('t = 1.0, frequency = 1.0, absolute = true, inverse = true', function () {
+ it('t = 1.0, frequency = 1.0, absolute = true, inverse = true', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, true, true), 1.0);
});
- it('t = 1.0, frequency = 1.0, absolute = false, inverse = true', function () {
+ it('t = 1.0, frequency = 1.0, absolute = false, inverse = true', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, false, true), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
// console.log(0.0, f(0.0));
@@ -624,45 +624,45 @@ describe('ease', function () {
// console.log(1.0, f(1.0, 1.0, true, true));
// console.log(1.0, f(1.0, 1.0, false, true));
});
- describe('waveSine', function () {
- var f = ease.waveSine;
- it('t = 0.0', function () {
+ describe('waveSine', () => {
+ const f = ease.waveSine;
+ it('t = 0.0', () => {
test.assertNumberAlmostEqual(f(0.0), 0.0);
});
- it('t = 0.0, frequency = 1.0, absolute = false, inverse = false', function () {
+ it('t = 0.0, frequency = 1.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, false, false), 0.0);
});
- it('t = 0.0, frequency = 2.0, absolute = false, inverse = false', function () {
+ it('t = 0.0, frequency = 2.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 2.0, false, false), 0.0);
});
- it('t = 0.0, frequency = 1.0, absolute = true, inverse = false', function () {
+ it('t = 0.0, frequency = 1.0, absolute = true, inverse = false', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, true, false), 0.0);
});
- it('t = 0.0, frequency = 1.0, absolute = true, inverse = true', function () {
+ it('t = 0.0, frequency = 1.0, absolute = true, inverse = true', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, true, true), 1.0);
});
- it('t = 0.0, frequency = 1.0, absolute = false, inverse = true', function () {
+ it('t = 0.0, frequency = 1.0, absolute = false, inverse = true', () => {
test.assertNumberAlmostEqual(f(0.0, 1.0, false, true), 1.0);
});
- it('t = 1.0', function () {
+ it('t = 1.0', () => {
test.assertNumberAlmostEqual(f(1.0), 0.0);
});
- it('t = 1.0, frequency = 1.0, absolute = false, inverse = false', function () {
+ it('t = 1.0, frequency = 1.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, false, false), 0.0);
});
- it('t = 1.0, frequency = 2.0, absolute = false, inverse = false', function () {
+ it('t = 1.0, frequency = 2.0, absolute = false, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 2.0, false, false), 0.0);
});
- it('t = 1.0, frequency = 1.0, absolute = true, inverse = false', function () {
+ it('t = 1.0, frequency = 1.0, absolute = true, inverse = false', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, true, false), 0.0);
});
- it('t = 1.0, frequency = 1.0, absolute = true, inverse = true', function () {
+ it('t = 1.0, frequency = 1.0, absolute = true, inverse = true', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, true, true), 1.0);
});
- it('t = 1.0, frequency = 1.0, absolute = false, inverse = true', function () {
+ it('t = 1.0, frequency = 1.0, absolute = false, inverse = true', () => {
test.assertNumberAlmostEqual(f(1.0, 1.0, false, true), 1.0);
});
- it('t = { loop from 0.0 to 1.0 }', function () {
+ it('t = { loop from 0.0 to 1.0 }', () => {
assertReturnAlwaysNumber(f);
});
// console.log(0.0, f(0.0));
diff --git a/test/test_func.js b/test/test_func.js
index 7115142..af1c3f8 100644
--- a/test/test_func.js
+++ b/test/test_func.js
@@ -1,119 +1,120 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var type = utils.type;
-var func = utils.func;
+import utils from '../src/utils.js';
+const test = utils.test;
+const type = utils.type;
+const func = utils.func;
-describe('func', function () {
- describe('args', function () {
- var f = func.args;
- var a = function (a, b, c) {
- return f(arguments);
+describe('func', () => {
+ describe('args', () => {
+ const f = func.args;
+ const a = (...args) => {
+ return f(args);
};
- var b = function (a, b, c) {
- return f(arguments, 2);
+ const b = (...args) => {
+ return f(args, 2);
};
- it('test args', function () {
+ it('test args', () => {
test.assertEqual(a(), []);
});
- it('test args.length = 1, skipCount = 0', function () {
+ it('test args.length = 1, skipCount = 0', () => {
test.assertEqual(a(1), [1]);
});
- it('test args.length = 2, skipCount = 0', function () {
+ it('test args.length = 2, skipCount = 0', () => {
test.assertEqual(a(1, 2), [1, 2]);
});
- it('test args.length = 3, skipCount = 0', function () {
+ it('test args.length = 3, skipCount = 0', () => {
test.assertEqual(a(1, 2, 3), [1, 2, 3]);
});
- it('test args.length = 4, skipCount = 0', function () {
+ it('test args.length = 4, skipCount = 0', () => {
test.assertEqual(a(1, 2, 3, 4), [1, 2, 3, 4]);
});
- it('test args.length = 5, skipCount = 0', function () {
+ it('test args.length = 5, skipCount = 0', () => {
test.assertEqual(a(1, 2, 3, 4, 5), [1, 2, 3, 4, 5]);
});
- it('test args.length = 0, skipCount = 2', function () {
+ it('test args.length = 0, skipCount = 2', () => {
test.assertEqual(b(), []);
});
- it('test args.length = 1, skipCount = 2', function () {
+ it('test args.length = 1, skipCount = 2', () => {
test.assertEqual(b(1), []);
});
- it('test args.length = 2, skipCount = 2', function () {
+ it('test args.length = 2, skipCount = 2', () => {
test.assertEqual(b(1, 2), []);
});
- it('test args.length = 3, skipCount = 2', function () {
+ it('test args.length = 3, skipCount = 2', () => {
test.assertEqual(b(1, 2, 3), [3]);
});
- it('test args.length = 4, skipCount = 2', function () {
+ it('test args.length = 4, skipCount = 2', () => {
test.assertEqual(b(1, 2, 3, 4), [3, 4]);
});
- it('test args.length = 5, skipCount = 2', function () {
+ it('test args.length = 5, skipCount = 2', () => {
test.assertEqual(b(1, 2, 3, 4, 5), [3, 4, 5]);
});
});
- describe('attempt', function () {
- var f = func.attempt;
- var obj = {
- dosomething: function () {
+ describe('attempt', () => {
+ const f = func.attempt;
+ const obj = {
+ dosomething() {
return true;
},
- dosomethingWithArguments: function () {
- return func.args(arguments);
+ dosomethingWithArguments(...args) {
+ return func.args(args);
},
};
- it('test attempt func name with scope', function () {
+ it('test attempt func name with scope', () => {
test.assertTrue(f('dosomething', obj));
});
- it('test attempt invalid func name with scope', function () {
+ it('test attempt invalid func name with scope', () => {
test.assertError(f('dosomethingInvalid', obj));
});
- it('test attempt no func with scope', function () {
+ it('test attempt no func with scope', () => {
test.assertError(f(null, obj));
});
- it('test attempt func name without scope', function () {
+ it('test attempt func name without scope', () => {
test.assertError(f('dosomething', null));
});
- it('test attempt func without scope', function () {
+ it('test attempt func without scope', () => {
test.assertTrue(f(obj['dosomething']));
});
- it('test attempt func without scope but arguments', function () {
+ it('test attempt func without scope but arguments', () => {
test.assertEqual(
f(obj['dosomethingWithArguments'], null, 1, 2, 3),
[1, 2, 3]
);
});
});
- describe('bind', function () {
- var f = func.bind;
- var obj = {
+ describe('bind', () => {
+ const f = func.bind;
+ const obj = {
value: 'ok',
- getValue: function () {
+ getValue() {
return this.value;
},
- getArgs: function (a, b, c, d) {
+ getArgs(a, b, c, d) {
return [a || null, b || null, c || null, d || null];
},
};
- it('test bind is function', function () {
- var ref = f('getValue', obj);
+ it('test bind is function', () => {
+ const ref = f('getValue', obj);
test.assertFunction(ref);
});
- it('test bind call with func', function () {
- var ref = f(obj.getValue, obj);
+ it('test bind call with func', () => {
+ const ref = f(obj.getValue, obj);
test.assertEqual(ref(), 'ok');
});
- it('test bind call with func but scope', function () {
- var ref = f(obj.getValue);
- test.assertEqual(ref(), undefined);
+ it('test bind call with func but scope', () => {
+ const ref = f(obj.getValue);
+ // test.assertEqual(ref(), undefined);
+ test.assertThrows(ref);
});
- it('test bind call with func name', function () {
- var ref = f('getValue', obj);
+ it('test bind call with func name', () => {
+ const ref = f('getValue', obj);
test.assertEqual(ref(), 'ok');
});
- it('test bind call with func name but scope', function () {
- var ref = f('getValue', null);
+ it('test bind call with func name but scope', () => {
+ const ref = f('getValue', null);
test.assertThrows(ref);
});
- it('test bind with args', function () {
- var ref;
+ it('test bind with args', () => {
+ let ref;
ref = f(obj.getArgs, obj);
test.assertEqual(ref(), [null, null, null, null]);
@@ -129,8 +130,8 @@ describe('func', function () {
ref = f(obj.getArgs, obj, 1, 2, 3, 4);
test.assertEqual(ref(), [1, 2, 3, 4]);
});
- it('test bind with args and call with args', function () {
- var ref;
+ it('test bind with args and call with args', () => {
+ let ref;
ref = f(obj.getArgs, obj);
test.assertEqual(ref('a'), ['a', null, null, null]);
@@ -141,95 +142,95 @@ describe('func', function () {
test.assertEqual(ref('a', 'b'), [1, 2, 'a', 'b']);
});
});
- describe('call', function () {
- var f = func.call;
- var obj = {
- dosomething: function () {
+ describe('call', () => {
+ const f = func.call;
+ const obj = {
+ dosomething() {
return true;
},
- dosomethingWithArguments: function () {
- return func.args(arguments);
+ dosomethingWithArguments(...args) {
+ return func.args(args);
},
};
- it('test call func', function () {
+ it('test call func', () => {
test.assertTrue(f(obj['dosomething']));
});
- it('test call func with arguments', function () {
+ it('test call func with arguments', () => {
test.assertEqual(
f(obj['dosomethingWithArguments'], null, 1, 2, 3),
[1, 2, 3]
);
});
- it('test call invalid func', function () {
- test.assertThrows(function () {
+ it('test call invalid func', () => {
+ test.assertThrows(() => {
f(null, obj);
});
});
- it('test call func by name with scope', function () {
+ it('test call func by name with scope', () => {
test.assertTrue(f('dosomething', obj));
});
- it('test call func by name with scope and arguments', function () {
+ it('test call func by name with scope and arguments', () => {
test.assertEqual(f('dosomethingWithArguments', obj, 1, 2, 3), [1, 2, 3]);
});
- it('test call func by name without scope', function () {
- test.assertThrows(function () {
+ it('test call func by name without scope', () => {
+ test.assertThrows(() => {
f('dosomething', null);
});
});
- it('test call func by invalid name', function () {
- test.assertThrows(function () {
+ it('test call func by invalid name', () => {
+ test.assertThrows(() => {
f('dosomethingInvalid', obj);
});
});
});
- describe('debounce', function () {
- var f = func.debounce;
- it('test debounce', function (done) {
- var counter = 0;
- var counterInc = f(100, function () {
+ describe('debounce', () => {
+ const f = func.debounce;
+ it('test debounce', (done) => {
+ let counter = 0;
+ const counterInc = f(100, () => {
counter++;
});
- var interval = setInterval(counterInc, 50);
- setTimeout(function () {
+ const interval = setInterval(counterInc, 50);
+ setTimeout(() => {
clearInterval(interval);
test.assertEqual(counter, 0);
counterInc();
}, 300);
- setTimeout(function () {
+ setTimeout(() => {
test.assertEqual(counter, 1);
done();
}, 500);
});
});
- describe('delay', function () {
- var f = func.delay;
- it('test delay func called once', function (done) {
- var counter = 0;
+ describe('delay', () => {
+ const f = func.delay;
+ it('test delay func called once', (done) => {
+ let counter = 0;
f(
100,
- function () {
+ () => {
counter++;
},
null
);
test.assertEqual(counter, 0);
- setTimeout(function () {
+ setTimeout(() => {
test.assertEqual(counter, 0);
}, 50);
- setTimeout(function () {
+ setTimeout(() => {
test.assertEqual(counter, 1);
done();
}, 300);
});
- it('test delay func delay accuracy', function (done) {
- var timestamp = utils.date.timestamp();
- var delayElapsed;
- var delayExpected = 100;
- var delayDiff;
- var delayTolerance = 20;
+ it('test delay func delay accuracy', (done) => {
+ const timestamp = utils.date.timestamp();
+ let delayElapsed;
+ const delayExpected = 100;
+ let delayDiff;
+ const delayTolerance = 20;
f(
delayExpected,
- function () {
+ () => {
delayElapsed = utils.date.timestamp() - timestamp;
delayDiff = Math.abs(delayElapsed - delayExpected);
test.assertTrue(delayDiff <= delayTolerance);
@@ -238,11 +239,11 @@ describe('func', function () {
null
);
});
- it('test delay func arguments', function (done) {
+ it('test delay func arguments', (done) => {
f(
100,
- function () {
- var args = func.args(arguments);
+ (...args) => {
+ // const args = func.args(arguments);
test.assertEqual(args, [0, 1, true, false, 'a', 'b', 'c']);
done();
},
@@ -256,71 +257,71 @@ describe('func', function () {
'c'
);
});
- it('test delay func by name with scope', function (done) {
- var obj = {
- dosomething: function (done) {
+ it('test delay func by name with scope', (done) => {
+ const obj = {
+ dosomething(done) {
done();
},
};
f(100, 'dosomething', obj, done);
});
- it('test delay func cancelled', function (done) {
- var dosomething = function () {
+ it('test delay func cancelled', (done) => {
+ const dosomething = () => {
throw new Error('delay func not cancelled');
};
- var delayObj = f(100, dosomething);
+ const delayObj = f(100, dosomething);
test.assertFunction(delayObj.func);
test.assertFunction(delayObj.cancel);
delayObj.cancel();
f(200, done);
});
- it('test delay func by name cancelled', function (done) {
- var obj = {
- dosomething: function (done) {
+ it('test delay func by name cancelled', (done) => {
+ const obj = {
+ dosomething(done) {
throw new Error('delay func by name not cancelled');
},
};
- var delayObj = f(100, 'dosomething', obj);
+ const delayObj = f(100, 'dosomething', obj);
test.assertFunction(delayObj.func);
test.assertFunction(delayObj.cancel);
delayObj.cancel();
f(200, done);
});
});
- describe('memoize', function () {
- var f = func.memoize;
- var sum = function (a, b) {
+ describe('memoize', () => {
+ const f = func.memoize;
+ const sum = (a, b) => {
return a + b;
};
- var obj = {
- sum: function (a, b) {
+ const obj = {
+ sum(a, b) {
return a + b;
},
};
- it('test memoize func without scope', function () {
- var sumMemoized = f(sum, null);
+ it('test memoize func without scope', () => {
+ const sumMemoized = f(sum, null);
test.assertEqual(sumMemoized(1, 2), 3);
});
- it('test memoize func with scope', function () {
- var sumMemoized = f(obj.sum, obj);
+ it('test memoize func with scope', () => {
+ const sumMemoized = f(obj.sum, obj);
test.assertEqual(sumMemoized(1, 2), 3);
});
- it('test memoize func by name and scope', function () {
- var sumMemoized = f('sum', obj);
+ it('test memoize func by name and scope', () => {
+ const sumMemoized = f('sum', obj);
test.assertEqual(sumMemoized(1, 2), 3);
});
- it('test memoize func by name and scope', function () {
- var sumMemoized = f('sum', obj);
+ it('test memoize func by name and scope', () => {
+ const sumMemoized = f('sum', obj);
test.assertEqual(sumMemoized(1, 2), 3);
});
- it('test memoize func calls count', function () {
- var subCount = 0;
- var sub = function (a, b) {
+ it('test memoize func calls count', () => {
+ let subCount = 0;
+ const sub = (a, b) => {
subCount++;
return a - b;
};
- var subMemoized = f(sub);
- for (var i = 0; i < 5; i++) {
+ const subMemoized = f(sub);
+ for (let i = 0; i < 5; i++) {
subMemoized(10, 5);
}
test.assertEqual(subCount, 1);
@@ -328,35 +329,34 @@ describe('func', function () {
test.assertEqual(subCount, 2);
});
});
- describe('noop', function () {
- var f = func.noop;
- it('test noop', function () {
+ describe('noop', () => {
+ const f = func.noop;
+ it('test noop', () => {
test.assertTrue(f());
});
});
- describe('repeat', function () {
- var f = func.repeat;
- it('test repeat func called multiple times', function (done) {
- var counter = 0;
- var repeatObj = f(
+ describe('repeat', () => {
+ const f = func.repeat;
+ it('test repeat func called multiple times', (done) => {
+ let counter = 0;
+ const repeatObj = f(
100,
- function () {
+ () => {
counter++;
},
null
);
test.assertEqual(counter, 0);
- setTimeout(function () {
+ setTimeout(() => {
test.assertTrue(counter >= 9 && counter <= 10);
repeatObj.cancel();
done();
}, 1050);
});
- it('test repeat func arguments', function (done) {
- var repeatObj = f(
+ it('test repeat func arguments', (done) => {
+ const repeatObj = f(
100,
- function () {
- var args = func.args(arguments);
+ (...args) => {
test.assertEqual(args, [0, 1, true, false, 'a', 'b', 'c']);
repeatObj.cancel();
done();
@@ -371,77 +371,77 @@ describe('func', function () {
'c'
);
});
- it('test repeat func by name with scope', function (done) {
- var repeatObj;
- var obj = {
- dosomething: function (done) {
+ it('test repeat func by name with scope', (done) => {
+ let repeatObj;
+ const obj = {
+ dosomething(done) {
repeatObj.cancel();
done();
},
};
repeatObj = f(100, 'dosomething', obj, done);
});
- it('test repeat func cancelled', function (done) {
- var dosomething = function () {
+ it('test repeat func cancelled', (done) => {
+ const dosomething = () => {
throw new Error('repeat func not cancelled');
};
- var repeatObj = f(100, dosomething);
+ const repeatObj = f(100, dosomething);
test.assertFunction(repeatObj.func);
test.assertFunction(repeatObj.cancel);
repeatObj.cancel();
func.delay(200, done);
});
- it('test repeat func by name cancelled', function (done) {
- var obj = {
- dosomething: function (done) {
+ it('test repeat func by name cancelled', (done) => {
+ const obj = {
+ dosomething(done) {
throw new Error('repeat func by name not cancelled');
},
};
- var repeatObj = f(100, 'dosomething', obj);
+ const repeatObj = f(100, 'dosomething', obj);
test.assertFunction(repeatObj.func);
test.assertFunction(repeatObj.cancel);
repeatObj.cancel();
func.delay(200, done);
});
});
- describe('throttle', function () {
- var f = func.throttle;
- it('test throttle', function (done) {
- var counter = 0;
- var counterInc = f(200, function () {
+ describe('throttle', () => {
+ const f = func.throttle;
+ it('test throttle', (done) => {
+ let counter = 0;
+ const counterInc = f(200, () => {
counter++;
});
- var interval = setInterval(counterInc, 50);
- setTimeout(function () {
+ const interval = setInterval(counterInc, 50);
+ setTimeout(() => {
clearInterval(interval);
test.assertEqual(counter, 5);
done();
}, 1000);
});
});
- describe('until', function () {
- var f = func.until;
- it('test until', function (done) {
- var counter = 0;
- var checker = f(50, function () {
+ describe('until', () => {
+ const f = func.until;
+ it('test until', (done) => {
+ let counter = 0;
+ const checker = f(50, () => {
counter++;
if (counter === 10) {
return false;
}
});
- setTimeout(function () {
+ setTimeout(() => {
// clearInterval(interval);
test.assertEqual(counter, 10);
done();
}, 1000);
});
});
- describe('validate', function () {
- var f = func.validate;
- it('test validate arguments all types', function () {
- var v = function () {
+ describe('validate', () => {
+ const f = func.validate;
+ it('test validate arguments all types', () => {
+ const v = (...args) => {
func.validate(
- arguments,
+ args,
type.ARRAY,
type.BOOLEAN,
type.DATE,
@@ -461,7 +461,7 @@ describe('func', function () {
true,
new Date(),
new Error(),
- function () {},
+ () => {},
NaN,
0,
null,
@@ -471,10 +471,10 @@ describe('func', function () {
undefined
);
});
- it('test validate arguments multiple possible type for same argument', function () {
- var v = function () {
+ it('test validate arguments multiple possible type for same argument', () => {
+ const v = (...args) => {
func.validate(
- arguments,
+ args,
[type.STRING, type.BOOLEAN],
[type.NUMBER, type.UNDEFINED]
);
@@ -487,22 +487,22 @@ describe('func', function () {
v(true, 0);
test.assertThrows(v, true, '');
});
- it('test validate arguments invalid count', function () {
- var v = function () {
- func.validate(arguments, type.STRING, type.STRING);
+ it('test validate arguments invalid count', () => {
+ const v = (...args) => {
+ func.validate(args, type.STRING, type.STRING);
};
test.assertThrows(v, '');
v('', '', '', '', '', '');
});
- it('test validate arguments invalid expected type', function () {
- var v = function () {
- func.validate(arguments, 't y p e');
+ it('test validate arguments invalid expected type', () => {
+ const v = (...args) => {
+ func.validate(args, 't y p e');
};
test.assertThrows(v, '');
});
- it('test validate arguments invalid argument', function () {
- var v = function () {
- func.validate(arguments, type.STRING);
+ it('test validate arguments invalid argument', () => {
+ const v = (...args) => {
+ func.validate(args, type.STRING);
};
test.assertThrows(v, true);
});
diff --git a/test/test_hex.js b/test/test_hex.js
index 23defad..7b456f9 100644
--- a/test/test_hex.js
+++ b/test/test_hex.js
@@ -1,113 +1,113 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var hex = utils.hex;
+import utils from '../src/utils.js';
+const test = utils.test;
+const hex = utils.hex;
-describe('hex', function () {
- describe('decodeInt', function () {
- var d = hex.decodeInt;
- it('decode 0', function () {
+describe('hex', () => {
+ describe('decodeInt', () => {
+ const d = hex.decodeInt;
+ it('decode 0', () => {
test.assertEqual(d('00'), 0);
});
- it('decode 1', function () {
+ it('decode 1', () => {
test.assertEqual(d('01'), 1);
});
- it('decode 2', function () {
+ it('decode 2', () => {
test.assertEqual(d('02'), 2);
});
- it('decode 3', function () {
+ it('decode 3', () => {
test.assertEqual(d('03'), 3);
});
- it('decode 4', function () {
+ it('decode 4', () => {
test.assertEqual(d('04'), 4);
});
- it('decode 5', function () {
+ it('decode 5', () => {
test.assertEqual(d('05'), 5);
});
- it('decode 6', function () {
+ it('decode 6', () => {
test.assertEqual(d('06'), 6);
});
- it('decode 7', function () {
+ it('decode 7', () => {
test.assertEqual(d('07'), 7);
});
- it('decode 8', function () {
+ it('decode 8', () => {
test.assertEqual(d('08'), 8);
});
- it('decode 9', function () {
+ it('decode 9', () => {
test.assertEqual(d('09'), 9);
});
- it('decode 10', function () {
+ it('decode 10', () => {
test.assertEqual(d('0A'), 10);
});
- it('decode 11', function () {
+ it('decode 11', () => {
test.assertEqual(d('0B'), 11);
});
- it('decode 12', function () {
+ it('decode 12', () => {
test.assertEqual(d('0C'), 12);
});
- it('decode 13', function () {
+ it('decode 13', () => {
test.assertEqual(d('0D'), 13);
});
- it('decode 14', function () {
+ it('decode 14', () => {
test.assertEqual(d('0E'), 14);
});
- it('decode 15', function () {
+ it('decode 15', () => {
test.assertEqual(d('0F'), 15);
});
- it('decode 16', function () {
+ it('decode 16', () => {
test.assertEqual(d('10'), 16);
});
});
- describe('encodeInt', function () {
- var e = hex.encodeInt;
- it('encode 0', function () {
+ describe('encodeInt', () => {
+ const e = hex.encodeInt;
+ it('encode 0', () => {
test.assertEqual(e(0), '00');
});
- it('encode 1', function () {
+ it('encode 1', () => {
test.assertEqual(e(1), '01');
});
- it('encode 2', function () {
+ it('encode 2', () => {
test.assertEqual(e(2), '02');
});
- it('encode 3', function () {
+ it('encode 3', () => {
test.assertEqual(e(3), '03');
});
- it('encode 4', function () {
+ it('encode 4', () => {
test.assertEqual(e(4), '04');
});
- it('encode 5', function () {
+ it('encode 5', () => {
test.assertEqual(e(5), '05');
});
- it('encode 6', function () {
+ it('encode 6', () => {
test.assertEqual(e(6), '06');
});
- it('encode 7', function () {
+ it('encode 7', () => {
test.assertEqual(e(7), '07');
});
- it('encode 8', function () {
+ it('encode 8', () => {
test.assertEqual(e(8), '08');
});
- it('encode 9', function () {
+ it('encode 9', () => {
test.assertEqual(e(9), '09');
});
- it('encode 10', function () {
+ it('encode 10', () => {
test.assertEqual(e(10), '0A');
});
- it('encode 11', function () {
+ it('encode 11', () => {
test.assertEqual(e(11), '0B');
});
- it('encode 12', function () {
+ it('encode 12', () => {
test.assertEqual(e(12), '0C');
});
- it('encode 13', function () {
+ it('encode 13', () => {
test.assertEqual(e(13), '0D');
});
- it('encode 14', function () {
+ it('encode 14', () => {
test.assertEqual(e(14), '0E');
});
- it('encode 15', function () {
+ it('encode 15', () => {
test.assertEqual(e(15), '0F');
});
- it('encode 16', function () {
+ it('encode 16', () => {
test.assertEqual(e(16), '10');
});
});
diff --git a/test/test_interpolation.js b/test/test_interpolation.js
index 7dee918..855b39d 100644
--- a/test/test_interpolation.js
+++ b/test/test_interpolation.js
@@ -1,292 +1,292 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var scope = utils.math.interpolation;
+import utils from '../src/utils.js';
+const test = utils.test;
+const scope = utils.math.interpolation;
-describe('interpolation', function () {
- describe('bilinear', function () {
- var f = scope.bilinear;
- var a = 0.0;
- var b = 100.0;
- var c = 500.0;
- var d = 1000.0;
+describe('interpolation', () => {
+ describe('bilinear', () => {
+ const f = scope.bilinear;
+ const a = 0.0;
+ const b = 100.0;
+ const c = 500.0;
+ const d = 1000.0;
- it('x 0.0 - y 0.0', function () {
+ it('x 0.0 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 0.0), 0.0);
});
- it('x 0.2 - y 0.0', function () {
+ it('x 0.2 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.2, 0.0), 20.0);
});
- it('x 0.4 - y 0.0', function () {
+ it('x 0.4 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.4, 0.0), 40.0);
});
- it('x 0.6 - y 0.0', function () {
+ it('x 0.6 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.6, 0.0), 60.0);
});
- it('x 0.8 - y 0.0', function () {
+ it('x 0.8 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.8, 0.0), 80.0);
});
- it('x 1.0 - y 0.0', function () {
+ it('x 1.0 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 0.0), 100.0);
});
- it('x 0.0 - y 1.0', function () {
+ it('x 0.0 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 1.0), 500.0);
});
- it('x 0.2 - y 1.0', function () {
+ it('x 0.2 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.2, 1.0), 600.0);
});
- it('x 0.4 - y 1.0', function () {
+ it('x 0.4 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.4, 1.0), 700.0);
});
- it('x 0.6 - y 1.0', function () {
+ it('x 0.6 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.6, 1.0), 800.0);
});
- it('x 0.8 - y 1.0', function () {
+ it('x 0.8 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.8, 1.0), 900.0);
});
- it('x 1.0 - y 1.0', function () {
+ it('x 1.0 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 1.0), 1000.0);
});
- it('x 0.0 - y 0.2', function () {
+ it('x 0.0 - y 0.2', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 0.2), 100.0);
});
- it('x 0.0 - y 0.4', function () {
+ it('x 0.0 - y 0.4', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 0.4), 200.0);
});
- it('x 0.0 - y 0.6', function () {
+ it('x 0.0 - y 0.6', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 0.6), 300.0);
});
- it('x 0.0 - y 0.8', function () {
+ it('x 0.0 - y 0.8', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 0.8), 400.0);
});
- it('x 0.0 - y 1.0', function () {
+ it('x 0.0 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 1.0), 500.0);
});
- it('x 1.0 - y 1.0', function () {
+ it('x 1.0 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 1.0), 1000.0);
});
- it('x 1.0 - y 0.0', function () {
+ it('x 1.0 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 0.0), 100.0);
});
- it('x 1.0 - y 0.2', function () {
+ it('x 1.0 - y 0.2', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 0.2), 280.0);
});
- it('x 1.0 - y 0.4', function () {
+ it('x 1.0 - y 0.4', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 0.4), 460.0);
});
- it('x 1.0 - y 0.6', function () {
+ it('x 1.0 - y 0.6', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 0.6), 640.0);
});
- it('x 1.0 - y 0.8', function () {
+ it('x 1.0 - y 0.8', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 0.8), 820.0);
});
- it('x 1.0 - y 1.0', function () {
+ it('x 1.0 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 1.0), 1000.0);
});
- it('x 0.0 - y 0.0', function () {
+ it('x 0.0 - y 0.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.0, 0.0), 0.0);
});
- it('x 0.2 - y 0.2', function () {
+ it('x 0.2 - y 0.2', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.2, 0.2), 136.0);
});
- it('x 0.4 - y 0.4', function () {
+ it('x 0.4 - y 0.4', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.4, 0.4), 304.0);
});
- it('x 0.6 - y 0.6', function () {
+ it('x 0.6 - y 0.6', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.6, 0.6), 504.0);
});
- it('x 0.8 - y 0.8', function () {
+ it('x 0.8 - y 0.8', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 0.8, 0.8), 736.0);
});
- it('x 1.0 - y 1.0', function () {
+ it('x 1.0 - y 1.0', () => {
test.assertNumberAlmostEqual(f(a, b, c, d, 1.0, 1.0), 1000.0);
});
});
- describe('linear', function () {
- var f = scope.linear;
- var a = 0.0;
- var b = 100.0;
- it('0.0', function () {
+ describe('linear', () => {
+ const f = scope.linear;
+ const a = 0.0;
+ const b = 100.0;
+ it('0.0', () => {
test.assertNumberAlmostEqual(f(a, b, 0.0), 0.0);
});
- it('0.1', function () {
+ it('0.1', () => {
test.assertNumberAlmostEqual(f(a, b, 0.1), 10.0);
});
- it('0.2', function () {
+ it('0.2', () => {
test.assertNumberAlmostEqual(f(a, b, 0.2), 20.0);
});
- it('0.3', function () {
+ it('0.3', () => {
test.assertNumberAlmostEqual(f(a, b, 0.3), 30.0);
});
- it('0.4', function () {
+ it('0.4', () => {
test.assertNumberAlmostEqual(f(a, b, 0.4), 40.0);
});
- it('0.5', function () {
+ it('0.5', () => {
test.assertNumberAlmostEqual(f(a, b, 0.5), 50.0);
});
- it('0.6', function () {
+ it('0.6', () => {
test.assertNumberAlmostEqual(f(a, b, 0.6), 60.0);
});
- it('0.7', function () {
+ it('0.7', () => {
test.assertNumberAlmostEqual(f(a, b, 0.7), 70.0);
});
- it('0.8', function () {
+ it('0.8', () => {
test.assertNumberAlmostEqual(f(a, b, 0.8), 80.0);
});
- it('0.9', function () {
+ it('0.9', () => {
test.assertNumberAlmostEqual(f(a, b, 0.9), 90.0);
});
- it('1.0', function () {
+ it('1.0', () => {
test.assertNumberAlmostEqual(f(a, b, 1.0), 100.0);
});
});
- describe('multilinear', function () {
- var f = scope.multilinear;
- var a = 0.0;
- var b = 10.0;
- var c = 60.0;
- it('0.0', function () {
+ describe('multilinear', () => {
+ const f = scope.multilinear;
+ const a = 0.0;
+ const b = 10.0;
+ const c = 60.0;
+ it('0.0', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.0), 0.0);
});
- it('0.1', function () {
+ it('0.1', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.1), 2.0);
});
- it('0.2', function () {
+ it('0.2', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.2), 4.0);
});
- it('0.3', function () {
+ it('0.3', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.3), 6.0);
});
- it('0.4', function () {
+ it('0.4', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.4), 8.0);
});
- it('0.5', function () {
+ it('0.5', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.5), 10.0);
});
- it('0.6', function () {
+ it('0.6', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.6), 20.0);
});
- it('0.7', function () {
+ it('0.7', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.7), 30.0);
});
- it('0.8', function () {
+ it('0.8', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.8), 40.0);
});
- it('0.9', function () {
+ it('0.9', () => {
test.assertNumberAlmostEqual(f([a, b, c], 0.9), 50.0);
});
- it('1.0', function () {
+ it('1.0', () => {
test.assertNumberAlmostEqual(f([a, b, c], 1.0), 60.0);
});
});
- describe('scalar', function () {
- var f = scope.scalar;
- var p = 10;
- var s;
- it('0.0', function () {
+ describe('scalar', () => {
+ const f = scope.scalar;
+ const p = 10;
+ let s;
+ it('0.0', () => {
s = f(p, 0.0);
test.assertEqual(s.index, 0);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.05', function () {
+ it('0.05', () => {
s = f(p, 0.05);
test.assertEqual(s.index, 0);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.1', function () {
+ it('0.1', () => {
s = f(p, 0.1);
test.assertEqual(s.index, 1);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.15', function () {
+ it('0.15', () => {
s = f(p, 0.15);
test.assertEqual(s.index, 1);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.2', function () {
+ it('0.2', () => {
s = f(p, 0.2);
test.assertEqual(s.index, 2);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.25', function () {
+ it('0.25', () => {
s = f(p, 0.25);
test.assertEqual(s.index, 2);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.3', function () {
+ it('0.3', () => {
s = f(p, 0.3);
test.assertEqual(s.index, 3);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.35', function () {
+ it('0.35', () => {
s = f(p, 0.35);
test.assertEqual(s.index, 3);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.4', function () {
+ it('0.4', () => {
s = f(p, 0.4);
test.assertEqual(s.index, 4);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.45', function () {
+ it('0.45', () => {
s = f(p, 0.45);
test.assertEqual(s.index, 4);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.5', function () {
+ it('0.5', () => {
s = f(p, 0.5);
test.assertEqual(s.index, 5);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.55', function () {
+ it('0.55', () => {
s = f(p, 0.55);
test.assertEqual(s.index, 5);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.6', function () {
+ it('0.6', () => {
s = f(p, 0.6);
test.assertEqual(s.index, 6);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.65', function () {
+ it('0.65', () => {
s = f(p, 0.65);
test.assertEqual(s.index, 6);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.7', function () {
+ it('0.7', () => {
s = f(p, 0.7);
test.assertEqual(s.index, 7);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.75', function () {
+ it('0.75', () => {
s = f(p, 0.75);
test.assertEqual(s.index, 7);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.8', function () {
+ it('0.8', () => {
s = f(p, 0.8);
test.assertEqual(s.index, 8);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.85', function () {
+ it('0.85', () => {
s = f(p, 0.85);
test.assertEqual(s.index, 8);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('0.9', function () {
+ it('0.9', () => {
s = f(p, 0.9);
test.assertEqual(s.index, 9);
test.assertNumberAlmostEqual(s.t, 0.0);
});
- it('0.95', function () {
+ it('0.95', () => {
s = f(p, 0.95);
test.assertEqual(s.index, 9);
test.assertNumberAlmostEqual(s.t, 0.5);
});
- it('1.0', function () {
+ it('1.0', () => {
s = f(p, 1.0);
test.assertEqual(s.index, 9);
test.assertNumberAlmostEqual(s.t, 1.0);
diff --git a/test/test_json.js b/test/test_json.js
index 8b24764..932543b 100644
--- a/test/test_json.js
+++ b/test/test_json.js
@@ -1,15 +1,15 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
+import utils from '../src/utils.js';
+const test = utils.test;
-describe('json', function () {
- var j = utils.json;
- var d = j.decode;
- var e = j.encode;
- describe('decode', function () {
- it('test decode empty', function () {
+describe('json', () => {
+ const j = utils.json;
+ const d = j.decode;
+ const e = j.encode;
+ describe('decode', () => {
+ it('test decode empty', () => {
test.assertEqual(d('""'), '');
});
- it('test decode array', function () {
+ it('test decode array', () => {
test.assertEqual(d('[0,1,2,3,"","a","b","c",null,null,null]'), [
0,
1,
@@ -24,15 +24,15 @@ describe('json', function () {
null,
]);
});
- it('test decode object', function () {
+ it('test decode object', () => {
test.assertEqual(d('{"k":[0,1,2,3,"","a","b","c",null,null,null]}'), {
k: [0, 1, 2, 3, '', 'a', 'b', 'c', null, null, null],
});
});
- it('test decode utf8 simple', function () {
+ it('test decode utf8 simple', () => {
test.assertEqual(d('["✓ ok"]'), ['✓ ok']);
});
- it('test decode utf8', function () {
+ it('test decode utf8', () => {
test.assertEqual(
d(
'["観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。"]'
@@ -42,23 +42,23 @@ describe('json', function () {
]
);
});
- it('test decode/encode utf8 simple', function () {
- var s = '✓ ok';
+ it('test decode/encode utf8 simple', () => {
+ const s = '✓ ok';
test.assertEqual(d(e([s])), [s]);
});
- it('test decode/encode utf8 complex', function () {
- var s =
+ it('test decode/encode utf8 complex', () => {
+ const s =
'観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。';
test.assertEqual(d(e([s])), [s]);
});
- it('test decode unquoted object', function () {
+ it('test decode unquoted object', () => {
test.assertEqual(d('{"a":1,"b":2,"c":3}'), {
a: 1,
b: 2,
c: 3,
});
});
- it('test decode html entities to avoid "SyntaxError: Unexpected token B in JSON"', function () {
+ it('test decode html entities to avoid "SyntaxError: Unexpected token B in JSON"', () => {
test.assertEqual(
d('{"text":""Fabio" & "Caccamo""}'),
{ text: '"Fabio" & "Caccamo"' }
@@ -69,32 +69,32 @@ describe('json', function () {
);
});
});
- describe('encode', function () {
- it('test encode empty', function () {
+ describe('encode', () => {
+ it('test encode empty', () => {
test.assertEqual(e(''), '""');
});
- it('test encode array', function () {
+ it('test encode array', () => {
test.assertEqual(
e([0, 1, 2, 3, '', 'a', 'b', 'c', null, undefined, NaN]),
'[0,1,2,3,"","a","b","c",null,null,null]'
);
});
- it('test encode object', function () {
+ it('test encode object', () => {
test.assertEqual(
e({ k: [0, 1, 2, 3, '', 'a', 'b', 'c', null, undefined, NaN] }),
'{"k":[0,1,2,3,"","a","b","c",null,null,null]}'
);
});
- it('test encode/decode object', function () {
+ it('test encode/decode object', () => {
test.assertEqual(
e(d('{"k":[0,1,2,3,"","a","b","c",null,null,null]}')),
'{"k":[0,1,2,3,"","a","b","c",null,null,null]}'
);
});
- it('test encode utf8 simple', function () {
+ it('test encode utf8 simple', () => {
test.assertEqual(e(['✓ ok']), '["✓ ok"]');
});
- it('test encode utf8', function () {
+ it('test encode utf8', () => {
test.assertEqual(
e([
'観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。',
@@ -102,7 +102,7 @@ describe('json', function () {
'["観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。"]'
);
});
- it('test encode base64', function () {
+ it('test encode base64', () => {
test.assertEqual(
e([
'観カサチス話著ワヨ起旅リレム西災朝ウフソマ例権エムテス料購73楽チホ養座らち関産そ拡提権ばぜ視実トこ聞図ラホヨ検競ッそぐ携様ツサヤ険能みっッ北挙煙るつ。誘ナモシメ周初おトぱ年求ラぼ手験名ふ希栄ワセムヒ恵真おやふ表要91保ぞあぶ教建リ記就イらろめ見徳弁ん財84海ルヘ正権カシ法彼けるよ。',
diff --git a/test/test_math.js b/test/test_math.js
index f0d87ce..d5343b8 100644
--- a/test/test_math.js
+++ b/test/test_math.js
@@ -1,42 +1,42 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var math = utils.math;
+import utils from '../src/utils.js';
+const test = utils.test;
+const math = utils.math;
-describe('math', function () {
- describe('average', function () {
- var f = math.average;
- it('test simple', function () {
+describe('math', () => {
+ describe('average', () => {
+ const f = math.average;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f([5, 10, 45]), 20);
});
});
- describe('constrain', function () {
- var f = math.constrain;
- it('test value', function () {
+ describe('constrain', () => {
+ const f = math.constrain;
+ it('test value', () => {
test.assertNumberAlmostEqual(f(0.5, 0.0, 1.0), 0.5);
test.assertNumberAlmostEqual(f(0.5, 1.0, 0.0), 0.5);
});
- it('test lower value', function () {
+ it('test lower value', () => {
test.assertNumberAlmostEqual(f(-0.5, 0.0, 1.0), 0.0);
test.assertNumberAlmostEqual(f(-0.5, 1.0, 0.0), 0.0);
});
- it('test greater value', function () {
+ it('test greater value', () => {
test.assertNumberAlmostEqual(f(1.5, 0.0, 1.0), 1.0);
test.assertNumberAlmostEqual(f(1.5, 1.0, 0.0), 1.0);
});
});
- describe('cycle', function () {
- var f = math.cycle;
- it('test n > cycle length && shift = 0', function () {
+ describe('cycle', () => {
+ const f = math.cycle;
+ it('test n > cycle length && shift = 0', () => {
test.assertNumberAlmostEqual(f(13, 10), 3);
test.assertNumberAlmostEqual(f(27, 10), 7);
});
- it('test n < cycle length && shift = 0', function () {
+ it('test n < cycle length && shift = 0', () => {
test.assertNumberAlmostEqual(f(2, 10), 2);
});
- it('test n == cycle length && shift = 0', function () {
+ it('test n == cycle length && shift = 0', () => {
test.assertNumberAlmostEqual(f(10, 10), 0);
});
- it('test n > 0 && n < cycle length && shift = 0', function () {
+ it('test n > 0 && n < cycle length && shift = 0', () => {
test.assertNumberAlmostEqual(f(0, 10), 0);
test.assertNumberAlmostEqual(f(1, 10), 1);
test.assertNumberAlmostEqual(f(2, 10), 2);
@@ -48,13 +48,13 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(8, 10), 8);
test.assertNumberAlmostEqual(f(9, 10), 9);
});
- it('test n < 0 && n < cycle length && shift = 0', function () {
+ it('test n < 0 && n < cycle length && shift = 0', () => {
test.assertNumberAlmostEqual(f(-2, 10), 8);
});
- it('test n < 0 && n > cycle length && shift = 0', function () {
+ it('test n < 0 && n > cycle length && shift = 0', () => {
test.assertNumberAlmostEqual(f(-13, 10), 7);
});
- it('test n {-5,9} && shift = 1', function () {
+ it('test n {-5,9} && shift = 1', () => {
test.assertNumberAlmostEqual(f(-5, 3, 1), 1);
test.assertNumberAlmostEqual(f(-4, 3, 1), 2);
test.assertNumberAlmostEqual(f(-3, 3, 1), 3);
@@ -72,9 +72,9 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(9, 3, 1), 3);
});
});
- describe('equals', function () {
- var f = math.equals;
- it('test simple', function () {
+ describe('equals', () => {
+ const f = math.equals;
+ it('test simple', () => {
test.assertTrue(f(0, 0));
test.assertTrue(f(0.5, 0.5));
test.assertTrue(f(0.5000000000000001, 0.5));
@@ -82,9 +82,9 @@ describe('math', function () {
test.assertTrue(f(0.505, 0.5, 0.01));
});
});
- describe('euclideanDistance', function () {
- var f = math.euclideanDistance;
- it('test simple', function () {
+ describe('euclideanDistance', () => {
+ const f = math.euclideanDistance;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f([1, 1, 1, 1, 1], [1, 1, 1, 1, 1]), 0.0);
test.assertNumberAlmostEqual(
f([0, 0, 0, 0, 0], [1, 1, 1, 1, 1]),
@@ -93,62 +93,62 @@ describe('math', function () {
test.assertNumberAlmostEqual(f([8, 5, -3], [6, 0, 9]), 13.152946437965905);
});
});
- describe('factorial', function () {
- var f = math.factorial;
- it('test 0', function () {
+ describe('factorial', () => {
+ const f = math.factorial;
+ it('test 0', () => {
test.assertNumberAlmostEqual(f(0), 1);
});
- it('test 1', function () {
+ it('test 1', () => {
test.assertNumberAlmostEqual(f(1), 1);
});
- it('test 2', function () {
+ it('test 2', () => {
test.assertNumberAlmostEqual(f(2), 2);
});
- it('test 3', function () {
+ it('test 3', () => {
test.assertNumberAlmostEqual(f(3), 6);
});
- it('test 4', function () {
+ it('test 4', () => {
test.assertNumberAlmostEqual(f(4), 24);
});
- it('test 5', function () {
+ it('test 5', () => {
test.assertNumberAlmostEqual(f(5), 120);
});
});
- describe('gcd', function () {
- var f = math.gcd;
- it('test simple', function () {
+ describe('gcd', () => {
+ const f = math.gcd;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(12, 16), 4);
test.assertNumberAlmostEqual(f(80, 100), 20);
test.assertNumberAlmostEqual(f(100, 1000), 100);
});
});
- describe('lcm', function () {
- var f = math.lcm;
- it('test simple', function () {
+ describe('lcm', () => {
+ const f = math.lcm;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(2, 9), 18);
test.assertNumberAlmostEqual(f(5, 10), 10);
test.assertNumberAlmostEqual(f(10, 15), 30);
});
});
- describe('lerp', function () {
- var f = math.lerp;
- it('test simple', function () {
+ describe('lerp', () => {
+ const f = math.lerp;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0, 10, 0.1), 1);
test.assertNumberAlmostEqual(f(0, 100, 0.75), 75);
test.assertNumberAlmostEqual(f(50, 60, 0.5), 55);
});
});
- describe('map', function () {
- var f = math.map;
- it('test simple', function () {
+ describe('map', () => {
+ const f = math.map;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0.5, 0.0, 1.0, 0.0, 100.0), 50.0);
test.assertNumberAlmostEqual(f(0.5, 0.0, 1.0, 50.0, 60.0), 55.0);
test.assertNumberAlmostEqual(f(2.0, 0.0, 1.0, 0.0, 100.0), 200.0);
});
});
- describe('nearest', function () {
- var f = math.nearest;
- it('test simple', function () {
+ describe('nearest', () => {
+ const f = math.nearest;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(5.0, 10.0, 100.0), 10.0);
test.assertNumberAlmostEqual(f(5.0, 10.0, 100.0), 10.0);
test.assertNumberAlmostEqual(f(10.0, 10.0, 100.0), 10.0);
@@ -158,9 +158,9 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(200.0, 10.0, 100.0), 100.0);
});
});
- describe('normalize', function () {
- var f = math.normalize;
- it('test simple', function () {
+ describe('normalize', () => {
+ const f = math.normalize;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(10.0, 0.0, 30.0), 0.3333333333);
test.assertNumberAlmostEqual(f(10.0, 0.0, 100.0), 0.1);
test.assertNumberAlmostEqual(f(60.0, 50.0, 100.0), 0.2);
@@ -168,9 +168,9 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(0.0, 50.0, 100.0), -1.0);
});
});
- describe('proportion', function () {
- var f = math.proportion;
- it('test simple', function () {
+ describe('proportion', () => {
+ const f = math.proportion;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(null, 100, 100, 1000), 10);
test.assertNumberAlmostEqual(f(10, null, 100, 1000), 100);
test.assertNumberAlmostEqual(f(10, 100, null, 1000), 100);
@@ -182,9 +182,9 @@ describe('math', function () {
test.assertNaN(f(1, 10, 10, 100));
});
});
- describe('roundDecimals', function () {
- var f = math.roundDecimals;
- it('test simple', function () {
+ describe('roundDecimals', () => {
+ const f = math.roundDecimals;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0.123456789, 1), 0.1);
test.assertNumberAlmostEqual(f(0.123456789, 2), 0.12);
test.assertNumberAlmostEqual(f(0.123456789, 3), 0.123);
@@ -196,9 +196,9 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(0.123456789, 9), 0.123456789);
});
});
- describe('roundToMultiple', function () {
- var f = math.roundToMultiple;
- it('test simple', function () {
+ describe('roundToMultiple', () => {
+ const f = math.roundToMultiple;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(20, 1), 20);
test.assertNumberAlmostEqual(f(20, 2), 20);
test.assertNumberAlmostEqual(f(20, 3), 21);
@@ -211,10 +211,10 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(20, 10), 20);
});
});
- describe('roundToNearest', function () {
- var f = math.roundToNearest;
- var values = [-1000, 20, 100, 5, -75, 0, 9, 2000, -300];
- it('test simple', function () {
+ describe('roundToNearest', () => {
+ const f = math.roundToNearest;
+ const values = [-1000, 20, 100, 5, -75, 0, 9, 2000, -300];
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0, values), 0);
test.assertNumberAlmostEqual(f(-1, values), 0);
test.assertNumberAlmostEqual(f(1, values), 0);
@@ -228,9 +228,9 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(10, [8, 11]), 11);
});
});
- describe('roundToPower', function () {
- var f = math.roundToPower;
- it('test simple', function () {
+ describe('roundToPower', () => {
+ const f = math.roundToPower;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0, 2), 0);
test.assertNumberAlmostEqual(f(10, 2), 8);
test.assertNumberAlmostEqual(f(20, 2), 16);
@@ -244,9 +244,9 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(100, 2), 128);
});
});
- describe('sign', function () {
- var f = math.sign;
- it('test simple', function () {
+ describe('sign', () => {
+ const f = math.sign;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(-1.0), -1.0);
test.assertNumberAlmostEqual(f(-0.5), -1.0);
test.assertNumberAlmostEqual(f(-0.25), -1.0);
@@ -257,9 +257,9 @@ describe('math', function () {
test.assertNumberAlmostEqual(f(1.0), 1.0);
});
});
- describe('summation', function () {
- var f = math.summation;
- it('test simple', function () {
+ describe('summation', () => {
+ const f = math.summation;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f([1, 2, 3, 4, 5]), 15);
test.assertNumberAlmostEqual(f([-1, -2, -3, -4, -5]), -15);
test.assertNumberAlmostEqual(f([1, 2, 3, 4, -5]), 5);
diff --git a/test/test_number.js b/test/test_number.js
index d2ed8f9..42505c1 100644
--- a/test/test_number.js
+++ b/test/test_number.js
@@ -1,11 +1,11 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var num = utils.number;
+import utils from '../src/utils.js';
+const test = utils.test;
+const num = utils.number;
-describe('number', function () {
- describe('isBetween', function () {
- var f = num.isBetween;
- it('test', function () {
+describe('number', () => {
+ describe('isBetween', () => {
+ const f = num.isBetween;
+ it('test', () => {
test.assertTrue(f(0, 0, 0));
test.assertTrue(f(0, 0, 100));
test.assertTrue(f(50, 0, 100));
@@ -14,9 +14,9 @@ describe('number', function () {
test.assertFalse(f(101, 0, 100));
});
});
- describe('isEven', function () {
- var f = num.isEven;
- it('test', function () {
+ describe('isEven', () => {
+ const f = num.isEven;
+ it('test', () => {
test.assertTrue(f(0));
test.assertTrue(f(2));
test.assertTrue(f(4));
@@ -31,9 +31,9 @@ describe('number', function () {
test.assertFalse(f(2.2));
});
});
- describe('isFloat', function () {
- var f = num.isFloat;
- it('test', function () {
+ describe('isFloat', () => {
+ const f = num.isFloat;
+ it('test', () => {
test.assertTrue(f(-0.2));
test.assertTrue(f(-0.1));
test.assertFalse(f(0.0));
@@ -45,9 +45,9 @@ describe('number', function () {
test.assertFalse(f(3.0));
});
});
- describe('isNegative', function () {
- var f = num.isNegative;
- it('test', function () {
+ describe('isNegative', () => {
+ const f = num.isNegative;
+ it('test', () => {
test.assertTrue(f(-0.1));
test.assertTrue(f(-1));
test.assertFalse(f(0.0));
@@ -55,9 +55,9 @@ describe('number', function () {
test.assertFalse(f(1));
});
});
- describe('isOdd', function () {
- var f = num.isOdd;
- it('test', function () {
+ describe('isOdd', () => {
+ const f = num.isOdd;
+ it('test', () => {
test.assertFalse(f(0));
test.assertFalse(f(2));
test.assertFalse(f(4));
@@ -72,9 +72,9 @@ describe('number', function () {
test.assertFalse(f(2.2));
});
});
- describe('isPositive', function () {
- var f = num.isPositive;
- it('test', function () {
+ describe('isPositive', () => {
+ const f = num.isPositive;
+ it('test', () => {
test.assertTrue(f(0.0));
test.assertTrue(f(0.1));
test.assertTrue(f(1));
@@ -82,9 +82,9 @@ describe('number', function () {
test.assertFalse(f(-1));
});
});
- describe('isPrime', function () {
- var f = num.isPrime;
- it('test numbers from 0 to 15', function () {
+ describe('isPrime', () => {
+ const f = num.isPrime;
+ it('test numbers from 0 to 15', () => {
test.assertFalse(f(0));
test.assertFalse(f(1));
test.assertTrue(f(2));
@@ -102,7 +102,7 @@ describe('number', function () {
test.assertFalse(f(14));
test.assertFalse(f(15));
});
- it('test numbers from 0 to 100', function () {
+ it('test numbers from 0 to 100', () => {
const expectedPrimes = [
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67,
71, 73, 79, 83, 89, 97,
@@ -115,14 +115,14 @@ describe('number', function () {
}
test.assertEqual(resultPrimes, expectedPrimes);
});
- it('test negative numbers', function () {
+ it('test negative numbers', () => {
test.assertFalse(f(-5));
test.assertFalse(f(-4));
test.assertFalse(f(-3));
test.assertFalse(f(-2));
test.assertFalse(f(-1));
});
- it('test decimal numbers', function () {
+ it('test decimal numbers', () => {
test.assertFalse(f(-0.5));
test.assertFalse(f(0.5));
});
diff --git a/test/test_object.js b/test/test_object.js
index 299be9a..b1219a8 100644
--- a/test/test_object.js
+++ b/test/test_object.js
@@ -1,30 +1,30 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var obj = utils.object;
+import utils from '../src/utils.js';
+const test = utils.test;
+const obj = utils.object;
-describe('object', function () {
- describe('assign', function () {
- var f = obj.assign;
- it('test same instance', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1, o1);
+describe('object', () => {
+ describe('assign', () => {
+ const f = obj.assign;
+ it('test same instance', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1, o1);
test.assertEqual(r, { a: 1, b: 2, c: 3 });
});
- it('test diff instance', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var o2 = { d: 4, e: 5, f: 6 };
- var r = f(o1, o2);
+ it('test diff instance', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const o2 = { d: 4, e: 5, f: 6 };
+ const r = f(o1, o2);
test.assertTrue(o1 !== o2);
test.assertTrue(o1 === r);
test.assertTrue(o2 !== r);
test.assertEqual(r, { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 });
});
- it('test multiple instances', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var o2 = { d: 4, e: 5, f: 6 };
- var o3 = { g: 7, h: 8, i: 9 };
- var o4 = { a: 0, e: 0, i: 0 };
- var r = f(o1, o2, o3, o4);
+ it('test multiple instances', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const o2 = { d: 4, e: 5, f: 6 };
+ const o3 = { g: 7, h: 8, i: 9 };
+ const o4 = { a: 0, e: 0, i: 0 };
+ const r = f(o1, o2, o3, o4);
test.assertEqual(r, {
a: 0,
b: 2,
@@ -37,20 +37,20 @@ describe('object', function () {
i: 0,
});
});
- it('test props overwrite', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var o2 = { a: 4, b: 5, c: 6 };
- var r = f(o1, o2);
+ it('test props overwrite', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const o2 = { a: 4, b: 5, c: 6 };
+ const r = f(o1, o2);
test.assertEqual(r['a'], 4);
test.assertEqual(r['b'], 5);
test.assertEqual(r['c'], 6);
test.assertEqual(r, { a: 4, b: 5, c: 6 });
});
});
- describe('clean', function () {
- var f = obj.clean;
- it('test soft', function () {
- var o1 = {
+ describe('clean', () => {
+ const f = obj.clean;
+ it('test soft', () => {
+ const o1 = {
a: 1,
b: undefined,
c: 3,
@@ -62,7 +62,7 @@ describe('object', function () {
i: [null],
j: { k: null },
};
- var r = f(o1);
+ const r = f(o1);
test.assertEqual(obj.length(r), 7);
test.assertEqual(r, {
a: 1,
@@ -74,8 +74,8 @@ describe('object', function () {
j: { k: null },
});
});
- it('test hard', function () {
- var o1 = {
+ it('test hard', () => {
+ const o1 = {
a: 1,
b: undefined,
c: 3,
@@ -87,58 +87,58 @@ describe('object', function () {
i: [null],
j: { k: null },
};
- var r = f(o1, true);
+ const r = f(o1, true);
test.assertEqual(obj.length(r), 4);
test.assertEqual(r, { a: 1, c: 3, f: 0, h: false });
});
});
- describe('clone', function () {
- var f = obj.clone;
- it('test new instance and key/values cloned', function () {
- var o = { a: 1, b: 2, c: 3 };
- var r = f(o);
+ describe('clone', () => {
+ const f = obj.clone;
+ it('test new instance and key/values cloned', () => {
+ const o = { a: 1, b: 2, c: 3 };
+ const r = f(o);
test.assertFalse(r === o);
test.assertEqual(r, o);
});
- it('test array property cloned', function () {
- var a = { a: [1, 2, 3] };
- var o = { a: a };
- var r = f(o);
+ it('test array property cloned', () => {
+ const a = { a: [1, 2, 3] };
+ const o = { a: a };
+ const r = f(o);
test.assertFalse(r['a'] === a);
test.assertEqual(r['a'], a);
});
- it('test boolean property cloned', function () {
- var b = true;
- var o = { b: b };
- var r = f(o);
+ it('test boolean property cloned', () => {
+ const b = true;
+ const o = { b: b };
+ const r = f(o);
test.assertTrue(r['b'] === b);
test.assertEqual(r['b'], b);
});
- it('test date property cloned', function () {
- var d = new Date(1900);
- var o = { d: d };
- var r = f(o);
+ it('test date property cloned', () => {
+ const d = new Date(1900);
+ const o = { d: d };
+ const r = f(o);
test.assertFalse(r['d'] === d);
test.assertEqual(r['d'], d);
});
- it('test object property cloned', function () {
- var a = { a: 1, b: 2, c: 3 };
- var o = { o: a };
- var r = f(o);
+ it('test object property cloned', () => {
+ const a = { a: 1, b: 2, c: 3 };
+ const o = { o: a };
+ const r = f(o);
test.assertFalse(r['o'] === a);
test.assertEqual(r['o'], a);
});
- it('test number property cloned', function () {
- var n = 123;
- var o = { n: n };
- var r = f(o);
+ it('test number property cloned', () => {
+ const n = 123;
+ const o = { n: n };
+ const r = f(o);
test.assertTrue(r['n'] === n);
test.assertEqual(r['n'], n);
});
- it('test string property cloned', function () {
- var s = 'ok';
- var o = { s: s };
- var r = f(o);
+ it('test string property cloned', () => {
+ const s = 'ok';
+ const o = { s: s };
+ const r = f(o);
test.assertTrue(r['s'] === s);
test.assertEqual(r['s'], s);
});
@@ -163,9 +163,9 @@ describe('object', function () {
// test.assertTrue(true);
// });
// });
- describe('equals', function () {
- var f = obj.equals;
- var a = {
+ describe('equals', () => {
+ const f = obj.equals;
+ const a = {
foods: {
fruits: ['orange', 'lemon'],
},
@@ -181,7 +181,7 @@ describe('object', function () {
},
bikes: ['recumbent', 'upright'],
};
- var b = {
+ const b = {
foods: {
fruits: ['orange', 'lemon'],
},
@@ -197,7 +197,7 @@ describe('object', function () {
},
bikes: ['recumbent', 'upright'],
};
- var c = {
+ const c = {
foods: {
fruits: ['orange', 'lemon'],
},
@@ -213,56 +213,56 @@ describe('object', function () {
},
bikes: ['recumbent', 'upright'],
};
- it('test simple', function () {
+ it('test simple', () => {
test.assertTrue(f(a, a));
test.assertTrue(f(a, b));
test.assertFalse(f(a, c));
test.assertFalse(f(b, c));
});
- it('test objects containing numbers', function () {
- var a = { x: 0.0, y: 0.0 };
- var b = { x: 0.0, y: 0.0000000001 };
- var c = { x: 0.0, y: 0.0001 };
+ it('test objects containing numbers', () => {
+ const a = { x: 0.0, y: 0.0 };
+ const b = { x: 0.0, y: 0.0000000001 };
+ const c = { x: 0.0, y: 0.0001 };
test.assertTrue(f(a, b));
test.assertFalse(f(a, c));
});
- it('test objects containing different keys', function () {
- var a = { x: 0.0, y: 0.0 };
- var b = { x: 0.0, y: 0.0, z: 0.0 };
- var c = { x: 0.0 };
+ it('test objects containing different keys', () => {
+ const a = { x: 0.0, y: 0.0 };
+ const b = { x: 0.0, y: 0.0, z: 0.0 };
+ const c = { x: 0.0 };
test.assertFalse(f(a, b));
test.assertFalse(f(a, c));
test.assertFalse(f(b, c));
});
});
- describe('keys', function () {
- var f = obj.keys;
- it('test no keys', function () {
- var o1 = {};
- var r = f(o1);
+ describe('keys', () => {
+ const f = obj.keys;
+ it('test no keys', () => {
+ const o1 = {};
+ const r = f(o1);
test.assertEqual(r, []);
});
- it('test keys unsorted', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1);
- test.assertTrue(r.indexOf('a') !== -1);
- test.assertTrue(r.indexOf('b') !== -1);
- test.assertTrue(r.indexOf('c') !== -1);
+ it('test keys unsorted', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1);
+ test.assertTrue(r.includes('a'));
+ test.assertTrue(r.includes('b'));
+ test.assertTrue(r.includes('c'));
});
- it('test keys sorted', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1, true);
+ it('test keys sorted', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1, true);
test.assertEqual(r, ['a', 'b', 'c']);
});
});
- describe('keypath', function () {
- it('test object', function () {
+ describe('keypath', () => {
+ it('test object', () => {
test.assertObject(obj.keypath);
});
});
- describe('keypath.get', function () {
- var f = obj.keypath.get;
- var o = {
+ describe('keypath.get', () => {
+ const f = obj.keypath.get;
+ const o = {
a: 1,
b: {
y: 'ok',
@@ -275,137 +275,137 @@ describe('object', function () {
},
},
};
- var r;
- it('test on 1 non-existing key', function () {
+ let r;
+ it('test on 1 non-existing key', () => {
r = f(o, 'z');
test.assertEqual(r, undefined);
});
- it('test on 1 non-existing key default value', function () {
+ it('test on 1 non-existing key default value', () => {
r = f(o, 'z', 0);
test.assertEqual(r, 0);
});
- it('test on 1 existing key', function () {
+ it('test on 1 existing key', () => {
r = f(o, 'a');
test.assertEqual(r, 1);
});
- it('test on 2 non-existing keys', function () {
+ it('test on 2 non-existing keys', () => {
r = f(o, 'a.x');
test.assertEqual(r, undefined);
});
- it('test on 2 non-existing keys default value', function () {
+ it('test on 2 non-existing keys default value', () => {
r = f(o, 'a.x', 2);
test.assertEqual(r, 2);
});
- it('test on 2 existing keys', function () {
+ it('test on 2 existing keys', () => {
r = f(o, 'b.y');
test.assertEqual(r, 'ok');
});
- it('test on 3 non-existing keys', function () {
+ it('test on 3 non-existing keys', () => {
r = f(o, 'x.y.z');
test.assertEqual(r, undefined);
});
- it('test on 3 non-existing keys default value', function () {
+ it('test on 3 non-existing keys default value', () => {
r = f(o, 'x.y.z', 1000);
test.assertEqual(r, 1000);
});
- it('test on 3 existing keys', function () {
+ it('test on 3 existing keys', () => {
r = f(o, 'e.f.g');
test.assertEqual(r, 'ok');
});
});
- describe('keypath.set', function () {
- var f = obj.keypath.set;
- var o = {
+ describe('keypath.set', () => {
+ const f = obj.keypath.set;
+ const o = {
a: {},
b: {},
c: {},
};
- it('test on 1 non-existing key', function () {
+ it('test on 1 non-existing key', () => {
f(o, 'd', 'ok 1');
test.assertEqual(o['d'], 'ok 1');
});
- it('test on 1 existing key', function () {
+ it('test on 1 existing key', () => {
f(o, 'd', 'ok 2');
test.assertEqual(o['d'], 'ok 2');
});
- it('test on 2 non-existing keys', function () {
+ it('test on 2 non-existing keys', () => {
f(o, 'e.f', 'ok 1');
test.assertEqual(o['e']['f'], 'ok 1');
});
- it('test on 2 existing keys', function () {
+ it('test on 2 existing keys', () => {
f(o, 'e.f', 'ok 2');
test.assertEqual(o['e']['f'], 'ok 2');
});
- it('test on 3 non-existing keys', function () {
+ it('test on 3 non-existing keys', () => {
f(o, 'e.f.g', 'ok 1');
test.assertEqual(o['e']['f']['g'], 'ok 1');
});
- it('test on 3 existing keys', function () {
+ it('test on 3 existing keys', () => {
f(o, 'e.f.g', 'ok 2');
test.assertEqual(o['e']['f']['g'], 'ok 2');
});
- it('test prototype pollution', function () {
+ it('test prototype pollution', () => {
f(o, '__proto__.polluted', true);
test.assertUndefined(o['polluted']);
test.assertUndefined({}.polluted);
});
});
- describe('length', function () {
- var f = obj.length;
- it('test empty object', function () {
- var o1 = {};
- var r = f(o1);
+ describe('length', () => {
+ const f = obj.length;
+ it('test empty object', () => {
+ const o1 = {};
+ const r = f(o1);
test.assertEqual(r, 0);
});
- it('test simple object', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1);
+ it('test simple object', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1);
test.assertEqual(r, 3);
});
});
- describe('map', function () {
- var f = obj.map;
- it('test all items', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var keys = obj.keys(o1);
- var values = obj.values(o1);
- var r = f(o1, function (val, key, item) {
+ describe('map', () => {
+ const f = obj.map;
+ it('test all items', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const keys = obj.keys(o1);
+ const values = obj.values(o1);
+ const r = f(o1, (val, key, item) => {
test.assertTrue(item === o1);
- test.assertTrue(keys.indexOf(key) !== -1);
- test.assertTrue(values.indexOf(val) !== -1);
+ test.assertTrue(keys.includes(key));
+ test.assertTrue(values.includes(val));
});
});
- it('test result', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1, function (val, key, item) {
+ it('test result', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1, (val, key, item) => {
return val * 2;
});
test.assertEqual(r, { a: 2, b: 4, c: 6 });
});
});
- describe('merge', function () {
- var f = obj.merge;
- it('test same instance', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1, o1);
+ describe('merge', () => {
+ const f = obj.merge;
+ it('test same instance', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1, o1);
test.assertFalse(o1 === r);
test.assertEqual(r, { a: 1, b: 2, c: 3 });
});
- it('test diff instance', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var o2 = { d: 4, e: 5, f: 6 };
- var r = f(o1, o2);
+ it('test diff instance', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const o2 = { d: 4, e: 5, f: 6 };
+ const r = f(o1, o2);
test.assertTrue(o1 !== o2);
test.assertTrue(o1 !== r);
test.assertTrue(o2 !== r);
test.assertEqual(r, { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 });
});
- it('test multiple instances', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var o2 = { d: 4, e: 5, f: 6 };
- var o3 = { g: 7, h: 8, i: 9 };
- var o4 = { a: 0, e: 0, i: 0 };
- var r = f(o1, o2, o3, o4);
+ it('test multiple instances', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const o2 = { d: 4, e: 5, f: 6 };
+ const o3 = { g: 7, h: 8, i: 9 };
+ const o4 = { a: 0, e: 0, i: 0 };
+ const r = f(o1, o2, o3, o4);
test.assertEqual(r, {
a: 0,
b: 2,
@@ -418,47 +418,47 @@ describe('object', function () {
i: 0,
});
});
- it('test props overwrite', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var o2 = { a: 4, b: 5, c: 6 };
- var r = f(o1, o2);
+ it('test props overwrite', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const o2 = { a: 4, b: 5, c: 6 };
+ const r = f(o1, o2);
test.assertEqual(r, { a: 4, b: 5, c: 6 });
});
});
- describe('search', function () {
- var f = obj.search;
- it('test empty filter', function () {
- var objs = [
+ describe('search', () => {
+ const f = obj.search;
+ it('test empty filter', () => {
+ const objs = [
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
];
- var r = f(objs, {});
+ const r = f(objs, {});
test.assertEqual(r, objs);
});
- it('test simple filter result found', function () {
- var objs = [
+ it('test simple filter result found', () => {
+ const objs = [
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 2, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 3, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 4, b: 2, c: null, d: 'ok', e: false, f: true },
];
- var r = f(objs, { a: 3 });
+ const r = f(objs, { a: 3 });
test.assertEqual(r, [objs[2]]);
});
- it('test simple filter result not found', function () {
- var objs = [
+ it('test simple filter result not found', () => {
+ const objs = [
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 2, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 3, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 4, b: 2, c: null, d: 'ok', e: false, f: true },
];
- var r = f(objs, { a: 5 });
+ const r = f(objs, { a: 5 });
test.assertEqual(r, []);
});
- it('test simple filter multiple result found', function () {
- var objs = [
+ it('test simple filter multiple result found', () => {
+ const objs = [
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 2, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: false },
@@ -466,27 +466,27 @@ describe('object', function () {
{ a: 1, b: 2, c: null, d: 'ok', e: false, f: true },
{ a: 2, b: 2, c: null, d: 'ok', e: false, f: true },
];
- var r = f(objs, { a: 1, f: true });
+ const r = f(objs, { a: 1, f: true });
test.assertEqual(r, [objs[0], objs[4]]);
});
});
- describe('values', function () {
- var f = obj.values;
- it('test no values', function () {
- var o1 = {};
- var r = f(o1);
+ describe('values', () => {
+ const f = obj.values;
+ it('test no values', () => {
+ const o1 = {};
+ const r = f(o1);
test.assertEqual(r, []);
});
- it('test values unsorted', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1);
- test.assertTrue(r.indexOf(1) !== -1);
- test.assertTrue(r.indexOf(2) !== -1);
- test.assertTrue(r.indexOf(3) !== -1);
+ it('test values unsorted', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1);
+ test.assertTrue(r.includes(1));
+ test.assertTrue(r.includes(2));
+ test.assertTrue(r.includes(3));
});
- it('test values sorted', function () {
- var o1 = { a: 1, b: 2, c: 3 };
- var r = f(o1, true);
+ it('test values sorted', () => {
+ const o1 = { a: 1, b: 2, c: 3 };
+ const r = f(o1, true);
test.assertEqual(r, [1, 2, 3]);
});
});
diff --git a/test/test_point.js b/test/test_point.js
index 35c0e50..6b6b387 100644
--- a/test/test_point.js
+++ b/test/test_point.js
@@ -1,99 +1,99 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var point = utils.geom.point;
+import utils from '../src/utils.js';
+const test = utils.test;
+const point = utils.geom.point;
-describe('point', function () {
- var a, b, r;
- describe('add', function () {
- var f = point.add;
- it('test positive coords', function () {
+describe('point', () => {
+ let a, b, r;
+ describe('add', () => {
+ const f = point.add;
+ it('test positive coords', () => {
a = { x: 0, y: 10 };
b = { x: 50, y: 100 };
r = f(a, b);
test.assertEqual(r, { x: 50, y: 110 });
});
- it('test negative coords', function () {
+ it('test negative coords', () => {
a = { x: -10, y: -20 };
b = { x: -30, y: -40 };
r = f(a, b);
test.assertEqual(r, { x: -40, y: -60 });
});
});
- describe('angle', function () {
- var f = point.angle;
- it('test angle 0°', function () {
+ describe('angle', () => {
+ const f = point.angle;
+ it('test angle 0°', () => {
a = { x: 10, y: 30 };
b = { x: 100, y: 30 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 0);
});
- it('test angle 45°', function () {
+ it('test angle 45°', () => {
a = { x: 10, y: 10 };
b = { x: 100, y: 100 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 45);
});
- it('test angle 90°', function () {
+ it('test angle 90°', () => {
a = { x: 0, y: 10 };
b = { x: 0, y: 20 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 90);
});
- it('test angle 180°', function () {
+ it('test angle 180°', () => {
a = { x: 0, y: 100 };
b = { x: -10, y: 100 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 180);
});
- it('test angle 225°', function () {
+ it('test angle 225°', () => {
a = { x: 0, y: 0 };
b = { x: -10, y: -10 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 225);
});
});
- describe('cross', function () {
- var f = point.cross;
- it('test simple', function () {
+ describe('cross', () => {
+ const f = point.cross;
+ it('test simple', () => {
test.assertEqual(f({ x: 1, y: 2 }, { x: 3, y: 4 }), -2);
});
});
- describe('distance', function () {
- var f = point.distance;
- it('test no distance', function () {
+ describe('distance', () => {
+ const f = point.distance;
+ it('test no distance', () => {
a = { x: 10, y: 100 };
b = { x: 10, y: 100 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 0);
});
- it('test x axis', function () {
+ it('test x axis', () => {
a = { x: 10, y: 30 };
b = { x: 100, y: 30 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 90);
});
- it('test y axis', function () {
+ it('test y axis', () => {
a = { x: 10, y: 30 };
b = { x: 10, y: -30 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 60);
});
- it('test x/y axis', function () {
+ it('test x/y axis', () => {
a = { x: 0, y: 0 };
b = { x: 100, y: 100 };
r = f(a, b);
test.assertNumberAlmostEqual(r, 141.4213562373095);
});
});
- describe('dot', function () {
- var f = point.dot;
- it('test simple', function () {
+ describe('dot', () => {
+ const f = point.dot;
+ it('test simple', () => {
test.assertEqual(f({ x: 1, y: 2 }, { x: 3, y: 4 }), 11);
});
});
- describe('equals', function () {
- var f = point.equals;
- it('test simple', function () {
+ describe('equals', () => {
+ const f = point.equals;
+ it('test simple', () => {
test.assertTrue(f({ x: 0, y: 0 }, { x: 0, y: 0 }));
test.assertTrue(f({ x: 0.5, y: 0.5 }, { x: 0.5, y: 0.5 }));
test.assertTrue(
@@ -112,68 +112,68 @@ describe('point', function () {
test.assertTrue(f({ x: 0.505, y: 0.505 }, { x: 0.5, y: 0.5 }, 0.01));
});
});
- describe('interpolate', function () {
- var f = point.interpolate;
- it('test simple', function () {
+ describe('interpolate', () => {
+ const f = point.interpolate;
+ it('test simple', () => {
r = f({ x: 0, y: 100 }, { x: 50, y: 1000 }, 0.5);
test.assertEqual(r, { x: 25, y: 550 });
});
});
- describe('length', function () {
- var f = point.length;
- it('test simple', function () {
+ describe('length', () => {
+ const f = point.length;
+ it('test simple', () => {
r = f({ x: 200, y: 100 });
test.assertEqual(r, 223.60679774997897);
});
});
- describe('magnitude', function () {
- var f = point.magnitude;
- it('test simple', function () {
+ describe('magnitude', () => {
+ const f = point.magnitude;
+ it('test simple', () => {
r = f({ x: 200, y: 100 });
test.assertEqual(r, 223.60679774997897);
});
});
- describe('project', function () {
- var f = point.project;
- it('test project 0°', function () {
+ describe('project', () => {
+ const f = point.project;
+ it('test project 0°', () => {
a = { x: 0, y: 0 };
r = f(a, 100, 0);
test.assertEqual(r, { x: 100, y: 0 });
});
- it('test project 45°', function () {
+ it('test project 45°', () => {
a = { x: 0, y: 0 };
r = f(a, 100, 45);
test.assertEqual(r, { x: 70.71067811865476, y: 70.71067811865476 });
});
- it('test project 90°', function () {
+ it('test project 90°', () => {
a = { x: 0, y: 0 };
r = f(a, 100, 90);
test.assertEqual(r, { x: 0, y: 100 });
});
- it('test project 180°', function () {
+ it('test project 180°', () => {
a = { x: 0, y: 0 };
r = f(a, 100, 180);
test.assertEqual(r, { x: -100, y: 0 });
});
- it('test project 225°', function () {
+ it('test project 225°', () => {
a = { x: 0, y: 0 };
r = f(a, 100, 225);
test.assertEqual(r, { x: -70.71067811865476, y: -70.71067811865476 });
});
- it('test project 360°', function () {
+ it('test project 360°', () => {
a = { x: 0, y: 0 };
r = f(a, 100, 360);
test.assertEqual(r, { x: 100, y: 0 });
});
- it('test project 0°', function () {
+ it('test project 0°', () => {
a = { x: 0, y: 0 };
r = f(a, 100, 720);
test.assertEqual(r, { x: 100, y: 0 });
});
});
- describe('rect', function () {
- var f = point.rect;
- it('test simple', function () {
+ describe('rect', () => {
+ const f = point.rect;
+ it('test simple', () => {
r = f([
{ x: 40, y: -40 },
{ x: 100, y: 0 },
@@ -194,80 +194,80 @@ describe('point', function () {
});
});
});
- describe('rotate', function () {
- var f = point.rotate;
- it('test rotate 0°', function () {
+ describe('rotate', () => {
+ const f = point.rotate;
+ it('test rotate 0°', () => {
a = { x: 100, y: 100 };
r = f(a, 0);
test.assertEqual(r, { x: 100, y: 100 });
});
- it('test rotate 45°', function () {
+ it('test rotate 45°', () => {
a = { x: 100, y: 100 };
r = f(a, 45);
test.assertEqual(r, { x: 0, y: 141.4213562373095 });
});
- it('test rotate 90°', function () {
+ it('test rotate 90°', () => {
a = { x: 100, y: 0 };
r = f(a, 90);
test.assertEqual(r, { x: 0, y: 100 });
});
- it('test rotate 180°', function () {
+ it('test rotate 180°', () => {
a = { x: 100, y: 100 };
r = f(a, 180);
test.assertEqual(r, { x: -100, y: -100 });
});
- it('test rotate 225°', function () {
+ it('test rotate 225°', () => {
a = { x: 100, y: 0 };
r = f(a, 225);
test.assertEqual(r, { x: -70.71067811865477, y: -70.71067811865477 });
});
- it('test rotate 360°', function () {
+ it('test rotate 360°', () => {
a = { x: 50, y: 50 };
r = f(a, 360);
test.assertEqual(r, { x: 50, y: 50 });
});
- it('test rotate 720°', function () {
+ it('test rotate 720°', () => {
a = { x: 50, y: 50 };
r = f(a, 720);
test.assertEqual(r, { x: 50, y: 50 });
});
});
- describe('scale', function () {
- var f = point.scale;
- it('test double size', function () {
+ describe('scale', () => {
+ const f = point.scale;
+ it('test double size', () => {
a = { x: 10, y: 20 };
r = f(a, 2.0);
test.assertEqual(r, { x: 20, y: 40 });
});
- it('test half size', function () {
+ it('test half size', () => {
a = { x: 10, y: 20 };
r = f(a, 0.5);
test.assertEqual(r, { x: 5, y: 10 });
});
});
- describe('subtract', function () {
- var f = point.subtract;
- it('test positive coords', function () {
+ describe('subtract', () => {
+ const f = point.subtract;
+ it('test positive coords', () => {
a = { x: 0, y: 10 };
b = { x: 50, y: 100 };
r = f(a, b);
test.assertEqual(r, { x: -50, y: -90 });
});
- it('test negative coords', function () {
+ it('test negative coords', () => {
a = { x: -10, y: -20 };
b = { x: -30, y: -40 };
r = f(a, b);
test.assertEqual(r, { x: 20, y: 20 });
});
});
- describe('translate', function () {
- var f = point.translate;
- it('test positive coords', function () {
+ describe('translate', () => {
+ const f = point.translate;
+ it('test positive coords', () => {
a = { x: 0, y: 10 };
r = f(a, 100, 200);
test.assertEqual(r, { x: 100, y: 210 });
});
- it('test negative coords', function () {
+ it('test negative coords', () => {
a = { x: -10, y: -20 };
r = f(a, -30, 40);
test.assertEqual(r, { x: -40, y: 20 });
diff --git a/test/test_random.js b/test/test_random.js
index bd36660..643707a 100644
--- a/test/test_random.js
+++ b/test/test_random.js
@@ -1,98 +1,98 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var random = utils.random;
+import utils from '../src/utils.js';
+const test = utils.test;
+const random = utils.random;
-describe('random', function () {
- var i,
- j = 10,
- r;
- describe('argument', function () {
- it('test multiple expected results', function () {
+describe('random', () => {
+ let i;
+ const j = 10;
+ let r;
+ describe('argument', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.argument(1, 2, 3, 4);
- test.assertTrue([1, 2, 3, 4].indexOf(r) !== -1);
+ test.assertTrue([1, 2, 3, 4].includes(r));
}
});
});
- describe('bit', function () {
- it('test multiple expected results', function () {
+ describe('bit', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.bit();
test.assertTrue(r === 0 || r === 1);
}
});
});
- describe('boolean', function () {
- it('test multiple expected results', function () {
+ describe('boolean', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.boolean();
test.assertTrue(r === true || r === false);
}
});
});
- describe('color', function () {
- it('test multiple expected results', function () {
+ describe('color', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.color();
test.assertTrue(r >= 0x000000 && r <= 0xffffff);
}
});
});
- describe('element', function () {
- it('test multiple expected results', function () {
+ describe('element', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.element([1, 2, 3, 4]);
- test.assertTrue([1, 2, 3, 4].indexOf(r) !== -1);
+ test.assertTrue([1, 2, 3, 4].includes(r));
}
});
});
- describe('float', function () {
- it('test multiple expected results', function () {
+ describe('float', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.float(10, 20);
test.assertTrue(r >= 10 && r <= 20);
}
});
});
- describe('index', function () {
- it('test multiple expected results', function () {
+ describe('index', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.index([1, 2, 3, 4]);
test.assertTrue(r >= 0 && r <= 3);
}
});
});
- describe('integer', function () {
- it('test multiple expected results', function () {
+ describe('integer', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.integer(10, 20);
test.assertTrue(r >= 10 && r <= 20 && !utils.number.isFloat(r));
}
});
});
- describe('map', function () {
- it('test multiple expected results', function () {
- r = random.map(function (n) {
+ describe('map', () => {
+ it('test multiple expected results', () => {
+ r = random.map((n) => {
return random.boolean();
}, j);
test.assertTrue(utils.type.isArray(r));
test.assertTrue(r.length === j);
- r.forEach(function (el) {
+ r.forEach((el) => {
test.assertTrue(el === true || el === false);
});
});
});
- describe('sign', function () {
- it('test multiple expected results', function () {
+ describe('sign', () => {
+ it('test multiple expected results', () => {
for (i = 0; i < j; i++) {
r = random.sign();
test.assertTrue(r === 1 || r === -1);
}
});
});
- describe('string', function () {
- it('test multiple expected results', function () {
- var s = '';
+ describe('string', () => {
+ it('test multiple expected results', () => {
+ let s = '';
for (i = 0; i < j; i++) {
r = random.string(32);
test.assertTrue(r.length === 32 && r !== s);
diff --git a/test/test_string.js b/test/test_string.js
index 1e0707a..1bcab04 100644
--- a/test/test_string.js
+++ b/test/test_string.js
@@ -1,110 +1,110 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var string = utils.string;
+import utils from '../src/utils.js';
+const test = utils.test;
+const string = utils.string;
-describe('string', function () {
- describe('contains', function () {
- var f = string.contains;
- var s =
+describe('string', () => {
+ describe('contains', () => {
+ const f = string.contains;
+ const s =
'Incididunt fugiat in excepteur do anim in nostrud irure sint laboris dolore mollit in sint culpa.';
- it('test contains same case', function () {
+ it('test contains same case', () => {
test.assertTrue(f(s, 'fugiat'));
});
- it('test contains different case', function () {
+ it('test contains different case', () => {
test.assertFalse(f(s, 'Fugiat'));
});
- it('test not contains', function () {
+ it('test not contains', () => {
test.assertFalse(f(s, 'lorem'));
});
});
- describe('endsWith', function () {
- var f = string.endsWith;
- var s =
+ describe('endsWith', () => {
+ const f = string.endsWith;
+ const s =
'Incididunt fugiat in excepteur do anim in nostrud irure sint laboris dolore mollit in sint culpa.';
- it('test endsWith true', function () {
+ it('test endsWith true', () => {
test.assertTrue(f(s, 'culpa.'));
});
- it('test endsWith false', function () {
+ it('test endsWith false', () => {
test.assertFalse(f(s, 'culpa'));
});
});
- describe('icontains', function () {
- var f = string.icontains;
- var s =
+ describe('icontains', () => {
+ const f = string.icontains;
+ const s =
'Incididunt fugiat in excepteur do anim in nostrud irure sint laboris dolore mollit in sint culpa.';
- it('test contains same case', function () {
+ it('test contains same case', () => {
test.assertTrue(f(s, 'fugiat'));
});
- it('test contains different case', function () {
+ it('test contains different case', () => {
test.assertTrue(f(s, 'Fugiat'));
});
- it('test not contains', function () {
+ it('test not contains', () => {
test.assertFalse(f(s, 'lorem'));
});
});
- describe('levenshteinDistance', function () {
- var f = string.levenshteinDistance;
- it('test same strings', function () {
+ describe('levenshteinDistance', () => {
+ const f = string.levenshteinDistance;
+ it('test same strings', () => {
test.assertEqual(f('torino', 'torino'), 0);
});
- it('test different strings', function () {
+ it('test different strings', () => {
test.assertEqual(f('torino', 'turin'), 2);
test.assertEqual(f('turin', 'torino'), 2);
test.assertEqual(f('torino', 'milano'), 4);
test.assertEqual(f('torino', 'trino'), 1);
});
});
- describe('levenshteinSimilarity', function () {
- var f = string.levenshteinSimilarity;
- it('test empty strings', function () {
+ describe('levenshteinSimilarity', () => {
+ const f = string.levenshteinSimilarity;
+ it('test empty strings', () => {
test.assertEqual(f('', ''), 1.0);
});
- it('test same strings', function () {
+ it('test same strings', () => {
test.assertEqual(f('torino', 'torino'), 1.0);
});
- it('test different strings', function () {
+ it('test different strings', () => {
test.assertNumberAlmostEqual(f('torino', 'turin'), 0.66, 0.01);
test.assertNumberAlmostEqual(f('turin', 'torino'), 0.66, 0.01);
test.assertNumberAlmostEqual(f('torino', 'milano'), 0.33, 0.01);
test.assertNumberAlmostEqual(f('torino', 'trino'), 0.83, 0.01);
});
});
- describe('padLeft', function () {
- var f = string.padLeft;
- it('test padLeft str length < length', function () {
+ describe('padLeft', () => {
+ const f = string.padLeft;
+ it('test padLeft str length < length', () => {
test.assertEqual(f('000000', 10, 'x'), 'xxxx000000');
});
- it('test padLeft str length > length', function () {
+ it('test padLeft str length > length', () => {
test.assertEqual(f('000000', 5, 'x'), '000000');
});
});
- describe('padRight', function () {
- var f = string.padRight;
- it('test padRight str length < length', function () {
+ describe('padRight', () => {
+ const f = string.padRight;
+ it('test padRight str length < length', () => {
test.assertEqual(f('000000', 10, 'x'), '000000xxxx');
});
- it('test padRight str length > length', function () {
+ it('test padRight str length > length', () => {
test.assertEqual(f('000000', 5, 'x'), '000000');
});
});
- describe('padZeros', function () {
- var f = string.padZeros;
- it('test padZeros str length < length', function () {
+ describe('padZeros', () => {
+ const f = string.padZeros;
+ it('test padZeros str length < length', () => {
test.assertEqual(f('8', 2), '08');
});
- it('test padZeros str length == length', function () {
+ it('test padZeros str length == length', () => {
test.assertEqual(f('12', 2), '12');
});
- it('test padZeros str length > length', function () {
+ it('test padZeros str length > length', () => {
test.assertEqual(f('120', 2), '120');
});
- it('test padZeros num length < length', function () {
+ it('test padZeros num length < length', () => {
test.assertEqual(f(8, 2), '08');
});
- it('test padZeros num length == length', function () {
+ it('test padZeros num length == length', () => {
test.assertEqual(f(12, 2), '12');
});
- it('test padZeros num length > length', function () {
+ it('test padZeros num length > length', () => {
test.assertEqual(f(120, 2), '120');
});
// it('test padZeros num negative length < length', function() {
@@ -117,36 +117,36 @@ describe('string', function () {
// test.assertEqual(f(-12345, 5), '-12345');
// });
});
- describe('render', function () {
- var f = string.render;
- it('test single placeholder', function () {
+ describe('render', () => {
+ const f = string.render;
+ it('test single placeholder', () => {
test.assertEqual(f('{{ name }}', { name: 'utils.js' }), 'utils.js');
});
- it('test single placeholder without data', function () {
+ it('test single placeholder without data', () => {
test.assertEqual(f('{{ name }}', null), '');
});
- it('test single placeholder with missing variable', function () {
+ it('test single placeholder with missing variable', () => {
test.assertEqual(f('{{ name }}', {}), '');
});
- it('test single placeholder without white space around delimiters', function () {
+ it('test single placeholder without white space around delimiters', () => {
test.assertEqual(f('{{name}}', { name: 'utils.js' }), 'utils.js');
});
- it('test single placeholder with extra white space around delimiters', function () {
+ it('test single placeholder with extra white space around delimiters', () => {
test.assertEqual(f('{{ name }}', { name: 'utils.js' }), 'utils.js');
});
- it('test single placeholder with custom delimiters', function () {
+ it('test single placeholder with custom delimiters', () => {
test.assertEqual(
f('__name__', { name: 'utils.js' }, '__', '__'),
'utils.js'
);
});
- it('test multiple occurrencies of the same placeholder', function () {
+ it('test multiple occurrencies of the same placeholder', () => {
test.assertEqual(
f('{{ name }} {{ name }}', { name: 'utils.js' }),
'utils.js utils.js'
);
});
- it('test multiple mixed placeholders', function () {
+ it('test multiple mixed placeholders', () => {
test.assertEqual(
f('npm install {{ user }}/{{ packageName }}@{{ version }} --save-dev', {
user: '@fabiocaccamo',
@@ -156,7 +156,7 @@ describe('string', function () {
'npm install @fabiocaccamo/utils.js@latest --save-dev'
);
});
- it('test multiple mixed placeholders with custom delimiters', function () {
+ it('test multiple mixed placeholders with custom delimiters', () => {
test.assertEqual(
f(
'npm install {user}/{packageName}@{version} --save-dev',
@@ -172,23 +172,23 @@ describe('string', function () {
);
});
});
- describe('replace', function () {
- var f = string.replace;
- var s =
+ describe('replace', () => {
+ const f = string.replace;
+ const s =
'Hello world, hello world, hElLo wOrLd, hello|world?, hello mountains, hello world';
- it('test single occurrence case-sensitive', function () {
+ it('test single occurrence case-sensitive', () => {
test.assertEqual(
f(s, 'Hello world', 'X'),
'X, hello world, hElLo wOrLd, hello|world?, hello mountains, hello world'
);
});
- it('test multiple occurrences case-sensitive', function () {
+ it('test multiple occurrences case-sensitive', () => {
test.assertEqual(
f(s, 'hello world', 'X'),
'Hello world, X, hElLo wOrLd, hello|world?, hello mountains, X'
);
});
- it('test multiple occurrences not case-sensitive', function () {
+ it('test multiple occurrences not case-sensitive', () => {
test.assertEqual(
f(s, 'hello world', 'X', false),
'X, X, X, hello|world?, hello mountains, X'
@@ -199,16 +199,16 @@ describe('string', function () {
);
});
});
- describe('reverse', function () {
- var f = string.reverse;
- it('test simple', function () {
+ describe('reverse', () => {
+ const f = string.reverse;
+ it('test simple', () => {
test.assertEqual(f('Lorem ipsum'), 'muspi meroL');
});
});
- describe('rotate', function () {
- var f = string.rotate;
- var s = 'loading...';
- it('test rotate negative', function () {
+ describe('rotate', () => {
+ const f = string.rotate;
+ const s = 'loading...';
+ it('test rotate negative', () => {
test.assertEqual(f(s, -0), 'loading...');
test.assertEqual(f(s, -1), '.loading..');
test.assertEqual(f(s, -2), '..loading.');
@@ -226,7 +226,7 @@ describe('string', function () {
test.assertEqual(f(s, -14), 'g...loadin');
test.assertEqual(f(s, -15), 'ng...loadi');
});
- it('test rotate positive', function () {
+ it('test rotate positive', () => {
test.assertEqual(f(s, 0), 'loading...');
test.assertEqual(f(s, 1), 'oading...l');
test.assertEqual(f(s, 2), 'ading...lo');
@@ -245,124 +245,124 @@ describe('string', function () {
test.assertEqual(f(s, 15), 'ng...loadi');
});
});
- describe('slugify', function () {
- var f = string.slugify;
- it('test simple', function () {
+ describe('slugify', () => {
+ const f = string.slugify;
+ it('test simple', () => {
test.assertEqual(f('lorem ipsum'), 'lorem-ipsum');
});
- it('test uppercase', function () {
+ it('test uppercase', () => {
test.assertEqual(f('LOREM IPSUM'), 'lorem-ipsum');
});
- it('test extra white', function () {
+ it('test extra white', () => {
test.assertEqual(f(' lorem ipsum '), 'lorem-ipsum');
});
- it('test extra dashes', function () {
+ it('test extra dashes', () => {
test.assertEqual(f('-lorem--ipsum-'), 'lorem-ipsum');
});
- it('test special chars', function () {
+ it('test special chars', () => {
test.assertEqual(f('àèéìòùç'), 'aeeiouc');
});
});
- describe('startsWith', function () {
- var f = string.startsWith;
- var s =
+ describe('startsWith', () => {
+ const f = string.startsWith;
+ const s =
'Incididunt fugiat in excepteur do anim in nostrud irure sint laboris dolore mollit in sint culpa.';
- it('test startsWith true', function () {
+ it('test startsWith true', () => {
test.assertTrue(f(s, 'Incididunt '));
});
- it('test startsWith false', function () {
+ it('test startsWith false', () => {
test.assertFalse(f(s, 'Lorem '));
});
});
- describe('toConstantCase', function () {
- var f = string.toConstantCase;
- it('test simple', function () {
+ describe('toConstantCase', () => {
+ const f = string.toConstantCase;
+ it('test simple', () => {
test.assertEqual(f('Lorem ipsum'), 'LOREM_IPSUM');
test.assertEqual(f(' Lorem ipsum '), '__LOREM_IPSUM__');
});
});
- describe('toRandomCase', function () {
- var f = string.toRandomCase;
- it('test simple', function () {
- var s = 'lorem ipsum dolor sit amet';
- for (var i = 0; i < 10; i++) {
- r = f(s);
+ describe('toRandomCase', () => {
+ const f = string.toRandomCase;
+ it('test simple', () => {
+ let s = 'lorem ipsum dolor sit amet';
+ for (let i = 0; i < 10; i++) {
+ let r = f(s);
test.assertTrue(r.length === s.length && r !== s);
s = r;
// console.log(s);
}
});
});
- describe('toTitleCase', function () {
- var f = string.toTitleCase;
- var s =
+ describe('toTitleCase', () => {
+ const f = string.toTitleCase;
+ const s =
'lorem ipsum tempor. Ex adipisicing aliqua consectetur a Duis voluptate quis sunt.';
- it('test simple', function () {
+ it('test simple', () => {
test.assertEqual(
f(s),
'Lorem Ipsum Tempor. Ex Adipisicing Aliqua Consectetur A Duis Voluptate Quis Sunt.'
);
});
- it('test with accented letters', function () {
+ it('test with accented letters', () => {
test.assertEqual(f('bàcédòçu édìfògù'), 'Bàcédòçu Édìfògù');
});
- it('test with hyphen', function () {
+ it('test with hyphen', () => {
test.assertEqual(f('bàcédòçu-édìfògù'), 'Bàcédòçu-Édìfògù');
});
- it('test with apostroph', function () {
+ it('test with apostroph', () => {
test.assertEqual(f("bàcédòç'uédìfògù"), "Bàcédòç'Uédìfògù");
});
});
- describe('toUpperCaseFirst', function () {
- var f = string.toUpperCaseFirst;
- var s =
+ describe('toUpperCaseFirst', () => {
+ const f = string.toUpperCaseFirst;
+ const s =
'lorem ipsum tempor. Ex adipisicing aliqua consectetur. Duis voluptate quis sunt. Aute sint laborum tempor.';
- it('test uppercase first', function () {
+ it('test uppercase first', () => {
test.assertEqual(
f(s),
'Lorem ipsum tempor. Ex adipisicing aliqua consectetur. Duis voluptate quis sunt. Aute sint laborum tempor.'
);
});
- it('test uppercase first empty string', function () {
+ it('test uppercase first empty string', () => {
test.assertEqual(f(''), '');
});
- it('test uppercase first and lowercase rest', function () {
+ it('test uppercase first and lowercase rest', () => {
test.assertEqual(
f(s, true),
'Lorem ipsum tempor. ex adipisicing aliqua consectetur. duis voluptate quis sunt. aute sint laborum tempor.'
);
});
});
- describe('trim', function () {
- var f = string.trim;
- it('test simple white space', function () {
- var s = ' lorem ipsum ';
+ describe('trim', () => {
+ const f = string.trim;
+ it('test simple white space', () => {
+ const s = ' lorem ipsum ';
test.assertEqual(f(s), 'lorem ipsum');
});
- it('test special white space chars', function () {
- var s = '\n \r \t lorem ipsum \n \r \t';
+ it('test special white space chars', () => {
+ const s = '\n \r \t lorem ipsum \n \r \t';
test.assertEqual(f(s), 'lorem ipsum');
});
});
- describe('trimLeft', function () {
- var f = string.trimLeft;
- it('test simple white space', function () {
- var s = ' lorem ipsum ';
+ describe('trimLeft', () => {
+ const f = string.trimLeft;
+ it('test simple white space', () => {
+ const s = ' lorem ipsum ';
test.assertEqual(f(s), 'lorem ipsum ');
});
- it('test special white space chars', function () {
- var s = '\n \r \t lorem ipsum';
+ it('test special white space chars', () => {
+ const s = '\n \r \t lorem ipsum';
test.assertEqual(f(s), 'lorem ipsum');
});
});
- describe('trimRight', function () {
- var f = string.trimRight;
- it('test simple white space', function () {
- var s = ' lorem ipsum ';
+ describe('trimRight', () => {
+ const f = string.trimRight;
+ it('test simple white space', () => {
+ const s = ' lorem ipsum ';
test.assertEqual(f(s), ' lorem ipsum');
});
- it('test special white space chars', function () {
- var s = 'lorem ipsum \n \r \t';
+ it('test special white space chars', () => {
+ const s = 'lorem ipsum \n \r \t';
test.assertEqual(f(s), 'lorem ipsum');
});
});
diff --git a/test/test_test.js b/test/test_test.js
index 2f6ab49..b65d70c 100644
--- a/test/test_test.js
+++ b/test/test_test.js
@@ -1,67 +1,67 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
+import utils from '../src/utils.js';
+const test = utils.test;
-describe('test', function () {
- describe('assertArray', function () {
- it('test assertArray', function () {
+describe('test', () => {
+ describe('assertArray', () => {
+ it('test assertArray', () => {
test.assertArray([1, 2, 3, 4, 5]);
});
- it('test assertArray and length', function () {
+ it('test assertArray and length', () => {
test.assertArray([1, 2, 3, 4, 5], 5);
});
- it('test assertArray throws', function () {
- test.assertThrows(function () {
+ it('test assertArray throws', () => {
+ test.assertThrows(() => {
test.assertArray(false);
});
});
- it('test assertArray and length throws', function () {
- test.assertThrows(function () {
+ it('test assertArray and length throws', () => {
+ test.assertThrows(() => {
test.assertArray([1, 2, 3, 4, 5], 4);
});
});
});
- describe('assertBase64', function () {
- it('test assertBase64', function () {
+ describe('assertBase64', () => {
+ it('test assertBase64', () => {
test.assertBase64('QGZhYmlvY2FjY2Ftby91dGlscy5qcw==');
});
- it('test assertBase64 throws', function () {
- test.assertThrows(function () {
+ it('test assertBase64 throws', () => {
+ test.assertThrows(() => {
test.assertBase64('');
});
});
});
- describe('assertBoolean', function () {
- it('test assertBoolean true', function () {
+ describe('assertBoolean', () => {
+ it('test assertBoolean true', () => {
test.assertBoolean(true);
});
- it('test assertBoolean false', function () {
+ it('test assertBoolean false', () => {
test.assertBoolean(false);
});
- it('test assertBoolean throws', function () {
- test.assertThrows(function () {
+ it('test assertBoolean throws', () => {
+ test.assertThrows(() => {
test.assertBoolean(null);
});
});
});
- describe('assertDate', function () {
- it('test assertDate', function () {
+ describe('assertDate', () => {
+ it('test assertDate', () => {
test.assertDate(new Date());
});
- it('test assertDate throws', function () {
- test.assertThrows(function () {
+ it('test assertDate throws', () => {
+ test.assertThrows(() => {
test.assertDate(true);
});
});
});
- describe('assertEqual', function () {
- it('test assertEqual', function () {
+ describe('assertEqual', () => {
+ it('test assertEqual', () => {
test.assertEqual(
{ a: 1, b: 'ok', c: true, d: [] },
{ a: 1, b: 'ok', c: true, d: [] }
);
});
- it('test assertEqual throws', function () {
- test.assertThrows(function () {
+ it('test assertEqual throws', () => {
+ test.assertThrows(() => {
test.assertEqual(
{ a: 1, b: 'ok', c: true, d: [] },
{ a: 1, b: 'ok', c: true, d: [null] }
@@ -69,124 +69,124 @@ describe('test', function () {
});
});
});
- describe('assertError', function () {
- it('test assertError', function () {
+ describe('assertError', () => {
+ it('test assertError', () => {
test.assertError(new Error());
});
- it('test assertError throws', function () {
- test.assertThrows(function () {
+ it('test assertError throws', () => {
+ test.assertThrows(() => {
test.assertError(true);
});
});
});
- describe('assertFalse', function () {
- it('test assertFalse', function () {
+ describe('assertFalse', () => {
+ it('test assertFalse', () => {
test.assertFalse(false);
});
- it('test assertFalse throws', function () {
- test.assertThrows(function () {
+ it('test assertFalse throws', () => {
+ test.assertThrows(() => {
test.assertFalse(null);
});
- test.assertThrows(function () {
+ test.assertThrows(() => {
test.assertFalse(true);
});
});
});
- describe('assertFunction', function () {
- it('test assertFunction', function () {
- test.assertFunction(function () {});
+ describe('assertFunction', () => {
+ it('test assertFunction', () => {
+ test.assertFunction(() => {});
});
- it('test assertFunction throws', function () {
- test.assertThrows(function () {
+ it('test assertFunction throws', () => {
+ test.assertThrows(() => {
test.assertFunction({});
});
});
});
- describe('assertJSON', function () {
- it('test assertJSON', function () {
+ describe('assertJSON', () => {
+ it('test assertJSON', () => {
test.assertJSON('{"k":[0,1,2,3,"","a","b","c",null,null,null]}');
});
- it('test assertJSON throws', function () {
- test.assertThrows(function () {
+ it('test assertJSON throws', () => {
+ test.assertThrows(() => {
test.assertJSON('');
});
});
});
- describe('assertNaN', function () {
- it('test assertNaN', function () {
+ describe('assertNaN', () => {
+ it('test assertNaN', () => {
test.assertNaN(NaN);
});
- it('test assertNaN throws', function () {
- test.assertThrows(function () {
+ it('test assertNaN throws', () => {
+ test.assertThrows(() => {
test.assertNaN(null);
});
});
});
- describe('assertNone', function () {
- it('test assertNone NaN', function () {
+ describe('assertNone', () => {
+ it('test assertNone NaN', () => {
test.assertNone(NaN);
});
- it('test assertNone null', function () {
+ it('test assertNone null', () => {
test.assertNone(null);
});
- it('test assertNone undefined', function () {
+ it('test assertNone undefined', () => {
test.assertNone(undefined);
});
- it('test assertNone throws', function () {
- test.assertThrows(function () {
+ it('test assertNone throws', () => {
+ test.assertThrows(() => {
test.assertNone('ok');
});
});
});
- describe('assertNotArray', function () {
- it('test assertNotArray', function () {
+ describe('assertNotArray', () => {
+ it('test assertNotArray', () => {
test.assertNotArray(true);
});
- it('test assertNotArray throws', function () {
- test.assertThrows(function () {
+ it('test assertNotArray throws', () => {
+ test.assertThrows(() => {
test.assertNotArray([]);
});
});
});
- describe('assertNotBase64', function () {
- it('test assertNotBase64', function () {
+ describe('assertNotBase64', () => {
+ it('test assertNotBase64', () => {
test.assertNotBase64(true);
});
- it('test assertNotBase64 throws', function () {
- test.assertThrows(function () {
+ it('test assertNotBase64 throws', () => {
+ test.assertThrows(() => {
test.assertNotBase64('QGZhYmlvY2FjY2Ftby91dGlscy5qcw==');
});
});
});
- describe('assertNotBoolean', function () {
- it('test assertNotBoolean', function () {
+ describe('assertNotBoolean', () => {
+ it('test assertNotBoolean', () => {
test.assertNotBoolean(1);
});
- it('test assertNotBoolean throws', function () {
- test.assertThrows(function () {
+ it('test assertNotBoolean throws', () => {
+ test.assertThrows(() => {
test.assertNotBoolean(true);
});
});
});
- describe('assertNotDate', function () {
- it('test assertNotDate', function () {
+ describe('assertNotDate', () => {
+ it('test assertNotDate', () => {
test.assertNotDate(1);
});
- it('test assertNotDate throws', function () {
- test.assertThrows(function () {
+ it('test assertNotDate throws', () => {
+ test.assertThrows(() => {
test.assertNotDate(new Date());
});
});
});
- describe('assertNotEqual', function () {
- it('test assertNotEqual', function () {
+ describe('assertNotEqual', () => {
+ it('test assertNotEqual', () => {
test.assertNotEqual(
{ a: 1, b: 'ok', c: true, d: [] },
{ a: 1, b: 'ok', c: true }
);
});
- it('test assertNotEqual throws', function () {
- test.assertThrows(function () {
+ it('test assertNotEqual throws', () => {
+ test.assertThrows(() => {
test.assertNotEqual(
{ a: 1, b: 'ok', c: true, d: [] },
{ a: 1, b: 'ok', c: true, d: [] }
@@ -194,102 +194,102 @@ describe('test', function () {
});
});
});
- describe('assertNotError', function () {
- it('test assertNotError', function () {
+ describe('assertNotError', () => {
+ it('test assertNotError', () => {
test.assertNotError('[Error]');
});
- it('test assertNotError throws', function () {
- test.assertThrows(function () {
+ it('test assertNotError throws', () => {
+ test.assertThrows(() => {
test.assertNotError(new Error());
});
});
});
- describe('assertNotFunction', function () {
- it('test assertNotFunction', function () {
+ describe('assertNotFunction', () => {
+ it('test assertNotFunction', () => {
test.assertNotFunction({});
});
- it('test assertNotFunction throws', function () {
- test.assertThrows(function () {
- test.assertNotFunction(function () {});
+ it('test assertNotFunction throws', () => {
+ test.assertThrows(() => {
+ test.assertNotFunction(() => {});
});
});
});
- describe('assertNotJSON', function () {
- it('test assertNotJSON', function () {
+ describe('assertNotJSON', () => {
+ it('test assertNotJSON', () => {
test.assertNotJSON('');
});
- it('test assertNotJSON throws', function () {
- test.assertThrows(function () {
+ it('test assertNotJSON throws', () => {
+ test.assertThrows(() => {
test.assertNotJSON('{"k":[0,1,2,3,"","a","b","c",null,null,null]}');
});
});
});
- describe('assertNotNone', function () {
- it('test assertNotNone', function () {
+ describe('assertNotNone', () => {
+ it('test assertNotNone', () => {
test.assertNotNone(0);
});
- it('test assertNotNone throws', function () {
- test.assertThrows(function () {
+ it('test assertNotNone throws', () => {
+ test.assertThrows(() => {
test.assertNotNone(undefined);
});
});
});
- describe('assertNotNumber', function () {
- it('test assertNotNumber', function () {
+ describe('assertNotNumber', () => {
+ it('test assertNotNumber', () => {
test.assertNotNumber('100');
});
- it('test assertNotNumber throws', function () {
- test.assertThrows(function () {
+ it('test assertNotNumber throws', () => {
+ test.assertThrows(() => {
test.assertNotNumber(100);
});
});
});
- describe('assertNotNull', function () {
- it('test assertNotNull', function () {
+ describe('assertNotNull', () => {
+ it('test assertNotNull', () => {
test.assertNotNull(undefined);
});
- it('test assertNotNull throws', function () {
- test.assertThrows(function () {
+ it('test assertNotNull throws', () => {
+ test.assertThrows(() => {
test.assertNotNull(null);
});
});
});
- describe('assertNotObject', function () {
- it('test assertNotObject', function () {
+ describe('assertNotObject', () => {
+ it('test assertNotObject', () => {
test.assertNotObject('{}');
});
- it('test assertNotObject throws', function () {
- test.assertThrows(function () {
+ it('test assertNotObject throws', () => {
+ test.assertThrows(() => {
test.assertNotObject({});
});
});
});
- describe('assertNotRegExp', function () {
- it('test assertNotRegExp', function () {
+ describe('assertNotRegExp', () => {
+ it('test assertNotRegExp', () => {
test.assertNotRegExp('//');
});
- it('test assertNotRegExp throws', function () {
- test.assertThrows(function () {
+ it('test assertNotRegExp throws', () => {
+ test.assertThrows(() => {
test.assertNotRegExp(/^$/);
});
});
});
- describe('assertNotString', function () {
- it('test assertNotString', function () {
+ describe('assertNotString', () => {
+ it('test assertNotString', () => {
test.assertNotString(undefined);
});
- it('test assertNotString throws', function () {
- test.assertThrows(function () {
+ it('test assertNotString throws', () => {
+ test.assertThrows(() => {
test.assertNotString('');
});
});
});
- describe('assertNotUndefined', function () {
- it('test assertNotUndefined', function () {
+ describe('assertNotUndefined', () => {
+ it('test assertNotUndefined', () => {
test.assertNotUndefined(null);
});
- it('test assertNotUndefined throws', function () {
- test.assertThrows(function () {
+ it('test assertNotUndefined throws', () => {
+ test.assertThrows(() => {
test.assertNotUndefined(undefined);
});
});
@@ -299,105 +299,105 @@ describe('test', function () {
// test.assertTrue(true);
// });
// });
- describe('assertNumber', function () {
- it('test assertNumber', function () {
+ describe('assertNumber', () => {
+ it('test assertNumber', () => {
test.assertNumber(1);
});
- it('test assertNumber throws', function () {
- test.assertThrows(function () {
+ it('test assertNumber throws', () => {
+ test.assertThrows(() => {
test.assertNumber('1');
});
});
});
- describe('assertNumberAlmostEqual', function () {
- it('test assertNumberAlmostEqual (default tolerance)', function () {
+ describe('assertNumberAlmostEqual', () => {
+ it('test assertNumberAlmostEqual (default tolerance)', () => {
test.assertNumberAlmostEqual(1.00000000001, 1.0);
});
- it('test assertNumberAlmostEqual (custom tolerance)', function () {
+ it('test assertNumberAlmostEqual (custom tolerance)', () => {
test.assertNumberAlmostEqual(1.0, 1.02, 0.02);
});
- it('test assertNumberAlmostEqual (default tolerance) throws', function () {
- test.assertThrows(function () {
+ it('test assertNumberAlmostEqual (default tolerance) throws', () => {
+ test.assertThrows(() => {
test.assertNumberAlmostEqual(1.00001, 1.0);
});
});
- it('test assertNumberAlmostEqual (custom tolerance) throws', function () {
- test.assertThrows(function () {
+ it('test assertNumberAlmostEqual (custom tolerance) throws', () => {
+ test.assertThrows(() => {
test.assertNumberAlmostEqual(1.0, 1.021, 0.02);
});
});
});
- describe('assertNull', function () {
- it('test assertNull', function () {
+ describe('assertNull', () => {
+ it('test assertNull', () => {
test.assertNull(null);
});
- it('test assertNull throws', function () {
- test.assertThrows(function () {
+ it('test assertNull throws', () => {
+ test.assertThrows(() => {
test.assertNull(undefined);
});
});
});
- describe('assertObject', function () {
- it('test assertObject', function () {
+ describe('assertObject', () => {
+ it('test assertObject', () => {
test.assertObject({});
});
- it('test assertObject throws', function () {
- test.assertThrows(function () {
+ it('test assertObject throws', () => {
+ test.assertThrows(() => {
test.assertObject([]);
});
});
});
- describe('assertRegExp', function () {
- it('test assertRegExp', function () {
+ describe('assertRegExp', () => {
+ it('test assertRegExp', () => {
test.assertRegExp(/^$/);
});
- it('test assertRegExp object', function () {
+ it('test assertRegExp object', () => {
test.assertRegExp(new RegExp());
});
- it('test assertRegExp throws', function () {
- test.assertThrows(function () {
+ it('test assertRegExp throws', () => {
+ test.assertThrows(() => {
test.assertRegExp('//');
});
});
});
- describe('assertString', function () {
- it('test assertString', function () {
+ describe('assertString', () => {
+ it('test assertString', () => {
test.assertString('');
});
- it('test assertString throws', function () {
- test.assertThrows(function () {
+ it('test assertString throws', () => {
+ test.assertThrows(() => {
test.assertString(true);
});
});
});
- describe('assertThrows', function () {
- it('test assertThrows', function () {
- test.assertThrows(function () {
+ describe('assertThrows', () => {
+ it('test assertThrows', () => {
+ test.assertThrows(() => {
throw new Error();
});
});
- it('test assertThrows throws', function () {
- test.assertThrows(function () {
- test.assertThrows(function () {});
+ it('test assertThrows throws', () => {
+ test.assertThrows(() => {
+ test.assertThrows(() => {});
});
});
});
- describe('assertTrue', function () {
- it('test assertTrue', function () {
+ describe('assertTrue', () => {
+ it('test assertTrue', () => {
test.assertTrue(true);
});
- it('test assertTrue throws', function () {
- test.assertThrows(function () {
+ it('test assertTrue throws', () => {
+ test.assertThrows(() => {
test.assertTrue(false);
});
});
});
- describe('assertUndefined', function () {
- it('test assertUndefined', function () {
+ describe('assertUndefined', () => {
+ it('test assertUndefined', () => {
test.assertUndefined(undefined);
});
- it('test assertUndefined throws', function () {
- test.assertThrows(function () {
+ it('test assertUndefined throws', () => {
+ test.assertThrows(() => {
test.assertUndefined('undefined');
});
});
diff --git a/test/test_trigo.js b/test/test_trigo.js
index fef1bc0..cbc0318 100644
--- a/test/test_trigo.js
+++ b/test/test_trigo.js
@@ -1,34 +1,34 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var trigo = utils.trigo;
+import utils from '../src/utils.js';
+const test = utils.test;
+const trigo = utils.trigo;
-describe('trigo', function () {
- describe('constants', function () {
- it('DEG_0', function () {
+describe('trigo', () => {
+ describe('constants', () => {
+ it('DEG_0', () => {
test.assertNumberAlmostEqual(trigo.DEG_0, 0.0, 0.001);
});
- it('DEG_90', function () {
+ it('DEG_90', () => {
test.assertNumberAlmostEqual(trigo.DEG_90, 90.0, 0.001);
});
- it('DEG_180', function () {
+ it('DEG_180', () => {
test.assertNumberAlmostEqual(trigo.DEG_180, 180.0, 0.001);
});
- it('DEG_270', function () {
+ it('DEG_270', () => {
test.assertNumberAlmostEqual(trigo.DEG_270, 270.0, 0.001);
});
- it('DEG_360', function () {
+ it('DEG_360', () => {
test.assertNumberAlmostEqual(trigo.DEG_360, 360.0, 0.001);
});
- it('DEG_TO_RAD', function () {
+ it('DEG_TO_RAD', () => {
test.assertNumberAlmostEqual(trigo.DEG_TO_RAD, 0.017453292519943295);
});
- it('RAD_TO_DEG', function () {
+ it('RAD_TO_DEG', () => {
test.assertNumberAlmostEqual(trigo.RAD_TO_DEG, 57.29577951308232);
});
});
- describe('acosDeg', function () {
- var f = trigo.acosDeg;
- it('test simple', function () {
+ describe('acosDeg', () => {
+ const f = trigo.acosDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(1.0), 0.0);
test.assertNumberAlmostEqual(f(0.5), 60.0);
test.assertNumberAlmostEqual(f(0.0), 90.0);
@@ -36,9 +36,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0), 180.0);
});
});
- describe('angleDeg', function () {
- var f = trigo.angleDeg;
- it('test simple', function () {
+ describe('angleDeg', () => {
+ const f = trigo.angleDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0.0, 0.0), 0.0);
test.assertNumberAlmostEqual(f(1.0, 1.0), 45.0);
test.assertNumberAlmostEqual(f(1.0, 0.0), 90.0);
@@ -49,9 +49,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0, 1.0), -45.0);
});
});
- describe('angleRad', function () {
- var f = trigo.angleRad;
- it('test simple', function () {
+ describe('angleRad', () => {
+ const f = trigo.angleRad;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0.0, 0.0), 0.0);
test.assertNumberAlmostEqual(f(1.0, 1.0), 0.7853981633974483);
test.assertNumberAlmostEqual(f(1.0, 0.0), 1.5707963267948966);
@@ -62,9 +62,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0, 1.0), -0.7853981633974483);
});
});
- describe('asinDeg', function () {
- var f = trigo.asinDeg;
- it('test simple', function () {
+ describe('asinDeg', () => {
+ const f = trigo.asinDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(1.0), 90.0);
test.assertNumberAlmostEqual(f(0.5), 30.0);
test.assertNumberAlmostEqual(f(0.0), 0.0);
@@ -72,9 +72,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0), -90.0);
});
});
- describe('atanDeg', function () {
- var f = trigo.atanDeg;
- it('test simple', function () {
+ describe('atanDeg', () => {
+ const f = trigo.atanDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(1.0), 45.0);
test.assertNumberAlmostEqual(f(0.5), 26.56505117707799);
test.assertNumberAlmostEqual(f(0.0), 0.0);
@@ -82,9 +82,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0), -45.0);
});
});
- describe('atan2Deg', function () {
- var f = trigo.atan2Deg;
- it('test simple', function () {
+ describe('atan2Deg', () => {
+ const f = trigo.atan2Deg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0.0, 0.0), 0.0);
test.assertNumberAlmostEqual(f(1.0, 1.0), 45.0);
test.assertNumberAlmostEqual(f(1.0, 0.0), 90.0);
@@ -95,9 +95,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0, 1.0), -45.0);
});
});
- describe('cosDeg', function () {
- var f = trigo.cosDeg;
- it('test simple', function () {
+ describe('cosDeg', () => {
+ const f = trigo.cosDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(1.0), 0.9998476951563913);
test.assertNumberAlmostEqual(f(0.5), 0.9999619230641713);
test.assertNumberAlmostEqual(f(0.0), 1.0);
@@ -105,9 +105,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0), 0.9998476951563913);
});
});
- describe('degToRad', function () {
- var f = trigo.degToRad;
- it('test simple', function () {
+ describe('degToRad', () => {
+ const f = trigo.degToRad;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(trigo.DEG_0), 0.0);
test.assertNumberAlmostEqual(f(trigo.DEG_90), 1.5707963267948966);
test.assertNumberAlmostEqual(f(trigo.DEG_180), 3.141592653589793);
@@ -115,46 +115,46 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(trigo.DEG_360), 6.283185307179586);
});
});
- describe('fastDeg', function () {
- var f = trigo.fastDeg;
- it('test simple', function () {
+ describe('fastDeg', () => {
+ const f = trigo.fastDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0, 359), -1.0);
});
});
- describe('haversine', function () {
- var f = trigo.haversine;
- var latA = 45.0735886;
- var lngA = 7.6055665;
- var latB = 45.4628329;
- var lngB = 9.1076923;
- it('test distance default', function () {
+ describe('haversine', () => {
+ const f = trigo.haversine;
+ const latA = 45.0735886;
+ const lngA = 7.6055665;
+ const latB = 45.4628329;
+ const lngB = 9.1076923;
+ it('test distance default', () => {
test.assertNumberAlmostEqual(f(latA, lngA, latB, lngB), 125.265);
});
- it('test distance km', function () {
+ it('test distance km', () => {
test.assertNumberAlmostEqual(f(latA, lngA, latB, lngB, true), 125.265);
});
- it('test distance miles', function () {
+ it('test distance miles', () => {
test.assertNumberAlmostEqual(f(latA, lngA, latB, lngB, false), 77.782);
});
});
- describe('hypo', function () {
- var f = trigo.hypo;
- it('test no distance', function () {
+ describe('hypo', () => {
+ const f = trigo.hypo;
+ it('test no distance', () => {
test.assertNumberAlmostEqual(f(0.0, 0.0), 0);
});
- it('test x axis', function () {
+ it('test x axis', () => {
test.assertNumberAlmostEqual(f(100.0, 0.0), 100);
});
- it('test y axis', function () {
+ it('test y axis', () => {
test.assertNumberAlmostEqual(f(0.0, 100.0), 100);
});
- it('test x/y axis', function () {
+ it('test x/y axis', () => {
test.assertNumberAlmostEqual(f(100.0, 100.0), 141.4213562373095);
});
});
- describe('radToDeg', function () {
- var f = trigo.radToDeg;
- it('test simple', function () {
+ describe('radToDeg', () => {
+ const f = trigo.radToDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(0.0), trigo.DEG_0);
test.assertNumberAlmostEqual(f(1.5707963267948966), trigo.DEG_90);
test.assertNumberAlmostEqual(f(3.141592653589793), trigo.DEG_180);
@@ -162,9 +162,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(6.283185307179586), trigo.DEG_360);
});
});
- describe('sinDeg', function () {
- var f = trigo.sinDeg;
- it('test simple', function () {
+ describe('sinDeg', () => {
+ const f = trigo.sinDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(1.0), 0.01745240643728351);
test.assertNumberAlmostEqual(f(0.5), 0.008726535498373935);
test.assertNumberAlmostEqual(f(0.0), 0.0);
@@ -172,9 +172,9 @@ describe('trigo', function () {
test.assertNumberAlmostEqual(f(-1.0), -0.01745240643728351);
});
});
- describe('tanDeg', function () {
- var f = trigo.tanDeg;
- it('test simple', function () {
+ describe('tanDeg', () => {
+ const f = trigo.tanDeg;
+ it('test simple', () => {
test.assertNumberAlmostEqual(f(1.0), 0.017455064928217585);
test.assertNumberAlmostEqual(f(0.5), 0.00872686779075879);
test.assertNumberAlmostEqual(f(0.0), 0.0);
diff --git a/test/test_type.js b/test/test_type.js
index a18f36a..0f542f1 100644
--- a/test/test_type.js
+++ b/test/test_type.js
@@ -1,17 +1,17 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var type = utils.type;
+import utils from '../src/utils.js';
+const test = utils.test;
+const type = utils.type;
-describe('type', function () {
- describe('isArray', function () {
- it('test isArray against all types', function () {
- var f = type.isArray;
+describe('type', () => {
+ describe('isArray', () => {
+ it('test isArray against all types', () => {
+ const f = type.isArray;
test.assertTrue(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -29,31 +29,31 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isBase64', function () {
- var f = type.isBase64;
- it('test isBase64 against empty string', function () {
+ describe('isBase64', () => {
+ const f = type.isBase64;
+ it('test isBase64 against empty string', () => {
test.assertFalse(f(''));
});
- it('test isBase64 against invalid string', function () {
+ it('test isBase64 against invalid string', () => {
test.assertFalse(f('kjhsdafjksadhf'));
test.assertTrue(f('QGZhYmlvY2FjY2Ftby91dGlscy5qcw'));
});
- it('test isBase64 against valid string', function () {
+ it('test isBase64 against valid string', () => {
test.assertTrue(f('QGZhYmlvY2FjY2Ftby91dGlscy5qcw=='));
});
- it('test isBase64 against valid string with extra white-space', function () {
+ it('test isBase64 against valid string with extra white-space', () => {
test.assertTrue(f(' QGZhYmlvY2FjY2Ftby91dGlscy5qcw== '));
});
});
- describe('isBoolean', function () {
- it('test isBoolean against all types', function () {
- var f = type.isBoolean;
+ describe('isBoolean', () => {
+ it('test isBoolean against all types', () => {
+ const f = type.isBoolean;
test.assertFalse(f([]));
test.assertTrue(f(true));
test.assertTrue(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -71,15 +71,15 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isDate', function () {
- it('test isDate against all types', function () {
- var f = type.isDate;
+ describe('isDate', () => {
+ it('test isDate against all types', () => {
+ const f = type.isDate;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertTrue(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -97,15 +97,15 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isError', function () {
- it('test isError against all types', function () {
- var f = type.isError;
+ describe('isError', () => {
+ it('test isError against all types', () => {
+ const f = type.isError;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertTrue(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -123,15 +123,15 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isFunction', function () {
- it('test isFunction against all types', function () {
- var f = type.isFunction;
+ describe('isFunction', () => {
+ it('test isFunction against all types', () => {
+ const f = type.isFunction;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertTrue(f(function () {}));
+ test.assertTrue(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -149,20 +149,20 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isJSON', function () {
- it('TODO', function () {
+ describe('isJSON', () => {
+ it('TODO', () => {
test.assertTrue(true);
});
});
- describe('isNaN', function () {
- it('test isNaN against all types', function () {
- var f = type.isNaN;
+ describe('isNaN', () => {
+ it('test isNaN against all types', () => {
+ const f = type.isNaN;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertTrue(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -180,15 +180,15 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isNone', function () {
- it('test isNone against all types', function () {
- var f = type.isNone;
+ describe('isNone', () => {
+ it('test isNone against all types', () => {
+ const f = type.isNone;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertTrue(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -206,15 +206,15 @@ describe('type', function () {
test.assertTrue(f(undefined));
});
});
- describe('isNumber', function () {
- it('test isNumber against all types', function () {
- var f = type.isNumber;
+ describe('isNumber', () => {
+ it('test isNumber against all types', () => {
+ const f = type.isNumber;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertTrue(f(0));
test.assertTrue(f(1));
@@ -230,20 +230,20 @@ describe('type', function () {
test.assertFalse(f('null'));
test.assertFalse(f('undefined'));
test.assertFalse(f(undefined));
- for (var i = -10; i <= 10; i++) {
+ for (let i = -10; i <= 10; i++) {
test.assertTrue(type.isNumber(i));
}
});
});
- describe('isNull', function () {
- it('test isNull against all types', function () {
- var f = type.isNull;
+ describe('isNull', () => {
+ it('test isNull against all types', () => {
+ const f = type.isNull;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -261,15 +261,15 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isObject', function () {
- it('test isObject against all types', function () {
- var f = type.isObject;
+ describe('isObject', () => {
+ it('test isObject against all types', () => {
+ const f = type.isObject;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -287,15 +287,15 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isRegExp', function () {
- it('test isRegExp against all types', function () {
- var f = type.isRegExp;
+ describe('isRegExp', () => {
+ it('test isRegExp against all types', () => {
+ const f = type.isRegExp;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -313,9 +313,9 @@ describe('type', function () {
test.assertFalse(f(undefined));
});
});
- describe('isType', function () {
- it('test isType against all types', function () {
- var f = type.isType;
+ describe('isType', () => {
+ it('test isType against all types', () => {
+ const f = type.isType;
test.assertTrue(f(type.ARRAY));
test.assertTrue(f(type.BOOLEAN));
test.assertTrue(f(type.DATE));
@@ -333,15 +333,15 @@ describe('type', function () {
test.assertFalse(f(''));
});
});
- describe('isUndefined', function () {
- it('test isUndefined against all types', function () {
- var f = type.isUndefined;
+ describe('isUndefined', () => {
+ it('test isUndefined against all types', () => {
+ const f = type.isUndefined;
test.assertFalse(f([]));
test.assertFalse(f(true));
test.assertFalse(f(false));
test.assertFalse(f(new Date()));
test.assertFalse(f(new Error()));
- test.assertFalse(f(function () {}));
+ test.assertFalse(f(() => {}));
test.assertFalse(f(NaN));
test.assertFalse(f(0));
test.assertFalse(f(1));
@@ -364,16 +364,16 @@ describe('type', function () {
// test.assertTrue(true);
// });
// });
- describe('of', function () {
- it('test of against all types', function () {
- var f = type.of;
+ describe('of', () => {
+ it('test of against all types', () => {
+ const f = type.of;
test.assertEqual(f([]), type.ARRAY);
test.assertEqual(f(true), type.BOOLEAN);
test.assertEqual(f(false), type.BOOLEAN);
test.assertEqual(f(new Date()), type.DATE);
test.assertEqual(f(new Error()), type.ERROR);
test.assertEqual(
- f(function () {}),
+ f(() => {}),
type.FUNCTION
);
test.assertEqual(f(NaN), type.NAN);
diff --git a/test/test_url.js b/test/test_url.js
index 2c6021d..6cdd44a 100644
--- a/test/test_url.js
+++ b/test/test_url.js
@@ -1,15 +1,15 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var url = utils.url;
+import utils from '../src/utils.js';
+const test = utils.test;
+const url = utils.url;
-describe('url', function () {
- describe('getDomain', function () {
- var f = url.getDomain;
- it('test localhost', function () {
+describe('url', () => {
+ describe('getDomain', () => {
+ const f = url.getDomain;
+ it('test localhost', () => {
test.assertEqual(f('http://localhost:8000'), 'localhost');
test.assertEqual(f('https://localhost:8000'), 'localhost');
});
- it('test url with querystring', function () {
+ it('test url with querystring', () => {
test.assertEqual(
f('http://localhost:8000/?page=16&code=0123456789'),
'localhost'
@@ -19,70 +19,70 @@ describe('url', function () {
'localhost'
);
});
- it('test www', function () {
+ it('test www', () => {
test.assertEqual(f('http://www.google.com'), 'google.com');
test.assertEqual(f('https://www.google.com'), 'google.com');
});
- it('test subdomain', function () {
+ it('test subdomain', () => {
test.assertEqual(f('http://mail.google.com'), 'mail.google.com');
test.assertEqual(f('https://mail.google.com'), 'mail.google.com');
});
- it('test specific domain level', function () {
+ it('test specific domain level', () => {
test.assertEqual(f('http://mail.google.com', 3), 'mail');
test.assertEqual(f('https://mail.google.com', 3), 'mail');
});
});
- describe('getParameterByName', function () {
- var f = url.getParameterByName;
- var s;
- it('test valid param against params', function () {
+ describe('getParameterByName', () => {
+ const f = url.getParameterByName;
+ let s;
+ it('test valid param against params', () => {
s = 'http://localhost:8000/?page=16&code=0123456789&';
test.assertEqual(f(s, 'page'), '16');
test.assertEqual(f(s, 'code'), '0123456789');
});
- it('test invalid param against params', function () {
+ it('test invalid param against params', () => {
s = 'http://localhost:8000/?page=16&code=0123456789&';
test.assertEqual(f(s, 'status'), undefined);
});
- it('test invalid param against params with default value', function () {
+ it('test invalid param against params with default value', () => {
s = 'http://localhost:8000/?page=16&code=0123456789&';
test.assertEqual(f(s, 'status', 'none'), 'none');
});
- it('test invalid param against no params ', function () {
+ it('test invalid param against no params ', () => {
s = 'http://localhost:8000/';
test.assertEqual(f(s, 'page'), undefined);
});
- it('test invalid param against no params with default value', function () {
+ it('test invalid param against no params with default value', () => {
s = 'http://localhost:8000/';
test.assertEqual(f(s, 'page', '1'), '1');
});
- it('test invalid param against no params with default value', function () {
- var data = 'QGZhYmlvY2FjY2Ftby91dGlscy5qcw==';
- s = 'http://localhost:8000/index.html?data=' + data;
+ it('test invalid param against no params with default value', () => {
+ const data = 'QGZhYmlvY2FjY2Ftby91dGlscy5qcw==';
+ s = `http://localhost:8000/index.html?data=${data}`;
test.assertEqual(f(s, 'data', null), data);
});
- it('test empty param', function () {
+ it('test empty param', () => {
s = 'http://localhost:8000/?page=&code=&status=&ok=';
test.assertEqual(f(s, 'page'), '');
test.assertEqual(f(s, 'code'), '');
test.assertEqual(f(s, 'status'), '');
test.assertEqual(f(s, 'ok'), '');
});
- it('test empty param with default value', function () {
+ it('test empty param with default value', () => {
s = 'http://localhost:8000/?page=&code=&status=&ok=';
test.assertEqual(f(s, 'page', 'ok'), 'ok');
test.assertEqual(f(s, 'code', 'ok'), 'ok');
test.assertEqual(f(s, 'status', 'ok'), 'ok');
test.assertEqual(f(s, 'ok', 'ok'), 'ok');
});
- it('test empty param (only name)', function () {
+ it('test empty param (only name)', () => {
s = 'http://localhost:8000/?page&code&status&ok';
test.assertEqual(f(s, 'page'), '');
test.assertEqual(f(s, 'code'), '');
test.assertEqual(f(s, 'status'), '');
test.assertEqual(f(s, 'ok'), '');
});
- it('test empty param (only name) with default value', function () {
+ it('test empty param (only name) with default value', () => {
s = 'http://localhost:8000/?page&code&status&ok';
test.assertEqual(f(s, 'page', 'ok'), 'ok');
test.assertEqual(f(s, 'code', 'ok'), 'ok');
@@ -90,36 +90,36 @@ describe('url', function () {
test.assertEqual(f(s, 'ok', 'ok'), 'ok');
});
});
- describe('getParameters', function () {
- var f = url.getParameters;
- var s;
- it('test simple', function () {
+ describe('getParameters', () => {
+ const f = url.getParameters;
+ let s;
+ it('test simple', () => {
s = 'http://localhost:8000/?page=16&code=0123456789&';
test.assertEqual(f(s), { page: '16', code: '0123456789' });
});
- it('test variable with base64 value ending with "="', function () {
- var b64 = 'QGZhYmlvY2FjY2Ftby91dGlscy5qcw==';
- s = 'http://localhost:8000/?data=' + b64 + '&code=0123456789&';
+ it('test variable with base64 value ending with "="', () => {
+ const b64 = 'QGZhYmlvY2FjY2Ftby91dGlscy5qcw==';
+ s = `http://localhost:8000/?data=${b64}&code=0123456789&`;
test.assertEqual(f(s), { data: b64, code: '0123456789' });
});
- it('test url without query string', function () {
+ it('test url without query string', () => {
s = 'http://localhost:8000/';
test.assertEqual(f(s), {});
});
- it('test url with empty query string', function () {
+ it('test url with empty query string', () => {
s = 'http://localhost:8000/?';
test.assertEqual(f(s), {});
});
- it('test url with "=" before query string', function () {
- var b64 = 'QGZhYmlvY2FjY2Ftby91dGlscy5qcw==';
- s = 'http://localhost:8000/page=123?data=' + b64 + '&code=0123456789&';
+ it('test url with "=" before query string', () => {
+ const b64 = 'QGZhYmlvY2FjY2Ftby91dGlscy5qcw==';
+ s = `http://localhost:8000/page=123?data=${b64}&code=0123456789&`;
test.assertEqual(f(s), { data: b64, code: '0123456789' });
});
- it('test url with "?" in param value', function () {
+ it('test url with "?" in param value', () => {
s = 'http://localhost:8000/?code=0123456789?';
test.assertEqual(f(s), { code: '0123456789?' });
});
- it('test url with keys containing - and _', function () {
+ it('test url with keys containing - and _', () => {
s = 'http://localhost:8000/?status-code=1&status_code=2&statuscode=3';
test.assertEqual(f(s), {
'status-code': '1',
@@ -128,84 +128,84 @@ describe('url', function () {
});
});
});
- describe('getParametersString', function () {
- var f = url.getParametersString;
- var s;
- it('test simple', function () {
+ describe('getParametersString', () => {
+ const f = url.getParametersString;
+ let s;
+ it('test simple', () => {
s = 'http://localhost:8000/?page=16&code=0123456789&';
test.assertEqual(f(s), 'page=16&code=0123456789&');
});
- it('test with hash', function () {
+ it('test with hash', () => {
s = 'http://localhost:8000/?page=16&code=0123456789#section=footer';
test.assertEqual(f(s), 'page=16&code=0123456789');
});
});
- describe('getURL', function () {
- var f = url.getURL;
- it('test simple', function () {
+ describe('getURL', () => {
+ const f = url.getURL;
+ it('test simple', () => {
test.assertEqual(f(), '');
});
});
- describe('hasParameter', function () {
- var f = url.hasParameter;
- var s;
- it('test invalid parameter', function () {
+ describe('hasParameter', () => {
+ const f = url.hasParameter;
+ let s;
+ it('test invalid parameter', () => {
s = 'http://localhost:8000/?page=16&code=0123456789';
test.assertEqual(f(s, 'status'), false);
});
- it('test invalid parameter (empty query string)', function () {
+ it('test invalid parameter (empty query string)', () => {
s = 'http://localhost:8000/';
test.assertEqual(f(s, 'status'), false);
});
- it('test valid parameter', function () {
+ it('test valid parameter', () => {
s = 'http://localhost:8000/?page=1&code=10&status=ok';
test.assertEqual(f(s, 'page'), true);
test.assertEqual(f(s, 'code'), true);
test.assertEqual(f(s, 'status'), true);
});
- it('test valid empty param (only =)', function () {
+ it('test valid empty param (only =)', () => {
s = 'http://localhost:8000/?page=&code=&status=&ok=';
test.assertEqual(f(s, 'page'), true);
test.assertEqual(f(s, 'code'), true);
test.assertEqual(f(s, 'status'), true);
});
- it('test valid empty param (only name)', function () {
+ it('test valid empty param (only name)', () => {
s = 'http://localhost:8000/?page&code&status&ok';
test.assertEqual(f(s, 'page'), true);
test.assertEqual(f(s, 'code'), true);
test.assertEqual(f(s, 'status'), true);
});
});
- describe('isFile', function () {
- var f = url.isFile;
- it('test valid urls', function () {
+ describe('isFile', () => {
+ const f = url.isFile;
+ it('test valid urls', () => {
test.assertTrue(f('file://index.html'));
});
- it('test invalid urls', function () {
+ it('test invalid urls', () => {
test.assertFalse(f('http://localhost/'));
});
});
- describe('isHttp', function () {
- var f = url.isHttp;
- it('test valid urls', function () {
+ describe('isHttp', () => {
+ const f = url.isHttp;
+ it('test valid urls', () => {
test.assertTrue(f('http://localhost/'));
});
- it('test invalid urls', function () {
+ it('test invalid urls', () => {
test.assertFalse(f('https://localhost/'));
});
});
- describe('isHttps', function () {
- var f = url.isHttps;
- it('test valid urls', function () {
+ describe('isHttps', () => {
+ const f = url.isHttps;
+ it('test valid urls', () => {
test.assertTrue(f('https://localhost/'));
});
- it('test invalid urls', function () {
+ it('test invalid urls', () => {
test.assertFalse(f('http://localhost/'));
});
});
- describe('isLocalhost', function () {
- var f = url.isLocalhost;
- it('test valid urls', function () {
+ describe('isLocalhost', () => {
+ const f = url.isLocalhost;
+ it('test valid urls', () => {
test.assertTrue(f('http://localhost'));
test.assertTrue(f('http://localhost/'));
test.assertTrue(f('http://localhost:8000'));
@@ -232,7 +232,7 @@ describe('url', function () {
test.assertTrue(f('https://127.0.0.1:8000/'));
test.assertTrue(f('https://127.0.0.1:8000/index.html'));
});
- it('test invalid urls', function () {
+ it('test invalid urls', () => {
test.assertFalse(f('https://localhosts'));
test.assertFalse(f('https://localhosts/'));
test.assertFalse(f('https://localhosts:8000'));
diff --git a/test/test_utf8.js b/test/test_utf8.js
index 2ad2c94..a097fcd 100644
--- a/test/test_utf8.js
+++ b/test/test_utf8.js
@@ -1,10 +1,10 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var utf8 = utils.utf8;
+import utils from '../src/utils.js';
+const test = utils.test;
+const utf8 = utils.utf8;
-describe('utf8', function () {
- describe('decode', function () {
- it('complex', function () {
+describe('utf8', () => {
+ describe('decode', () => {
+ it('complex', () => {
test.assertEqual(
utf8.decode(
'\x46\x6F\x6F\x20\xC2\xA9\x20\x62\x61\x72\x20\xF0\x9D\x8C\x86\x20\x62\x61\x7A\x20\xE2\x98\x83\x20\x71\x75\x78'
@@ -13,8 +13,8 @@ describe('utf8', function () {
);
});
});
- describe('encode', function () {
- it('complex', function () {
+ describe('encode', () => {
+ it('complex', () => {
test.assertEqual(
utf8.encode('Foo © bar 𝌆 baz ☃ qux'),
'\x46\x6F\x6F\x20\xC2\xA9\x20\x62\x61\x72\x20\xF0\x9D\x8C\x86\x20\x62\x61\x7A\x20\xE2\x98\x83\x20\x71\x75\x78'
diff --git a/test/test_xml.js b/test/test_xml.js
index fda735a..53662c6 100644
--- a/test/test_xml.js
+++ b/test/test_xml.js
@@ -1,11 +1,11 @@
-var utils = require('../dist/utils.js');
-var test = utils.test;
-var xml = utils.xml;
+import utils from '../src/utils.js';
+const test = utils.test;
+const xml = utils.xml;
-describe('xml', function () {
- describe('removeNamespaces', function () {
- it('test simple', function () {
- var s = '';
+describe('xml', () => {
+ describe('removeNamespaces', () => {
+ it('test simple', () => {
+ let s = '';
s +=
'';
s += '';
@@ -21,7 +21,7 @@ describe('xml', function () {
s += '';
s += '';
- var r = '';
+ let r = '';
r +=
'';
r += '