@@ -43,14 +45,12 @@ class TxSending extends React.Component {
- {currentSymbol}
- {displayValue}
+
{'≈'}
- {'$'}
- {(displayValue * etherUSD).toFixed(2)}
+
diff --git a/app/App/Account/Account/Requests/TransactionRequest/TxMainNew/overview.js b/app/App/Account/Account/Requests/TransactionRequest/TxMainNew/overview.js
index 7e4db9e4e..95e26d952 100644
--- a/app/App/Account/Account/Requests/TransactionRequest/TxMainNew/overview.js
+++ b/app/App/Account/Account/Requests/TransactionRequest/TxMainNew/overview.js
@@ -1,12 +1,12 @@
import React from 'react'
-import { utils } from 'ethers'
import link from '../../../../../../../resources/link'
import EnsOverview from '../../Ens'
import svg from '../../../../../../../resources/svg'
-import { ClusterBox, Cluster, ClusterRow, ClusterValue } from '../../../../../../../resources/Components/Cluster'
+import { Cluster, ClusterRow, ClusterValue } from '../../../../../../../resources/Components/Cluster'
+import { DisplayValue } from '../../../../../../../resources/Components/DisplayValue'
const isNonZeroHex = (hex) => !!hex && !['0x', '0x0'].includes(hex)
@@ -44,10 +44,11 @@ const TxDescription = ({ chain, children, chainColor }) => (
)
const SendOverview = ({ amountHex, decimals, symbol }) => {
- const displayAmount = utils.formatUnits(amountHex, decimals)
-
return (
-
{`Send ${displayAmount} ${symbol}`}
+
+ {'Send'}
+
+
)
}
diff --git a/package-lock.json b/package-lock.json
index 1fdc5ed0c..72d33a332 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -79,7 +79,7 @@
"@nomiclabs/hardhat-ethers": "^2.1.1",
"@nomiclabs/hardhat-waffle": "2.0.3",
"@sentry/types": "7.14.0",
- "@testing-library/dom": "8.18.1",
+ "@testing-library/dom": "8.19.0",
"@testing-library/react": "13.4.0",
"@testing-library/user-event": "14.4.3",
"@types/cookie": "0.5.1",
@@ -99,8 +99,8 @@
"ethereum-waffle": "3.4.4",
"ethers": "5.7.1",
"hardhat": "2.11.2",
- "jest": "29.1.1",
- "jest-environment-jsdom": "29.1.1",
+ "jest": "29.3.1",
+ "jest-environment-jsdom": "29.3.1",
"nock": "13.2.9",
"node-abi": "3.25.0",
"node-gyp": "9.1.0",
@@ -4022,16 +4022,16 @@
}
},
"node_modules/@jest/console": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz",
- "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz",
+ "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1",
"slash": "^3.0.0"
},
"engines": {
@@ -4109,37 +4109,37 @@
}
},
"node_modules/@jest/core": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz",
- "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz",
+ "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==",
"dev": true,
"dependencies": {
- "@jest/console": "^29.1.2",
- "@jest/reporters": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/reporters": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.9",
- "jest-changed-files": "^29.0.0",
- "jest-config": "^29.1.2",
- "jest-haste-map": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-regex-util": "^29.0.0",
- "jest-resolve": "^29.1.2",
- "jest-resolve-dependencies": "^29.1.2",
- "jest-runner": "^29.1.2",
- "jest-runtime": "^29.1.2",
- "jest-snapshot": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
- "jest-watcher": "^29.1.2",
+ "jest-changed-files": "^29.2.0",
+ "jest-config": "^29.3.1",
+ "jest-haste-map": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-regex-util": "^29.2.0",
+ "jest-resolve": "^29.3.1",
+ "jest-resolve-dependencies": "^29.3.1",
+ "jest-runner": "^29.3.1",
+ "jest-runtime": "^29.3.1",
+ "jest-snapshot": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
+ "jest-watcher": "^29.3.1",
"micromatch": "^4.0.4",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"strip-ansi": "^6.0.0"
},
@@ -4187,10 +4187,13 @@
}
},
"node_modules/@jest/core/node_modules/ci-info": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
- "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==",
- "dev": true
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz",
+ "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
"node_modules/@jest/core/node_modules/color-convert": {
"version": "2.0.1",
@@ -4220,9 +4223,9 @@
}
},
"node_modules/@jest/core/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -4264,88 +4267,88 @@
}
},
"node_modules/@jest/environment": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz",
- "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz",
+ "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==",
"dev": true,
"dependencies": {
- "@jest/fake-timers": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
- "jest-mock": "^29.1.2"
+ "jest-mock": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/expect": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz",
- "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz",
+ "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==",
"dev": true,
"dependencies": {
- "expect": "^29.1.2",
- "jest-snapshot": "^29.1.2"
+ "expect": "^29.3.1",
+ "jest-snapshot": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/expect-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz",
- "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz",
+ "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==",
"dev": true,
"dependencies": {
- "jest-get-type": "^29.0.0"
+ "jest-get-type": "^29.2.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/fake-timers": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz",
- "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz",
+ "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@sinonjs/fake-timers": "^9.1.2",
"@types/node": "*",
- "jest-message-util": "^29.1.2",
- "jest-mock": "^29.1.2",
- "jest-util": "^29.1.2"
+ "jest-message-util": "^29.3.1",
+ "jest-mock": "^29.3.1",
+ "jest-util": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/globals": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz",
- "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz",
+ "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==",
"dev": true,
"dependencies": {
- "@jest/environment": "^29.1.2",
- "@jest/expect": "^29.1.2",
- "@jest/types": "^29.1.2",
- "jest-mock": "^29.1.2"
+ "@jest/environment": "^29.3.1",
+ "@jest/expect": "^29.3.1",
+ "@jest/types": "^29.3.1",
+ "jest-mock": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/reporters": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz",
- "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz",
+ "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==",
"dev": true,
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@jridgewell/trace-mapping": "^0.3.15",
"@types/node": "*",
"chalk": "^4.0.0",
@@ -4358,13 +4361,12 @@
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
"istanbul-reports": "^3.1.3",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-worker": "^29.1.2",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-worker": "^29.3.1",
"slash": "^3.0.0",
"string-length": "^4.0.1",
"strip-ansi": "^6.0.0",
- "terminal-link": "^2.0.0",
"v8-to-istanbul": "^9.0.1"
},
"engines": {
@@ -4462,9 +4464,9 @@
}
},
"node_modules/@jest/source-map": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz",
- "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz",
+ "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==",
"dev": true,
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.15",
@@ -4476,13 +4478,13 @@
}
},
"node_modules/@jest/test-result": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz",
- "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz",
+ "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==",
"dev": true,
"dependencies": {
- "@jest/console": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
},
@@ -4491,14 +4493,14 @@
}
},
"node_modules/@jest/test-sequencer": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz",
- "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz",
+ "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==",
"dev": true,
"dependencies": {
- "@jest/test-result": "^29.1.2",
+ "@jest/test-result": "^29.3.1",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
"slash": "^3.0.0"
},
"engines": {
@@ -4506,22 +4508,22 @@
}
},
"node_modules/@jest/transform": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz",
- "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz",
+ "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==",
"dev": true,
"dependencies": {
"@babel/core": "^7.11.6",
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@jridgewell/trace-mapping": "^0.3.15",
"babel-plugin-istanbul": "^6.1.1",
"chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
+ "convert-source-map": "^2.0.0",
"fast-json-stable-stringify": "^2.1.0",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
- "jest-regex-util": "^29.0.0",
- "jest-util": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
+ "jest-regex-util": "^29.2.0",
+ "jest-util": "^29.3.1",
"micromatch": "^4.0.4",
"pirates": "^4.0.4",
"slash": "^3.0.0",
@@ -4580,6 +4582,12 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/@jest/transform/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
"node_modules/@jest/transform/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -4602,9 +4610,9 @@
}
},
"node_modules/@jest/types": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz",
- "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz",
+ "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -7117,9 +7125,9 @@
}
},
"node_modules/@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz",
+ "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==",
"dev": true,
"dependencies": {
"type-detect": "4.0.8"
@@ -7155,9 +7163,9 @@
}
},
"node_modules/@testing-library/dom": {
- "version": "8.18.1",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.18.1.tgz",
- "integrity": "sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz",
+ "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
@@ -7742,9 +7750,9 @@
"dev": true
},
"node_modules/@types/babel__core": {
- "version": "7.1.19",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
- "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
+ "version": "7.1.20",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz",
+ "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.1.0",
@@ -9400,15 +9408,15 @@
}
},
"node_modules/babel-jest": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz",
- "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz",
+ "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==",
"dev": true,
"dependencies": {
- "@jest/transform": "^29.1.2",
+ "@jest/transform": "^29.3.1",
"@types/babel__core": "^7.1.14",
"babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^29.0.2",
+ "babel-preset-jest": "^29.2.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"slash": "^3.0.0"
@@ -9524,9 +9532,9 @@
}
},
"node_modules/babel-plugin-jest-hoist": {
- "version": "29.0.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz",
- "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz",
+ "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==",
"dev": true,
"dependencies": {
"@babel/template": "^7.3.3",
@@ -9628,12 +9636,12 @@
}
},
"node_modules/babel-preset-jest": {
- "version": "29.0.2",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz",
- "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz",
+ "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==",
"dev": true,
"dependencies": {
- "babel-plugin-jest-hoist": "^29.0.2",
+ "babel-plugin-jest-hoist": "^29.2.0",
"babel-preset-current-node-syntax": "^1.0.0"
},
"engines": {
@@ -12934,9 +12942,9 @@
}
},
"node_modules/diff-sequences": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz",
- "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz",
+ "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -13639,9 +13647,9 @@
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
},
"node_modules/emittery": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz",
- "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==",
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
"dev": true,
"engines": {
"node": ">=12"
@@ -15452,16 +15460,16 @@
}
},
"node_modules/expect": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz",
- "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz",
+ "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==",
"dev": true,
"dependencies": {
- "@jest/expect-utils": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2"
+ "@jest/expect-utils": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "jest-matcher-utils": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -28533,15 +28541,15 @@
}
},
"node_modules/jest": {
- "version": "29.1.1",
- "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz",
- "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz",
+ "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==",
"dev": true,
"dependencies": {
- "@jest/core": "^29.1.1",
- "@jest/types": "^29.1.0",
+ "@jest/core": "^29.3.1",
+ "@jest/types": "^29.3.1",
"import-local": "^3.0.2",
- "jest-cli": "^29.1.1"
+ "jest-cli": "^29.3.1"
},
"bin": {
"jest": "bin/jest.js"
@@ -28559,9 +28567,9 @@
}
},
"node_modules/jest-changed-files": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz",
- "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz",
+ "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==",
"dev": true,
"dependencies": {
"execa": "^5.0.0",
@@ -28572,28 +28580,28 @@
}
},
"node_modules/jest-circus": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz",
- "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz",
+ "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==",
"dev": true,
"dependencies": {
- "@jest/environment": "^29.1.2",
- "@jest/expect": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/environment": "^29.3.1",
+ "@jest/expect": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"dedent": "^0.7.0",
"is-generator-fn": "^2.0.0",
- "jest-each": "^29.1.2",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-runtime": "^29.1.2",
- "jest-snapshot": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-each": "^29.3.1",
+ "jest-matcher-utils": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-runtime": "^29.3.1",
+ "jest-snapshot": "^29.3.1",
+ "jest-util": "^29.3.1",
"p-limit": "^3.1.0",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -28660,9 +28668,9 @@
}
},
"node_modules/jest-circus/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -28704,21 +28712,21 @@
}
},
"node_modules/jest-cli": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz",
- "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz",
+ "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==",
"dev": true,
"dependencies": {
- "@jest/core": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/core": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/types": "^29.3.1",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.9",
"import-local": "^3.0.2",
- "jest-config": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
+ "jest-config": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
"prompts": "^2.0.1",
"yargs": "^17.3.1"
},
@@ -28822,9 +28830,9 @@
}
},
"node_modules/jest-cli/node_modules/yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
+ "version": "17.6.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz",
+ "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==",
"dev": true,
"dependencies": {
"cliui": "^8.0.1",
@@ -28833,7 +28841,7 @@
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
+ "yargs-parser": "^21.1.1"
},
"engines": {
"node": ">=12"
@@ -28849,31 +28857,31 @@
}
},
"node_modules/jest-config": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz",
- "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz",
+ "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==",
"dev": true,
"dependencies": {
"@babel/core": "^7.11.6",
- "@jest/test-sequencer": "^29.1.2",
- "@jest/types": "^29.1.2",
- "babel-jest": "^29.1.2",
+ "@jest/test-sequencer": "^29.3.1",
+ "@jest/types": "^29.3.1",
+ "babel-jest": "^29.3.1",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.9",
- "jest-circus": "^29.1.2",
- "jest-environment-node": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-regex-util": "^29.0.0",
- "jest-resolve": "^29.1.2",
- "jest-runner": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
+ "jest-circus": "^29.3.1",
+ "jest-environment-node": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "jest-regex-util": "^29.2.0",
+ "jest-resolve": "^29.3.1",
+ "jest-runner": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
"micromatch": "^4.0.4",
"parse-json": "^5.2.0",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"strip-json-comments": "^3.1.1"
},
@@ -28925,10 +28933,13 @@
}
},
"node_modules/jest-config/node_modules/ci-info": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
- "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==",
- "dev": true
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz",
+ "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
"node_modules/jest-config/node_modules/color-convert": {
"version": "2.0.1",
@@ -28958,9 +28969,9 @@
}
},
"node_modules/jest-config/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -29002,15 +29013,15 @@
}
},
"node_modules/jest-diff": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz",
- "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz",
+ "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
- "diff-sequences": "^29.0.0",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "diff-sequences": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -29075,9 +29086,9 @@
}
},
"node_modules/jest-diff/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -29119,9 +29130,9 @@
}
},
"node_modules/jest-docblock": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz",
- "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz",
+ "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==",
"dev": true,
"dependencies": {
"detect-newline": "^3.0.0"
@@ -29131,16 +29142,16 @@
}
},
"node_modules/jest-each": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz",
- "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz",
+ "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"chalk": "^4.0.0",
- "jest-get-type": "^29.0.0",
- "jest-util": "^29.1.2",
- "pretty-format": "^29.1.2"
+ "jest-get-type": "^29.2.0",
+ "jest-util": "^29.3.1",
+ "pretty-format": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -29205,9 +29216,9 @@
}
},
"node_modules/jest-each/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -29249,65 +29260,73 @@
}
},
"node_modules/jest-environment-jsdom": {
- "version": "29.1.1",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.1.1.tgz",
- "integrity": "sha512-bXmOu26O4W/pszWgaUNCfFBMy8hqSz/SOcGKhqJ2ICYlNEUAXBk77eYkO57/Pmn9kNXVG18A8xwVQlZAzZzJ7Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.3.1.tgz",
+ "integrity": "sha512-G46nKgiez2Gy4zvYNhayfMEAFlVHhWfncqvqS6yCd0i+a4NsSUD2WtrKSaYQrYiLQaupHXxCRi8xxVL2M9PbhA==",
"dev": true,
"dependencies": {
- "@jest/environment": "^29.1.1",
- "@jest/fake-timers": "^29.1.1",
- "@jest/types": "^29.1.0",
+ "@jest/environment": "^29.3.1",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/jsdom": "^20.0.0",
"@types/node": "*",
- "jest-mock": "^29.1.1",
- "jest-util": "^29.1.0",
+ "jest-mock": "^29.3.1",
+ "jest-util": "^29.3.1",
"jsdom": "^20.0.0"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
}
},
"node_modules/jest-environment-node": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz",
- "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz",
+ "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==",
"dev": true,
"dependencies": {
- "@jest/environment": "^29.1.2",
- "@jest/fake-timers": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/environment": "^29.3.1",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
- "jest-mock": "^29.1.2",
- "jest-util": "^29.1.2"
+ "jest-mock": "^29.3.1",
+ "jest-util": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/jest-haste-map": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz",
- "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz",
+ "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/graceful-fs": "^4.1.3",
"@types/node": "*",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
"graceful-fs": "^4.2.9",
- "jest-regex-util": "^29.0.0",
- "jest-util": "^29.1.2",
- "jest-worker": "^29.1.2",
+ "jest-regex-util": "^29.2.0",
+ "jest-util": "^29.3.1",
+ "jest-worker": "^29.3.1",
"micromatch": "^4.0.4",
"walker": "^1.0.8"
},
@@ -29319,13 +29338,13 @@
}
},
"node_modules/jest-leak-detector": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz",
- "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz",
+ "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==",
"dev": true,
"dependencies": {
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -29344,9 +29363,9 @@
}
},
"node_modules/jest-leak-detector/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -29364,15 +29383,15 @@
"dev": true
},
"node_modules/jest-matcher-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz",
- "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz",
+ "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
- "jest-diff": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "jest-diff": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -29437,9 +29456,9 @@
}
},
"node_modules/jest-matcher-utils/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -29481,18 +29500,18 @@
}
},
"node_modules/jest-message-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz",
- "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz",
+ "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.12.13",
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -29559,9 +29578,9 @@
}
},
"node_modules/jest-message-util/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -29603,23 +29622,23 @@
}
},
"node_modules/jest-mock": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz",
- "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz",
+ "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
- "jest-util": "^29.1.2"
+ "jest-util": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/jest-pnp-resolver": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+ "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
"engines": {
"node": ">=6"
@@ -29634,26 +29653,26 @@
}
},
"node_modules/jest-regex-util": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz",
- "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz",
+ "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==",
"dev": true,
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/jest-resolve": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz",
- "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz",
+ "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==",
"dev": true,
"dependencies": {
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
"jest-pnp-resolver": "^1.2.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
"resolve": "^1.20.0",
"resolve.exports": "^1.1.0",
"slash": "^3.0.0"
@@ -29663,13 +29682,13 @@
}
},
"node_modules/jest-resolve-dependencies": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz",
- "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz",
+ "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==",
"dev": true,
"dependencies": {
- "jest-regex-util": "^29.0.0",
- "jest-snapshot": "^29.1.2"
+ "jest-regex-util": "^29.2.0",
+ "jest-snapshot": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -29746,30 +29765,30 @@
}
},
"node_modules/jest-runner": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz",
- "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz",
+ "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==",
"dev": true,
"dependencies": {
- "@jest/console": "^29.1.2",
- "@jest/environment": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/environment": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "emittery": "^0.10.2",
+ "emittery": "^0.13.1",
"graceful-fs": "^4.2.9",
- "jest-docblock": "^29.0.0",
- "jest-environment-node": "^29.1.2",
- "jest-haste-map": "^29.1.2",
- "jest-leak-detector": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-resolve": "^29.1.2",
- "jest-runtime": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-watcher": "^29.1.2",
- "jest-worker": "^29.1.2",
+ "jest-docblock": "^29.2.0",
+ "jest-environment-node": "^29.3.1",
+ "jest-haste-map": "^29.3.1",
+ "jest-leak-detector": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-resolve": "^29.3.1",
+ "jest-runtime": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-watcher": "^29.3.1",
+ "jest-worker": "^29.3.1",
"p-limit": "^3.1.0",
"source-map-support": "0.5.13"
},
@@ -29858,31 +29877,31 @@
}
},
"node_modules/jest-runtime": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz",
- "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^29.1.2",
- "@jest/fake-timers": "^29.1.2",
- "@jest/globals": "^29.1.2",
- "@jest/source-map": "^29.0.0",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz",
+ "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.3.1",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/globals": "^29.3.1",
+ "@jest/source-map": "^29.2.0",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
"cjs-module-lexer": "^1.0.0",
"collect-v8-coverage": "^1.0.0",
"glob": "^7.1.3",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-mock": "^29.1.2",
- "jest-regex-util": "^29.0.0",
- "jest-resolve": "^29.1.2",
- "jest-snapshot": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-mock": "^29.3.1",
+ "jest-regex-util": "^29.2.0",
+ "jest-resolve": "^29.3.1",
+ "jest-snapshot": "^29.3.1",
+ "jest-util": "^29.3.1",
"slash": "^3.0.0",
"strip-bom": "^4.0.0"
},
@@ -29961,9 +29980,9 @@
}
},
"node_modules/jest-snapshot": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz",
- "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz",
+ "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==",
"dev": true,
"dependencies": {
"@babel/core": "^7.11.6",
@@ -29972,23 +29991,23 @@
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.3.3",
- "@jest/expect-utils": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/expect-utils": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/babel__traverse": "^7.0.6",
"@types/prettier": "^2.1.5",
"babel-preset-current-node-syntax": "^1.0.0",
"chalk": "^4.0.0",
- "expect": "^29.1.2",
+ "expect": "^29.3.1",
"graceful-fs": "^4.2.9",
- "jest-diff": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-haste-map": "^29.1.2",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-diff": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "jest-haste-map": "^29.3.1",
+ "jest-matcher-utils": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1",
"natural-compare": "^1.4.0",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"semver": "^7.3.5"
},
"engines": {
@@ -30054,9 +30073,9 @@
}
},
"node_modules/jest-snapshot/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -30098,12 +30117,12 @@
}
},
"node_modules/jest-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz",
- "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz",
+ "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
@@ -30191,17 +30210,17 @@
}
},
"node_modules/jest-validate": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz",
- "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz",
+ "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
- "jest-get-type": "^29.0.0",
+ "jest-get-type": "^29.2.0",
"leven": "^3.1.0",
- "pretty-format": "^29.1.2"
+ "pretty-format": "^29.3.1"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -30278,9 +30297,9 @@
}
},
"node_modules/jest-validate/node_modules/pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"dependencies": {
"@jest/schemas": "^29.0.0",
@@ -30322,18 +30341,18 @@
}
},
"node_modules/jest-watcher": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz",
- "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz",
+ "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==",
"dev": true,
"dependencies": {
- "@jest/test-result": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/test-result": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "emittery": "^0.10.2",
- "jest-util": "^29.1.2",
+ "emittery": "^0.13.1",
+ "jest-util": "^29.3.1",
"string-length": "^4.0.1"
},
"engines": {
@@ -30411,13 +30430,13 @@
}
},
"node_modules/jest-worker": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz",
- "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz",
+ "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==",
"dev": true,
"dependencies": {
"@types/node": "*",
- "jest-util": "^29.1.2",
+ "jest-util": "^29.3.1",
"merge-stream": "^2.0.0",
"supports-color": "^8.0.0"
},
@@ -39309,40 +39328,6 @@
"node": ">=4"
}
},
- "node_modules/supports-hyperlinks": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
- "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-hyperlinks/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/supports-hyperlinks/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/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -39896,22 +39881,6 @@
"fs-extra": "^10.0.0"
}
},
- "node_modules/terminal-link": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
- "dev": true,
- "dependencies": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/terser": {
"version": "3.17.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
@@ -45847,16 +45816,16 @@
"dev": true
},
"@jest/console": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz",
- "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz",
+ "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1",
"slash": "^3.0.0"
},
"dependencies": {
@@ -45912,37 +45881,37 @@
}
},
"@jest/core": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz",
- "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz",
+ "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==",
"dev": true,
"requires": {
- "@jest/console": "^29.1.2",
- "@jest/reporters": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/reporters": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.9",
- "jest-changed-files": "^29.0.0",
- "jest-config": "^29.1.2",
- "jest-haste-map": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-regex-util": "^29.0.0",
- "jest-resolve": "^29.1.2",
- "jest-resolve-dependencies": "^29.1.2",
- "jest-runner": "^29.1.2",
- "jest-runtime": "^29.1.2",
- "jest-snapshot": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
- "jest-watcher": "^29.1.2",
+ "jest-changed-files": "^29.2.0",
+ "jest-config": "^29.3.1",
+ "jest-haste-map": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-regex-util": "^29.2.0",
+ "jest-resolve": "^29.3.1",
+ "jest-resolve-dependencies": "^29.3.1",
+ "jest-runner": "^29.3.1",
+ "jest-runtime": "^29.3.1",
+ "jest-snapshot": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
+ "jest-watcher": "^29.3.1",
"micromatch": "^4.0.4",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"strip-ansi": "^6.0.0"
},
@@ -45967,9 +45936,9 @@
}
},
"ci-info": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
- "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz",
+ "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==",
"dev": true
},
"color-convert": {
@@ -45994,9 +45963,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -46030,73 +45999,73 @@
}
},
"@jest/environment": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz",
- "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz",
+ "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
- "jest-mock": "^29.1.2"
+ "jest-mock": "^29.3.1"
}
},
"@jest/expect": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz",
- "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz",
+ "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==",
"dev": true,
"requires": {
- "expect": "^29.1.2",
- "jest-snapshot": "^29.1.2"
+ "expect": "^29.3.1",
+ "jest-snapshot": "^29.3.1"
}
},
"@jest/expect-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz",
- "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz",
+ "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==",
"dev": true,
"requires": {
- "jest-get-type": "^29.0.0"
+ "jest-get-type": "^29.2.0"
}
},
"@jest/fake-timers": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz",
- "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz",
+ "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@sinonjs/fake-timers": "^9.1.2",
"@types/node": "*",
- "jest-message-util": "^29.1.2",
- "jest-mock": "^29.1.2",
- "jest-util": "^29.1.2"
+ "jest-message-util": "^29.3.1",
+ "jest-mock": "^29.3.1",
+ "jest-util": "^29.3.1"
}
},
"@jest/globals": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz",
- "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz",
+ "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==",
"dev": true,
"requires": {
- "@jest/environment": "^29.1.2",
- "@jest/expect": "^29.1.2",
- "@jest/types": "^29.1.2",
- "jest-mock": "^29.1.2"
+ "@jest/environment": "^29.3.1",
+ "@jest/expect": "^29.3.1",
+ "@jest/types": "^29.3.1",
+ "jest-mock": "^29.3.1"
}
},
"@jest/reporters": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz",
- "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz",
+ "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@jridgewell/trace-mapping": "^0.3.15",
"@types/node": "*",
"chalk": "^4.0.0",
@@ -46109,13 +46078,12 @@
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
"istanbul-reports": "^3.1.3",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-worker": "^29.1.2",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-worker": "^29.3.1",
"slash": "^3.0.0",
"string-length": "^4.0.1",
"strip-ansi": "^6.0.0",
- "terminal-link": "^2.0.0",
"v8-to-istanbul": "^9.0.1"
},
"dependencies": {
@@ -46180,9 +46148,9 @@
}
},
"@jest/source-map": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz",
- "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz",
+ "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==",
"dev": true,
"requires": {
"@jridgewell/trace-mapping": "^0.3.15",
@@ -46191,46 +46159,46 @@
}
},
"@jest/test-result": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz",
- "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz",
+ "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==",
"dev": true,
"requires": {
- "@jest/console": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
}
},
"@jest/test-sequencer": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz",
- "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz",
+ "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==",
"dev": true,
"requires": {
- "@jest/test-result": "^29.1.2",
+ "@jest/test-result": "^29.3.1",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
"slash": "^3.0.0"
}
},
"@jest/transform": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz",
- "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz",
+ "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==",
"dev": true,
"requires": {
"@babel/core": "^7.11.6",
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@jridgewell/trace-mapping": "^0.3.15",
"babel-plugin-istanbul": "^6.1.1",
"chalk": "^4.0.0",
- "convert-source-map": "^1.4.0",
+ "convert-source-map": "^2.0.0",
"fast-json-stable-stringify": "^2.1.0",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
- "jest-regex-util": "^29.0.0",
- "jest-util": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
+ "jest-regex-util": "^29.2.0",
+ "jest-util": "^29.3.1",
"micromatch": "^4.0.4",
"pirates": "^4.0.4",
"slash": "^3.0.0",
@@ -46271,6 +46239,12 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -46289,9 +46263,9 @@
}
},
"@jest/types": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz",
- "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz",
+ "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -48357,9 +48331,9 @@
"dev": true
},
"@sinonjs/commons": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
- "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz",
+ "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==",
"dev": true,
"requires": {
"type-detect": "4.0.8"
@@ -48392,9 +48366,9 @@
}
},
"@testing-library/dom": {
- "version": "8.18.1",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.18.1.tgz",
- "integrity": "sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz",
+ "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
@@ -48936,9 +48910,9 @@
"dev": true
},
"@types/babel__core": {
- "version": "7.1.19",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz",
- "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==",
+ "version": "7.1.20",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz",
+ "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==",
"dev": true,
"requires": {
"@babel/parser": "^7.1.0",
@@ -50373,15 +50347,15 @@
}
},
"babel-jest": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz",
- "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz",
+ "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==",
"dev": true,
"requires": {
- "@jest/transform": "^29.1.2",
+ "@jest/transform": "^29.3.1",
"@types/babel__core": "^7.1.14",
"babel-plugin-istanbul": "^6.1.1",
- "babel-preset-jest": "^29.0.2",
+ "babel-preset-jest": "^29.2.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"slash": "^3.0.0"
@@ -50469,9 +50443,9 @@
}
},
"babel-plugin-jest-hoist": {
- "version": "29.0.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz",
- "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz",
+ "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==",
"dev": true,
"requires": {
"@babel/template": "^7.3.3",
@@ -50557,12 +50531,12 @@
}
},
"babel-preset-jest": {
- "version": "29.0.2",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz",
- "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz",
+ "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==",
"dev": true,
"requires": {
- "babel-plugin-jest-hoist": "^29.0.2",
+ "babel-plugin-jest-hoist": "^29.2.0",
"babel-preset-current-node-syntax": "^1.0.0"
}
},
@@ -53185,9 +53159,9 @@
"dev": true
},
"diff-sequences": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz",
- "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz",
+ "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==",
"dev": true
},
"diffie-hellman": {
@@ -53753,9 +53727,9 @@
}
},
"emittery": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz",
- "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==",
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
"dev": true
},
"emoji-regex": {
@@ -55281,16 +55255,16 @@
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
},
"expect": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz",
- "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz",
+ "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==",
"dev": true,
"requires": {
- "@jest/expect-utils": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2"
+ "@jest/expect-utils": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "jest-matcher-utils": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1"
}
},
"express": {
@@ -65325,21 +65299,21 @@
}
},
"jest": {
- "version": "29.1.1",
- "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz",
- "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz",
+ "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==",
"dev": true,
"requires": {
- "@jest/core": "^29.1.1",
- "@jest/types": "^29.1.0",
+ "@jest/core": "^29.3.1",
+ "@jest/types": "^29.3.1",
"import-local": "^3.0.2",
- "jest-cli": "^29.1.1"
+ "jest-cli": "^29.3.1"
}
},
"jest-changed-files": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz",
- "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz",
+ "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==",
"dev": true,
"requires": {
"execa": "^5.0.0",
@@ -65347,28 +65321,28 @@
}
},
"jest-circus": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz",
- "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz",
+ "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==",
"dev": true,
"requires": {
- "@jest/environment": "^29.1.2",
- "@jest/expect": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/environment": "^29.3.1",
+ "@jest/expect": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
"co": "^4.6.0",
"dedent": "^0.7.0",
"is-generator-fn": "^2.0.0",
- "jest-each": "^29.1.2",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-runtime": "^29.1.2",
- "jest-snapshot": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-each": "^29.3.1",
+ "jest-matcher-utils": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-runtime": "^29.3.1",
+ "jest-snapshot": "^29.3.1",
+ "jest-util": "^29.3.1",
"p-limit": "^3.1.0",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -65414,9 +65388,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -65450,21 +65424,21 @@
}
},
"jest-cli": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz",
- "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz",
+ "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==",
"dev": true,
"requires": {
- "@jest/core": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/core": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/types": "^29.3.1",
"chalk": "^4.0.0",
"exit": "^0.1.2",
"graceful-fs": "^4.2.9",
"import-local": "^3.0.2",
- "jest-config": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
+ "jest-config": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
"prompts": "^2.0.1",
"yargs": "^17.3.1"
},
@@ -65530,9 +65504,9 @@
}
},
"yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
+ "version": "17.6.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz",
+ "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==",
"dev": true,
"requires": {
"cliui": "^8.0.1",
@@ -65541,7 +65515,7 @@
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
+ "yargs-parser": "^21.1.1"
}
},
"yargs-parser": {
@@ -65553,31 +65527,31 @@
}
},
"jest-config": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz",
- "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz",
+ "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==",
"dev": true,
"requires": {
"@babel/core": "^7.11.6",
- "@jest/test-sequencer": "^29.1.2",
- "@jest/types": "^29.1.2",
- "babel-jest": "^29.1.2",
+ "@jest/test-sequencer": "^29.3.1",
+ "@jest/types": "^29.3.1",
+ "babel-jest": "^29.3.1",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.3",
"graceful-fs": "^4.2.9",
- "jest-circus": "^29.1.2",
- "jest-environment-node": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-regex-util": "^29.0.0",
- "jest-resolve": "^29.1.2",
- "jest-runner": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
+ "jest-circus": "^29.3.1",
+ "jest-environment-node": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "jest-regex-util": "^29.2.0",
+ "jest-resolve": "^29.3.1",
+ "jest-runner": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
"micromatch": "^4.0.4",
"parse-json": "^5.2.0",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"strip-json-comments": "^3.1.1"
},
@@ -65602,9 +65576,9 @@
}
},
"ci-info": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz",
- "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz",
+ "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==",
"dev": true
},
"color-convert": {
@@ -65629,9 +65603,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -65665,15 +65639,15 @@
}
},
"jest-diff": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz",
- "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz",
+ "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "diff-sequences": "^29.0.0",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "diff-sequences": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.3.1"
},
"dependencies": {
"ansi-styles": {
@@ -65717,9 +65691,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -65753,25 +65727,25 @@
}
},
"jest-docblock": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz",
- "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz",
+ "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==",
"dev": true,
"requires": {
"detect-newline": "^3.0.0"
}
},
"jest-each": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz",
- "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz",
+ "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"chalk": "^4.0.0",
- "jest-get-type": "^29.0.0",
- "jest-util": "^29.1.2",
- "pretty-format": "^29.1.2"
+ "jest-get-type": "^29.2.0",
+ "jest-util": "^29.3.1",
+ "pretty-format": "^29.3.1"
},
"dependencies": {
"ansi-styles": {
@@ -65815,9 +65789,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -65851,69 +65825,69 @@
}
},
"jest-environment-jsdom": {
- "version": "29.1.1",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.1.1.tgz",
- "integrity": "sha512-bXmOu26O4W/pszWgaUNCfFBMy8hqSz/SOcGKhqJ2ICYlNEUAXBk77eYkO57/Pmn9kNXVG18A8xwVQlZAzZzJ7Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.3.1.tgz",
+ "integrity": "sha512-G46nKgiez2Gy4zvYNhayfMEAFlVHhWfncqvqS6yCd0i+a4NsSUD2WtrKSaYQrYiLQaupHXxCRi8xxVL2M9PbhA==",
"dev": true,
"requires": {
- "@jest/environment": "^29.1.1",
- "@jest/fake-timers": "^29.1.1",
- "@jest/types": "^29.1.0",
+ "@jest/environment": "^29.3.1",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/jsdom": "^20.0.0",
"@types/node": "*",
- "jest-mock": "^29.1.1",
- "jest-util": "^29.1.0",
+ "jest-mock": "^29.3.1",
+ "jest-util": "^29.3.1",
"jsdom": "^20.0.0"
}
},
"jest-environment-node": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz",
- "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz",
+ "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==",
"dev": true,
"requires": {
- "@jest/environment": "^29.1.2",
- "@jest/fake-timers": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/environment": "^29.3.1",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
- "jest-mock": "^29.1.2",
- "jest-util": "^29.1.2"
+ "jest-mock": "^29.3.1",
+ "jest-util": "^29.3.1"
}
},
"jest-get-type": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz",
- "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz",
+ "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==",
"dev": true
},
"jest-haste-map": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz",
- "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz",
+ "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/graceful-fs": "^4.1.3",
"@types/node": "*",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
"fsevents": "^2.3.2",
"graceful-fs": "^4.2.9",
- "jest-regex-util": "^29.0.0",
- "jest-util": "^29.1.2",
- "jest-worker": "^29.1.2",
+ "jest-regex-util": "^29.2.0",
+ "jest-util": "^29.3.1",
+ "jest-worker": "^29.3.1",
"micromatch": "^4.0.4",
"walker": "^1.0.8"
}
},
"jest-leak-detector": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz",
- "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz",
+ "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==",
"dev": true,
"requires": {
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.3.1"
},
"dependencies": {
"ansi-styles": {
@@ -65923,9 +65897,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -65942,15 +65916,15 @@
}
},
"jest-matcher-utils": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz",
- "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz",
+ "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
- "jest-diff": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "pretty-format": "^29.1.2"
+ "jest-diff": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "pretty-format": "^29.3.1"
},
"dependencies": {
"ansi-styles": {
@@ -65994,9 +65968,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -66030,18 +66004,18 @@
}
},
"jest-message-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz",
- "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz",
+ "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.12.13",
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/stack-utils": "^2.0.0",
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
"micromatch": "^4.0.4",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3"
},
@@ -66087,9 +66061,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -66123,41 +66097,41 @@
}
},
"jest-mock": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz",
- "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz",
+ "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
- "jest-util": "^29.1.2"
+ "jest-util": "^29.3.1"
}
},
"jest-pnp-resolver": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+ "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
"requires": {}
},
"jest-regex-util": {
- "version": "29.0.0",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz",
- "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==",
+ "version": "29.2.0",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz",
+ "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==",
"dev": true
},
"jest-resolve": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz",
- "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz",
+ "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
"jest-pnp-resolver": "^1.2.2",
- "jest-util": "^29.1.2",
- "jest-validate": "^29.1.2",
+ "jest-util": "^29.3.1",
+ "jest-validate": "^29.3.1",
"resolve": "^1.20.0",
"resolve.exports": "^1.1.0",
"slash": "^3.0.0"
@@ -66215,40 +66189,40 @@
}
},
"jest-resolve-dependencies": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz",
- "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz",
+ "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==",
"dev": true,
"requires": {
- "jest-regex-util": "^29.0.0",
- "jest-snapshot": "^29.1.2"
+ "jest-regex-util": "^29.2.0",
+ "jest-snapshot": "^29.3.1"
}
},
"jest-runner": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz",
- "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz",
+ "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==",
"dev": true,
"requires": {
- "@jest/console": "^29.1.2",
- "@jest/environment": "^29.1.2",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/console": "^29.3.1",
+ "@jest/environment": "^29.3.1",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
- "emittery": "^0.10.2",
+ "emittery": "^0.13.1",
"graceful-fs": "^4.2.9",
- "jest-docblock": "^29.0.0",
- "jest-environment-node": "^29.1.2",
- "jest-haste-map": "^29.1.2",
- "jest-leak-detector": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-resolve": "^29.1.2",
- "jest-runtime": "^29.1.2",
- "jest-util": "^29.1.2",
- "jest-watcher": "^29.1.2",
- "jest-worker": "^29.1.2",
+ "jest-docblock": "^29.2.0",
+ "jest-environment-node": "^29.3.1",
+ "jest-haste-map": "^29.3.1",
+ "jest-leak-detector": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-resolve": "^29.3.1",
+ "jest-runtime": "^29.3.1",
+ "jest-util": "^29.3.1",
+ "jest-watcher": "^29.3.1",
+ "jest-worker": "^29.3.1",
"p-limit": "^3.1.0",
"source-map-support": "0.5.13"
},
@@ -66315,31 +66289,31 @@
}
},
"jest-runtime": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz",
- "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==",
- "dev": true,
- "requires": {
- "@jest/environment": "^29.1.2",
- "@jest/fake-timers": "^29.1.2",
- "@jest/globals": "^29.1.2",
- "@jest/source-map": "^29.0.0",
- "@jest/test-result": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz",
+ "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^29.3.1",
+ "@jest/fake-timers": "^29.3.1",
+ "@jest/globals": "^29.3.1",
+ "@jest/source-map": "^29.2.0",
+ "@jest/test-result": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
"cjs-module-lexer": "^1.0.0",
"collect-v8-coverage": "^1.0.0",
"glob": "^7.1.3",
"graceful-fs": "^4.2.9",
- "jest-haste-map": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-mock": "^29.1.2",
- "jest-regex-util": "^29.0.0",
- "jest-resolve": "^29.1.2",
- "jest-snapshot": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-haste-map": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-mock": "^29.3.1",
+ "jest-regex-util": "^29.2.0",
+ "jest-resolve": "^29.3.1",
+ "jest-snapshot": "^29.3.1",
+ "jest-util": "^29.3.1",
"slash": "^3.0.0",
"strip-bom": "^4.0.0"
},
@@ -66396,9 +66370,9 @@
}
},
"jest-snapshot": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz",
- "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz",
+ "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==",
"dev": true,
"requires": {
"@babel/core": "^7.11.6",
@@ -66407,23 +66381,23 @@
"@babel/plugin-syntax-typescript": "^7.7.2",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.3.3",
- "@jest/expect-utils": "^29.1.2",
- "@jest/transform": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/expect-utils": "^29.3.1",
+ "@jest/transform": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/babel__traverse": "^7.0.6",
"@types/prettier": "^2.1.5",
"babel-preset-current-node-syntax": "^1.0.0",
"chalk": "^4.0.0",
- "expect": "^29.1.2",
+ "expect": "^29.3.1",
"graceful-fs": "^4.2.9",
- "jest-diff": "^29.1.2",
- "jest-get-type": "^29.0.0",
- "jest-haste-map": "^29.1.2",
- "jest-matcher-utils": "^29.1.2",
- "jest-message-util": "^29.1.2",
- "jest-util": "^29.1.2",
+ "jest-diff": "^29.3.1",
+ "jest-get-type": "^29.2.0",
+ "jest-haste-map": "^29.3.1",
+ "jest-matcher-utils": "^29.3.1",
+ "jest-message-util": "^29.3.1",
+ "jest-util": "^29.3.1",
"natural-compare": "^1.4.0",
- "pretty-format": "^29.1.2",
+ "pretty-format": "^29.3.1",
"semver": "^7.3.5"
},
"dependencies": {
@@ -66468,9 +66442,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -66504,12 +66478,12 @@
}
},
"jest-util": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz",
- "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz",
+ "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"chalk": "^4.0.0",
"ci-info": "^3.2.0",
@@ -66575,17 +66549,17 @@
}
},
"jest-validate": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz",
- "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz",
+ "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==",
"dev": true,
"requires": {
- "@jest/types": "^29.1.2",
+ "@jest/types": "^29.3.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
- "jest-get-type": "^29.0.0",
+ "jest-get-type": "^29.2.0",
"leven": "^3.1.0",
- "pretty-format": "^29.1.2"
+ "pretty-format": "^29.3.1"
},
"dependencies": {
"ansi-styles": {
@@ -66635,9 +66609,9 @@
"dev": true
},
"pretty-format": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz",
- "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz",
+ "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==",
"dev": true,
"requires": {
"@jest/schemas": "^29.0.0",
@@ -66671,18 +66645,18 @@
}
},
"jest-watcher": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz",
- "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz",
+ "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==",
"dev": true,
"requires": {
- "@jest/test-result": "^29.1.2",
- "@jest/types": "^29.1.2",
+ "@jest/test-result": "^29.3.1",
+ "@jest/types": "^29.3.1",
"@types/node": "*",
"ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "emittery": "^0.10.2",
- "jest-util": "^29.1.2",
+ "emittery": "^0.13.1",
+ "jest-util": "^29.3.1",
"string-length": "^4.0.1"
},
"dependencies": {
@@ -66738,13 +66712,13 @@
}
},
"jest-worker": {
- "version": "29.1.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz",
- "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==",
+ "version": "29.3.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz",
+ "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==",
"dev": true,
"requires": {
"@types/node": "*",
- "jest-util": "^29.1.2",
+ "jest-util": "^29.3.1",
"merge-stream": "^2.0.0",
"supports-color": "^8.0.0"
},
@@ -73743,33 +73717,6 @@
"has-flag": "^3.0.0"
}
},
- "supports-hyperlinks": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
- "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0",
- "supports-color": "^7.0.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
- },
- "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"
- }
- }
- }
- },
"supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -74211,16 +74158,6 @@
"fs-extra": "^10.0.0"
}
},
- "terminal-link": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^4.2.1",
- "supports-hyperlinks": "^2.0.0"
- }
- },
"terser": {
"version": "3.17.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
diff --git a/package.json b/package.json
index 73fa890c3..47ea2e836 100644
--- a/package.json
+++ b/package.json
@@ -47,8 +47,8 @@
"test:exec": "jest --detectOpenHandles --runInBand",
"test:unit": "npm run test:unit:main && npm run test:unit:components && npm run test:unit:resources",
"test:unit:main": "npm run test:exec -- --env=node ./test/main",
- "test:unit:resources": "npm run test:exec -- --env=node ./test/resources",
- "test:unit:components": "npm run test:exec -- --env=jsdom --testTimeout=500 ./test/app",
+ "test:unit:resources": "npm run test:exec -- --env=node --roots=test/resources --testPathIgnorePatterns=Components",
+ "test:unit:components": "npm run test:exec -- --env=jsdom --roots 'test/app' 'test/resources/Components' --testTimeout=500",
"test:e2e": "npm run test:exec -- --env=node --config ./jest.e2e.config.json ./test/e2e",
"test:usbAdapters": "ELECTRON_RUN_AS_NODE=true ./node_modules/.bin/electron ./node_modules/jest/bin/jest.js ./test/main/signers/ledger/adapter.test.js --testPathIgnorePatterns=''",
"standard": "standardx --fix --verbose",
@@ -130,7 +130,7 @@
"@nomiclabs/hardhat-ethers": "^2.1.1",
"@nomiclabs/hardhat-waffle": "2.0.3",
"@sentry/types": "7.14.0",
- "@testing-library/dom": "8.18.1",
+ "@testing-library/dom": "8.19.0",
"@testing-library/react": "13.4.0",
"@testing-library/user-event": "14.4.3",
"@types/cookie": "0.5.1",
@@ -150,8 +150,8 @@
"ethereum-waffle": "3.4.4",
"ethers": "5.7.1",
"hardhat": "2.11.2",
- "jest": "29.1.1",
- "jest-environment-jsdom": "29.1.1",
+ "jest": "29.3.1",
+ "jest-environment-jsdom": "29.3.1",
"nock": "13.2.9",
"node-abi": "3.25.0",
"node-gyp": "9.1.0",
diff --git a/resources/Components/DisplayValue/index.js b/resources/Components/DisplayValue/index.js
new file mode 100644
index 000000000..0ecef4042
--- /dev/null
+++ b/resources/Components/DisplayValue/index.js
@@ -0,0 +1,75 @@
+import React from 'react'
+import { displayValueData } from '../../utils/displayValue'
+
+const ApproximateValue = ({ approximationSymbol }) => (
+
+ {approximationSymbol}
+
+)
+
+const FiatSymbol = ({ fiatSymbol }) => (
+
+ {fiatSymbol}
+
+)
+
+
+const Symbol = ({ currencySymbol }) => (
+
+ {currencySymbol.toUpperCase()}
+
+)
+
+const Main = ({ displayValue }) => (
+
+ {displayValue}
+
+)
+
+const Unit = ({ displayUnit }) => (
+
+ {displayUnit.shortName}
+
+)
+
+export const DisplayFiatPrice = ({ decimals, currencyRate, isTestnet }) =>
+
+
+export const DisplayValue = (props) => {
+ const {
+ value,
+ valueData,
+ valueDataParams,
+ currencySymbol,
+ type = 'ether',
+ displayDecimals = true,
+ currencySymbolPosition = 'first'
+ } = props
+
+ const data = valueData || displayValueData(value, valueDataParams)
+
+ const {
+ approximationSymbol = '',
+ displayValue,
+ displayUnit
+ } = data[type]({ displayDecimals })
+
+ return (
+
+ {type === 'fiat' ? (
+ <>
+ {approximationSymbol &&
}
+ {currencySymbol &&
}
+ >
+ ) : (
+ <>
+ {currencySymbol && currencySymbolPosition === 'first' &&
}
+ {approximationSymbol &&
}
+ >
+ )}
+
+ {displayUnit &&
}
+ {currencySymbol && currencySymbolPosition === 'last' &&
}
+
+ )
+}
diff --git a/resources/Components/DisplayValue/style/index.styl b/resources/Components/DisplayValue/style/index.styl
new file mode 100644
index 000000000..a6d5e3c45
--- /dev/null
+++ b/resources/Components/DisplayValue/style/index.styl
@@ -0,0 +1,25 @@
+.displayValue
+ display inline-flex
+ justify-content center
+ align-items center
+
+ span
+ padding 0
+ margin 0
+
+ .displayValueApprox
+ font-weight 600
+ font-size 0.9em
+
+ .displayValueFiat
+ font-weight 600
+ font-size 0.8em
+ padding 0em 0.2em
+
+ .displayValueSymbol
+ padding 0em 0.2em 0em 0.2em
+ font-family MainFont
+
+ .displayValueUnit
+ font-weight 600
+ padding 0em 0em 0em 0.2em
diff --git a/resources/Components/index.styl b/resources/Components/index.styl
index 8953aef7c..4f694e077 100644
--- a/resources/Components/index.styl
+++ b/resources/Components/index.styl
@@ -5,3 +5,4 @@
@import './FooterAux/style'
@import './Gas/style'
@import './Cluster/style'
+@import './DisplayValue/style'
diff --git a/resources/domain/balance/index.ts b/resources/domain/balance/index.ts
index feebd8b25..3cd3f8fce 100644
--- a/resources/domain/balance/index.ts
+++ b/resources/domain/balance/index.ts
@@ -5,6 +5,7 @@ interface DisplayedBalance extends Balance {
displayBalance: string
price: string
priceChange: string | false
+ usdRate: Rate
totalValue: BigNumber
displayValue: string
}
@@ -21,7 +22,7 @@ export function formatBalance (balance: BigNumber, totalValue: BigNumber, decima
}).format(Number(balance.toFixed(decimals, BigNumber.ROUND_FLOOR)))
}
-export function formatUsdRate (rate:BigNumber, decimals = 2) {
+export function formatUsdRate (rate: BigNumber, decimals = 2) {
return rate.isNaN()
? UNKNOWN
: new Intl.NumberFormat('us-US', {
@@ -40,6 +41,7 @@ export function createBalance (rawBalance: Balance, quote?: Rate): DisplayedBala
return {
...rawBalance,
+ usdRate: quote as Rate,
displayBalance: formatBalance(balance, totalValue, balanceDecimals),
price: formatUsdRate(usdRate),
priceChange: !usdRate.isZero() && !usdRate.isNaN() && change24hr.toFixed(2),
diff --git a/resources/utils/displayValue.ts b/resources/utils/displayValue.ts
new file mode 100644
index 000000000..9589a1834
--- /dev/null
+++ b/resources/utils/displayValue.ts
@@ -0,0 +1,150 @@
+import BigNumber from 'bignumber.js'
+import { isHexString } from 'ethers/lib/utils'
+
+const displayUnitMapping = {
+ million: {
+ lowerBound: BigNumber('1000000'),
+ upperBound: BigNumber('1000000000'),
+ unitDisplay: 'M'
+ },
+ billion: {
+ lowerBound: BigNumber('1000000000'),
+ upperBound: BigNumber('1000000000000'),
+ unitDisplay: 'B'
+ },
+ trillion: {
+ lowerBound: BigNumber('1000000000000'),
+ upperBound: BigNumber('1000000000000000'),
+ unitDisplay: 'T'
+ },
+ quadrillion: {
+ lowerBound: BigNumber('1000000000000000'),
+ upperBound: BigNumber('999999000000000000000'),
+ unitDisplay: 'Q'
+ }
+}
+
+function isLargeNumber(bn: BigNumber) {
+ const largeNumberDisplayKeys = Object.keys(displayUnitMapping)
+ const firstLargeNumberDisplayKey = largeNumberDisplayKeys[0]
+ const firstLargeNumberDisplayValue = displayUnitMapping[firstLargeNumberDisplayKey as keyof typeof displayUnitMapping]
+ return bn.isGreaterThanOrEqualTo(firstLargeNumberDisplayValue.lowerBound)
+}
+
+function getDisplay (bn: BigNumber, type: string, decimals: number, displayFullValue?: boolean) {
+ const value = bn.decimalPlaces(decimals, BigNumber.ROUND_FLOOR)
+
+ // minimum display value
+ if (value.isZero()) {
+ return {
+ approximationSymbol: '<',
+ displayValue: BigNumber(`1e-${decimals}`).toFormat()
+ }
+ }
+
+ // small numbers
+ if (displayFullValue || !isLargeNumber(value)) {
+ return {
+ displayValue: value.toFormat(type === 'fiat' ? decimals : undefined)
+ }
+ }
+
+ // shorthand display of large numbers
+ for (const [unitName, { lowerBound, upperBound, unitDisplay }] of Object.entries(displayUnitMapping)) {
+ if (value.isGreaterThanOrEqualTo(lowerBound) && value.isLessThan(upperBound)) {
+ return {
+ displayValue: value.shiftedBy(-(lowerBound.sd(true) - 1)).decimalPlaces(2, BigNumber.ROUND_FLOOR).toFormat(),
+ displayUnit: {
+ fullName: unitName,
+ shortName: unitDisplay
+ }
+ }
+ }
+ }
+
+ // maximum display value
+ const displayUnitKeys = Object.keys(displayUnitMapping)
+ const lastDisplayUnitKey = displayUnitKeys[displayUnitKeys.length - 1]
+ const lastDisplayUnitValue = displayUnitMapping[lastDisplayUnitKey as keyof typeof displayUnitMapping]
+ return {
+ approximationSymbol: '>',
+ displayValue: '999,999',
+ displayUnit: {
+ fullName: lastDisplayUnitKey,
+ shortName: lastDisplayUnitValue.unitDisplay
+ }
+ }
+}
+
+type DisplayValueDataParams = {
+ currencyRate?: Rate
+ displayFullValue?: boolean
+ decimals: number
+ isTestnet: boolean
+}
+
+type SourceValue = string | number | BigNumber
+
+export function displayValueData (sourceValue: SourceValue, params: DisplayValueDataParams) {
+
+ const {
+ currencyRate,
+ decimals = 18,
+ isTestnet = false,
+ displayFullValue = false
+ } = (params || {}) as DisplayValueDataParams
+
+ const bn = BigNumber(sourceValue, isHexString(sourceValue) ? 16 : undefined)
+ const currencyHelperMap = {
+ fiat: ({ displayDecimals } = { displayDecimals: true }) => {
+ const nativeCurrency = BigNumber(isTestnet || !currencyRate ? 0 : currencyRate.price)
+ const displayedDecimals = displayDecimals ? 2 : 0
+ const value = bn.shiftedBy(-decimals).multipliedBy(nativeCurrency)
+
+ if (isTestnet || value.isNaN()) {
+ return {
+ value,
+ displayValue: '?'
+ }
+ }
+
+ return {
+ value,
+ ...getDisplay(value, 'fiat', displayedDecimals, displayFullValue)
+ }
+ },
+ ether: ({ displayDecimals } = { displayDecimals: true }) => {
+ const value = bn.shiftedBy(-decimals)
+ const getDisplayedDecimals = () => {
+ if (!displayDecimals) return 0
+
+ const preDecimalStr = value.toFixed(1, BigNumber.ROUND_FLOOR).split('.')[0]
+ const numNonDecimals = preDecimalStr === '0' ? 0 : preDecimalStr.length
+
+ return BigNumber(6).minus(BigNumber.min(6, BigNumber.min(6, numNonDecimals))).toNumber()
+ }
+
+ return {
+ value,
+ ...getDisplay(value, 'ether', getDisplayedDecimals(), displayFullValue)
+ }
+ },
+ gwei: () => {
+ const value = bn.shiftedBy(-9).decimalPlaces(6, BigNumber.ROUND_FLOOR)
+
+ return {
+ value,
+ displayValue: value.isZero() ? '0' : value.toFormat()
+ }
+ },
+ wei: () => ({
+ value: bn,
+ displayValue: bn.toFormat(0)
+ })
+ }
+
+ return {
+ bn,
+ ...currencyHelperMap
+ }
+}
diff --git a/test/app/App/Account/Account/Requests/TransactionRequest/TxFeeNew/index.test.js b/test/app/App/Account/Account/Requests/TransactionRequest/TxFeeNew/index.test.js
index 6af3909fa..4c7f6dc1a 100644
--- a/test/app/App/Account/Account/Requests/TransactionRequest/TxFeeNew/index.test.js
+++ b/test/app/App/Account/Account/Requests/TransactionRequest/TxFeeNew/index.test.js
@@ -14,7 +14,7 @@ const TxFee = Restore.connect(TxFeeComponent, store)
let req
beforeEach(() => {
- store.setNativeCurrencyData('ethereum', 137, { symbol:"MATIC", usd: { price: 0.86 } })
+ store.setNativeCurrencyData('ethereum', 137, { usd: { symbol: 'MATIC', price: 0.86 }})
req = {
feesUpdatedByUser: false,
@@ -80,7 +80,7 @@ describe('usd estimate display', () => {
const { getByTestId } = setupComponent(
)
const baseFeeInput = getByTestId('usd-estimate-display')
- expect(baseFeeInput.textContent).toBe('≈< $0.01in MATIC')
+ expect(baseFeeInput.textContent).toBe('≈<$0.01in MATIC')
})
it('renders an estimate for between less than a cent and one cent', () => {
@@ -90,7 +90,7 @@ describe('usd estimate display', () => {
const { getByTestId } = setupComponent(
)
const baseFeeInput = getByTestId('usd-estimate-display')
- expect(baseFeeInput.textContent).toBe('≈< $0.01-$0.01in MATIC')
+ expect(baseFeeInput.textContent).toBe('≈<$0.01-$0.01in MATIC')
})
it('renders an estimate for between > $1 values', () => {
diff --git a/test/app/Components/Confirm/index.test.js b/test/resources/Components/Confirm/index.test.js
similarity index 100%
rename from test/app/Components/Confirm/index.test.js
rename to test/resources/Components/Confirm/index.test.js
diff --git a/test/resources/Components/DisplayValue/index.test.js b/test/resources/Components/DisplayValue/index.test.js
new file mode 100644
index 000000000..fb9280e51
--- /dev/null
+++ b/test/resources/Components/DisplayValue/index.test.js
@@ -0,0 +1,77 @@
+import React from 'react'
+
+import { setupComponent } from '../../../componentSetup'
+import { DisplayValue } from '../../../../resources/Components/DisplayValue'
+import { displayValueData } from '../../../../resources/utils/displayValue'
+
+
+it('should render the expected content when provided with valueData', () => {
+ const valueData = new displayValueData(356e28)
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('3.56T')
+})
+
+it('should render the expected content when provided with a value and valueDataParams', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('356T')
+})
+
+it('should render a currency symbol before the value when specified', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('MYTOKEN356')
+})
+
+it('should render a currency symbol after the value when specified with currencySymbolPosition', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('356MYTOKEN')
+})
+
+it('should render a fiat value', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('$5.34T')
+})
+
+it('should not display decimals on a small fiat value when displayDecimals is set to false', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('$5')
+})
+
+it('should not render a shorthand unit when displayFullValue is specified on a fiat value', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('$5,340,000,000,000.00')
+})
+
+it('should render an ether value', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('ETH3.56T')
+})
+
+it('should not display decimals on a small ether value when displayDecimals is set to false', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('ETH3')
+})
+
+it('should not render a shorthand unit when displayFullValue is specified on an ether value', () => {
+ const { getByTestId } = setupComponent(
)
+ const displayValue = getByTestId('display-value')
+
+ expect(displayValue.textContent).toBe('ETH3,560,000,000,000')
+})
diff --git a/test/resources/utils/displayValue.test.js b/test/resources/utils/displayValue.test.js
new file mode 100644
index 000000000..af0fd86b7
--- /dev/null
+++ b/test/resources/utils/displayValue.test.js
@@ -0,0 +1,501 @@
+import { BigNumber } from 'bignumber.js'
+import { displayValueData } from '../../../resources/utils/displayValue'
+
+describe('wei', () => {
+ it('should return a wei value', () => {
+ const displayValue = displayValueData(356)
+ expect(displayValue.wei()).toStrictEqual({ displayValue: '356', value: BigNumber('356') })
+ })
+})
+
+describe('gwei', () => {
+ it('should return a gwei value', () => {
+ const displayValue = displayValueData(356e9)
+ expect(displayValue.gwei()).toStrictEqual({ displayValue: '356', value: BigNumber('356') })
+ })
+
+ it('should not return a gwei value of more than 6dp', () => {
+ const displayValue = displayValueData(356e-18)
+ expect(displayValue.gwei()).toStrictEqual({ displayValue: '0', value: BigNumber('0') })
+ })
+})
+
+describe('fiat currency', () => {
+ it('should return zero when no currency rate is provided', () => {
+ const value = displayValueData(356e24)
+ expect(value.fiat()).toStrictEqual({
+ approximationSymbol: '<',
+ displayValue: '0.01',
+ value: BigNumber(0)
+ })
+ })
+
+ it('should return "testnet zero" when isTestnet is true', () => {
+ const value = displayValueData(356e24, { currencyRate: { price: BigNumber(1.3) }, isTestnet: true })
+ expect(value.fiat()).toStrictEqual({
+ displayValue: '?',
+ value: BigNumber(0)
+ })
+ })
+
+ describe('when displaying decimals', () => {
+ it('should return a value of less than a cent', () => {
+ const value = displayValueData(356e12, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ approximationSymbol: '<',
+ displayValue: '0.01',
+ value: BigNumber(0.000356)
+ })
+ })
+
+ it('should return a value less than 1000 with a fixed 2dp', () => {
+ const value = displayValueData(999999e15, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayValue: '999.99',
+ value: BigNumber(999.999)
+ })
+ })
+ })
+
+ describe('when not displaying decimals', () => {
+ it('should return a value of less than a dollar', () => {
+ const value = displayValueData(356e12, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat({ displayDecimals: false })).toStrictEqual({
+ approximationSymbol: '<',
+ displayValue: '1',
+ value: BigNumber(0.000356)
+ })
+ })
+
+ it('should return a value less than 1000 without decimals', () => {
+ const value = displayValueData(999999e15, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat({ displayDecimals: false })).toStrictEqual({
+ displayValue: '999',
+ value: BigNumber(999.999)
+ })
+ })
+ })
+
+ describe('shorthand large values', () => {
+ it('should return a value of millions to 2dp', () => {
+ const value = displayValueData(356253e20, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'million',
+ shortName: 'M',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300)
+ })
+ })
+
+ it('should round down a value of millions to 2dp', () => {
+ const value = displayValueData(356259e20, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'million',
+ shortName: 'M',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900)
+ })
+ })
+
+ it('should return an exact value of millions', () => {
+ const value = displayValueData(35e24, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'million',
+ shortName: 'M',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000)
+ })
+ })
+
+ it('should return a value of billions to 2dp', () => {
+ const value = displayValueData(35.6253e27, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'billion',
+ shortName: 'B',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300000)
+ })
+ })
+
+ it('should round down a value of billions to 2dp', () => {
+ const value = displayValueData(35.6259e27, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'billion',
+ shortName: 'B',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900000)
+ })
+ })
+
+ it('should return an exact value of billions', () => {
+ const value = displayValueData(35e27, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'billion',
+ shortName: 'B',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000000)
+ })
+ })
+
+ it('should return a value of trillions to 2dp', () => {
+ const value = displayValueData(35.6253e30, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'trillion',
+ shortName: 'T',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300000000)
+ })
+ })
+
+ it('should round down a value of trillions to 2dp', () => {
+ const value = displayValueData(35.6259e30, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'trillion',
+ shortName: 'T',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900000000)
+ })
+ })
+
+ it('should return an exact value of trillions', () => {
+ const value = displayValueData(35e30, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'trillion',
+ shortName: 'T',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000000000)
+ })
+ })
+
+ it('should return a value of quadrillions to 2dp', () => {
+ const value = displayValueData(35.6253e33, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300000000000)
+ })
+ })
+
+ it('should round down a value of quadrillions to 2dp', () => {
+ const value = displayValueData(35.6259e33, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900000000000)
+ })
+ })
+
+ it('should return an exact value of quadrillions', () => {
+ const value = displayValueData(35e33, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000000000000)
+ })
+ })
+
+ it('should return a maximum value', () => {
+ const value = displayValueData(356e50, { currencyRate: { price: BigNumber(1) }})
+ expect(value.fiat()).toStrictEqual({
+ approximationSymbol: '>',
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '999,999',
+ value: BigNumber(3.56e+34)
+ })
+ })
+ })
+})
+
+
+describe('ether currency', () => {
+ describe('when displaying decimals', () => {
+ it('should return a value of less than 1000 gwei', () => {
+ const value = displayValueData(356e8)
+ expect(value.ether()).toStrictEqual({
+ approximationSymbol: '<',
+ displayValue: '0.000001',
+ value: BigNumber(3.56e-8)
+ })
+ })
+
+ it('should return a value less than 1000 with a fixed 3dp', () => {
+ const value = displayValueData(998.5678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '998.567',
+ value: BigNumber(998.5678111111)
+ })
+ })
+
+ it('should return a value less than 100 with a fixed 4dp', () => {
+ const value = displayValueData(99.85678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '99.8567',
+ value: BigNumber(99.85678111111)
+ })
+ })
+
+ it('should return a value less than 10 with a fixed 5dp', () => {
+ const value = displayValueData(9.985678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '9.98567',
+ value: BigNumber(9.985678111111)
+ })
+ })
+
+ it('should return a value less than 1 with a fixed 6dp', () => {
+ const value = displayValueData(0.9985678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '0.998567',
+ value: BigNumber(0.9985678111111)
+ })
+ })
+
+ it('should return a value less than 0.1 with a fixed 6dp', () => {
+ const value = displayValueData(0.09985678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '0.099856',
+ value: BigNumber(0.09985678111111)
+ })
+ })
+
+ it('should return a value less than 0.01 with a fixed 6dp', () => {
+ const value = displayValueData(0.009985678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '0.009985',
+ value: BigNumber(0.009985678111111)
+ })
+ })
+
+ it('should return a value less than 0.001 with a fixed 6dp', () => {
+ const value = displayValueData(0.0009985678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '0.000998',
+ value: BigNumber(0.0009985678111111)
+ })
+ })
+
+ it('should return a value less than 0.0001 with a fixed 6dp', () => {
+ const value = displayValueData(0.00009985678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '0.000099',
+ value: BigNumber(0.00009985678111111)
+ })
+ })
+
+ it('should return a value less than 0.00001 with a fixed 6dp', () => {
+ const value = displayValueData(0.000009985678111111e18)
+ expect(value.ether()).toStrictEqual({
+ displayValue: '0.000009',
+ value: BigNumber(0.000009985678111111)
+ })
+ })
+ })
+
+ describe('when not displaying decimals', () => {
+ it('should return a value of less than 1', () => {
+ const value = displayValueData(356e12)
+ expect(value.ether({ displayDecimals: false })).toStrictEqual({
+ approximationSymbol: '<',
+ displayValue: '1',
+ value: BigNumber(0.000356)
+ })
+ })
+
+ it('should return a value less than 1000 without decimals', () => {
+ const value = displayValueData(999999e15)
+ expect(value.ether({ displayDecimals: false })).toStrictEqual({
+ displayValue: '999',
+ value: BigNumber(999.999)
+ })
+ })
+ })
+
+ describe('shorthand large values', () => {
+ it('should return a value of millions to 2dp', () => {
+ const value = displayValueData(35.6253e24)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'million',
+ shortName: 'M',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300)
+ })
+ })
+
+ it('should round down a value of millions to 2dp', () => {
+ const value = displayValueData(35.6259e24)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'million',
+ shortName: 'M',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900)
+ })
+ })
+
+ it('should return an exact value of millions', () => {
+ const value = displayValueData(35e24)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'million',
+ shortName: 'M',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000)
+ })
+ })
+
+ it('should return a value of billions to 2dp', () => {
+ const value = displayValueData(35.6253e27)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'billion',
+ shortName: 'B',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300000)
+ })
+ })
+
+ it('should round down a value of billions to 2dp', () => {
+ const value = displayValueData(35.6259e27)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'billion',
+ shortName: 'B',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900000)
+ })
+ })
+
+ it('should return an exact value of billions', () => {
+ const value = displayValueData(35e27)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'billion',
+ shortName: 'B',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000000)
+ })
+ })
+
+ it('should return a value of trillions to 2dp', () => {
+ const value = displayValueData(35.6253e30)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'trillion',
+ shortName: 'T',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300000000)
+ })
+ })
+
+ it('should round down a value of trillions to 2dp', () => {
+ const value = displayValueData(35.6259e30)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'trillion',
+ shortName: 'T',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900000000)
+ })
+ })
+
+ it('should return an exact value of trillions', () => {
+ const value = displayValueData(35e30)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'trillion',
+ shortName: 'T',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000000000)
+ })
+ })
+
+ it('should return a value of quadrillions to 2dp', () => {
+ const value = displayValueData(35.6253e33)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625300000000000)
+ })
+ })
+
+ it('should round down a value of quadrillions to 2dp', () => {
+ const value = displayValueData(35.6259e33)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '35.62',
+ value: BigNumber(35625900000000000)
+ })
+ })
+
+ it('should return an exact value of quadrillions', () => {
+ const value = displayValueData(35e33)
+ expect(value.ether()).toStrictEqual({
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '35',
+ value: BigNumber(35000000000000000)
+ })
+ })
+
+ it('should return a maximum value', () => {
+ const value = displayValueData(356e50)
+ expect(value.ether()).toStrictEqual({
+ approximationSymbol: '>',
+ displayUnit: {
+ fullName: 'quadrillion',
+ shortName: 'Q',
+ },
+ displayValue: '999,999',
+ value: BigNumber(3.56e+34)
+ })
+ })
+ })
+})