@deephaven/jsapi-utils 0.96.2-beta.1 → 0.96.2-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formatters/DecimalColumnFormatter.d.ts +1 -0
- package/dist/formatters/DecimalColumnFormatter.d.ts.map +1 -1
- package/dist/formatters/DecimalColumnFormatter.js +1 -0
- package/dist/formatters/DecimalColumnFormatter.js.map +1 -1
- package/dist/formatters/IntegerColumnFormatter.d.ts +1 -0
- package/dist/formatters/IntegerColumnFormatter.d.ts.map +1 -1
- package/dist/formatters/IntegerColumnFormatter.js +1 -0
- package/dist/formatters/IntegerColumnFormatter.js.map +1 -1
- package/package.json +7 -7
|
@@ -41,6 +41,7 @@ export declare class DecimalColumnFormatter extends TableColumnFormatter<number>
|
|
|
41
41
|
static DEFAULT_FORMAT_STRING: string;
|
|
42
42
|
static FORMAT_PERCENT: DecimalColumnFormat;
|
|
43
43
|
static FORMAT_BASIS_POINTS: DecimalColumnFormat;
|
|
44
|
+
static FORMAT_THOUSANDS: DecimalColumnFormat;
|
|
44
45
|
static FORMAT_MILLIONS: DecimalColumnFormat;
|
|
45
46
|
static FORMAT_SCIENTIFIC_NOTATION: DecimalColumnFormat;
|
|
46
47
|
static FORMAT_ROUND: DecimalColumnFormat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecimalColumnFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/DecimalColumnFormatter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,oBAAoB,EAAE,EAC3B,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAE1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACtE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,OAAO,MAAM,EACjB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAC9C,OAAO;IAYV;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CACf,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,yDAA2C,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,EAAE,MAAM,EACb,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB,MAAM,CAAC,qBAAqB,SAAkB;IAE9C,MAAM,CAAC,cAAc,sBAGnB;IAEF,MAAM,CAAC,mBAAmB,sBAIxB;IAEF,MAAM,CAAC,eAAe,sBAIpB;IAEF,MAAM,CAAC,0BAA0B,sBAG/B;IAEF,MAAM,CAAC,YAAY,sBAGjB;IAEF,MAAM,CAAC,yBAAyB,sBAG9B;IAEF,MAAM,CAAC,0BAA0B,sBAG/B;IAEF;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAClC,OAAO;IAWV,mBAAmB,EAAE,MAAM,CAAC;IAE5B,EAAE,EAAE,OAAO,MAAM,CAAC;gBAGhB,EAAE,EAAE,OAAO,MAAM,EACjB,EACE,mBAAkE,GACnE,GAAE,6BAAkC;IAQvC;;;;;OAKG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,MAAM;CAgBV;AAED,eAAe,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"DecimalColumnFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/DecimalColumnFormatter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,oBAAoB,EAAE,EAC3B,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAE1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACtE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,OAAO,MAAM,EACjB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAC9C,OAAO;IAYV;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CACf,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,yDAA2C,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,EAAE,MAAM,EACb,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB,MAAM,CAAC,qBAAqB,SAAkB;IAE9C,MAAM,CAAC,cAAc,sBAGnB;IAEF,MAAM,CAAC,mBAAmB,sBAIxB;IAEF,MAAM,CAAC,gBAAgB,sBAIrB;IAEF,MAAM,CAAC,eAAe,sBAIpB;IAEF,MAAM,CAAC,0BAA0B,sBAG/B;IAEF,MAAM,CAAC,YAAY,sBAGjB;IAEF,MAAM,CAAC,yBAAyB,sBAG9B;IAEF,MAAM,CAAC,0BAA0B,sBAG/B;IAEF;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAClC,OAAO;IAWV,mBAAmB,EAAE,MAAM,CAAC;IAE5B,EAAE,EAAE,OAAO,MAAM,CAAC;gBAGhB,EAAE,EAAE,OAAO,MAAM,EACjB,EACE,mBAAkE,GACnE,GAAE,6BAAkC;IAQvC;;;;;OAKG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,MAAM;CAgBV;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -109,6 +109,7 @@ export class DecimalColumnFormatter extends TableColumnFormatter {
|
|
|
109
109
|
_defineProperty(DecimalColumnFormatter, "DEFAULT_FORMAT_STRING", '###,##0.0000');
|
|
110
110
|
_defineProperty(DecimalColumnFormatter, "FORMAT_PERCENT", DecimalColumnFormatter.makePresetFormat('Percent', '##0.00%'));
|
|
111
111
|
_defineProperty(DecimalColumnFormatter, "FORMAT_BASIS_POINTS", DecimalColumnFormatter.makePresetFormat('Basis Points', '###,##0 bp', 10000));
|
|
112
|
+
_defineProperty(DecimalColumnFormatter, "FORMAT_THOUSANDS", DecimalColumnFormatter.makePresetFormat('Thousands', '##0.000 k', 0.001));
|
|
112
113
|
_defineProperty(DecimalColumnFormatter, "FORMAT_MILLIONS", DecimalColumnFormatter.makePresetFormat('Millions', '###,##0.000 mm', 0.000001));
|
|
113
114
|
_defineProperty(DecimalColumnFormatter, "FORMAT_SCIENTIFIC_NOTATION", DecimalColumnFormatter.makePresetFormat('Scientific Notation', '0.0000E0'));
|
|
114
115
|
_defineProperty(DecimalColumnFormatter, "FORMAT_ROUND", DecimalColumnFormatter.makePresetFormat('Round', '###,##0'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecimalColumnFormatter.js","names":["Log","TableColumnFormatter","log","module","DecimalColumnFormatter","isValid","dh","format","formatString","i18n","NumberFormat","e","makeFormat","label","type","arguments","length","undefined","TYPE_CONTEXT_PRESET","multiplier","makePresetFormat","makeCustomFormat","TYPE_CONTEXT_CUSTOM","isSameFormat","formatA","formatB","constructor","defaultFormatString","DEFAULT_FORMAT_STRING","_defineProperty","valueParam","value","error"],"sources":["../../src/formatters/DecimalColumnFormatter.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport TableColumnFormatter, {\n type TableColumnFormat,\n} from './TableColumnFormatter';\n\nconst log = Log.module('DecimalColumnFormatter');\n\nexport type DecimalColumnFormat = TableColumnFormat & {\n multiplier?: number | null;\n};\n\nexport type DecimalColumnFormatterOptions = {\n // Default format string to use. Defaults to DecimalColumnFormatter.DEFAULT_FORMAT_STRING\n defaultFormatString?: string;\n};\n\nexport class DecimalColumnFormatter extends TableColumnFormatter<number> {\n /**\n * Validates format object\n * @param dh JSAPI instance\n * @param format Format object\n * @returns true for valid object\n */\n static isValid(\n dh: typeof DhType,\n format: Pick<TableColumnFormat, 'formatString'>\n ): boolean {\n if (format.formatString == null) {\n return false;\n }\n try {\n dh.i18n.NumberFormat.format(format.formatString, 0);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Create a DecimalColumnFormat object with the parameters specified\n * @param label Label for the format\n * @param formatString Format string for the format\n * @param multiplier Optional multiplier for the formatter\n * @param type Type of format created\n * @returns DecimalColumnFormat object\n */\n static makeFormat(\n label: string,\n formatString: string,\n type = TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier?: number\n ): DecimalColumnFormat {\n return {\n label,\n type,\n formatString,\n multiplier,\n };\n }\n\n /**\n * Convenient function to create a DecimalFormatObject with Preset type set\n * @param label Label for this format object\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns DecimalColumnFormat object\n */\n static makePresetFormat(\n label: string,\n formatString = '',\n multiplier?: number\n ): DecimalColumnFormat {\n return DecimalColumnFormatter.makeFormat(\n label,\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier\n );\n }\n\n /**\n * Convenient function to create a DecimalFormatObject with a default 'Custom Format' label and Custom type\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns DecimalColumnFormat object\n */\n static makeCustomFormat(\n formatString = '',\n multiplier?: number\n ): DecimalColumnFormat {\n return DecimalColumnFormatter.makeFormat(\n 'Custom Format',\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM,\n multiplier\n );\n }\n\n static DEFAULT_FORMAT_STRING = '###,##0.0000';\n\n static FORMAT_PERCENT = DecimalColumnFormatter.makePresetFormat(\n 'Percent',\n '##0.00%'\n );\n\n static FORMAT_BASIS_POINTS = DecimalColumnFormatter.makePresetFormat(\n 'Basis Points',\n '###,##0 bp',\n 10000\n );\n\n static FORMAT_MILLIONS = DecimalColumnFormatter.makePresetFormat(\n 'Millions',\n '###,##0.000 mm',\n 0.000001\n );\n\n static FORMAT_SCIENTIFIC_NOTATION = DecimalColumnFormatter.makePresetFormat(\n 'Scientific Notation',\n '0.0000E0'\n );\n\n static FORMAT_ROUND = DecimalColumnFormatter.makePresetFormat(\n 'Round',\n '###,##0'\n );\n\n static FORMAT_ROUND_TWO_DECIMALS = DecimalColumnFormatter.makePresetFormat(\n '0.00',\n '###,##0.00'\n );\n\n static FORMAT_ROUND_FOUR_DECIMALS = DecimalColumnFormatter.makePresetFormat(\n '0.0000',\n '###,##0.0000'\n );\n\n /**\n * Check if the given formats match\n * @param formatA format object to check\n * @param formatB format object to check\n * @returns True if the formats match\n */\n static isSameFormat(\n formatA: DecimalColumnFormat | null,\n formatB: DecimalColumnFormat | null\n ): boolean {\n return (\n formatA === formatB ||\n (formatA != null &&\n formatB != null &&\n formatA.type === formatB.type &&\n formatA.formatString === formatB.formatString &&\n formatA.multiplier === formatB.multiplier)\n );\n }\n\n defaultFormatString: string;\n\n dh: typeof DhType;\n\n constructor(\n dh: typeof DhType,\n {\n defaultFormatString = DecimalColumnFormatter.DEFAULT_FORMAT_STRING,\n }: DecimalColumnFormatterOptions = {}\n ) {\n super();\n\n this.dh = dh;\n this.defaultFormatString = defaultFormatString;\n }\n\n /**\n * Format a value with the provided format object\n * @param valueParam Value to format\n * @param format Format object\n * @returns Formatted string\n */\n format(\n valueParam: number,\n format: Partial<DecimalColumnFormat> = {}\n ): string {\n const formatString =\n format.formatString != null && format.formatString !== ''\n ? format.formatString\n : this.defaultFormatString;\n const value =\n format.multiplier != null && format.multiplier !== 0\n ? valueParam * format.multiplier\n : valueParam;\n try {\n return this.dh.i18n.NumberFormat.format(formatString, value);\n } catch (e) {\n log.error('Invalid format arguments');\n }\n return '';\n }\n}\n\nexport default DecimalColumnFormatter;\n"],"mappings":";;;AAAA;;AAEA,OAAOA,GAAG,MAAM,gBAAgB;AAAC,OAC1BC,oBAAoB;AAI3B,IAAMC,GAAG,GAAGF,GAAG,CAACG,MAAM,CAAC,wBAAwB,CAAC;AAWhD,OAAO,MAAMC,sBAAsB,SAASH,oBAAoB,CAAS;EACvE;AACF;AACA;AACA;AACA;AACA;EACE,OAAOI,OAAOA,CACZC,EAAiB,EACjBC,MAA+C,EACtC;IACT,IAAIA,MAAM,CAACC,YAAY,IAAI,IAAI,EAAE;MAC/B,OAAO,KAAK;IACd;IACA,IAAI;MACFF,EAAE,CAACG,IAAI,CAACC,YAAY,CAACH,MAAM,CAACA,MAAM,CAACC,YAAY,EAAE,CAAC,CAAC;MACnD,OAAO,IAAI;IACb,CAAC,CAAC,OAAOG,CAAC,EAAE;MACV,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CACfC,KAAa,EACbL,YAAoB,EAGC;IAAA,IAFrBM,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGd,oBAAoB,CAACiB,mBAAmB;IAAA,IAC/CC,UAAmB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAEnB,OAAO;MACLJ,KAAK;MACLC,IAAI;MACJN,YAAY;MACZW;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,gBAAgBA,CACrBP,KAAa,EAGQ;IAAA,IAFrBL,YAAY,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,IACjBI,UAAmB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAEnB,OAAOb,sBAAsB,CAACQ,UAAU,CACtCC,KAAK,EACLL,YAAY,EACZP,oBAAoB,CAACiB,mBAAmB,EACxCC,UACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAOE,gBAAgBA,CAAA,EAGA;IAAA,IAFrBb,YAAY,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,IACjBI,UAAmB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAEnB,OAAOb,sBAAsB,CAACQ,UAAU,CACtC,eAAe,EACfJ,YAAY,EACZP,oBAAoB,CAACqB,mBAAmB,EACxCH,UACF,CAAC;EACH;
|
|
1
|
+
{"version":3,"file":"DecimalColumnFormatter.js","names":["Log","TableColumnFormatter","log","module","DecimalColumnFormatter","isValid","dh","format","formatString","i18n","NumberFormat","e","makeFormat","label","type","arguments","length","undefined","TYPE_CONTEXT_PRESET","multiplier","makePresetFormat","makeCustomFormat","TYPE_CONTEXT_CUSTOM","isSameFormat","formatA","formatB","constructor","defaultFormatString","DEFAULT_FORMAT_STRING","_defineProperty","valueParam","value","error"],"sources":["../../src/formatters/DecimalColumnFormatter.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport TableColumnFormatter, {\n type TableColumnFormat,\n} from './TableColumnFormatter';\n\nconst log = Log.module('DecimalColumnFormatter');\n\nexport type DecimalColumnFormat = TableColumnFormat & {\n multiplier?: number | null;\n};\n\nexport type DecimalColumnFormatterOptions = {\n // Default format string to use. Defaults to DecimalColumnFormatter.DEFAULT_FORMAT_STRING\n defaultFormatString?: string;\n};\n\nexport class DecimalColumnFormatter extends TableColumnFormatter<number> {\n /**\n * Validates format object\n * @param dh JSAPI instance\n * @param format Format object\n * @returns true for valid object\n */\n static isValid(\n dh: typeof DhType,\n format: Pick<TableColumnFormat, 'formatString'>\n ): boolean {\n if (format.formatString == null) {\n return false;\n }\n try {\n dh.i18n.NumberFormat.format(format.formatString, 0);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Create a DecimalColumnFormat object with the parameters specified\n * @param label Label for the format\n * @param formatString Format string for the format\n * @param multiplier Optional multiplier for the formatter\n * @param type Type of format created\n * @returns DecimalColumnFormat object\n */\n static makeFormat(\n label: string,\n formatString: string,\n type = TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier?: number\n ): DecimalColumnFormat {\n return {\n label,\n type,\n formatString,\n multiplier,\n };\n }\n\n /**\n * Convenient function to create a DecimalFormatObject with Preset type set\n * @param label Label for this format object\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns DecimalColumnFormat object\n */\n static makePresetFormat(\n label: string,\n formatString = '',\n multiplier?: number\n ): DecimalColumnFormat {\n return DecimalColumnFormatter.makeFormat(\n label,\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier\n );\n }\n\n /**\n * Convenient function to create a DecimalFormatObject with a default 'Custom Format' label and Custom type\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns DecimalColumnFormat object\n */\n static makeCustomFormat(\n formatString = '',\n multiplier?: number\n ): DecimalColumnFormat {\n return DecimalColumnFormatter.makeFormat(\n 'Custom Format',\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM,\n multiplier\n );\n }\n\n static DEFAULT_FORMAT_STRING = '###,##0.0000';\n\n static FORMAT_PERCENT = DecimalColumnFormatter.makePresetFormat(\n 'Percent',\n '##0.00%'\n );\n\n static FORMAT_BASIS_POINTS = DecimalColumnFormatter.makePresetFormat(\n 'Basis Points',\n '###,##0 bp',\n 10000\n );\n\n static FORMAT_THOUSANDS = DecimalColumnFormatter.makePresetFormat(\n 'Thousands',\n '##0.000 k',\n 0.001\n );\n\n static FORMAT_MILLIONS = DecimalColumnFormatter.makePresetFormat(\n 'Millions',\n '###,##0.000 mm',\n 0.000001\n );\n\n static FORMAT_SCIENTIFIC_NOTATION = DecimalColumnFormatter.makePresetFormat(\n 'Scientific Notation',\n '0.0000E0'\n );\n\n static FORMAT_ROUND = DecimalColumnFormatter.makePresetFormat(\n 'Round',\n '###,##0'\n );\n\n static FORMAT_ROUND_TWO_DECIMALS = DecimalColumnFormatter.makePresetFormat(\n '0.00',\n '###,##0.00'\n );\n\n static FORMAT_ROUND_FOUR_DECIMALS = DecimalColumnFormatter.makePresetFormat(\n '0.0000',\n '###,##0.0000'\n );\n\n /**\n * Check if the given formats match\n * @param formatA format object to check\n * @param formatB format object to check\n * @returns True if the formats match\n */\n static isSameFormat(\n formatA: DecimalColumnFormat | null,\n formatB: DecimalColumnFormat | null\n ): boolean {\n return (\n formatA === formatB ||\n (formatA != null &&\n formatB != null &&\n formatA.type === formatB.type &&\n formatA.formatString === formatB.formatString &&\n formatA.multiplier === formatB.multiplier)\n );\n }\n\n defaultFormatString: string;\n\n dh: typeof DhType;\n\n constructor(\n dh: typeof DhType,\n {\n defaultFormatString = DecimalColumnFormatter.DEFAULT_FORMAT_STRING,\n }: DecimalColumnFormatterOptions = {}\n ) {\n super();\n\n this.dh = dh;\n this.defaultFormatString = defaultFormatString;\n }\n\n /**\n * Format a value with the provided format object\n * @param valueParam Value to format\n * @param format Format object\n * @returns Formatted string\n */\n format(\n valueParam: number,\n format: Partial<DecimalColumnFormat> = {}\n ): string {\n const formatString =\n format.formatString != null && format.formatString !== ''\n ? format.formatString\n : this.defaultFormatString;\n const value =\n format.multiplier != null && format.multiplier !== 0\n ? valueParam * format.multiplier\n : valueParam;\n try {\n return this.dh.i18n.NumberFormat.format(formatString, value);\n } catch (e) {\n log.error('Invalid format arguments');\n }\n return '';\n }\n}\n\nexport default DecimalColumnFormatter;\n"],"mappings":"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"}
|
|
@@ -47,6 +47,7 @@ export declare class IntegerColumnFormatter extends TableColumnFormatter<number>
|
|
|
47
47
|
*/
|
|
48
48
|
static isSameFormat(formatA: IntegerColumnFormat | null, formatB: IntegerColumnFormat | null): boolean;
|
|
49
49
|
static DEFAULT_FORMAT_STRING: string;
|
|
50
|
+
static FORMAT_THOUSANDS: IntegerColumnFormat;
|
|
50
51
|
static FORMAT_MILLIONS: IntegerColumnFormat;
|
|
51
52
|
static FORMAT_SCIENTIFIC_NOTATION: IntegerColumnFormat;
|
|
52
53
|
dh: typeof DhType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegerColumnFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/IntegerColumnFormatter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,oBAAoB,EAAE,EAC3B,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAE1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,kDAAkD;AAClD,qBAAa,sBAAuB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACtE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,OAAO,MAAM,EACjB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAC9C,OAAO;IAYV;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CACf,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,yDAA2C,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,EAAE,MAAM,EACb,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAClC,OAAO;IAWV,MAAM,CAAC,qBAAqB,SAAa;IAEzC,MAAM,CAAC,eAAe,sBAIpB;IAEF,MAAM,CAAC,0BAA0B,sBAG/B;IAEF,EAAE,EAAE,OAAO,MAAM,CAAC;IAElB,mBAAmB,EAAE,MAAM,CAAC;gBAG1B,EAAE,EAAE,OAAO,MAAM,EACjB,EACE,mBAAkE,GACnE,GAAE,6BAAkC;IAOvC;;;;;OAKG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,MAAM;CAgBV;AAED,eAAe,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"IntegerColumnFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/IntegerColumnFormatter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,oBAAoB,EAAE,EAC3B,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAE1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,kDAAkD;AAClD,qBAAa,sBAAuB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACtE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,OAAO,MAAM,EACjB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAC9C,OAAO;IAYV;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CACf,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,yDAA2C,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,EAAE,MAAM,EACb,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,SAAK,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IAStB;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,mBAAmB,GAAG,IAAI,EACnC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAClC,OAAO;IAWV,MAAM,CAAC,qBAAqB,SAAa;IAEzC,MAAM,CAAC,gBAAgB,sBAIrB;IAEF,MAAM,CAAC,eAAe,sBAIpB;IAEF,MAAM,CAAC,0BAA0B,sBAG/B;IAEF,EAAE,EAAE,OAAO,MAAM,CAAC;IAElB,mBAAmB,EAAE,MAAM,CAAC;gBAG1B,EAAE,EAAE,OAAO,MAAM,EACjB,EACE,mBAAkE,GACnE,GAAE,6BAAkC;IAOvC;;;;;OAKG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,MAAM;CAgBV;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -109,6 +109,7 @@ export class IntegerColumnFormatter extends TableColumnFormatter {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
_defineProperty(IntegerColumnFormatter, "DEFAULT_FORMAT_STRING", '###,##0');
|
|
112
|
+
_defineProperty(IntegerColumnFormatter, "FORMAT_THOUSANDS", IntegerColumnFormatter.makePresetFormat('Thousands', '##0.000 k', 0.001));
|
|
112
113
|
_defineProperty(IntegerColumnFormatter, "FORMAT_MILLIONS", IntegerColumnFormatter.makePresetFormat('Millions', '###,##0.000 mm', 0.000001));
|
|
113
114
|
_defineProperty(IntegerColumnFormatter, "FORMAT_SCIENTIFIC_NOTATION", IntegerColumnFormatter.makePresetFormat('Scientific Notation', '0.0000E0'));
|
|
114
115
|
export default IntegerColumnFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegerColumnFormatter.js","names":["Log","TableColumnFormatter","log","module","IntegerColumnFormatter","isValid","dh","format","formatString","i18n","NumberFormat","e","makeFormat","label","type","arguments","length","undefined","TYPE_CONTEXT_PRESET","multiplier","makePresetFormat","makeCustomFormat","TYPE_CONTEXT_CUSTOM","isSameFormat","formatA","formatB","constructor","defaultFormatString","DEFAULT_FORMAT_STRING","_defineProperty","valueParam","value","error"],"sources":["../../src/formatters/IntegerColumnFormatter.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport TableColumnFormatter, {\n type TableColumnFormat,\n} from './TableColumnFormatter';\n\nconst log = Log.module('IntegerColumnFormatter');\n\nexport type IntegerColumnFormat = TableColumnFormat & {\n multiplier?: number | null;\n};\n\nexport type IntegerColumnFormatterOptions = {\n // Default format string to use. Defaults to IntegerColumnFormatter.DEFAULT_FORMAT_STRING\n defaultFormatString?: string;\n};\n\n/** Column formatter for integers/whole numbers */\nexport class IntegerColumnFormatter extends TableColumnFormatter<number> {\n /**\n * Validates format object\n * @param dh JSAPI instance\n * @param format Format object\n * @returns true for valid object\n */\n static isValid(\n dh: typeof DhType,\n format: Pick<TableColumnFormat, 'formatString'>\n ): boolean {\n if (format.formatString == null) {\n return false;\n }\n try {\n dh.i18n.NumberFormat.format(format.formatString, 0);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Create an IntegerColumnFormat object with the parameters specified\n * @param label Label for the format\n * @param formatString Format string for the format\n * @param multiplier Optional multiplier for the formatter\n * @param type Type of format created\n * @returns IntegerColumnFormat object\n */\n static makeFormat(\n label: string,\n formatString: string,\n type = TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier?: number\n ): IntegerColumnFormat {\n return {\n label,\n type,\n formatString,\n multiplier,\n };\n }\n\n /**\n * Convenient function to create a IntegerFormatObject with Preset type set\n * @param label Label for this format object\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns IntegerColumnFormat object\n */\n static makePresetFormat(\n label: string,\n formatString = '',\n multiplier?: number\n ): IntegerColumnFormat {\n return IntegerColumnFormatter.makeFormat(\n label,\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier\n );\n }\n\n /**\n * Convenient function to create a IntegerFormatObject with a default 'Custom Format' label and Custom type\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns IntegerColumnFormat object\n */\n static makeCustomFormat(\n formatString = '',\n multiplier?: number\n ): IntegerColumnFormat {\n return IntegerColumnFormatter.makeFormat(\n 'Custom Format',\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM,\n multiplier\n );\n }\n\n /**\n * Check if the given formats match\n * @param formatA format object to check\n * @param formatB format object to check\n * @returns True if the formats match\n */\n static isSameFormat(\n formatA: IntegerColumnFormat | null,\n formatB: IntegerColumnFormat | null\n ): boolean {\n return (\n formatA === formatB ||\n (formatA != null &&\n formatB != null &&\n formatA.type === formatB.type &&\n formatA.formatString === formatB.formatString &&\n formatA.multiplier === formatB.multiplier)\n );\n }\n\n static DEFAULT_FORMAT_STRING = '###,##0';\n\n static FORMAT_MILLIONS = IntegerColumnFormatter.makePresetFormat(\n 'Millions',\n '###,##0.000 mm',\n 0.000001\n );\n\n static FORMAT_SCIENTIFIC_NOTATION = IntegerColumnFormatter.makePresetFormat(\n 'Scientific Notation',\n '0.0000E0'\n );\n\n dh: typeof DhType;\n\n defaultFormatString: string;\n\n constructor(\n dh: typeof DhType,\n {\n defaultFormatString = IntegerColumnFormatter.DEFAULT_FORMAT_STRING,\n }: IntegerColumnFormatterOptions = {}\n ) {\n super();\n this.dh = dh;\n this.defaultFormatString = defaultFormatString;\n }\n\n /**\n * Format a value with the provided format object\n * @param valueParam Value to format\n * @param format Format object\n * @returns Formatted string\n */\n format(\n valueParam: number,\n format: Partial<IntegerColumnFormat> = {}\n ): string {\n const formatString =\n format.formatString != null && format.formatString !== ''\n ? format.formatString\n : this.defaultFormatString;\n const value =\n format.multiplier != null && format.multiplier !== 0\n ? valueParam * format.multiplier\n : valueParam;\n try {\n return this.dh.i18n.NumberFormat.format(formatString, value);\n } catch (e) {\n log.error('Invalid format arguments');\n }\n return '';\n }\n}\n\nexport default IntegerColumnFormatter;\n"],"mappings":";;;AAAA;;AAEA,OAAOA,GAAG,MAAM,gBAAgB;AAAC,OAC1BC,oBAAoB;AAI3B,IAAMC,GAAG,GAAGF,GAAG,CAACG,MAAM,CAAC,wBAAwB,CAAC;AAWhD;AACA,OAAO,MAAMC,sBAAsB,SAASH,oBAAoB,CAAS;EACvE;AACF;AACA;AACA;AACA;AACA;EACE,OAAOI,OAAOA,CACZC,EAAiB,EACjBC,MAA+C,EACtC;IACT,IAAIA,MAAM,CAACC,YAAY,IAAI,IAAI,EAAE;MAC/B,OAAO,KAAK;IACd;IACA,IAAI;MACFF,EAAE,CAACG,IAAI,CAACC,YAAY,CAACH,MAAM,CAACA,MAAM,CAACC,YAAY,EAAE,CAAC,CAAC;MACnD,OAAO,IAAI;IACb,CAAC,CAAC,OAAOG,CAAC,EAAE;MACV,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CACfC,KAAa,EACbL,YAAoB,EAGC;IAAA,IAFrBM,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGd,oBAAoB,CAACiB,mBAAmB;IAAA,IAC/CC,UAAmB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAEnB,OAAO;MACLJ,KAAK;MACLC,IAAI;MACJN,YAAY;MACZW;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,gBAAgBA,CACrBP,KAAa,EAGQ;IAAA,IAFrBL,YAAY,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,IACjBI,UAAmB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAEnB,OAAOb,sBAAsB,CAACQ,UAAU,CACtCC,KAAK,EACLL,YAAY,EACZP,oBAAoB,CAACiB,mBAAmB,EACxCC,UACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAOE,gBAAgBA,CAAA,EAGA;IAAA,IAFrBb,YAAY,GAAAO,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,IACjBI,UAAmB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAEnB,OAAOb,sBAAsB,CAACQ,UAAU,CACtC,eAAe,EACfJ,YAAY,EACZP,oBAAoB,CAACqB,mBAAmB,EACxCH,UACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAOI,YAAYA,CACjBC,OAAmC,EACnCC,OAAmC,EAC1B;IACT,OACED,OAAO,KAAKC,OAAO,IAClBD,OAAO,IAAI,IAAI,IACdC,OAAO,IAAI,IAAI,IACfD,OAAO,CAACV,IAAI,KAAKW,OAAO,CAACX,IAAI,IAC7BU,OAAO,CAAChB,YAAY,KAAKiB,OAAO,CAACjB,YAAY,IAC7CgB,OAAO,CAACL,UAAU,KAAKM,OAAO,CAACN,UAAW;EAEhD;
|
|
1
|
+
{"version":3,"file":"IntegerColumnFormatter.js","names":["Log","TableColumnFormatter","log","module","IntegerColumnFormatter","isValid","dh","format","formatString","i18n","NumberFormat","e","makeFormat","label","type","arguments","length","undefined","TYPE_CONTEXT_PRESET","multiplier","makePresetFormat","makeCustomFormat","TYPE_CONTEXT_CUSTOM","isSameFormat","formatA","formatB","constructor","defaultFormatString","DEFAULT_FORMAT_STRING","_defineProperty","valueParam","value","error"],"sources":["../../src/formatters/IntegerColumnFormatter.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport TableColumnFormatter, {\n type TableColumnFormat,\n} from './TableColumnFormatter';\n\nconst log = Log.module('IntegerColumnFormatter');\n\nexport type IntegerColumnFormat = TableColumnFormat & {\n multiplier?: number | null;\n};\n\nexport type IntegerColumnFormatterOptions = {\n // Default format string to use. Defaults to IntegerColumnFormatter.DEFAULT_FORMAT_STRING\n defaultFormatString?: string;\n};\n\n/** Column formatter for integers/whole numbers */\nexport class IntegerColumnFormatter extends TableColumnFormatter<number> {\n /**\n * Validates format object\n * @param dh JSAPI instance\n * @param format Format object\n * @returns true for valid object\n */\n static isValid(\n dh: typeof DhType,\n format: Pick<TableColumnFormat, 'formatString'>\n ): boolean {\n if (format.formatString == null) {\n return false;\n }\n try {\n dh.i18n.NumberFormat.format(format.formatString, 0);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Create an IntegerColumnFormat object with the parameters specified\n * @param label Label for the format\n * @param formatString Format string for the format\n * @param multiplier Optional multiplier for the formatter\n * @param type Type of format created\n * @returns IntegerColumnFormat object\n */\n static makeFormat(\n label: string,\n formatString: string,\n type = TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier?: number\n ): IntegerColumnFormat {\n return {\n label,\n type,\n formatString,\n multiplier,\n };\n }\n\n /**\n * Convenient function to create a IntegerFormatObject with Preset type set\n * @param label Label for this format object\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns IntegerColumnFormat object\n */\n static makePresetFormat(\n label: string,\n formatString = '',\n multiplier?: number\n ): IntegerColumnFormat {\n return IntegerColumnFormatter.makeFormat(\n label,\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_PRESET,\n multiplier\n );\n }\n\n /**\n * Convenient function to create a IntegerFormatObject with a default 'Custom Format' label and Custom type\n * @param formatString Format string to use\n * @param multiplier Multiplier to use\n * @returns IntegerColumnFormat object\n */\n static makeCustomFormat(\n formatString = '',\n multiplier?: number\n ): IntegerColumnFormat {\n return IntegerColumnFormatter.makeFormat(\n 'Custom Format',\n formatString,\n TableColumnFormatter.TYPE_CONTEXT_CUSTOM,\n multiplier\n );\n }\n\n /**\n * Check if the given formats match\n * @param formatA format object to check\n * @param formatB format object to check\n * @returns True if the formats match\n */\n static isSameFormat(\n formatA: IntegerColumnFormat | null,\n formatB: IntegerColumnFormat | null\n ): boolean {\n return (\n formatA === formatB ||\n (formatA != null &&\n formatB != null &&\n formatA.type === formatB.type &&\n formatA.formatString === formatB.formatString &&\n formatA.multiplier === formatB.multiplier)\n );\n }\n\n static DEFAULT_FORMAT_STRING = '###,##0';\n\n static FORMAT_THOUSANDS = IntegerColumnFormatter.makePresetFormat(\n 'Thousands',\n '##0.000 k',\n 0.001\n );\n\n static FORMAT_MILLIONS = IntegerColumnFormatter.makePresetFormat(\n 'Millions',\n '###,##0.000 mm',\n 0.000001\n );\n\n static FORMAT_SCIENTIFIC_NOTATION = IntegerColumnFormatter.makePresetFormat(\n 'Scientific Notation',\n '0.0000E0'\n );\n\n dh: typeof DhType;\n\n defaultFormatString: string;\n\n constructor(\n dh: typeof DhType,\n {\n defaultFormatString = IntegerColumnFormatter.DEFAULT_FORMAT_STRING,\n }: IntegerColumnFormatterOptions = {}\n ) {\n super();\n this.dh = dh;\n this.defaultFormatString = defaultFormatString;\n }\n\n /**\n * Format a value with the provided format object\n * @param valueParam Value to format\n * @param format Format object\n * @returns Formatted string\n */\n format(\n valueParam: number,\n format: Partial<IntegerColumnFormat> = {}\n ): string {\n const formatString =\n format.formatString != null && format.formatString !== ''\n ? format.formatString\n : this.defaultFormatString;\n const value =\n format.multiplier != null && format.multiplier !== 0\n ? valueParam * format.multiplier\n : valueParam;\n try {\n return this.dh.i18n.NumberFormat.format(formatString, value);\n } catch (e) {\n log.error('Invalid format arguments');\n }\n return '';\n }\n}\n\nexport default IntegerColumnFormatter;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/jsapi-utils",
|
|
3
|
-
"version": "0.96.2-beta.
|
|
3
|
+
"version": "0.96.2-beta.7+9d84d8df",
|
|
4
4
|
"description": "Deephaven JSAPI Utils",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
"build:babel": "babel ./src --out-dir ./dist --extensions \".ts,.tsx,.js,.jsx\" --source-maps --root-mode upward"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@deephaven/filters": "^0.96.2-beta.
|
|
24
|
+
"@deephaven/filters": "^0.96.2-beta.7+9d84d8df",
|
|
25
25
|
"@deephaven/jsapi-types": "^1.0.0-dev0.34.0",
|
|
26
|
-
"@deephaven/log": "^0.96.2-beta.
|
|
27
|
-
"@deephaven/utils": "^0.96.2-beta.
|
|
26
|
+
"@deephaven/log": "^0.96.2-beta.7+9d84d8df",
|
|
27
|
+
"@deephaven/utils": "^0.96.2-beta.7+9d84d8df",
|
|
28
28
|
"lodash.clamp": "^4.0.3",
|
|
29
29
|
"nanoid": "^5.0.7"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@deephaven/jsapi-shim": "^0.96.2-beta.
|
|
33
|
-
"@deephaven/test-utils": "^0.96.2-beta.
|
|
32
|
+
"@deephaven/jsapi-shim": "^0.96.2-beta.7+9d84d8df",
|
|
33
|
+
"@deephaven/test-utils": "^0.96.2-beta.7+9d84d8df"
|
|
34
34
|
},
|
|
35
35
|
"files": [
|
|
36
36
|
"dist"
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"publishConfig": {
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "9d84d8df388031f73aea16cefece9b0bea2790a4"
|
|
43
43
|
}
|