@gridsheet/react-core 0.12.4-rc.0 → 0.12.4

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.
Files changed (212) hide show
  1. package/dist/components/Cell.d.ts.map +1 -1
  2. package/dist/components/Cell.js +181 -190
  3. package/dist/components/Cell.js.map +1 -1
  4. package/dist/components/ContextMenu.js +198 -208
  5. package/dist/components/ContextMenu.js.map +1 -1
  6. package/dist/components/Editor.d.ts.map +1 -1
  7. package/dist/components/Editor.js +262 -275
  8. package/dist/components/Editor.js.map +1 -1
  9. package/dist/components/Emitter.js +29 -39
  10. package/dist/components/Emitter.js.map +1 -1
  11. package/dist/components/GridSheet.d.ts.map +1 -1
  12. package/dist/components/GridSheet.js +109 -119
  13. package/dist/components/GridSheet.js.map +1 -1
  14. package/dist/components/HeaderLeftCell.js +61 -72
  15. package/dist/components/HeaderLeftCell.js.map +1 -1
  16. package/dist/components/HeaderTopCell.js +62 -73
  17. package/dist/components/HeaderTopCell.js.map +1 -1
  18. package/dist/components/Resizer.d.ts.map +1 -1
  19. package/dist/components/Resizer.js +79 -87
  20. package/dist/components/Resizer.js.map +1 -1
  21. package/dist/components/SearchBox.d.ts.map +1 -1
  22. package/dist/components/SearchBox.js +54 -62
  23. package/dist/components/SearchBox.js.map +1 -1
  24. package/dist/components/StoreInitializer.js +71 -81
  25. package/dist/components/StoreInitializer.js.map +1 -1
  26. package/dist/components/Tabular.d.ts +2 -2
  27. package/dist/components/Tabular.d.ts.map +1 -1
  28. package/dist/components/Tabular.js +85 -95
  29. package/dist/components/Tabular.js.map +1 -1
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/constants.js +26 -33
  32. package/dist/constants.js.map +1 -1
  33. package/dist/formula/evaluator.d.ts +1 -1
  34. package/dist/formula/evaluator.js +490 -500
  35. package/dist/formula/evaluator.js.map +1 -1
  36. package/dist/formula/functions/__base.js +17 -27
  37. package/dist/formula/functions/__base.js.map +1 -1
  38. package/dist/formula/functions/__utils.js +103 -113
  39. package/dist/formula/functions/__utils.js.map +1 -1
  40. package/dist/formula/functions/abs.js +21 -31
  41. package/dist/formula/functions/abs.js.map +1 -1
  42. package/dist/formula/functions/abs.spec.js +25 -35
  43. package/dist/formula/functions/abs.spec.js.map +1 -1
  44. package/dist/formula/functions/acos.js +28 -38
  45. package/dist/formula/functions/acos.js.map +1 -1
  46. package/dist/formula/functions/add.js +47 -57
  47. package/dist/formula/functions/add.js.map +1 -1
  48. package/dist/formula/functions/and.js +28 -38
  49. package/dist/formula/functions/and.js.map +1 -1
  50. package/dist/formula/functions/asin.js +28 -38
  51. package/dist/formula/functions/asin.js.map +1 -1
  52. package/dist/formula/functions/atan.js +26 -36
  53. package/dist/formula/functions/atan.js.map +1 -1
  54. package/dist/formula/functions/atan2.js +32 -42
  55. package/dist/formula/functions/atan2.js.map +1 -1
  56. package/dist/formula/functions/average.js +40 -50
  57. package/dist/formula/functions/average.js.map +1 -1
  58. package/dist/formula/functions/col.js +28 -38
  59. package/dist/formula/functions/col.js.map +1 -1
  60. package/dist/formula/functions/concat.js +27 -37
  61. package/dist/formula/functions/concat.js.map +1 -1
  62. package/dist/formula/functions/concatenate.js +25 -35
  63. package/dist/formula/functions/concatenate.js.map +1 -1
  64. package/dist/formula/functions/cos.js +26 -36
  65. package/dist/formula/functions/cos.js.map +1 -1
  66. package/dist/formula/functions/count.js +35 -45
  67. package/dist/formula/functions/count.js.map +1 -1
  68. package/dist/formula/functions/counta.js +35 -45
  69. package/dist/formula/functions/counta.js.map +1 -1
  70. package/dist/formula/functions/countif.js +30 -40
  71. package/dist/formula/functions/countif.js.map +1 -1
  72. package/dist/formula/functions/divide.js +32 -42
  73. package/dist/formula/functions/divide.js.map +1 -1
  74. package/dist/formula/functions/eq.js +25 -35
  75. package/dist/formula/functions/eq.js.map +1 -1
  76. package/dist/formula/functions/exp.js +28 -38
  77. package/dist/formula/functions/exp.js.map +1 -1
  78. package/dist/formula/functions/gt.js +27 -37
  79. package/dist/formula/functions/gt.js.map +1 -1
  80. package/dist/formula/functions/gte.js +27 -37
  81. package/dist/formula/functions/gte.js.map +1 -1
  82. package/dist/formula/functions/hlookup.js +67 -77
  83. package/dist/formula/functions/hlookup.js.map +1 -1
  84. package/dist/formula/functions/if.js +36 -46
  85. package/dist/formula/functions/if.js.map +1 -1
  86. package/dist/formula/functions/iferror.js +38 -48
  87. package/dist/formula/functions/iferror.js.map +1 -1
  88. package/dist/formula/functions/iferror.spec.js +53 -63
  89. package/dist/formula/functions/iferror.spec.js.map +1 -1
  90. package/dist/formula/functions/len.js +26 -36
  91. package/dist/formula/functions/len.js.map +1 -1
  92. package/dist/formula/functions/lenb.js +26 -36
  93. package/dist/formula/functions/lenb.js.map +1 -1
  94. package/dist/formula/functions/ln.js +28 -38
  95. package/dist/formula/functions/ln.js.map +1 -1
  96. package/dist/formula/functions/log.js +33 -43
  97. package/dist/formula/functions/log.js.map +1 -1
  98. package/dist/formula/functions/log10.js +28 -38
  99. package/dist/formula/functions/log10.js.map +1 -1
  100. package/dist/formula/functions/lt.js +27 -37
  101. package/dist/formula/functions/lt.js.map +1 -1
  102. package/dist/formula/functions/lte.js +27 -37
  103. package/dist/formula/functions/lte.js.map +1 -1
  104. package/dist/formula/functions/max.js +42 -52
  105. package/dist/formula/functions/max.js.map +1 -1
  106. package/dist/formula/functions/min.js +42 -52
  107. package/dist/formula/functions/min.js.map +1 -1
  108. package/dist/formula/functions/minus.js +47 -57
  109. package/dist/formula/functions/minus.js.map +1 -1
  110. package/dist/formula/functions/mod.js +30 -40
  111. package/dist/formula/functions/mod.js.map +1 -1
  112. package/dist/formula/functions/mod.spec.js +47 -57
  113. package/dist/formula/functions/mod.spec.js.map +1 -1
  114. package/dist/formula/functions/multiply.js +27 -37
  115. package/dist/formula/functions/multiply.js.map +1 -1
  116. package/dist/formula/functions/ne.js +25 -35
  117. package/dist/formula/functions/ne.js.map +1 -1
  118. package/dist/formula/functions/not.js +30 -40
  119. package/dist/formula/functions/not.js.map +1 -1
  120. package/dist/formula/functions/now.js +21 -31
  121. package/dist/formula/functions/now.js.map +1 -1
  122. package/dist/formula/functions/or.js +28 -38
  123. package/dist/formula/functions/or.js.map +1 -1
  124. package/dist/formula/functions/pi.js +19 -29
  125. package/dist/formula/functions/pi.js.map +1 -1
  126. package/dist/formula/functions/power.js +24 -34
  127. package/dist/formula/functions/power.js.map +1 -1
  128. package/dist/formula/functions/product.js +37 -47
  129. package/dist/formula/functions/product.js.map +1 -1
  130. package/dist/formula/functions/radians.js +26 -36
  131. package/dist/formula/functions/radians.js.map +1 -1
  132. package/dist/formula/functions/rand.js +19 -29
  133. package/dist/formula/functions/rand.js.map +1 -1
  134. package/dist/formula/functions/round.js +34 -44
  135. package/dist/formula/functions/round.js.map +1 -1
  136. package/dist/formula/functions/rounddown.js +34 -44
  137. package/dist/formula/functions/rounddown.js.map +1 -1
  138. package/dist/formula/functions/roundup.js +34 -44
  139. package/dist/formula/functions/roundup.js.map +1 -1
  140. package/dist/formula/functions/row.js +28 -38
  141. package/dist/formula/functions/row.js.map +1 -1
  142. package/dist/formula/functions/sin.js +26 -36
  143. package/dist/formula/functions/sin.js.map +1 -1
  144. package/dist/formula/functions/sqrt.js +28 -38
  145. package/dist/formula/functions/sqrt.js.map +1 -1
  146. package/dist/formula/functions/sum.js +42 -52
  147. package/dist/formula/functions/sum.js.map +1 -1
  148. package/dist/formula/functions/sum.spec.js +35 -45
  149. package/dist/formula/functions/sum.spec.js.map +1 -1
  150. package/dist/formula/functions/sumif.js +56 -66
  151. package/dist/formula/functions/sumif.js.map +1 -1
  152. package/dist/formula/functions/tan.js +26 -36
  153. package/dist/formula/functions/tan.js.map +1 -1
  154. package/dist/formula/functions/uminus.js +23 -33
  155. package/dist/formula/functions/uminus.js.map +1 -1
  156. package/dist/formula/functions/vlookup.js +67 -77
  157. package/dist/formula/functions/vlookup.js.map +1 -1
  158. package/dist/formula/mapping.js +116 -126
  159. package/dist/formula/mapping.js.map +1 -1
  160. package/dist/formula/solver.js +61 -71
  161. package/dist/formula/solver.js.map +1 -1
  162. package/dist/index.js +31 -41
  163. package/dist/index.js.map +1 -1
  164. package/dist/lib/autofill.js +334 -344
  165. package/dist/lib/autofill.js.map +1 -1
  166. package/dist/lib/clipboard.js +45 -55
  167. package/dist/lib/clipboard.js.map +1 -1
  168. package/dist/lib/converters.js +130 -140
  169. package/dist/lib/converters.js.map +1 -1
  170. package/dist/lib/hooks.d.ts +1 -0
  171. package/dist/lib/hooks.d.ts.map +1 -0
  172. package/dist/lib/hooks.js +2 -0
  173. package/dist/lib/hooks.js.map +1 -0
  174. package/dist/lib/structs.js +254 -264
  175. package/dist/lib/structs.js.map +1 -1
  176. package/dist/lib/table.d.ts +1 -3
  177. package/dist/lib/table.d.ts.map +1 -1
  178. package/dist/lib/table.js +897 -911
  179. package/dist/lib/table.js.map +1 -1
  180. package/dist/lib/time.d.ts.map +1 -1
  181. package/dist/lib/time.js +59 -69
  182. package/dist/lib/time.js.map +1 -1
  183. package/dist/lib/virtualization.d.ts +3 -12
  184. package/dist/lib/virtualization.d.ts.map +1 -1
  185. package/dist/lib/virtualization.js +116 -120
  186. package/dist/lib/virtualization.js.map +1 -1
  187. package/dist/parsers/core.js +109 -119
  188. package/dist/parsers/core.js.map +1 -1
  189. package/dist/renderers/checkbox.js +11 -21
  190. package/dist/renderers/checkbox.js.map +1 -1
  191. package/dist/renderers/core.d.ts +1 -1
  192. package/dist/renderers/core.d.ts.map +1 -1
  193. package/dist/renderers/core.js +129 -139
  194. package/dist/renderers/core.js.map +1 -1
  195. package/dist/renderers/thousand_separator.js +15 -25
  196. package/dist/renderers/thousand_separator.js.map +1 -1
  197. package/dist/store/actions.js +485 -495
  198. package/dist/store/actions.js.map +1 -1
  199. package/dist/store/helpers.js +78 -88
  200. package/dist/store/helpers.js.map +1 -1
  201. package/dist/store/index.js +5 -15
  202. package/dist/store/index.js.map +1 -1
  203. package/dist/styles/embedder.js +17 -27
  204. package/dist/styles/embedder.js.map +1 -1
  205. package/dist/styles/minified.js +6 -16
  206. package/dist/styles/minified.js.map +1 -1
  207. package/dist/types.d.ts +10 -5
  208. package/dist/types.d.ts.map +1 -1
  209. package/dist/types.js +2 -12
  210. package/dist/utils.js +9 -19
  211. package/dist/utils.js.map +1 -1
  212. package/package.json +9 -2
