aboutsummaryrefslogtreecommitdiffstats
path: root/packages/utils/src/configured_bignumber.ts
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2018-11-09 08:09:38 +0800
committerBrandon Millman <brandon.millman@gmail.com>2018-11-09 08:09:38 +0800
commit211163b3724090347dba736cbcdcb2b1ec252bd0 (patch)
tree80f3b8e23daba4a12e4afc55d7a345678ca04795 /packages/utils/src/configured_bignumber.ts
parentc84e163edb329b478749cad09f222cc12e3698fe (diff)
parent117e2f583ff44bdb63340a2134edea0f3ecb77b3 (diff)
downloaddexon-0x-contracts-211163b3724090347dba736cbcdcb2b1ec252bd0.tar
dexon-0x-contracts-211163b3724090347dba736cbcdcb2b1ec252bd0.tar.gz
dexon-0x-contracts-211163b3724090347dba736cbcdcb2b1ec252bd0.tar.bz2
dexon-0x-contracts-211163b3724090347dba736cbcdcb2b1ec252bd0.tar.lz
dexon-0x-contracts-211163b3724090347dba736cbcdcb2b1ec252bd0.tar.xz
dexon-0x-contracts-211163b3724090347dba736cbcdcb2b1ec252bd0.tar.zst
dexon-0x-contracts-211163b3724090347dba736cbcdcb2b1ec252bd0.zip
Merge branch 'development' into feature/instant/account-state-change
* development: [instant] Viewport specific errors (#1228) Added more comments Include wholeNumberSchema in sra-spec schemas chore(instant): fix linter Fix isNode fix(instant): update buy quote at start up in the case of default amount fix: apply css reset to overlay as well fix(website): turn off production flag when building locally chore: linter fix: progress bar fix: use fontSize prop in button feat: make instant resistant to external styles feat: add faux externall css file Add upstream issue Use const require instead of import Fix tslint issues Use detect-node Set curstom inspect printer in BigNumber
Diffstat (limited to 'packages/utils/src/configured_bignumber.ts')
-rw-r--r--packages/utils/src/configured_bignumber.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/utils/src/configured_bignumber.ts b/packages/utils/src/configured_bignumber.ts
index 2b22b6938..34b57d303 100644
--- a/packages/utils/src/configured_bignumber.ts
+++ b/packages/utils/src/configured_bignumber.ts
@@ -11,4 +11,27 @@ BigNumber.config({
DECIMAL_PLACES: 78,
});
+// Set a debug print function for NodeJS
+// Upstream issue: https://github.com/MikeMcl/bignumber.js/issues/188
+import isNode = require('detect-node');
+if (isNode) {
+ // Dynamically load a NodeJS specific module.
+ // Typescript requires all imports to be global, so we need to use
+ // `const` here and disable the tslint warning.
+ // tslint:disable-next-line: no-var-requires
+ const util = require('util');
+
+ // Set a custom util.inspect function
+ // HACK: We add a function to the BigNumber class by assigning to the
+ // prototype. The function name is a symbol provided by Node.
+ (BigNumber.prototype as any)[util.inspect.custom] = function(): string {
+ // HACK: When executed, `this` will refer to the BigNumber instance.
+ // This is also why we need a function expression instead of an
+ // arrow function, as the latter does not have a `this`.
+ // Return the readable string representation
+ // tslint:disable-next-line: no-invalid-this
+ return this.toString();
+ };
+}
+
export { BigNumber };