@gridsheet/react-core 0.12.4-beta.0 → 0.12.4-beta.1
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/components/Cell.js +56 -50
- package/dist/components/Cell.js.map +1 -1
- package/dist/components/ContextMenu.js +67 -60
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/Editor.js +51 -44
- package/dist/components/Editor.js.map +1 -1
- package/dist/components/Emitter.js +14 -7
- package/dist/components/Emitter.js.map +1 -1
- package/dist/components/GridSheet.js +64 -37
- package/dist/components/GridSheet.js.map +1 -1
- package/dist/components/HeaderLeftCell.js +30 -24
- package/dist/components/HeaderLeftCell.js.map +1 -1
- package/dist/components/HeaderTopCell.js +31 -25
- package/dist/components/HeaderTopCell.js.map +1 -1
- package/dist/components/Resizer.js +37 -31
- package/dist/components/Resizer.js.map +1 -1
- package/dist/components/SearchBox.js +25 -18
- package/dist/components/SearchBox.js.map +1 -1
- package/dist/components/StoreInitializer.js +37 -30
- package/dist/components/StoreInitializer.js.map +1 -1
- package/dist/components/Tabular.js +53 -45
- package/dist/components/Tabular.js.map +1 -1
- package/dist/constants.js +20 -16
- package/dist/constants.js.map +1 -1
- package/dist/formula/evaluator.js +34 -18
- package/dist/formula/evaluator.js.map +1 -1
- package/dist/formula/functions/__base.js +5 -1
- package/dist/formula/functions/__base.js.map +1 -1
- package/dist/formula/functions/__utils.js +29 -21
- package/dist/formula/functions/__utils.js.map +1 -1
- package/dist/formula/functions/abs.js +10 -6
- package/dist/formula/functions/abs.js.map +1 -1
- package/dist/formula/functions/abs.spec.js +11 -9
- package/dist/formula/functions/abs.spec.js.map +1 -1
- package/dist/formula/functions/acos.js +11 -7
- package/dist/formula/functions/acos.js.map +1 -1
- package/dist/formula/functions/add.js +20 -16
- package/dist/formula/functions/add.js.map +1 -1
- package/dist/formula/functions/and.js +8 -4
- package/dist/formula/functions/and.js.map +1 -1
- package/dist/formula/functions/asin.js +11 -7
- package/dist/formula/functions/asin.js.map +1 -1
- package/dist/formula/functions/atan.js +10 -6
- package/dist/formula/functions/atan.js.map +1 -1
- package/dist/formula/functions/atan2.js +10 -6
- package/dist/formula/functions/atan2.js.map +1 -1
- package/dist/formula/functions/average.js +14 -10
- package/dist/formula/functions/average.js.map +1 -1
- package/dist/formula/functions/col.js +8 -4
- package/dist/formula/functions/col.js.map +1 -1
- package/dist/formula/functions/concat.js +10 -6
- package/dist/formula/functions/concat.js.map +1 -1
- package/dist/formula/functions/concatenate.js +8 -4
- package/dist/formula/functions/concatenate.js.map +1 -1
- package/dist/formula/functions/cos.js +10 -6
- package/dist/formula/functions/cos.js.map +1 -1
- package/dist/formula/functions/count.js +12 -8
- package/dist/formula/functions/count.js.map +1 -1
- package/dist/formula/functions/counta.js +12 -8
- package/dist/formula/functions/counta.js.map +1 -1
- package/dist/formula/functions/countif.js +12 -8
- package/dist/formula/functions/countif.js.map +1 -1
- package/dist/formula/functions/divide.js +11 -7
- package/dist/formula/functions/divide.js.map +1 -1
- package/dist/formula/functions/eq.js +8 -4
- package/dist/formula/functions/eq.js.map +1 -1
- package/dist/formula/functions/exp.js +10 -6
- package/dist/formula/functions/exp.js.map +1 -1
- package/dist/formula/functions/gt.js +10 -6
- package/dist/formula/functions/gt.js.map +1 -1
- package/dist/formula/functions/gte.js +10 -6
- package/dist/formula/functions/gte.js.map +1 -1
- package/dist/formula/functions/hlookup.js +19 -15
- package/dist/formula/functions/hlookup.js.map +1 -1
- package/dist/formula/functions/if.js +10 -6
- package/dist/formula/functions/if.js.map +1 -1
- package/dist/formula/functions/iferror.js +10 -6
- package/dist/formula/functions/iferror.js.map +1 -1
- package/dist/formula/functions/iferror.spec.js +20 -18
- package/dist/formula/functions/iferror.spec.js.map +1 -1
- package/dist/formula/functions/len.js +10 -6
- package/dist/formula/functions/len.js.map +1 -1
- package/dist/formula/functions/lenb.js +10 -6
- package/dist/formula/functions/lenb.js.map +1 -1
- package/dist/formula/functions/ln.js +11 -7
- package/dist/formula/functions/ln.js.map +1 -1
- package/dist/formula/functions/log.js +12 -8
- package/dist/formula/functions/log.js.map +1 -1
- package/dist/formula/functions/log10.js +11 -7
- package/dist/formula/functions/log10.js.map +1 -1
- package/dist/formula/functions/lt.js +10 -6
- package/dist/formula/functions/lt.js.map +1 -1
- package/dist/formula/functions/lte.js +10 -6
- package/dist/formula/functions/lte.js.map +1 -1
- package/dist/formula/functions/max.js +14 -10
- package/dist/formula/functions/max.js.map +1 -1
- package/dist/formula/functions/min.js +14 -10
- package/dist/formula/functions/min.js.map +1 -1
- package/dist/formula/functions/minus.js +20 -16
- package/dist/formula/functions/minus.js.map +1 -1
- package/dist/formula/functions/mod.js +11 -7
- package/dist/formula/functions/mod.js.map +1 -1
- package/dist/formula/functions/mod.spec.js +17 -15
- package/dist/formula/functions/mod.spec.js.map +1 -1
- package/dist/formula/functions/multiply.js +10 -6
- package/dist/formula/functions/multiply.js.map +1 -1
- package/dist/formula/functions/ne.js +8 -4
- package/dist/formula/functions/ne.js.map +1 -1
- package/dist/formula/functions/not.js +10 -6
- package/dist/formula/functions/not.js.map +1 -1
- package/dist/formula/functions/now.js +8 -4
- package/dist/formula/functions/now.js.map +1 -1
- package/dist/formula/functions/or.js +8 -4
- package/dist/formula/functions/or.js.map +1 -1
- package/dist/formula/functions/pi.js +8 -4
- package/dist/formula/functions/pi.js.map +1 -1
- package/dist/formula/functions/power.js +10 -6
- package/dist/formula/functions/power.js.map +1 -1
- package/dist/formula/functions/product.js +12 -8
- package/dist/formula/functions/product.js.map +1 -1
- package/dist/formula/functions/radians.js +10 -6
- package/dist/formula/functions/radians.js.map +1 -1
- package/dist/formula/functions/rand.js +8 -4
- package/dist/formula/functions/rand.js.map +1 -1
- package/dist/formula/functions/round.js +10 -6
- package/dist/formula/functions/round.js.map +1 -1
- package/dist/formula/functions/rounddown.js +10 -6
- package/dist/formula/functions/rounddown.js.map +1 -1
- package/dist/formula/functions/roundup.js +10 -6
- package/dist/formula/functions/roundup.js.map +1 -1
- package/dist/formula/functions/row.js +8 -4
- package/dist/formula/functions/row.js.map +1 -1
- package/dist/formula/functions/sin.js +10 -6
- package/dist/formula/functions/sin.js.map +1 -1
- package/dist/formula/functions/sqrt.js +11 -7
- package/dist/formula/functions/sqrt.js.map +1 -1
- package/dist/formula/functions/sum.js +14 -10
- package/dist/formula/functions/sum.js.map +1 -1
- package/dist/formula/functions/sum.spec.js +15 -13
- package/dist/formula/functions/sum.spec.js.map +1 -1
- package/dist/formula/functions/sumif.js +18 -14
- package/dist/formula/functions/sumif.js.map +1 -1
- package/dist/formula/functions/tan.js +10 -6
- package/dist/formula/functions/tan.js.map +1 -1
- package/dist/formula/functions/uminus.js +10 -6
- package/dist/formula/functions/uminus.js.map +1 -1
- package/dist/formula/functions/vlookup.js +19 -15
- package/dist/formula/functions/vlookup.js.map +1 -1
- package/dist/formula/mapping.js +115 -112
- package/dist/formula/mapping.js.map +1 -1
- package/dist/formula/solver.js +20 -15
- package/dist/formula/solver.js.map +1 -1
- package/dist/index.js +31 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/autofill.js +21 -17
- package/dist/lib/autofill.js.map +1 -1
- package/dist/lib/clipboard.js +9 -5
- package/dist/lib/clipboard.js.map +1 -1
- package/dist/lib/converters.js +24 -13
- package/dist/lib/converters.js.map +1 -1
- package/dist/lib/structs.js +67 -39
- package/dist/lib/structs.js.map +1 -1
- package/dist/lib/table.js +76 -72
- package/dist/lib/table.js.map +1 -1
- package/dist/lib/time.js +11 -7
- package/dist/lib/time.js.map +1 -1
- package/dist/lib/virtualization.js +26 -19
- package/dist/lib/virtualization.js.map +1 -1
- package/dist/parsers/core.js +12 -8
- package/dist/parsers/core.js.map +1 -1
- package/dist/renderers/checkbox.js +9 -3
- package/dist/renderers/checkbox.js.map +1 -1
- package/dist/renderers/core.js +20 -16
- package/dist/renderers/core.js.map +1 -1
- package/dist/renderers/thousand_separator.js +4 -1
- package/dist/renderers/thousand_separator.js.map +1 -1
- package/dist/store/actions.js +81 -76
- package/dist/store/actions.js.map +1 -1
- package/dist/store/helpers.js +11 -5
- package/dist/store/helpers.js.map +1 -1
- package/dist/store/index.js +28 -2
- package/dist/store/index.js.map +1 -1
- package/dist/styles/embedder.js +9 -5
- package/dist/styles/embedder.js.map +1 -1
- package/dist/styles/minified.js +5 -2
- package/dist/styles/minified.js.map +1 -1
- package/dist/types.js +2 -1
- package/dist/utils.js +5 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../src/formula/functions/count.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../src/formula/functions/count.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AACvC,2CAAwC;AACxC,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,aAAc,SAAQ,qBAAY;IAA/C;;QACE,YAAO,GAAG,6BAA6B,CAAC;QACxC,aAAQ,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACzD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;gBAC3C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;IAmBJ,CAAC;IAjBW,QAAQ;QAChB,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,GAAG,YAAY,aAAK,EAAE;gBACxB,QAAQ,CAAC,IAAI,CACX,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;gBACF,OAAO;aACR;YACD,QAAQ,CAAC,IAAI,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAES,IAAI,CAAC,GAAG,MAAa;QAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;CACF;AA9BD,sCA8BC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CountaFunction = void 0;
|
|
4
|
+
const solver_1 = require("../solver");
|
|
5
|
+
const table_1 = require("../../lib/table");
|
|
6
|
+
const __base_1 = require("./__base");
|
|
7
|
+
const __utils_1 = require("./__utils");
|
|
8
|
+
class CountaFunction extends __base_1.BaseFunction {
|
|
6
9
|
constructor() {
|
|
7
10
|
super(...arguments);
|
|
8
11
|
this.example = "COUNTA(A2:A100,B2:B100,4,26)";
|
|
@@ -20,11 +23,11 @@ export class CountaFunction extends BaseFunction {
|
|
|
20
23
|
validate() {
|
|
21
24
|
const spreaded = [];
|
|
22
25
|
this.bareArgs.map((arg) => {
|
|
23
|
-
if (arg instanceof Table) {
|
|
24
|
-
spreaded.push(...solveTable({ table: arg }).reduce((a, b) => a.concat(b)));
|
|
26
|
+
if (arg instanceof table_1.Table) {
|
|
27
|
+
spreaded.push(...(0, solver_1.solveTable)({ table: arg }).reduce((a, b) => a.concat(b)));
|
|
25
28
|
return;
|
|
26
29
|
}
|
|
27
|
-
spreaded.push(ensureNumber(arg));
|
|
30
|
+
spreaded.push((0, __utils_1.ensureNumber)(arg));
|
|
28
31
|
});
|
|
29
32
|
this.bareArgs = spreaded;
|
|
30
33
|
}
|
|
@@ -32,4 +35,5 @@ export class CountaFunction extends BaseFunction {
|
|
|
32
35
|
return values.filter((v) => v != null && v !== "").length;
|
|
33
36
|
}
|
|
34
37
|
}
|
|
38
|
+
exports.CountaFunction = CountaFunction;
|
|
35
39
|
//# sourceMappingURL=counta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counta.js","sourceRoot":"","sources":["../../../src/formula/functions/counta.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"counta.js","sourceRoot":"","sources":["../../../src/formula/functions/counta.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AACvC,2CAAwC;AACxC,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,cAAe,SAAQ,qBAAY;IAAhD;;QACE,YAAO,GAAG,8BAA8B,CAAC;QACzC,aAAQ,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACzD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;gBAC3C,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;IAmBJ,CAAC;IAjBW,QAAQ;QAChB,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,GAAG,YAAY,aAAK,EAAE;gBACxB,QAAQ,CAAC,IAAI,CACX,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;gBACF,OAAO;aACR;YACD,QAAQ,CAAC,IAAI,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAES,IAAI,CAAC,GAAG,MAAa;QAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;CACF;AA9BD,wCA8BC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CountifFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const solver_1 = require("../solver");
|
|
6
|
+
const __base_1 = require("./__base");
|
|
7
|
+
const __utils_1 = require("./__utils");
|
|
8
|
+
class CountifFunction extends __base_1.BaseFunction {
|
|
6
9
|
constructor() {
|
|
7
10
|
super(...arguments);
|
|
8
11
|
this.example = 'COUNTIF(A1:A10,">20")';
|
|
@@ -17,14 +20,15 @@ export class CountifFunction extends BaseFunction {
|
|
|
17
20
|
}
|
|
18
21
|
validate() {
|
|
19
22
|
if (this.bareArgs.length !== 2) {
|
|
20
|
-
throw new FormulaError("#N/A", "Number of arguments for COUNTIF is incorrect.");
|
|
23
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for COUNTIF is incorrect.");
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
26
|
main(table, condition) {
|
|
24
|
-
const matrix = solveTable({ table });
|
|
27
|
+
const matrix = (0, solver_1.solveTable)({ table });
|
|
25
28
|
return matrix
|
|
26
29
|
.reduce((a, b) => a.concat(b))
|
|
27
|
-
.filter((v) => check(v, condition)).length;
|
|
30
|
+
.filter((v) => (0, __utils_1.check)(v, condition)).length;
|
|
28
31
|
}
|
|
29
32
|
}
|
|
33
|
+
exports.CountifFunction = CountifFunction;
|
|
30
34
|
//# sourceMappingURL=countif.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countif.js","sourceRoot":"","sources":["../../../src/formula/functions/countif.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"countif.js","sourceRoot":"","sources":["../../../src/formula/functions/countif.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAuC;AAEvC,qCAAwC;AACxC,uCAAkC;AAElC,MAAa,eAAgB,SAAQ,qBAAY;IAAjD;;QACE,YAAO,GAAG,uBAAuB,CAAC;QAClC,aAAQ,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;YAC/C;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,wBAAwB;aACtC;SACF,CAAC;IAiBJ,CAAC;IAfW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,+CAA+C,CAChD,CAAC;SACH;IACH,CAAC;IAES,IAAI,CAAC,KAAY,EAAE,SAAiB;QAC5C,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC7B,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,eAAK,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,CAAC;CACF;AA1BD,0CA0BC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DivideFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const __base_1 = require("./__base");
|
|
6
|
+
const __utils_1 = require("./__utils");
|
|
7
|
+
class DivideFunction extends __base_1.BaseFunction {
|
|
5
8
|
constructor() {
|
|
6
9
|
super(...arguments);
|
|
7
10
|
this.example = "DIVIDE(4, 2)";
|
|
@@ -19,15 +22,16 @@ export class DivideFunction extends BaseFunction {
|
|
|
19
22
|
}
|
|
20
23
|
validate() {
|
|
21
24
|
if (this.bareArgs.length !== 2) {
|
|
22
|
-
throw new FormulaError("#N/A", "Number of arguments for DIVIDE is incorrect.");
|
|
25
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for DIVIDE is incorrect.");
|
|
23
26
|
}
|
|
24
|
-
this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
|
|
27
|
+
this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
|
|
25
28
|
if (this.bareArgs[1] === 0) {
|
|
26
|
-
throw new FormulaError("#DIV/0!", "The second argument must be non-zero.");
|
|
29
|
+
throw new evaluator_1.FormulaError("#DIV/0!", "The second argument must be non-zero.");
|
|
27
30
|
}
|
|
28
31
|
}
|
|
29
32
|
main(divided, divisor) {
|
|
30
33
|
return divided / divisor;
|
|
31
34
|
}
|
|
32
35
|
}
|
|
36
|
+
exports.DivideFunction = DivideFunction;
|
|
33
37
|
//# sourceMappingURL=divide.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divide.js","sourceRoot":"","sources":["../../../src/formula/functions/divide.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"divide.js","sourceRoot":"","sources":["../../../src/formula/functions/divide.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,cAAe,SAAQ,qBAAY;IAAhD;;QACE,YAAO,GAAG,cAAc,CAAC;QACzB,aAAQ,GAAG;YACT,uDAAuD;YACvD,uCAAuC;SACxC,CAAC;QACF,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,2CAA2C;aACzD;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uCAAuC,EAAE;SAC1E,CAAC;IAqBJ,CAAC;IAnBW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,8CAA8C,CAC/C,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1B,MAAM,IAAI,wBAAY,CACpB,SAAS,EACT,uCAAuC,CACxC,CAAC;SACH;IACH,CAAC;IAES,IAAI,CAAC,OAAe,EAAE,OAAe;QAC7C,OAAO,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACF;AAjCD,wCAiCC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EqFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const __base_1 = require("./__base");
|
|
6
|
+
class EqFunction extends __base_1.BaseFunction {
|
|
4
7
|
constructor() {
|
|
5
8
|
super(...arguments);
|
|
6
9
|
this.example = "EQ(6, 7)";
|
|
@@ -15,11 +18,12 @@ export class EqFunction extends BaseFunction {
|
|
|
15
18
|
}
|
|
16
19
|
validate() {
|
|
17
20
|
if (this.bareArgs.length !== 2) {
|
|
18
|
-
throw new FormulaError("#N/A", "Number of arguments for EQ is incorrect.");
|
|
21
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for EQ is incorrect.");
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
main(v1, v2) {
|
|
22
25
|
return v1 === v2;
|
|
23
26
|
}
|
|
24
27
|
}
|
|
28
|
+
exports.EqFunction = EqFunction;
|
|
25
29
|
//# sourceMappingURL=eq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eq.js","sourceRoot":"","sources":["../../../src/formula/functions/eq.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"eq.js","sourceRoot":"","sources":["../../../src/formula/functions/eq.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AAExC,MAAa,UAAW,SAAQ,qBAAY;IAA5C;;QACE,YAAO,GAAG,UAAU,CAAC;QACrB,aAAQ,GAAG;YACT,4EAA4E;YAC5E,uCAAuC;SACxC,CAAC;QACF,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;YAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;SACvE,CAAC;IAcJ,CAAC;IAZW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,0CAA0C,CAC3C,CAAC;SACH;IACH,CAAC;IAES,IAAI,CAAC,EAAU,EAAE,EAAU;QACnC,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAvBD,gCAuBC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExpFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const __base_1 = require("./__base");
|
|
6
|
+
const __utils_1 = require("./__utils");
|
|
7
|
+
class ExpFunction extends __base_1.BaseFunction {
|
|
5
8
|
constructor() {
|
|
6
9
|
super(...arguments);
|
|
7
10
|
this.example = "EXP(2)";
|
|
@@ -17,12 +20,13 @@ export class ExpFunction extends BaseFunction {
|
|
|
17
20
|
}
|
|
18
21
|
validate() {
|
|
19
22
|
if (this.bareArgs.length !== 1) {
|
|
20
|
-
throw new FormulaError("#N/A", "Number of arguments for EXP is incorrect.");
|
|
23
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for EXP is incorrect.");
|
|
21
24
|
}
|
|
22
|
-
this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
|
|
25
|
+
this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
|
|
23
26
|
}
|
|
24
27
|
main(exponent) {
|
|
25
28
|
return Math.exp(exponent);
|
|
26
29
|
}
|
|
27
30
|
}
|
|
31
|
+
exports.ExpFunction = ExpFunction;
|
|
28
32
|
//# sourceMappingURL=exp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exp.js","sourceRoot":"","sources":["../../../src/formula/functions/exp.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"exp.js","sourceRoot":"","sources":["../../../src/formula/functions/exp.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,WAAY,SAAQ,qBAAY;IAA7C;;QACE,YAAO,GAAG,QAAQ,CAAC;QACnB,aAAQ,GAAG;YACT,iEAAiE;SAClE,CAAC;QACF,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,gDAAgD;aAC9D;SACF,CAAC;IAeJ,CAAC;IAbW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,2CAA2C,CAC5C,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAES,IAAI,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;CACF;AAzBD,kCAyBC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GtFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const __base_1 = require("./__base");
|
|
6
|
+
const __utils_1 = require("./__utils");
|
|
7
|
+
class GtFunction extends __base_1.BaseFunction {
|
|
5
8
|
constructor() {
|
|
6
9
|
super(...arguments);
|
|
7
10
|
this.example = "GT(5, 3)";
|
|
@@ -16,12 +19,13 @@ export class GtFunction extends BaseFunction {
|
|
|
16
19
|
}
|
|
17
20
|
validate() {
|
|
18
21
|
if (this.bareArgs.length !== 2) {
|
|
19
|
-
throw new FormulaError("#N/A", "Number of arguments for GT is incorrect.");
|
|
22
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for GT is incorrect.");
|
|
20
23
|
}
|
|
21
|
-
this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
|
|
24
|
+
this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
|
|
22
25
|
}
|
|
23
26
|
main(v1, v2) {
|
|
24
27
|
return v1 > v2;
|
|
25
28
|
}
|
|
26
29
|
}
|
|
30
|
+
exports.GtFunction = GtFunction;
|
|
27
31
|
//# sourceMappingURL=gt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gt.js","sourceRoot":"","sources":["../../../src/formula/functions/gt.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"gt.js","sourceRoot":"","sources":["../../../src/formula/functions/gt.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,UAAW,SAAQ,qBAAY;IAA5C;;QACE,YAAO,GAAG,UAAU,CAAC;QACrB,aAAQ,GAAG;YACT,uFAAuF;YACvF,uCAAuC;SACxC,CAAC;QACF,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;YAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;SACvE,CAAC;IAeJ,CAAC;IAbW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,0CAA0C,CAC3C,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAES,IAAI,CAAC,EAAU,EAAE,EAAU;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACF;AAxBD,gCAwBC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GteFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const __base_1 = require("./__base");
|
|
6
|
+
const __utils_1 = require("./__utils");
|
|
7
|
+
class GteFunction extends __base_1.BaseFunction {
|
|
5
8
|
constructor() {
|
|
6
9
|
super(...arguments);
|
|
7
10
|
this.example = "GTE(5, 3)";
|
|
@@ -16,12 +19,13 @@ export class GteFunction extends BaseFunction {
|
|
|
16
19
|
}
|
|
17
20
|
validate() {
|
|
18
21
|
if (this.bareArgs.length !== 2) {
|
|
19
|
-
throw new FormulaError("#N/A", "Number of arguments for GTE is incorrect.");
|
|
22
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for GTE is incorrect.");
|
|
20
23
|
}
|
|
21
|
-
this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
|
|
24
|
+
this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
|
|
22
25
|
}
|
|
23
26
|
main(v1, v2) {
|
|
24
27
|
return v1 >= v2;
|
|
25
28
|
}
|
|
26
29
|
}
|
|
30
|
+
exports.GteFunction = GteFunction;
|
|
27
31
|
//# sourceMappingURL=gte.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gte.js","sourceRoot":"","sources":["../../../src/formula/functions/gte.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"gte.js","sourceRoot":"","sources":["../../../src/formula/functions/gte.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,WAAY,SAAQ,qBAAY;IAA7C;;QACE,YAAO,GAAG,WAAW,CAAC;QACtB,aAAQ,GAAG;YACT,iFAAiF;YACjF,wCAAwC;SACzC,CAAC;QACF,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;YAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;SACvE,CAAC;IAeJ,CAAC;IAbW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,2CAA2C,CAC5C,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAES,IAAI,CAAC,EAAU,EAAE,EAAU;QACnC,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF;AAxBD,kCAwBC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HlookupFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const solver_1 = require("../solver");
|
|
6
|
+
const table_1 = require("../../lib/table");
|
|
7
|
+
const __base_1 = require("./__base");
|
|
8
|
+
const __utils_1 = require("./__utils");
|
|
9
|
+
class HlookupFunction extends __base_1.BaseFunction {
|
|
7
10
|
constructor() {
|
|
8
11
|
super(...arguments);
|
|
9
12
|
this.example = "HLOOKUP(10003, A2:Z6, 2, FALSE)";
|
|
@@ -29,20 +32,20 @@ export class HlookupFunction extends BaseFunction {
|
|
|
29
32
|
}
|
|
30
33
|
validate() {
|
|
31
34
|
if (this.bareArgs.length !== 3 && this.bareArgs.length !== 4) {
|
|
32
|
-
throw new FormulaError("#N/A", "Number of arguments for HLOOKUP is incorrect.");
|
|
35
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for HLOOKUP is incorrect.");
|
|
33
36
|
}
|
|
34
|
-
if (this.bareArgs[0] instanceof Table) {
|
|
35
|
-
this.bareArgs[0] = stripTable(this.bareArgs[0]);
|
|
37
|
+
if (this.bareArgs[0] instanceof table_1.Table) {
|
|
38
|
+
this.bareArgs[0] = (0, __utils_1.stripTable)(this.bareArgs[0]);
|
|
36
39
|
}
|
|
37
|
-
if (!(this.bareArgs[1] instanceof Table)) {
|
|
38
|
-
throw new FormulaError("#REF!", "2nd argument must be range");
|
|
40
|
+
if (!(this.bareArgs[1] instanceof table_1.Table)) {
|
|
41
|
+
throw new evaluator_1.FormulaError("#REF!", "2nd argument must be range");
|
|
39
42
|
}
|
|
40
|
-
this.bareArgs[2] = ensureNumber(this.bareArgs[2]);
|
|
41
|
-
this.bareArgs[3] = ensureBoolean(this.bareArgs[3], true);
|
|
43
|
+
this.bareArgs[2] = (0, __utils_1.ensureNumber)(this.bareArgs[2]);
|
|
44
|
+
this.bareArgs[3] = (0, __utils_1.ensureBoolean)(this.bareArgs[3], true);
|
|
42
45
|
}
|
|
43
46
|
main(key, range, index, isSorted) {
|
|
44
47
|
var _a, _b, _c, _d;
|
|
45
|
-
const matrix = solveTable({ table: range });
|
|
48
|
+
const matrix = (0, solver_1.solveTable)({ table: range });
|
|
46
49
|
if (isSorted) {
|
|
47
50
|
let last = -1;
|
|
48
51
|
for (let x = 0; x <= range.getNumCols(); x++) {
|
|
@@ -68,7 +71,8 @@ export class HlookupFunction extends BaseFunction {
|
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
|
-
throw new FormulaError("#N/A", `No values found for '${key}'.`);
|
|
74
|
+
throw new evaluator_1.FormulaError("#N/A", `No values found for '${key}'.`);
|
|
72
75
|
}
|
|
73
76
|
}
|
|
77
|
+
exports.HlookupFunction = HlookupFunction;
|
|
74
78
|
//# sourceMappingURL=hlookup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hlookup.js","sourceRoot":"","sources":["../../../src/formula/functions/hlookup.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"hlookup.js","sourceRoot":"","sources":["../../../src/formula/functions/hlookup.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAuC;AACvC,2CAAwC;AACxC,qCAAwC;AACxC,uCAAoE;AAEpE,MAAa,eAAgB,SAAQ,qBAAY;IAAjD;;QACE,YAAO,GAAG,iCAAiC,CAAC;QAC5C,aAAQ,GAAG;YACT,2IAA2I;SAC5I,CAAC;QACF,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE;YAC3C;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,oBAAoB;aAClC;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,oCAAoC;aAClD;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EACT,qMAAqM;gBACvM,MAAM,EAAE,IAAI;aACb;SACF,CAAC;IA8CJ,CAAC;IA5CW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5D,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,+CAA+C,CAChD,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,aAAK,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,aAAK,CAAC,EAAE;YACxC,MAAM,IAAI,wBAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAA,uBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAES,IAAI,CAAC,GAAQ,EAAE,KAAY,EAAE,KAAa,EAAE,QAAiB;;QACrE,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE;YACZ,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,CAAC,GAAG,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,SAAS;iBACV;gBACD,IAAI,CAAC,IAAI,GAAG,EAAE;oBACZ,IAAI,GAAG,CAAC,CAAC;iBACV;qBAAM;oBACL,MAAM;iBACP;aACF;YACD,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;gBACf,OAAO,MAAA,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,0CAAG,IAAI,CAAC,CAAC;aAClC;SACF;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAI,CAAA,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,MAAK,GAAG,EAAE;oBAC1B,OAAO,MAAA,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,0CAAG,CAAC,CAAC,CAAC;iBAC/B;aACF;SACF;QACD,MAAM,IAAI,wBAAY,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;CACF;AAnED,0CAmEC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IfFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const __base_1 = require("./__base");
|
|
6
|
+
const __utils_1 = require("./__utils");
|
|
7
|
+
class IfFunction extends __base_1.BaseFunction {
|
|
5
8
|
constructor() {
|
|
6
9
|
super(...arguments);
|
|
7
10
|
this.example = 'IF(A2 = "Human", "Hello", "World")';
|
|
@@ -24,13 +27,14 @@ export class IfFunction extends BaseFunction {
|
|
|
24
27
|
}
|
|
25
28
|
validate() {
|
|
26
29
|
if (this.bareArgs.length === 2 || this.bareArgs.length === 3) {
|
|
27
|
-
this.bareArgs[0] = ensureBoolean(this.bareArgs[0]);
|
|
30
|
+
this.bareArgs[0] = (0, __utils_1.ensureBoolean)(this.bareArgs[0]);
|
|
28
31
|
return;
|
|
29
32
|
}
|
|
30
|
-
throw new FormulaError("#N/A", "Number of arguments for IF is incorrect. 2 or 3 arguments must be specified.");
|
|
33
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for IF is incorrect. 2 or 3 arguments must be specified.");
|
|
31
34
|
}
|
|
32
35
|
main(condition, v1, v2 = false) {
|
|
33
36
|
return condition ? v1 : v2;
|
|
34
37
|
}
|
|
35
38
|
}
|
|
39
|
+
exports.IfFunction = IfFunction;
|
|
36
40
|
//# sourceMappingURL=if.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"if.js","sourceRoot":"","sources":["../../../src/formula/functions/if.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"if.js","sourceRoot":"","sources":["../../../src/formula/functions/if.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAA0C;AAE1C,MAAa,UAAW,SAAQ,qBAAY;IAA5C;;QACE,YAAO,GAAG,oCAAoC,CAAC;QAC/C,aAAQ,GAAG;YACT,qEAAqE;YACrE,2CAA2C;SAC5C,CAAC;QACF,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAClE;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;aAC9D;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;gBAC9D,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;IAgBJ,CAAC;IAdW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAA,uBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO;SACR;QACD,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAES,IAAI,CAAC,SAAkB,EAAE,EAAO,EAAE,KAAU,KAAK;QACzD,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,CAAC;CACF;AAjCD,gCAiCC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// DO NOT COPY THIS CODE FOR THE OTHER.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.IfErrorFunction = void 0;
|
|
5
|
+
const evaluator_1 = require("../evaluator");
|
|
6
|
+
const __utils_1 = require("./__utils");
|
|
7
|
+
class IfErrorFunction {
|
|
5
8
|
constructor({ args, table }) {
|
|
6
9
|
this.example = 'IFERROR(A1, "Error in cell A1")';
|
|
7
10
|
this.helpText = [
|
|
@@ -25,17 +28,18 @@ export class IfErrorFunction {
|
|
|
25
28
|
if (this.args.length === 1 || this.args.length === 2) {
|
|
26
29
|
return;
|
|
27
30
|
}
|
|
28
|
-
throw new FormulaError("#N/A", "Number of arguments for IFERROR is incorrect. 1 or 2 argument(s) must be specified.");
|
|
31
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for IFERROR is incorrect. 1 or 2 argument(s) must be specified.");
|
|
29
32
|
}
|
|
30
33
|
call() {
|
|
31
34
|
this.validate();
|
|
32
35
|
const [value, valueIfError] = this.args;
|
|
33
36
|
try {
|
|
34
|
-
return stripTable(value.evaluate({ table: this.table }));
|
|
37
|
+
return (0, __utils_1.stripTable)(value.evaluate({ table: this.table }));
|
|
35
38
|
}
|
|
36
39
|
catch (e) {
|
|
37
|
-
return stripTable(valueIfError === null || valueIfError === void 0 ? void 0 : valueIfError.evaluate({ table: this.table }));
|
|
40
|
+
return (0, __utils_1.stripTable)(valueIfError === null || valueIfError === void 0 ? void 0 : valueIfError.evaluate({ table: this.table }));
|
|
38
41
|
}
|
|
39
42
|
}
|
|
40
43
|
}
|
|
44
|
+
exports.IfErrorFunction = IfErrorFunction;
|
|
41
45
|
//# sourceMappingURL=iferror.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iferror.js","sourceRoot":"","sources":["../../../src/formula/functions/iferror.ts"],"names":[],"mappings":"AAAA,uCAAuC
|
|
1
|
+
{"version":3,"file":"iferror.js","sourceRoot":"","sources":["../../../src/formula/functions/iferror.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;AAGvC,4CAAsD;AAEtD,uCAAqC;AAErC,MAAa,eAAe;IAmB1B,YAAY,EAAE,IAAI,EAAE,KAAK,EAAiB;QAlB1C,YAAO,GAAG,iCAAiC,CAAC;QAC5C,aAAQ,GAAG;YACT,wJAAwJ;SACzJ,CAAC;QACF,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sDAAsD;aACpE;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,sDAAsD;gBACnE,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;QAKA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAES,QAAQ;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACpD,OAAO;SACR;QACD,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,qFAAqF,CACtF,CAAC;IACJ,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAExC,IAAI;YACF,OAAO,IAAA,oBAAU,EAAC,KAAK,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;SACxD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAA,oBAAU,EAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;SAChE;IACH,CAAC;CACF;AA5CD,0CA4CC"}
|
|
@@ -1,51 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const iferror_1 = require("./iferror");
|
|
4
|
+
const table_1 = require("../../lib/table");
|
|
5
|
+
const evaluator_1 = require("../evaluator");
|
|
4
6
|
describe('iferror', () => {
|
|
5
|
-
const table = new Table({
|
|
7
|
+
const table = new table_1.Table({
|
|
6
8
|
numRows: 5, numCols: 5,
|
|
7
9
|
cells: { A1: { value: "=100/5" }, B2: { value: "=100/0" }, C3: { value: "C3" }, D4: { value: "A2:E10" }, E5: { value: "=aaaaa" } },
|
|
8
10
|
});
|
|
9
11
|
describe('normal', () => {
|
|
10
12
|
it('no errors', () => {
|
|
11
|
-
const f = new IfErrorFunction({
|
|
13
|
+
const f = new iferror_1.IfErrorFunction({
|
|
12
14
|
table,
|
|
13
|
-
args: [new Ref("A1"), new Value("div 0")]
|
|
15
|
+
args: [new evaluator_1.Ref("A1"), new evaluator_1.Value("div 0")]
|
|
14
16
|
});
|
|
15
17
|
expect(f.call()).toBe(20);
|
|
16
18
|
});
|
|
17
19
|
it('div/0 error', () => {
|
|
18
|
-
const f = new IfErrorFunction({
|
|
20
|
+
const f = new iferror_1.IfErrorFunction({
|
|
19
21
|
table,
|
|
20
|
-
args: [new Ref("B2"), new Value("div 0")],
|
|
22
|
+
args: [new evaluator_1.Ref("B2"), new evaluator_1.Value("div 0")],
|
|
21
23
|
});
|
|
22
24
|
expect(f.call()).toBe("div 0");
|
|
23
25
|
});
|
|
24
26
|
it('reference error', () => {
|
|
25
|
-
const f = new IfErrorFunction({
|
|
27
|
+
const f = new iferror_1.IfErrorFunction({
|
|
26
28
|
table,
|
|
27
29
|
args: [
|
|
28
|
-
new Range("C3"),
|
|
29
|
-
new Ref("A1"),
|
|
30
|
+
new evaluator_1.Range("C3"),
|
|
31
|
+
new evaluator_1.Ref("A1"),
|
|
30
32
|
]
|
|
31
33
|
});
|
|
32
34
|
expect(f.call()).toBe(20);
|
|
33
35
|
});
|
|
34
36
|
it('range error', () => {
|
|
35
|
-
const f = new IfErrorFunction({
|
|
37
|
+
const f = new iferror_1.IfErrorFunction({
|
|
36
38
|
table,
|
|
37
39
|
args: [
|
|
38
|
-
new Range("A2:E20"),
|
|
40
|
+
new evaluator_1.Range("A2:E20"),
|
|
39
41
|
]
|
|
40
42
|
});
|
|
41
43
|
expect(f.call()).toBe(undefined);
|
|
42
44
|
});
|
|
43
45
|
it('name error', () => {
|
|
44
|
-
const f = new IfErrorFunction({
|
|
46
|
+
const f = new iferror_1.IfErrorFunction({
|
|
45
47
|
table,
|
|
46
48
|
args: [
|
|
47
|
-
new Function("aaaaaaaaaaaaaaaaa"),
|
|
48
|
-
new Function("sum", 0, [new Value(1), new Value(2), new Value(3)])
|
|
49
|
+
new evaluator_1.Function("aaaaaaaaaaaaaaaaa"),
|
|
50
|
+
new evaluator_1.Function("sum", 0, [new evaluator_1.Value(1), new evaluator_1.Value(2), new evaluator_1.Value(3)])
|
|
49
51
|
]
|
|
50
52
|
});
|
|
51
53
|
expect(f.call()).toBe(6);
|
|
@@ -53,8 +55,8 @@ describe('iferror', () => {
|
|
|
53
55
|
});
|
|
54
56
|
describe('validation error', () => {
|
|
55
57
|
it('missing argument', () => {
|
|
56
|
-
const f = new IfErrorFunction({ table, args: [] });
|
|
57
|
-
expect(f.call.bind(f)).toThrow(FormulaError);
|
|
58
|
+
const f = new iferror_1.IfErrorFunction({ table, args: [] });
|
|
59
|
+
expect(f.call.bind(f)).toThrow(evaluator_1.FormulaError);
|
|
58
60
|
});
|
|
59
61
|
});
|
|
60
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iferror.spec.js","sourceRoot":"","sources":["../../../src/formula/functions/iferror.spec.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"iferror.spec.js","sourceRoot":"","sources":["../../../src/formula/functions/iferror.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LenFunction = void 0;
|
|
4
|
+
const evaluator_1 = require("../evaluator");
|
|
5
|
+
const __base_1 = require("./__base");
|
|
6
|
+
const __utils_1 = require("./__utils");
|
|
7
|
+
class LenFunction extends __base_1.BaseFunction {
|
|
5
8
|
constructor() {
|
|
6
9
|
super(...arguments);
|
|
7
10
|
this.example = "LEN(A2)";
|
|
@@ -15,12 +18,13 @@ export class LenFunction extends BaseFunction {
|
|
|
15
18
|
}
|
|
16
19
|
validate() {
|
|
17
20
|
if (this.bareArgs.length !== 1) {
|
|
18
|
-
throw new FormulaError("#N/A", "Number of arguments for LEN is incorrect.");
|
|
21
|
+
throw new evaluator_1.FormulaError("#N/A", "Number of arguments for LEN is incorrect.");
|
|
19
22
|
}
|
|
20
|
-
this.bareArgs = [ensureString(this.bareArgs[0])];
|
|
23
|
+
this.bareArgs = [(0, __utils_1.ensureString)(this.bareArgs[0])];
|
|
21
24
|
}
|
|
22
25
|
main(text) {
|
|
23
26
|
return text.length;
|
|
24
27
|
}
|
|
25
28
|
}
|
|
29
|
+
exports.LenFunction = LenFunction;
|
|
26
30
|
//# sourceMappingURL=len.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"len.js","sourceRoot":"","sources":["../../../src/formula/functions/len.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"len.js","sourceRoot":"","sources":["../../../src/formula/functions/len.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,WAAY,SAAQ,qBAAY;IAA7C;;QACE,YAAO,GAAG,SAAS,CAAC;QACpB,aAAQ,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,mCAAmC;aACjD;SACF,CAAC;IAeJ,CAAC;IAbW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,2CAA2C,CAC5C,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAA,sBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAES,IAAI,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAvBD,kCAuBC"}
|