@@ -1 +1 @@
1
- {"version":3,"file":"roundup.js","sourceRoot":"","sources":["../../../src/formula/functions/roundup.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,4CAA4C;IAC5C,qCAAwC;IACxC,uCAAyC;IAEzC,MAAa,eAAgB,SAAQ,qBAAY;QAAjD;;YACE,YAAO,GAAG,kBAAkB,CAAC;YAC7B,aAAQ,GAAG;gBACT,0FAA0F;aAC3F,CAAC;YACF,aAAQ,GAAG;gBACT;oBACE,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,4BAA4B;iBAC1C;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,8CAA8C;oBAC3D,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;QAgBJ,CAAC;QAdW,QAAQ;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5D,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,+CAA+C,CAChD,CAAC;aACH;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;QAES,IAAI,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;QACpD,CAAC;KACF;IA/BD,0CA+BC"}
1
+ {"version":3,"file":"roundup.js","sourceRoot":"","sources":["../../../src/formula/functions/roundup.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,eAAgB,SAAQ,qBAAY;IAAjD;;QACE,YAAO,GAAG,kBAAkB,CAAC;QAC7B,aAAQ,GAAG;YACT,0FAA0F;SAC3F,CAAC;QACF,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,4BAA4B;aAC1C;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,8CAA8C;gBAC3D,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,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,+CAA+C,CAChD,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,KAAa,EAAE,KAAK,GAAG,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;IACpD,CAAC;CACF;AA/BD,0CA+BC"}
@@ -1,44 +1,34 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RowFunction = void 0;
4
+ const evaluator_1 = require("../evaluator");
5
+ const __base_1 = require("./__base");
6
+ class RowFunction extends __base_1.BaseFunction {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.example = "ROW(A9)";
10
+ this.helpText = ["Returns the row number of a specified cell."];
11
+ this.helpArgs = [
12
+ {
13
+ name: "cell_reference",
14
+ description: "The cell whose row number will be returned.",
15
+ option: true,
16
+ },
17
+ ];
5
18
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../evaluator", "./__base"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RowFunction = void 0;
13
- const evaluator_1 = require("../evaluator");
14
- const __base_1 = require("./__base");
15
- class RowFunction extends __base_1.BaseFunction {
16
- constructor() {
17
- super(...arguments);
18
- this.example = "ROW(A9)";
19
- this.helpText = ["Returns the row number of a specified cell."];
20
- this.helpArgs = [
21
- {
22
- name: "cell_reference",
23
- description: "The cell whose row number will be returned.",
24
- option: true,
25
- },
26
- ];
19
+ validate() {
20
+ if (this.bareArgs.length === 0) {
21
+ this.bareArgs = [this.table];
27
22
  }
28
- validate() {
29
- if (this.bareArgs.length === 0) {
30
- this.bareArgs = [this.table];
31
- }
32
- else if (this.bareArgs.length === 1) {
33
- }
34
- else {
35
- throw new evaluator_1.FormulaError("#N/A", "Number of arguments for ROW is incorrect.");
36
- }
23
+ else if (this.bareArgs.length === 1) {
37
24
  }
38
- main(trimmed) {
39
- return trimmed.top;
25
+ else {
26
+ throw new evaluator_1.FormulaError("#N/A", "Number of arguments for ROW is incorrect.");
40
27
  }
41
28
  }
42
- exports.RowFunction = RowFunction;
43
- });
29
+ main(trimmed) {
30
+ return trimmed.top;
31
+ }
32
+ }
33
+ exports.RowFunction = RowFunction;
44
34
  //# sourceMappingURL=row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/formula/functions/row.ts"],"names":[],"mappings":";;;;;;;;;;;;IACA,4CAA4C;IAC5C,qCAAwC;IAExC,MAAa,WAAY,SAAQ,qBAAY;QAA7C;;YACE,YAAO,GAAG,SAAS,CAAC;YACpB,aAAQ,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,aAAQ,GAAG;gBACT;oBACE,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,6CAA6C;oBAC1D,MAAM,EAAE,IAAI;iBACb;aACF,CAAC;QAiBJ,CAAC;QAfW,QAAQ;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9B;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;aACtC;iBAAM;gBACL,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,2CAA2C,CAC5C,CAAC;aACH;QACH,CAAC;QAES,IAAI,CAAC,OAAc;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC;QACrB,CAAC;KACF;IA1BD,kCA0BC"}
1
+ {"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/formula/functions/row.ts"],"names":[],"mappings":";;;AACA,4CAA4C;AAC5C,qCAAwC;AAExC,MAAa,WAAY,SAAQ,qBAAY;IAA7C;;QACE,YAAO,GAAG,SAAS,CAAC;QACpB,aAAQ,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,6CAA6C;gBAC1D,MAAM,EAAE,IAAI;aACb;SACF,CAAC;IAiBJ,CAAC;IAfW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;SACtC;aAAM;YACL,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,2CAA2C,CAC5C,CAAC;SACH;IACH,CAAC;IAES,IAAI,CAAC,OAAc;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC;IACrB,CAAC;CACF;AA1BD,kCA0BC"}
@@ -1,40 +1,30 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SinFunction = void 0;
4
+ const evaluator_1 = require("../evaluator");
5
+ const __base_1 = require("./__base");
6
+ const __utils_1 = require("./__utils");
7
+ class SinFunction extends __base_1.BaseFunction {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.example = "SIN(PI()/2)";
11
+ this.helpText = ["Returns the sin of the angle specified in radians."];
12
+ this.helpArgs = [
13
+ {
14
+ name: "angle",
15
+ description: "An angle in radians, at which you want the sin.",
16
+ },
17
+ ];
5
18
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../evaluator", "./__base", "./__utils"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SinFunction = void 0;
13
- const evaluator_1 = require("../evaluator");
14
- const __base_1 = require("./__base");
15
- const __utils_1 = require("./__utils");
16
- class SinFunction extends __base_1.BaseFunction {
17
- constructor() {
18
- super(...arguments);
19
- this.example = "SIN(PI()/2)";
20
- this.helpText = ["Returns the sin of the angle specified in radians."];
21
- this.helpArgs = [
22
- {
23
- name: "angle",
24
- description: "An angle in radians, at which you want the sin.",
25
- },
26
- ];
27
- }
28
- validate() {
29
- if (this.bareArgs.length !== 1) {
30
- throw new evaluator_1.FormulaError("#N/A", "Number of arguments for SIN is incorrect.");
31
- }
32
- this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
33
- }
34
- main(angle) {
35
- return Math.sin(angle);
19
+ validate() {
20
+ if (this.bareArgs.length !== 1) {
21
+ throw new evaluator_1.FormulaError("#N/A", "Number of arguments for SIN is incorrect.");
36
22
  }
23
+ this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
24
+ }
25
+ main(angle) {
26
+ return Math.sin(angle);
37
27
  }
38
- exports.SinFunction = SinFunction;
39
- });
28
+ }
29
+ exports.SinFunction = SinFunction;
40
30
  //# sourceMappingURL=sin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sin.js","sourceRoot":"","sources":["../../../src/formula/functions/sin.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,4CAA4C;IAC5C,qCAAwC;IACxC,uCAAyC;IAEzC,MAAa,WAAY,SAAQ,qBAAY;QAA7C;;YACE,YAAO,GAAG,aAAa,CAAC;YACxB,aAAQ,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,aAAQ,GAAG;gBACT;oBACE,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,iDAAiD;iBAC/D;aACF,CAAC;QAeJ,CAAC;QAbW,QAAQ;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,2CAA2C,CAC5C,CAAC;aACH;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;QAES,IAAI,CAAC,KAAa;YAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;KACF;IAvBD,kCAuBC"}
1
+ {"version":3,"file":"sin.js","sourceRoot":"","sources":["../../../src/formula/functions/sin.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,WAAY,SAAQ,qBAAY;IAA7C;;QACE,YAAO,GAAG,aAAa,CAAC;QACxB,aAAQ,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,iDAAiD;aAC/D;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,KAAa;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AAvBD,kCAuBC"}
@@ -1,43 +1,33 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqrtFunction = void 0;
4
+ const evaluator_1 = require("../evaluator");
5
+ const __base_1 = require("./__base");
6
+ const __utils_1 = require("./__utils");
7
+ class SqrtFunction extends __base_1.BaseFunction {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.example = "SQRT(9)";
11
+ this.helpText = ["Returns the positive square root of a positive number."];
12
+ this.helpArgs = [
13
+ {
14
+ name: "value",
15
+ description: "A number for which the positive square root is to be found.",
16
+ },
17
+ ];
5
18
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../evaluator", "./__base", "./__utils"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SqrtFunction = void 0;
13
- const evaluator_1 = require("../evaluator");
14
- const __base_1 = require("./__base");
15
- const __utils_1 = require("./__utils");
16
- class SqrtFunction extends __base_1.BaseFunction {
17
- constructor() {
18
- super(...arguments);
19
- this.example = "SQRT(9)";
20
- this.helpText = ["Returns the positive square root of a positive number."];
21
- this.helpArgs = [
22
- {
23
- name: "value",
24
- description: "A number for which the positive square root is to be found.",
25
- },
26
- ];
27
- }
28
- validate() {
29
- if (this.bareArgs.length !== 1) {
30
- throw new evaluator_1.FormulaError("#N/A", "Number of arguments for SQRT is incorrect.");
31
- }
32
- this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
33
- if (this.bareArgs[0] < 0) {
34
- throw new evaluator_1.FormulaError("NUM!", "First argument must be positive.");
35
- }
19
+ validate() {
20
+ if (this.bareArgs.length !== 1) {
21
+ throw new evaluator_1.FormulaError("#N/A", "Number of arguments for SQRT is incorrect.");
36
22
  }
37
- main(value) {
38
- return Math.sqrt(value);
23
+ this.bareArgs = this.bareArgs.map((arg) => (0, __utils_1.ensureNumber)(arg));
24
+ if (this.bareArgs[0] < 0) {
25
+ throw new evaluator_1.FormulaError("NUM!", "First argument must be positive.");
39
26
  }
40
27
  }
41
- exports.SqrtFunction = SqrtFunction;
42
- });
28
+ main(value) {
29
+ return Math.sqrt(value);
30
+ }
31
+ }
32
+ exports.SqrtFunction = SqrtFunction;
43
33
  //# sourceMappingURL=sqrt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqrt.js","sourceRoot":"","sources":["../../../src/formula/functions/sqrt.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,4CAA4C;IAC5C,qCAAwC;IACxC,uCAAyC;IAEzC,MAAa,YAAa,SAAQ,qBAAY;QAA9C;;YACE,YAAO,GAAG,SAAS,CAAC;YACpB,aAAQ,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,aAAQ,GAAG;gBACT;oBACE,IAAI,EAAE,OAAO;oBACb,WAAW,EACT,6DAA6D;iBAChE;aACF,CAAC;QAkBJ,CAAC;QAhBW,QAAQ;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,4CAA4C,CAC7C,CAAC;aACH;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACxB,MAAM,IAAI,wBAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;aACpE;QACH,CAAC;QAES,IAAI,CAAC,KAAa;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KACF;IA3BD,oCA2BC"}
1
+ {"version":3,"file":"sqrt.js","sourceRoot":"","sources":["../../../src/formula/functions/sqrt.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,qCAAwC;AACxC,uCAAyC;AAEzC,MAAa,YAAa,SAAQ,qBAAY;IAA9C;;QACE,YAAO,GAAG,SAAS,CAAC;QACpB,aAAQ,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,aAAQ,GAAG;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,6DAA6D;aAChE;SACF,CAAC;IAkBJ,CAAC;IAhBW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,4CAA4C,CAC7C,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,GAAG,CAAC,EAAE;YACxB,MAAM,IAAI,wBAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;SACpE;IACH,CAAC;IAES,IAAI,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AA3BD,oCA2BC"}
@@ -1,58 +1,48 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SumFunction = 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
+ const evaluator_1 = require("../evaluator");
9
+ class SumFunction extends __base_1.BaseFunction {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.example = "SUM(A2:A100, 101)";
13
+ this.helpText = ["Returns the sum of a series of numbers or cells."];
14
+ this.helpArgs = [
15
+ { name: "value1", description: "First number or range." },
16
+ {
17
+ name: "value2",
18
+ description: "Additional numbers or ranges",
19
+ optional: true,
20
+ iterable: true,
21
+ },
22
+ ];
5
23
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../solver", "../../lib/table", "./__base", "./__utils", "../evaluator"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SumFunction = void 0;
13
- const solver_1 = require("../solver");
14
- const table_1 = require("../../lib/table");
15
- const __base_1 = require("./__base");
16
- const __utils_1 = require("./__utils");
17
- const evaluator_1 = require("../evaluator");
18
- class SumFunction extends __base_1.BaseFunction {
19
- constructor() {
20
- super(...arguments);
21
- this.example = "SUM(A2:A100, 101)";
22
- this.helpText = ["Returns the sum of a series of numbers or cells."];
23
- this.helpArgs = [
24
- { name: "value1", description: "First number or range." },
25
- {
26
- name: "value2",
27
- description: "Additional numbers or ranges",
28
- optional: true,
29
- iterable: true,
30
- },
31
- ];
32
- }
33
- validate() {
34
- if (this.bareArgs.length === 0) {
35
- throw new evaluator_1.FormulaError("#N/A", "One or more arguments are required.");
36
- }
37
- const spreaded = [];
38
- this.bareArgs.forEach((arg) => {
39
- if (arg instanceof table_1.Table) {
40
- spreaded.push(...(0, solver_1.solveTable)({ table: arg })
41
- .reduce((a, b) => a.concat(b))
42
- .filter((v) => typeof v === "number"));
43
- return;
44
- }
45
- spreaded.push((0, __utils_1.ensureNumber)(arg));
46
- });
47
- this.bareArgs = spreaded;
24
+ validate() {
25
+ if (this.bareArgs.length === 0) {
26
+ throw new evaluator_1.FormulaError("#N/A", "One or more arguments are required.");
48
27
  }
49
- main(...values) {
50
- if (values.length === 0) {
51
- return 0;
28
+ const spreaded = [];
29
+ this.bareArgs.forEach((arg) => {
30
+ if (arg instanceof table_1.Table) {
31
+ spreaded.push(...(0, solver_1.solveTable)({ table: arg })
32
+ .reduce((a, b) => a.concat(b))
33
+ .filter((v) => typeof v === "number"));
34
+ return;
52
35
  }
53
- return values.reduce((a, b) => a + b);
36
+ spreaded.push((0, __utils_1.ensureNumber)(arg));
37
+ });
38
+ this.bareArgs = spreaded;
39
+ }
40
+ main(...values) {
41
+ if (values.length === 0) {
42
+ return 0;
54
43
  }
44
+ return values.reduce((a, b) => a + b);
55
45
  }
56
- exports.SumFunction = SumFunction;
57
- });
46
+ }
47
+ exports.SumFunction = SumFunction;
58
48
  //# sourceMappingURL=sum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sum.js","sourceRoot":"","sources":["../../../src/formula/functions/sum.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,sCAAuC;IACvC,2CAAwC;IACxC,qCAAwC;IACxC,uCAAyC;IACzC,4CAA0C;IAE1C,MAAa,WAAY,SAAQ,qBAAY;QAA7C;;YACE,YAAO,GAAG,mBAAmB,CAAC;YAC9B,aAAQ,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,aAAQ,GAAG;gBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBACzD;oBACE,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;QA8BJ,CAAC;QA5BW,QAAQ;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,qCAAqC,CACtC,CAAC;aACH;YACD,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5B,IAAI,GAAG,YAAY,aAAK,EAAE;oBACxB,QAAQ,CAAC,IAAI,CACX,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;yBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;yBAC7B,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAC7C,CAAC;oBACF,OAAO;iBACR;gBACD,QAAQ,CAAC,IAAI,CAAC,IAAA,sBAAY,EAAC,GAAG,CAAC,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;QAES,IAAI,CAAC,GAAG,MAAgB;YAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,CAAC,CAAC;aACV;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;KACF;IAzCD,kCAyCC"}
1
+ {"version":3,"file":"sum.js","sourceRoot":"","sources":["../../../src/formula/functions/sum.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AACvC,2CAAwC;AACxC,qCAAwC;AACxC,uCAAyC;AACzC,4CAA0C;AAE1C,MAAa,WAAY,SAAQ,qBAAY;IAA7C;;QACE,YAAO,GAAG,mBAAmB,CAAC;QAC9B,aAAQ,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,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;IA8BJ,CAAC;IA5BW,QAAQ;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,qCAAqC,CACtC,CAAC;SACH;QACD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,YAAY,aAAK,EAAE;gBACxB,QAAQ,CAAC,IAAI,CACX,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;qBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBAC7B,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAC7C,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,MAAgB;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,CAAC;SACV;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;CACF;AAzCD,kCAyCC"}
@@ -1,51 +1,41 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./sum", "../../lib/table", "../evaluator"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const sum_1 = require("./sum");
13
- const table_1 = require("../../lib/table");
14
- const evaluator_1 = require("../evaluator");
15
- describe('sum', () => {
16
- const table = new table_1.Table({
17
- numRows: 100, numCols: 100,
18
- cells: { A1: { value: 5 }, A2: { value: "=-(9 * 10) - 4" }, B50: { value: 25 }, C15: { value: "not a number" }, C20: { value: 10 } },
19
- });
20
- describe('normal', () => {
21
- it('sum single values', () => {
22
- const f = new sum_1.SumFunction({
23
- table,
24
- args: [
25
- new evaluator_1.Ref("B50"),
26
- new evaluator_1.Value(5),
27
- new evaluator_1.Value(-3),
28
- ]
29
- });
30
- expect(f.call()).toBe(27);
31
- });
32
- it('sum range', () => {
33
- const f = new sum_1.SumFunction({
34
- table,
35
- args: [
36
- new evaluator_1.Range("A2:E20"),
37
- new evaluator_1.Value(30),
38
- ]
39
- });
40
- // -90 - 4 + 10 + 30
41
- expect(f.call()).toBe(-54);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sum_1 = require("./sum");
4
+ const table_1 = require("../../lib/table");
5
+ const evaluator_1 = require("../evaluator");
6
+ describe('sum', () => {
7
+ const table = new table_1.Table({
8
+ numRows: 100, numCols: 100,
9
+ cells: { A1: { value: 5 }, A2: { value: "=-(9 * 10) - 4" }, B50: { value: 25 }, C15: { value: "not a number" }, C20: { value: 10 } },
10
+ });
11
+ describe('normal', () => {
12
+ it('sum single values', () => {
13
+ const f = new sum_1.SumFunction({
14
+ table,
15
+ args: [
16
+ new evaluator_1.Ref("B50"),
17
+ new evaluator_1.Value(5),
18
+ new evaluator_1.Value(-3),
19
+ ]
42
20
  });
21
+ expect(f.call()).toBe(27);
43
22
  });
44
- describe('validation error', () => {
45
- it('missing argument', () => {
46
- const f = new sum_1.SumFunction({ table, args: [] });
47
- expect(f.call.bind(f)).toThrow(evaluator_1.FormulaError);
23
+ it('sum range', () => {
24
+ const f = new sum_1.SumFunction({
25
+ table,
26
+ args: [
27
+ new evaluator_1.Range("A2:E20"),
28
+ new evaluator_1.Value(30),
29
+ ]
48
30
  });
31
+ // -90 - 4 + 10 + 30
32
+ expect(f.call()).toBe(-54);
33
+ });
34
+ });
35
+ describe('validation error', () => {
36
+ it('missing argument', () => {
37
+ const f = new sum_1.SumFunction({ table, args: [] });
38
+ expect(f.call.bind(f)).toThrow(evaluator_1.FormulaError);
49
39
  });
50
40
  });
51
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sum.spec.js","sourceRoot":"","sources":["../../../src/formula/functions/sum.spec.ts"],"names":[],"mappings":";;;;;;;;;;;IAAA,+BAAkC;IAClC,2CAAsC;IACtC,4CAA6D;IAE7D,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC;YACtB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;YAC1B,KAAK,EAAE,EAAC,EAAE,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAC,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,EAAE,EAAC,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,EAAE,EAAC,EAAC;SACzH,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBAC3B,MAAM,CAAC,GAAG,IAAI,iBAAW,CAAC;oBACxB,KAAK;oBACL,IAAI,EAAE;wBACJ,IAAI,eAAG,CAAC,KAAK,CAAC;wBACd,IAAI,iBAAK,CAAC,CAAC,CAAC;wBACZ,IAAI,iBAAK,CAAC,CAAC,CAAC,CAAC;qBACd;iBAAC,CAAC,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;gBACnB,MAAM,CAAC,GAAG,IAAI,iBAAW,CAAC;oBACxB,KAAK;oBACL,IAAI,EAAE;wBACJ,IAAI,iBAAK,CAAC,QAAQ,CAAC;wBACnB,IAAI,iBAAK,CAAC,EAAE,CAAC;qBACd;iBAAC,CAAC,CAAC;gBACN,oBAAoB;gBACpB,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC1B,MAAM,CAAC,GAAG,IAAI,iBAAW,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAY,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sum.spec.js","sourceRoot":"","sources":["../../../src/formula/functions/sum.spec.ts"],"names":[],"mappings":";;AAAA,+BAAkC;AAClC,2CAAsC;AACtC,4CAA6D;AAE7D,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC;QACtB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;QAC1B,KAAK,EAAE,EAAC,EAAE,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAC,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,EAAE,EAAC,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,EAAE,EAAC,EAAC;KACzH,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,GAAG,IAAI,iBAAW,CAAC;gBACxB,KAAK;gBACL,IAAI,EAAE;oBACJ,IAAI,eAAG,CAAC,KAAK,CAAC;oBACd,IAAI,iBAAK,CAAC,CAAC,CAAC;oBACZ,IAAI,iBAAK,CAAC,CAAC,CAAC,CAAC;iBACd;aAAC,CAAC,CAAC;YACN,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,CAAC,GAAG,IAAI,iBAAW,CAAC;gBACxB,KAAK;gBACL,IAAI,EAAE;oBACJ,IAAI,iBAAK,CAAC,QAAQ,CAAC;oBACnB,IAAI,iBAAK,CAAC,EAAE,CAAC;iBACd;aAAC,CAAC,CAAC;YACN,oBAAoB;YACpB,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,GAAG,IAAI,iBAAW,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAY,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,73 +1,63 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SumifFunction = 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 SumifFunction extends __base_1.BaseFunction {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.example = 'SUMIF(A1:A10,">20")';
13
+ this.helpText = ["Returns the sum of a series of cells."];
14
+ this.helpArgs = [
15
+ { name: "range1", description: "A condition range." },
16
+ {
17
+ name: "condition",
18
+ description: "A condition for summarization.",
19
+ },
20
+ {
21
+ name: "range2",
22
+ description: "A range to be summarized.",
23
+ optional: true,
24
+ },
25
+ ];
5
26
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../evaluator", "../solver", "../../lib/table", "./__base", "./__utils"], factory);
27
+ validate() {
28
+ if (this.bareArgs.length !== 2 && this.bareArgs.length !== 3) {
29
+ throw new evaluator_1.FormulaError("#N/A", "Number of arguments for SUMIF is incorrect.");
30
+ }
31
+ if (this.bareArgs[2] != undefined && this.bareArgs[2] instanceof table_1.Table) {
32
+ throw new evaluator_1.FormulaError("#N/A", "3rd argument must be range.");
33
+ }
8
34
  }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SumifFunction = void 0;
13
- const evaluator_1 = require("../evaluator");
14
- const solver_1 = require("../solver");
15
- const table_1 = require("../../lib/table");
16
- const __base_1 = require("./__base");
17
- const __utils_1 = require("./__utils");
18
- class SumifFunction extends __base_1.BaseFunction {
19
- constructor() {
20
- super(...arguments);
21
- this.example = 'SUMIF(A1:A10,">20")';
22
- this.helpText = ["Returns the sum of a series of cells."];
23
- this.helpArgs = [
24
- { name: "range1", description: "A condition range." },
25
- {
26
- name: "condition",
27
- description: "A condition for summarization.",
28
- },
29
- {
30
- name: "range2",
31
- description: "A range to be summarized.",
32
- optional: true,
33
- },
34
- ];
35
+ main(range, condition, sumRange) {
36
+ if (!(range instanceof table_1.Table)) {
37
+ return (0, __utils_1.check)(range, condition) ? range : 0;
35
38
  }
36
- validate() {
37
- if (this.bareArgs.length !== 2 && this.bareArgs.length !== 3) {
38
- throw new evaluator_1.FormulaError("#N/A", "Number of arguments for SUMIF is incorrect.");
39
- }
40
- if (this.bareArgs[2] != undefined && this.bareArgs[2] instanceof table_1.Table) {
41
- throw new evaluator_1.FormulaError("#N/A", "3rd argument must be range.");
42
- }
39
+ const conditionMatrix = (0, solver_1.solveTable)({ table: range });
40
+ let sumMatrix = conditionMatrix;
41
+ if (sumRange) {
42
+ const [top, left] = [sumRange.top, sumRange.left];
43
+ const area = {
44
+ top,
45
+ left,
46
+ bottom: top + sumRange.getNumRows(),
47
+ right: left + sumRange.getNumCols(),
48
+ };
49
+ sumMatrix = (0, solver_1.solveTable)({ table: this.table.trim(area) });
43
50
  }
44
- main(range, condition, sumRange) {
45
- if (!(range instanceof table_1.Table)) {
46
- return (0, __utils_1.check)(range, condition) ? range : 0;
47
- }
48
- const conditionMatrix = (0, solver_1.solveTable)({ table: range });
49
- let sumMatrix = conditionMatrix;
50
- if (sumRange) {
51
- const [top, left] = [sumRange.top, sumRange.left];
52
- const area = {
53
- top,
54
- left,
55
- bottom: top + sumRange.getNumRows(),
56
- right: left + sumRange.getNumCols(),
57
- };
58
- sumMatrix = (0, solver_1.solveTable)({ table: this.table.trim(area) });
51
+ let total = 0;
52
+ conditionMatrix.forEach((row, y) => row.forEach((c, x) => {
53
+ var _a;
54
+ const s = ((_a = sumMatrix[y]) === null || _a === void 0 ? void 0 : _a[x]) || 0;
55
+ if (typeof s === "number" && (0, __utils_1.check)(c, condition)) {
56
+ total += s;
59
57
  }
60
- let total = 0;
61
- conditionMatrix.forEach((row, y) => row.forEach((c, x) => {
62
- var _a;
63
- const s = ((_a = sumMatrix[y]) === null || _a === void 0 ? void 0 : _a[x]) || 0;
64
- if (typeof s === "number" && (0, __utils_1.check)(c, condition)) {
65
- total += s;
66
- }
67
- }));
68
- return total;
69
- }
58
+ }));
59
+ return total;
70
60
  }
71
- exports.SumifFunction = SumifFunction;
72
- });
61
+ }
62
+ exports.SumifFunction = SumifFunction;
73
63
  //# sourceMappingURL=sumif.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sumif.js","sourceRoot":"","sources":["../../../src/formula/functions/sumif.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,4CAA4C;IAC5C,sCAAuC;IACvC,2CAAwC;IACxC,qCAAwC;IACxC,uCAAkC;IAGlC,MAAa,aAAc,SAAQ,qBAAY;QAA/C;;YACE,YAAO,GAAG,qBAAqB,CAAC;YAChC,aAAQ,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,aAAQ,GAAG;gBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBACrD;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,gCAAgC;iBAC9C;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;oBACxC,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;QAyCJ,CAAC;QAvCW,QAAQ;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5D,MAAM,IAAI,wBAAY,CACpB,MAAM,EACN,6CAA6C,CAC9C,CAAC;aACH;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,aAAK,EAAE;gBACtE,MAAM,IAAI,wBAAY,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;aAC/D;QACH,CAAC;QAES,IAAI,CAAC,KAAY,EAAE,SAAiB,EAAE,QAAe;YAC7D,IAAI,CAAC,CAAC,KAAK,YAAY,aAAK,CAAC,EAAE;gBAC7B,OAAO,IAAA,eAAK,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C;YACD,MAAM,eAAe,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,IAAI,SAAS,GAAG,eAAe,CAAC;YAChC,IAAI,QAAQ,EAAE;gBACZ,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,IAAI,GAAa;oBACrB,GAAG;oBACH,IAAI;oBACJ,MAAM,EAAE,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE;oBACnC,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE;iBACpC,CAAC;gBACF,SAAS,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC1D;YACD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACjC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;gBACnB,MAAM,CAAC,GAAG,CAAA,MAAA,SAAS,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAC;gBACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAA,eAAK,EAAC,CAAC,EAAE,SAAS,CAAC,EAAE;oBAChD,KAAK,IAAI,CAAC,CAAC;iBACZ;YACH,CAAC,CAAC,CACH,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;KACF;IAvDD,sCAuDC"}
1
+ {"version":3,"file":"sumif.js","sourceRoot":"","sources":["../../../src/formula/functions/sumif.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAuC;AACvC,2CAAwC;AACxC,qCAAwC;AACxC,uCAAkC;AAGlC,MAAa,aAAc,SAAQ,qBAAY;IAA/C;;QACE,YAAO,GAAG,qBAAqB,CAAC;QAChC,aAAQ,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,aAAQ,GAAG;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YACrD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,gCAAgC;aAC9C;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;gBACxC,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;IAyCJ,CAAC;IAvCW,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,6CAA6C,CAC9C,CAAC;SACH;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,aAAK,EAAE;YACtE,MAAM,IAAI,wBAAY,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;SAC/D;IACH,CAAC;IAES,IAAI,CAAC,KAAY,EAAE,SAAiB,EAAE,QAAe;QAC7D,IAAI,CAAC,CAAC,KAAK,YAAY,aAAK,CAAC,EAAE;YAC7B,OAAO,IAAA,eAAK,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,MAAM,eAAe,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,SAAS,GAAG,eAAe,CAAC;QAChC,IAAI,QAAQ,EAAE;YACZ,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,IAAI,GAAa;gBACrB,GAAG;gBACH,IAAI;gBACJ,MAAM,EAAE,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE;gBACnC,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE;aACpC,CAAC;YACF,SAAS,GAAG,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1D;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACjC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;YACnB,MAAM,CAAC,GAAG,CAAA,MAAA,SAAS,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAC;YACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAA,eAAK,EAAC,CAAC,EAAE,SAAS,CAAC,EAAE;gBAChD,KAAK,IAAI,CAAC,CAAC;aACZ;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAvDD,sCAuDC"}