@gridsheet/react-core 1.4.0-alpha.9 → 1.4.0

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 (77) hide show
  1. package/README.md +27 -0
  2. package/dist/components/Cell.d.ts.map +1 -1
  3. package/dist/components/Cell.js +3 -1
  4. package/dist/components/Cell.js.map +1 -1
  5. package/dist/components/Editor.d.ts +2 -1
  6. package/dist/components/Editor.d.ts.map +1 -1
  7. package/dist/components/Editor.js +13 -4
  8. package/dist/components/Editor.js.map +1 -1
  9. package/dist/components/FormulaBar.d.ts.map +1 -1
  10. package/dist/components/FormulaBar.js +4 -3
  11. package/dist/components/FormulaBar.js.map +1 -1
  12. package/dist/components/GridSheet.d.ts.map +1 -1
  13. package/dist/components/GridSheet.js +3 -2
  14. package/dist/components/GridSheet.js.map +1 -1
  15. package/dist/components/SheetProvider.d.ts +2 -0
  16. package/dist/components/SheetProvider.d.ts.map +1 -1
  17. package/dist/components/SheetProvider.js +3 -0
  18. package/dist/components/SheetProvider.js.map +1 -1
  19. package/dist/components/Tabular.d.ts.map +1 -1
  20. package/dist/components/Tabular.js +38 -29
  21. package/dist/components/Tabular.js.map +1 -1
  22. package/dist/formula/evaluator.d.ts +10 -3
  23. package/dist/formula/evaluator.d.ts.map +1 -1
  24. package/dist/formula/evaluator.js +11 -6
  25. package/dist/formula/evaluator.js.map +1 -1
  26. package/dist/formula/functions/__base.d.ts +4 -1
  27. package/dist/formula/functions/__base.d.ts.map +1 -1
  28. package/dist/formula/functions/__base.js +2 -1
  29. package/dist/formula/functions/__base.js.map +1 -1
  30. package/dist/formula/functions/add.js +4 -4
  31. package/dist/formula/functions/add.js.map +1 -1
  32. package/dist/formula/functions/col.d.ts +1 -2
  33. package/dist/formula/functions/col.d.ts.map +1 -1
  34. package/dist/formula/functions/col.js +8 -5
  35. package/dist/formula/functions/col.js.map +1 -1
  36. package/dist/formula/functions/col.spec.d.ts +2 -0
  37. package/dist/formula/functions/col.spec.d.ts.map +1 -0
  38. package/dist/formula/functions/minus.js +4 -4
  39. package/dist/formula/functions/minus.js.map +1 -1
  40. package/dist/formula/functions/row.d.ts +1 -2
  41. package/dist/formula/functions/row.d.ts.map +1 -1
  42. package/dist/formula/functions/row.js +8 -5
  43. package/dist/formula/functions/row.js.map +1 -1
  44. package/dist/formula/functions/row.spec.d.ts +2 -0
  45. package/dist/formula/functions/row.spec.d.ts.map +1 -0
  46. package/dist/formula/mapping.d.ts.map +1 -1
  47. package/dist/formula/mapping.js +1 -0
  48. package/dist/formula/mapping.js.map +1 -1
  49. package/dist/formula/solver.d.ts +3 -2
  50. package/dist/formula/solver.d.ts.map +1 -1
  51. package/dist/formula/solver.js +3 -3
  52. package/dist/formula/solver.js.map +1 -1
  53. package/dist/index.d.ts +1 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/lib/clipboard.d.ts.map +1 -1
  56. package/dist/lib/clipboard.js +28 -2
  57. package/dist/lib/clipboard.js.map +1 -1
  58. package/dist/lib/table.d.ts +2 -1
  59. package/dist/lib/table.d.ts.map +1 -1
  60. package/dist/lib/table.js +21 -10
  61. package/dist/lib/table.js.map +1 -1
  62. package/dist/lib/time.d.ts +7 -1
  63. package/dist/lib/time.d.ts.map +1 -1
  64. package/dist/lib/time.js +94 -3
  65. package/dist/lib/time.js.map +1 -1
  66. package/dist/parsers/core.d.ts.map +1 -1
  67. package/dist/parsers/core.js +1 -29
  68. package/dist/parsers/core.js.map +1 -1
  69. package/dist/renderers/core.d.ts +24 -21
  70. package/dist/renderers/core.d.ts.map +1 -1
  71. package/dist/renderers/core.js +34 -46
  72. package/dist/renderers/core.js.map +1 -1
  73. package/dist/store/actions.d.ts.map +1 -1
  74. package/dist/store/actions.js.map +1 -1
  75. package/dist/types.d.ts +5 -2
  76. package/dist/types.d.ts.map +1 -1
  77. package/package.json +1 -1
@@ -1,4 +1,3 @@
1
- import { Table } from '../../lib/table';
2
1
  import { BaseFunction } from './__base';
3
2
  export declare class ColFunction extends BaseFunction {
4
3
  example: string;
@@ -9,6 +8,6 @@ export declare class ColFunction extends BaseFunction {
9
8
  option: boolean;
10
9
  }[];
11
10
  protected validate(): void;
12
- protected main(trimmed: Table): number;
11
+ protected main(left: number): number;
13
12
  }
14
13
  //# sourceMappingURL=col.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"col.d.ts","sourceRoot":"","sources":["../../../formula/functions/col.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,SAAa;IACpB,QAAQ,WAAmD;IAC3D,QAAQ;;;;QAMN;IAEF,SAAS,CAAC,QAAQ;IASlB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK;CAG9B"}
1
+ {"version":3,"file":"col.d.ts","sourceRoot":"","sources":["../../../formula/functions/col.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,SAAa;IACpB,QAAQ,WAAmD;IAC3D,QAAQ;;;;QAMN;IAEF,SAAS,CAAC,QAAQ;IAWlB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;CAG5B"}
@@ -14,15 +14,18 @@ class ColFunction extends BaseFunction {
14
14
  ];
15
15
  }
16
16
  validate() {
17
+ var _a;
17
18
  if (this.bareArgs.length === 0) {
18
- this.bareArgs = [this.table];
19
- } else if (this.bareArgs.length === 1) ;
20
- else {
19
+ this.bareArgs = [((_a = this.origin) == null ? void 0 : _a.x) ?? 1];
20
+ } else if (this.bareArgs.length === 1) {
21
+ const table = this.bareArgs[0];
22
+ this.bareArgs = [table.left];
23
+ } else {
21
24
  throw new FormulaError("#N/A", "Number of arguments for COL is incorrect.");
22
25
  }
23
26
  }
24
- main(trimmed) {
25
- return trimmed.left;
27
+ main(left) {
28
+ return left;
26
29
  }
27
30
  }
28
31
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"col.js","sources":["../../../formula/functions/col.ts"],"sourcesContent":["import { Table } from '../../lib/table';\nimport { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\n\nexport class ColFunction extends BaseFunction {\n example = 'COL(A9)';\n helpText = ['Returns the col number of a specified cell.'];\n helpArgs = [\n {\n name: 'cell_reference',\n description: 'The cell whose col number will be returned.',\n option: true,\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length === 0) {\n this.bareArgs = [this.table];\n } else if (this.bareArgs.length === 1) {\n } else {\n throw new FormulaError('#N/A', 'Number of arguments for COL is incorrect.');\n }\n }\n\n protected main(trimmed: Table) {\n return trimmed.left;\n }\n}\n"],"names":[],"mappings":";;AAIO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,6CAA6C;AAC9C,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb,QAAQ;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACzB,WAAA,WAAW,CAAC,KAAK,KAAK;AAAA,IAClB,WAAA,KAAK,SAAS,WAAW,EAAG;AAAA,SAChC;AACC,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAAA,EAC5E;AAAA,EAGQ,KAAK,SAAgB;AAC7B,WAAO,QAAQ;AAAA,EAAA;AAEnB;"}
1
+ {"version":3,"file":"col.js","sources":["../../../formula/functions/col.ts"],"sourcesContent":["import { Table } from '../../lib/table';\nimport { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\n\nexport class ColFunction extends BaseFunction {\n example = 'COL(A9)';\n helpText = ['Returns the col number of a specified cell.'];\n helpArgs = [\n {\n name: 'cell_reference',\n description: 'The cell whose col number will be returned.',\n option: true,\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length === 0) {\n this.bareArgs = [this.origin?.x ?? 1];\n } else if (this.bareArgs.length === 1) {\n const table = this.bareArgs[0] as Table;\n this.bareArgs = [table.left];\n } else {\n throw new FormulaError('#N/A', 'Number of arguments for COL is incorrect.');\n }\n }\n\n protected main(left: number) {\n return left;\n }\n}\n"],"names":[],"mappings":";;AAIO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,6CAA6C;AAC9C,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb,QAAQ;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAEU,WAAW;;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AAC9B,WAAK,WAAW,GAAC,UAAK,WAAL,mBAAa,MAAK,CAAC;AAAA,IAC3B,WAAA,KAAK,SAAS,WAAW,GAAG;AAC/B,YAAA,QAAQ,KAAK,SAAS,CAAC;AACxB,WAAA,WAAW,CAAC,MAAM,IAAI;AAAA,IAAA,OACtB;AACC,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAAA,EAC5E;AAAA,EAGQ,KAAK,MAAc;AACpB,WAAA;AAAA,EAAA;AAEX;"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=col.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"col.spec.d.ts","sourceRoot":"","sources":["../../../formula/functions/col.spec.ts"],"names":[],"mappings":""}
@@ -33,11 +33,11 @@ class MinusFunction extends BaseFunction {
33
33
  if (v1 instanceof Date && v2 instanceof Date) {
34
34
  return new TimeDelta(v1, v2);
35
35
  }
36
- if (v1 instanceof Date && v2 instanceof TimeDelta) {
37
- return v2.sub(v1);
36
+ if (v1 instanceof Date && TimeDelta.is(v2)) {
37
+ return TimeDelta.ensure(v2).sub(v1);
38
38
  }
39
- if (v1 instanceof TimeDelta && v2 instanceof Date) {
40
- return v1.sub(v2);
39
+ if (TimeDelta.is(v1) && v2 instanceof Date) {
40
+ return TimeDelta.ensure(v1).sub(v2);
41
41
  }
42
42
  if (v1 instanceof Date && typeof v2 === "number") {
43
43
  return dayjs(v1).subtract(v2 * SECONDS_IN_DAY, "second").toDate();
@@ -1 +1 @@
1
- {"version":3,"file":"minus.js","sources":["../../../formula/functions/minus.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { FormulaError } from '../evaluator';\nimport { TimeDelta } from '../../lib/time';\nimport { BaseFunction } from './__base';\nimport { ensureNumber, stripTable } from './__utils';\nimport { Table } from '../../lib/table';\nimport { SECONDS_IN_DAY } from '../../constants';\n\nexport class MinusFunction extends BaseFunction {\n example = 'MINUS(8, 3)';\n helpText = ['Returns the difference of two numbers.', \"This is the same as the '-' operator.\"];\n helpArgs = [\n { name: 'value1', description: 'A number that will be subtracted.' },\n { name: 'value2', description: 'A number that will subtract from value1.' },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 2) {\n throw new FormulaError('#N/A', 'Number of arguments for MINUS is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => {\n if (arg instanceof Table) {\n arg = stripTable(arg, 0, 0);\n }\n return typeof arg === 'object' ? arg : ensureNumber(arg);\n });\n }\n\n protected main(v1: number | Date | TimeDelta, v2: number | Date | TimeDelta) {\n if (typeof v1 === 'number' && typeof v2 === 'number') {\n return v1 - v2;\n }\n if (v1 instanceof Date && v2 instanceof Date) {\n return new TimeDelta(v1, v2);\n }\n if (v1 instanceof Date && v2 instanceof TimeDelta) {\n return v2.sub(v1);\n }\n if (v1 instanceof TimeDelta && v2 instanceof Date) {\n return v1.sub(v2);\n }\n if (v1 instanceof Date && typeof v2 === 'number') {\n return dayjs(v1)\n .subtract(v2 * SECONDS_IN_DAY, 'second')\n .toDate();\n }\n if (!v1) {\n return -v2;\n }\n if (!v2) {\n return v1;\n }\n throw new FormulaError('#VALUE!', 'Mismatched types for minuend and subtrahend.');\n }\n}\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,sBAAsB,aAAa;AAAA,EAAzC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACC,SAAA,WAAA,CAAC,0CAA0C,uCAAuC;AAClF,SAAA,WAAA;AAAA,MACT,EAAE,MAAM,UAAU,aAAa,oCAAoC;AAAA,MACnE,EAAE,MAAM,UAAU,aAAa,2CAA2C;AAAA,IAC5E;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,6CAA6C;AAAA,IAAA;AAE9E,SAAK,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ;AACzC,UAAI,eAAe,OAAO;AAClB,cAAA,WAAW,KAAK,GAAG,CAAC;AAAA,MAAA;AAE5B,aAAO,OAAO,QAAQ,WAAW,MAAM,aAAa,GAAG;AAAA,IAAA,CACxD;AAAA,EAAA;AAAA,EAGO,KAAK,IAA+B,IAA+B;AAC3E,QAAI,OAAO,OAAO,YAAY,OAAO,OAAO,UAAU;AACpD,aAAO,KAAK;AAAA,IAAA;AAEV,QAAA,cAAc,QAAQ,cAAc,MAAM;AACrC,aAAA,IAAI,UAAU,IAAI,EAAE;AAAA,IAAA;AAEzB,QAAA,cAAc,QAAQ,cAAc,WAAW;AAC1C,aAAA,GAAG,IAAI,EAAE;AAAA,IAAA;AAEd,QAAA,cAAc,aAAa,cAAc,MAAM;AAC1C,aAAA,GAAG,IAAI,EAAE;AAAA,IAAA;AAElB,QAAI,cAAc,QAAQ,OAAO,OAAO,UAAU;AACzC,aAAA,MAAM,EAAE,EACZ,SAAS,KAAK,gBAAgB,QAAQ,EACtC,OAAO;AAAA,IAAA;AAEZ,QAAI,CAAC,IAAI;AACP,aAAO,CAAC;AAAA,IAAA;AAEV,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAEH,UAAA,IAAI,aAAa,WAAW,8CAA8C;AAAA,EAAA;AAEpF;"}
1
+ {"version":3,"file":"minus.js","sources":["../../../formula/functions/minus.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { FormulaError } from '../evaluator';\nimport { TimeDelta } from '../../lib/time';\nimport { BaseFunction } from './__base';\nimport { ensureNumber, stripTable } from './__utils';\nimport { Table } from '../../lib/table';\nimport { SECONDS_IN_DAY } from '../../constants';\n\nexport class MinusFunction extends BaseFunction {\n example = 'MINUS(8, 3)';\n helpText = ['Returns the difference of two numbers.', \"This is the same as the '-' operator.\"];\n helpArgs = [\n { name: 'value1', description: 'A number that will be subtracted.' },\n { name: 'value2', description: 'A number that will subtract from value1.' },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 2) {\n throw new FormulaError('#N/A', 'Number of arguments for MINUS is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => {\n if (arg instanceof Table) {\n arg = stripTable(arg, 0, 0);\n }\n return typeof arg === 'object' ? arg : ensureNumber(arg);\n });\n }\n\n protected main(v1: number | Date | TimeDelta, v2: number | Date | TimeDelta) {\n if (typeof v1 === 'number' && typeof v2 === 'number') {\n return v1 - v2;\n }\n if (v1 instanceof Date && v2 instanceof Date) {\n return new TimeDelta(v1, v2);\n }\n if (v1 instanceof Date && TimeDelta.is(v2)) {\n return TimeDelta.ensure(v2).sub(v1);\n }\n if (TimeDelta.is(v1) && v2 instanceof Date) {\n return TimeDelta.ensure(v1).sub(v2);\n }\n if (v1 instanceof Date && typeof v2 === 'number') {\n return dayjs(v1)\n .subtract(v2 * SECONDS_IN_DAY, 'second')\n .toDate();\n }\n if (!v1) {\n return -v2;\n }\n if (!v2) {\n return v1;\n }\n throw new FormulaError('#VALUE!', 'Mismatched types for minuend and subtrahend.');\n }\n}\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,sBAAsB,aAAa;AAAA,EAAzC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACC,SAAA,WAAA,CAAC,0CAA0C,uCAAuC;AAClF,SAAA,WAAA;AAAA,MACT,EAAE,MAAM,UAAU,aAAa,oCAAoC;AAAA,MACnE,EAAE,MAAM,UAAU,aAAa,2CAA2C;AAAA,IAC5E;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,6CAA6C;AAAA,IAAA;AAE9E,SAAK,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ;AACzC,UAAI,eAAe,OAAO;AAClB,cAAA,WAAW,KAAK,GAAG,CAAC;AAAA,MAAA;AAE5B,aAAO,OAAO,QAAQ,WAAW,MAAM,aAAa,GAAG;AAAA,IAAA,CACxD;AAAA,EAAA;AAAA,EAGO,KAAK,IAA+B,IAA+B;AAC3E,QAAI,OAAO,OAAO,YAAY,OAAO,OAAO,UAAU;AACpD,aAAO,KAAK;AAAA,IAAA;AAEV,QAAA,cAAc,QAAQ,cAAc,MAAM;AACrC,aAAA,IAAI,UAAU,IAAI,EAAE;AAAA,IAAA;AAE7B,QAAI,cAAc,QAAQ,UAAU,GAAG,EAAE,GAAG;AAC1C,aAAO,UAAU,OAAO,EAAE,EAAE,IAAI,EAAE;AAAA,IAAA;AAEpC,QAAI,UAAU,GAAG,EAAE,KAAK,cAAc,MAAM;AAC1C,aAAO,UAAU,OAAO,EAAE,EAAE,IAAI,EAAE;AAAA,IAAA;AAEpC,QAAI,cAAc,QAAQ,OAAO,OAAO,UAAU;AACzC,aAAA,MAAM,EAAE,EACZ,SAAS,KAAK,gBAAgB,QAAQ,EACtC,OAAO;AAAA,IAAA;AAEZ,QAAI,CAAC,IAAI;AACP,aAAO,CAAC;AAAA,IAAA;AAEV,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAEH,UAAA,IAAI,aAAa,WAAW,8CAA8C;AAAA,EAAA;AAEpF;"}
@@ -1,4 +1,3 @@
1
- import { Table } from '../../lib/table';
2
1
  import { BaseFunction } from './__base';
3
2
  export declare class RowFunction extends BaseFunction {
4
3
  example: string;
@@ -9,6 +8,6 @@ export declare class RowFunction extends BaseFunction {
9
8
  option: boolean;
10
9
  }[];
11
10
  protected validate(): void;
12
- protected main(trimmed: Table): number;
11
+ protected main(top: number): number;
13
12
  }
14
13
  //# sourceMappingURL=row.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../formula/functions/row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,SAAa;IACpB,QAAQ,WAAmD;IAC3D,QAAQ;;;;QAMN;IAEF,SAAS,CAAC,QAAQ;IASlB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK;CAG9B"}
1
+ {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../formula/functions/row.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,SAAa;IACpB,QAAQ,WAAmD;IAC3D,QAAQ;;;;QAMN;IAEF,SAAS,CAAC,QAAQ;IAWlB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM;CAG3B"}
@@ -14,15 +14,18 @@ class RowFunction extends BaseFunction {
14
14
  ];
15
15
  }
16
16
  validate() {
17
+ var _a;
17
18
  if (this.bareArgs.length === 0) {
18
- this.bareArgs = [this.table];
19
- } else if (this.bareArgs.length === 1) ;
20
- else {
19
+ this.bareArgs = [((_a = this.origin) == null ? void 0 : _a.y) ?? 1];
20
+ } else if (this.bareArgs.length === 1) {
21
+ const table = this.bareArgs[0];
22
+ this.bareArgs = [table.top];
23
+ } else {
21
24
  throw new FormulaError("#N/A", "Number of arguments for ROW is incorrect.");
22
25
  }
23
26
  }
24
- main(trimmed) {
25
- return trimmed.top;
27
+ main(top) {
28
+ return top;
26
29
  }
27
30
  }
28
31
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","sources":["../../../formula/functions/row.ts"],"sourcesContent":["import { Table } from '../../lib/table';\nimport { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\n\nexport class RowFunction extends BaseFunction {\n example = 'ROW(A9)';\n helpText = ['Returns the row number of a specified cell.'];\n helpArgs = [\n {\n name: 'cell_reference',\n description: 'The cell whose row number will be returned.',\n option: true,\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length === 0) {\n this.bareArgs = [this.table];\n } else if (this.bareArgs.length === 1) {\n } else {\n throw new FormulaError('#N/A', 'Number of arguments for ROW is incorrect.');\n }\n }\n\n protected main(trimmed: Table) {\n return trimmed.top;\n }\n}\n"],"names":[],"mappings":";;AAIO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,6CAA6C;AAC9C,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb,QAAQ;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACzB,WAAA,WAAW,CAAC,KAAK,KAAK;AAAA,IAClB,WAAA,KAAK,SAAS,WAAW,EAAG;AAAA,SAChC;AACC,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAAA,EAC5E;AAAA,EAGQ,KAAK,SAAgB;AAC7B,WAAO,QAAQ;AAAA,EAAA;AAEnB;"}
1
+ {"version":3,"file":"row.js","sources":["../../../formula/functions/row.ts"],"sourcesContent":["import { Table } from '../../lib/table';\nimport { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\n\nexport class RowFunction extends BaseFunction {\n example = 'ROW(A9)';\n helpText = ['Returns the row number of a specified cell.'];\n helpArgs = [\n {\n name: 'cell_reference',\n description: 'The cell whose row number will be returned.',\n option: true,\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length === 0) {\n this.bareArgs = [this.origin?.y ?? 1];\n } else if (this.bareArgs.length === 1) {\n const table = this.bareArgs[0] as Table;\n this.bareArgs = [table.top];\n } else {\n throw new FormulaError('#N/A', 'Number of arguments for ROW is incorrect.');\n }\n }\n\n protected main(top: number) {\n return top;\n }\n}\n"],"names":[],"mappings":";;AAIO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,6CAA6C;AAC9C,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb,QAAQ;AAAA,MAAA;AAAA,IAEZ;AAAA,EAAA;AAAA,EAEU,WAAW;;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AAC9B,WAAK,WAAW,GAAC,UAAK,WAAL,mBAAa,MAAK,CAAC;AAAA,IAC3B,WAAA,KAAK,SAAS,WAAW,GAAG;AAC/B,YAAA,QAAQ,KAAK,SAAS,CAAC;AACxB,WAAA,WAAW,CAAC,MAAM,GAAG;AAAA,IAAA,OACrB;AACC,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAAA,EAC5E;AAAA,EAGQ,KAAK,KAAa;AACnB,WAAA;AAAA,EAAA;AAEX;"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=row.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row.spec.d.ts","sourceRoot":"","sources":["../../../formula/functions/row.spec.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../formula/mapping.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,SAAS,EAAE,eA0DvB,CAAC"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../formula/mapping.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,SAAS,EAAE,eA2DvB,CAAC"}
@@ -94,6 +94,7 @@ const functions = {
94
94
  hlookup: HlookupFunction,
95
95
  row: RowFunction,
96
96
  col: ColFunction,
97
+ column: ColFunction,
97
98
  now: NowFunction,
98
99
  rand: RandFunction,
99
100
  log: LogFunction,
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sources":["../../formula/mapping.ts"],"sourcesContent":["import { AddFunction } from './functions/add';\nimport { MinusFunction } from './functions/minus';\nimport { MultiplyFunction } from './functions/multiply';\nimport { DivideFunction } from './functions/divide';\nimport { ModFunction } from './functions/mod';\nimport { SumFunction } from './functions/sum';\nimport { ConcatFunction } from './functions/concat';\nimport { ConcatenateFunction } from './functions/concatenate';\nimport { EqFunction } from './functions/eq';\nimport { NeFunction } from './functions/ne';\nimport { GtFunction } from './functions/gt';\nimport { GteFunction } from './functions/gte';\nimport { LtFunction } from './functions/lt';\nimport { LteFunction } from './functions/lte';\nimport { NowFunction } from './functions/now';\nimport { AndFunction } from './functions/and';\nimport { OrFunction } from './functions/or';\nimport { IfFunction } from './functions/if';\nimport { IfErrorFunction } from './functions/iferror';\nimport { NotFunction } from './functions/not';\nimport { CountFunction } from './functions/count';\nimport { CountifFunction } from './functions/countif';\nimport { SumifFunction } from './functions/sumif';\nimport { VlookupFunction } from './functions/vlookup';\nimport { HlookupFunction } from './functions/hlookup';\nimport { LogFunction } from './functions/log';\nimport { Log10Function } from './functions/log10';\nimport { LnFunction } from './functions/ln';\nimport { AbsFunction } from './functions/abs';\nimport { ProductFunction } from './functions/product';\nimport { RandFunction } from './functions/rand';\nimport { PiFunction } from './functions/pi';\nimport { ExpFunction } from './functions/exp';\nimport { RadiansFunction } from './functions/radians';\nimport { PowerFunction } from './functions/power';\nimport { SqrtFunction } from './functions/sqrt';\nimport { RoundFunction } from './functions/round';\nimport { RoundupFunction } from './functions/roundup';\nimport { RounddownFunction } from './functions/rounddown';\nimport { SinFunction } from './functions/sin';\nimport { CosFunction } from './functions/cos';\nimport { TanFunction } from './functions/tan';\nimport { AsinFunction } from './functions/asin';\nimport { AcosFunction } from './functions/acos';\nimport { AtanFunction } from './functions/atan';\nimport { Atan2Function } from './functions/atan2';\nimport { CountaFunction } from './functions/counta';\nimport { AverageFunction } from './functions/average';\nimport { MaxFunction } from './functions/max';\nimport { MinFunction } from './functions/min';\nimport { LenFunction } from './functions/len';\nimport { LenbFunction } from './functions/lenb';\nimport { UminusFunction } from './functions/uminus';\nimport { RowFunction } from './functions/row';\nimport { ColFunction } from './functions/col';\nimport type { FunctionMapping } from './functions/__base';\n\nexport const functions: FunctionMapping = {\n abs: AbsFunction,\n add: AddFunction,\n divide: DivideFunction,\n mod: ModFunction,\n minus: MinusFunction,\n uminus: UminusFunction,\n multiply: MultiplyFunction,\n pow: PowerFunction,\n power: PowerFunction,\n sqrt: SqrtFunction,\n sum: SumFunction,\n sumif: SumifFunction,\n max: MaxFunction,\n min: MinFunction,\n average: AverageFunction,\n count: CountFunction,\n counta: CountaFunction,\n countif: CountifFunction,\n product: ProductFunction,\n concat: ConcatFunction,\n concatenate: ConcatenateFunction,\n eq: EqFunction,\n ne: NeFunction,\n gt: GtFunction,\n gte: GteFunction,\n lt: LtFunction,\n lte: LteFunction,\n and: AndFunction,\n or: OrFunction,\n round: RoundFunction,\n rounddown: RounddownFunction,\n roundup: RoundupFunction,\n if: IfFunction,\n // @ts-expect-error iferror does not extends BaseFunction\n iferror: IfErrorFunction,\n not: NotFunction,\n vlookup: VlookupFunction,\n hlookup: HlookupFunction,\n row: RowFunction,\n col: ColFunction,\n now: NowFunction,\n rand: RandFunction,\n log: LogFunction,\n log10: Log10Function,\n ln: LnFunction,\n exp: ExpFunction,\n pi: PiFunction,\n radians: RadiansFunction,\n sin: SinFunction,\n cos: CosFunction,\n tan: TanFunction,\n asin: AsinFunction,\n acos: AcosFunction,\n atan: AtanFunction,\n atan2: Atan2Function,\n len: LenFunction,\n lenb: LenbFunction,\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDO,MAAM,YAA6B;AAAA,EACxC,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,EACT,IAAI;AAAA;AAAA,EAEJ,SAAS;AAAA,EACT,KAAK;AAAA,EACL,SAAS;AAAA,EACT,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR;"}
1
+ {"version":3,"file":"mapping.js","sources":["../../formula/mapping.ts"],"sourcesContent":["import { AddFunction } from './functions/add';\nimport { MinusFunction } from './functions/minus';\nimport { MultiplyFunction } from './functions/multiply';\nimport { DivideFunction } from './functions/divide';\nimport { ModFunction } from './functions/mod';\nimport { SumFunction } from './functions/sum';\nimport { ConcatFunction } from './functions/concat';\nimport { ConcatenateFunction } from './functions/concatenate';\nimport { EqFunction } from './functions/eq';\nimport { NeFunction } from './functions/ne';\nimport { GtFunction } from './functions/gt';\nimport { GteFunction } from './functions/gte';\nimport { LtFunction } from './functions/lt';\nimport { LteFunction } from './functions/lte';\nimport { NowFunction } from './functions/now';\nimport { AndFunction } from './functions/and';\nimport { OrFunction } from './functions/or';\nimport { IfFunction } from './functions/if';\nimport { IfErrorFunction } from './functions/iferror';\nimport { NotFunction } from './functions/not';\nimport { CountFunction } from './functions/count';\nimport { CountifFunction } from './functions/countif';\nimport { SumifFunction } from './functions/sumif';\nimport { VlookupFunction } from './functions/vlookup';\nimport { HlookupFunction } from './functions/hlookup';\nimport { LogFunction } from './functions/log';\nimport { Log10Function } from './functions/log10';\nimport { LnFunction } from './functions/ln';\nimport { AbsFunction } from './functions/abs';\nimport { ProductFunction } from './functions/product';\nimport { RandFunction } from './functions/rand';\nimport { PiFunction } from './functions/pi';\nimport { ExpFunction } from './functions/exp';\nimport { RadiansFunction } from './functions/radians';\nimport { PowerFunction } from './functions/power';\nimport { SqrtFunction } from './functions/sqrt';\nimport { RoundFunction } from './functions/round';\nimport { RoundupFunction } from './functions/roundup';\nimport { RounddownFunction } from './functions/rounddown';\nimport { SinFunction } from './functions/sin';\nimport { CosFunction } from './functions/cos';\nimport { TanFunction } from './functions/tan';\nimport { AsinFunction } from './functions/asin';\nimport { AcosFunction } from './functions/acos';\nimport { AtanFunction } from './functions/atan';\nimport { Atan2Function } from './functions/atan2';\nimport { CountaFunction } from './functions/counta';\nimport { AverageFunction } from './functions/average';\nimport { MaxFunction } from './functions/max';\nimport { MinFunction } from './functions/min';\nimport { LenFunction } from './functions/len';\nimport { LenbFunction } from './functions/lenb';\nimport { UminusFunction } from './functions/uminus';\nimport { RowFunction } from './functions/row';\nimport { ColFunction } from './functions/col';\nimport type { FunctionMapping } from './functions/__base';\n\nexport const functions: FunctionMapping = {\n abs: AbsFunction,\n add: AddFunction,\n divide: DivideFunction,\n mod: ModFunction,\n minus: MinusFunction,\n uminus: UminusFunction,\n multiply: MultiplyFunction,\n pow: PowerFunction,\n power: PowerFunction,\n sqrt: SqrtFunction,\n sum: SumFunction,\n sumif: SumifFunction,\n max: MaxFunction,\n min: MinFunction,\n average: AverageFunction,\n count: CountFunction,\n counta: CountaFunction,\n countif: CountifFunction,\n product: ProductFunction,\n concat: ConcatFunction,\n concatenate: ConcatenateFunction,\n eq: EqFunction,\n ne: NeFunction,\n gt: GtFunction,\n gte: GteFunction,\n lt: LtFunction,\n lte: LteFunction,\n and: AndFunction,\n or: OrFunction,\n round: RoundFunction,\n rounddown: RounddownFunction,\n roundup: RoundupFunction,\n if: IfFunction,\n // @ts-expect-error iferror does not extends BaseFunction\n iferror: IfErrorFunction,\n not: NotFunction,\n vlookup: VlookupFunction,\n hlookup: HlookupFunction,\n row: RowFunction,\n col: ColFunction,\n column: ColFunction,\n now: NowFunction,\n rand: RandFunction,\n log: LogFunction,\n log10: Log10Function,\n ln: LnFunction,\n exp: ExpFunction,\n pi: PiFunction,\n radians: RadiansFunction,\n sin: SinFunction,\n cos: CosFunction,\n tan: TanFunction,\n asin: AsinFunction,\n acos: AcosFunction,\n atan: AtanFunction,\n atan2: Atan2Function,\n len: LenFunction,\n lenb: LenbFunction,\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDO,MAAM,YAA6B;AAAA,EACxC,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,KAAK;AAAA,EACL,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,EACT,IAAI;AAAA;AAAA,EAEJ,SAAS;AAAA,EACT,KAAK;AAAA,EACL,SAAS;AAAA,EACT,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR;"}
@@ -1,12 +1,13 @@
1
1
  import { Table } from '../lib/table';
2
- import { MatrixType } from '../types';
2
+ import { MatrixType, PointType } from '../types';
3
3
  type SolveFormulaType = {
4
4
  value: any;
5
5
  table: Table;
6
6
  raise?: boolean;
7
7
  evaluates?: boolean | null;
8
+ origin?: PointType;
8
9
  };
9
- export declare const solveFormula: ({ value, table, raise, evaluates }: SolveFormulaType) => any;
10
+ export declare const solveFormula: ({ value, table, raise, evaluates, origin }: SolveFormulaType) => any;
10
11
  export declare const solveTable: ({ table, raise }: {
11
12
  table: Table;
12
13
  raise?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../formula/solver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtC,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,oCAAkD,gBAAgB,QA4B9F,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,kBAAyB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,UA8BvF,CAAC"}
1
+ {"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../formula/solver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAMjD,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,4CAA0D,gBAAgB,QA4BtG,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,kBAAyB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,UA8BvF,CAAC"}
@@ -3,7 +3,7 @@ import { Table } from "../lib/table.js";
3
3
  import { Lexer, Parser, FormulaError } from "./evaluator.js";
4
4
  import { p2a } from "../lib/converters.js";
5
5
  const SOLVING = new Special("solving");
6
- const solveFormula = ({ value, table, raise = true, evaluates = true }) => {
6
+ const solveFormula = ({ value, table, raise = true, evaluates = true, origin }) => {
7
7
  var _a;
8
8
  if (evaluates === null) {
9
9
  return value;
@@ -12,7 +12,7 @@ const solveFormula = ({ value, table, raise = true, evaluates = true }) => {
12
12
  if (typeof value === "string") {
13
13
  if (value.charAt(0) === "=") {
14
14
  try {
15
- const lexer = new Lexer(value.substring(1));
15
+ const lexer = new Lexer(value.substring(1), { origin });
16
16
  lexer.tokenize();
17
17
  const parser = new Parser(lexer.tokens);
18
18
  if (evaluates === false) {
@@ -50,7 +50,7 @@ const solveTable = ({ table, raise = true }) => {
50
50
  return cache;
51
51
  }
52
52
  table.setSolvedCache(address, SOLVING);
53
- const solved = solveFormula({ value, table, raise });
53
+ const solved = solveFormula({ value, table, raise, origin: { y, x } });
54
54
  table.setSolvedCache(address, solved);
55
55
  return solved;
56
56
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"solver.js","sources":["../../formula/solver.ts"],"sourcesContent":["import { Special } from '../constants';\nimport { Table } from '../lib/table';\nimport { MatrixType } from '../types';\nimport { FormulaError, Lexer, Parser } from './evaluator';\nimport { p2a } from '../lib/converters';\n\nconst SOLVING = new Special('solving');\n\ntype SolveFormulaType = {\n value: any;\n table: Table;\n raise?: boolean;\n evaluates?: boolean | null;\n};\n\nexport const solveFormula = ({ value, table, raise = true, evaluates = true }: SolveFormulaType) => {\n if (evaluates === null) {\n return value;\n }\n let solved = value;\n if (typeof value === 'string') {\n if (value.charAt(0) === '=') {\n try {\n const lexer = new Lexer(value.substring(1));\n lexer.tokenize();\n const parser = new Parser(lexer.tokens);\n if (evaluates === false) {\n return '=' + lexer.stringifyToRef(table);\n }\n const expr = parser.build();\n solved = expr?.evaluate?.({ table });\n } catch (e) {\n if (raise) {\n throw e;\n }\n return null;\n }\n }\n }\n if (solved instanceof Table) {\n solved = solveTable({ table: solved, raise })[0][0];\n }\n return solved;\n};\n\nexport const solveTable = ({ table, raise = true }: { table: Table; raise?: boolean }): MatrixType => {\n const area = table.getArea();\n return table.getMatrixFlatten({ area, evaluates: null }).map((row, i) => {\n const y = area.top + i;\n return row.map((value, j) => {\n const x = area.left + j;\n const address = p2a({ y, x });\n const cache = table.getSolvedCache(address);\n\n try {\n if (cache === SOLVING) {\n throw new FormulaError('#REF!', 'References are circulating.', new Error(value as string));\n } else if (cache instanceof FormulaError) {\n throw cache;\n } else if (cache != null) {\n return cache;\n }\n table.setSolvedCache(address, SOLVING);\n const solved = solveFormula({ value, table, raise });\n table.setSolvedCache(address, solved);\n return solved;\n } catch (e) {\n table.setSolvedCache(address, e);\n if (raise) {\n throw e;\n }\n return null;\n }\n });\n });\n};\n"],"names":[],"mappings":";;;;AAMA,MAAM,UAAU,IAAI,QAAQ,SAAS;AASxB,MAAA,eAAe,CAAC,EAAE,OAAO,OAAO,QAAQ,MAAM,YAAY,WAA6B;;AAClG,MAAI,cAAc,MAAM;AACf,WAAA;AAAA,EAAA;AAET,MAAI,SAAS;AACT,MAAA,OAAO,UAAU,UAAU;AAC7B,QAAI,MAAM,OAAO,CAAC,MAAM,KAAK;AACvB,UAAA;AACF,cAAM,QAAQ,IAAI,MAAM,MAAM,UAAU,CAAC,CAAC;AAC1C,cAAM,SAAS;AACf,cAAM,SAAS,IAAI,OAAO,MAAM,MAAM;AACtC,YAAI,cAAc,OAAO;AAChB,iBAAA,MAAM,MAAM,eAAe,KAAK;AAAA,QAAA;AAEnC,cAAA,OAAO,OAAO,MAAM;AAC1B,kBAAS,kCAAM,aAAN,8BAAiB,EAAE,MAAA;AAAA,eACrB,GAAG;AACV,YAAI,OAAO;AACH,gBAAA;AAAA,QAAA;AAED,eAAA;AAAA,MAAA;AAAA,IACT;AAAA,EACF;AAEF,MAAI,kBAAkB,OAAO;AAClB,aAAA,WAAW,EAAE,OAAO,QAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;AAAA,EAAA;AAE7C,SAAA;AACT;AAEO,MAAM,aAAa,CAAC,EAAE,OAAO,QAAQ,WAA0D;AAC9F,QAAA,OAAO,MAAM,QAAQ;AACpB,SAAA,MAAM,iBAAiB,EAAE,MAAM,WAAW,KAAM,CAAA,EAAE,IAAI,CAAC,KAAK,MAAM;AACjE,UAAA,IAAI,KAAK,MAAM;AACrB,WAAO,IAAI,IAAI,CAAC,OAAO,MAAM;AACrB,YAAA,IAAI,KAAK,OAAO;AACtB,YAAM,UAAU,IAAI,EAAE,GAAG,GAAG;AACtB,YAAA,QAAQ,MAAM,eAAe,OAAO;AAEtC,UAAA;AACF,YAAI,UAAU,SAAS;AACrB,gBAAM,IAAI,aAAa,SAAS,+BAA+B,IAAI,MAAM,KAAe,CAAC;AAAA,QAAA,WAChF,iBAAiB,cAAc;AAClC,gBAAA;AAAA,QAAA,WACG,SAAS,MAAM;AACjB,iBAAA;AAAA,QAAA;AAEH,cAAA,eAAe,SAAS,OAAO;AACrC,cAAM,SAAS,aAAa,EAAE,OAAO,OAAO,OAAO;AAC7C,cAAA,eAAe,SAAS,MAAM;AAC7B,eAAA;AAAA,eACA,GAAG;AACJ,cAAA,eAAe,SAAS,CAAC;AAC/B,YAAI,OAAO;AACH,gBAAA;AAAA,QAAA;AAED,eAAA;AAAA,MAAA;AAAA,IACT,CACD;AAAA,EAAA,CACF;AACH;"}
1
+ {"version":3,"file":"solver.js","sources":["../../formula/solver.ts"],"sourcesContent":["import { Special } from '../constants';\nimport { Table } from '../lib/table';\nimport { MatrixType, PointType } from '../types';\nimport { FormulaError, Lexer, Parser } from './evaluator';\nimport { p2a } from '../lib/converters';\n\nconst SOLVING = new Special('solving');\n\ntype SolveFormulaType = {\n value: any;\n table: Table;\n raise?: boolean;\n evaluates?: boolean | null;\n origin?: PointType;\n};\n\nexport const solveFormula = ({ value, table, raise = true, evaluates = true, origin }: SolveFormulaType) => {\n if (evaluates === null) {\n return value;\n }\n let solved = value;\n if (typeof value === 'string') {\n if (value.charAt(0) === '=') {\n try {\n const lexer = new Lexer(value.substring(1), { origin });\n lexer.tokenize();\n const parser = new Parser(lexer.tokens);\n if (evaluates === false) {\n return '=' + lexer.stringifyToRef(table);\n }\n const expr = parser.build();\n solved = expr?.evaluate?.({ table });\n } catch (e) {\n if (raise) {\n throw e;\n }\n return null;\n }\n }\n }\n if (solved instanceof Table) {\n solved = solveTable({ table: solved, raise })[0][0];\n }\n return solved;\n};\n\nexport const solveTable = ({ table, raise = true }: { table: Table; raise?: boolean }): MatrixType => {\n const area = table.getArea();\n return table.getMatrixFlatten({ area, evaluates: null }).map((row, i) => {\n const y = area.top + i;\n return row.map((value, j) => {\n const x = area.left + j;\n const address = p2a({ y, x });\n const cache = table.getSolvedCache(address);\n\n try {\n if (cache === SOLVING) {\n throw new FormulaError('#REF!', 'References are circulating.', new Error(value as string));\n } else if (cache instanceof FormulaError) {\n throw cache;\n } else if (cache != null) {\n return cache;\n }\n table.setSolvedCache(address, SOLVING);\n const solved = solveFormula({ value, table, raise, origin: { y, x } });\n table.setSolvedCache(address, solved);\n return solved;\n } catch (e) {\n table.setSolvedCache(address, e);\n if (raise) {\n throw e;\n }\n return null;\n }\n });\n });\n};\n"],"names":[],"mappings":";;;;AAMA,MAAM,UAAU,IAAI,QAAQ,SAAS;AAUxB,MAAA,eAAe,CAAC,EAAE,OAAO,OAAO,QAAQ,MAAM,YAAY,MAAM,aAA+B;;AAC1G,MAAI,cAAc,MAAM;AACf,WAAA;AAAA,EAAA;AAET,MAAI,SAAS;AACT,MAAA,OAAO,UAAU,UAAU;AAC7B,QAAI,MAAM,OAAO,CAAC,MAAM,KAAK;AACvB,UAAA;AACI,cAAA,QAAQ,IAAI,MAAM,MAAM,UAAU,CAAC,GAAG,EAAE,QAAQ;AACtD,cAAM,SAAS;AACf,cAAM,SAAS,IAAI,OAAO,MAAM,MAAM;AACtC,YAAI,cAAc,OAAO;AAChB,iBAAA,MAAM,MAAM,eAAe,KAAK;AAAA,QAAA;AAEnC,cAAA,OAAO,OAAO,MAAM;AAC1B,kBAAS,kCAAM,aAAN,8BAAiB,EAAE,MAAA;AAAA,eACrB,GAAG;AACV,YAAI,OAAO;AACH,gBAAA;AAAA,QAAA;AAED,eAAA;AAAA,MAAA;AAAA,IACT;AAAA,EACF;AAEF,MAAI,kBAAkB,OAAO;AAClB,aAAA,WAAW,EAAE,OAAO,QAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;AAAA,EAAA;AAE7C,SAAA;AACT;AAEO,MAAM,aAAa,CAAC,EAAE,OAAO,QAAQ,WAA0D;AAC9F,QAAA,OAAO,MAAM,QAAQ;AACpB,SAAA,MAAM,iBAAiB,EAAE,MAAM,WAAW,KAAM,CAAA,EAAE,IAAI,CAAC,KAAK,MAAM;AACjE,UAAA,IAAI,KAAK,MAAM;AACrB,WAAO,IAAI,IAAI,CAAC,OAAO,MAAM;AACrB,YAAA,IAAI,KAAK,OAAO;AACtB,YAAM,UAAU,IAAI,EAAE,GAAG,GAAG;AACtB,YAAA,QAAQ,MAAM,eAAe,OAAO;AAEtC,UAAA;AACF,YAAI,UAAU,SAAS;AACrB,gBAAM,IAAI,aAAa,SAAS,+BAA+B,IAAI,MAAM,KAAe,CAAC;AAAA,QAAA,WAChF,iBAAiB,cAAc;AAClC,gBAAA;AAAA,QAAA,WACG,SAAS,MAAM;AACjB,iBAAA;AAAA,QAAA;AAEH,cAAA,eAAe,SAAS,OAAO;AAC/B,cAAA,SAAS,aAAa,EAAE,OAAO,OAAO,OAAO,QAAQ,EAAE,GAAG,EAAE,GAAG;AAC/D,cAAA,eAAe,SAAS,MAAM;AAC7B,eAAA;AAAA,eACA,GAAG;AACJ,cAAA,eAAe,SAAS,CAAC;AAC/B,YAAI,OAAO;AACH,gBAAA;AAAA,QAAA;AAED,eAAA;AAAA,MAAA;AAAA,IACT,CACD;AAAA,EAAA,CACF;AACH;"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { TimeDelta } from './lib/time';
9
9
  export { x2c, c2x, y2r, r2y, p2a, a2p } from './lib/converters';
10
10
  export { updateTable } from './store/actions';
11
11
  export { PluginBase, useInitialPluginContext, usePluginContext } from './components/PluginBase';
12
- export type { MatrixType, CellType, FeedbackType, OptionsType, WriterType, CellsByAddressType, CellsByIdType, ModeType, HeadersType, HistoryType, StoreType, } from './types';
12
+ export type { MatrixType, CellType, FeedbackType, OptionsType, WriterType, CellsByAddressType, CellsByIdType, ModeType, HeadersType, HistoryType, StoreType, PointType, AreaType, ZoneType, } from './types';
13
13
  export type { Dispatcher } from './store';
14
14
  export { ThousandSeparatorRendererMixin } from './renderers/thousand_separator';
15
15
  export { CheckboxRendererMixin } from './renderers/checkbox';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,KAAK,EACL,KAAK,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChG,YAAY,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,KAAK,EACL,KAAK,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChG,YAAY,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../lib/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMpD,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,KAAG,QAuBvC,CAAC"}
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../lib/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMpD,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,KAAG,QAgCvC,CAAC"}
@@ -11,8 +11,16 @@ const clip = (store) => {
11
11
  const input = editorRef.current;
12
12
  const trimmed = table.trim(area);
13
13
  const tsv = table2tsv(trimmed);
14
+ const html = table2html(trimmed);
14
15
  if (navigator.clipboard) {
15
- navigator.clipboard.writeText(tsv);
16
+ const tsvBlob = new Blob([tsv], { type: "text/plain" });
17
+ const htmlBlob = new Blob([html], { type: "text/html" });
18
+ navigator.clipboard.write([
19
+ new ClipboardItem({
20
+ "text/plain": tsvBlob,
21
+ "text/html": htmlBlob
22
+ })
23
+ ]);
16
24
  } else if (input != null) {
17
25
  input.value = tsv;
18
26
  input.focus();
@@ -27,9 +35,11 @@ const table2tsv = (table) => {
27
35
  const lines = [];
28
36
  const matrix = solveTable({ table, raise: false });
29
37
  matrix.forEach((row, i) => {
38
+ const y = table.top + i;
30
39
  const cols = [];
31
40
  row.forEach((col, j) => {
32
- const value = table.stringify({ y: i, x: j }, col);
41
+ const x = table.left + j;
42
+ const value = table.stringify({ y, x }, col);
33
43
  if (value.indexOf("\n") !== -1) {
34
44
  cols.push(`"${value.replace(/"/g, '""')}"`);
35
45
  } else {
@@ -40,6 +50,22 @@ const table2tsv = (table) => {
40
50
  });
41
51
  return lines.join("\n");
42
52
  };
53
+ const table2html = (table) => {
54
+ const lines = [];
55
+ const matrix = solveTable({ table, raise: false });
56
+ matrix.forEach((row, i) => {
57
+ const y = table.top + i;
58
+ const cols = [];
59
+ row.forEach((col, j) => {
60
+ const x = table.left + j;
61
+ const value = table.stringify({ y, x }, col);
62
+ const valueEscaped = value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&apos;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
63
+ cols.push(`<td>${valueEscaped}</td>`);
64
+ });
65
+ lines.push(`<tr>${cols.join("")}</tr>`);
66
+ });
67
+ return `<table>${lines.join("")}</table>`;
68
+ };
43
69
  export {
44
70
  clip
45
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sources":["../../lib/clipboard.ts"],"sourcesContent":["import type { StoreType, AreaType } from '../types';\n\nimport { zoneToArea } from './structs';\nimport { solveTable } from '../formula/solver';\nimport { Table } from './table';\n\nexport const clip = (store: StoreType): AreaType => {\n const { selectingZone, choosing, editorRef, table } = store;\n const { y, x } = choosing;\n const selectingArea = zoneToArea(selectingZone);\n let area = selectingArea;\n if (area.left === -1) {\n area = { top: y, left: x, bottom: y, right: x };\n }\n const input = editorRef.current;\n const trimmed = table.trim(area);\n const tsv = table2tsv(trimmed);\n\n if (navigator.clipboard) {\n navigator.clipboard.writeText(tsv);\n } else if (input != null) {\n input.value = tsv;\n input.focus();\n input.select();\n document.execCommand('copy');\n input.value = '';\n input.blur();\n }\n return area;\n};\n\nconst table2tsv = (table: Table): string => {\n const lines: string[] = [];\n const matrix = solveTable({ table, raise: false });\n matrix.forEach((row, i) => {\n const cols: string[] = [];\n row.forEach((col, j) => {\n const value = table.stringify({ y: i, x: j }, col);\n if (value.indexOf('\\n') !== -1) {\n cols.push(`\"${value.replace(/\"/g, '\"\"')}\"`);\n } else {\n cols.push(value);\n }\n });\n lines.push(cols.join('\\t'));\n });\n return lines.join('\\n');\n};\n"],"names":[],"mappings":";;AAMa,MAAA,OAAO,CAAC,UAA+B;AAClD,QAAM,EAAE,eAAe,UAAU,WAAW,MAAU,IAAA;AAChD,QAAA,EAAE,GAAG,EAAA,IAAM;AACX,QAAA,gBAAgB,WAAW,aAAa;AAC9C,MAAI,OAAO;AACP,MAAA,KAAK,SAAS,IAAI;AACb,WAAA,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,EAAE;AAAA,EAAA;AAEhD,QAAM,QAAQ,UAAU;AAClB,QAAA,UAAU,MAAM,KAAK,IAAI;AACzB,QAAA,MAAM,UAAU,OAAO;AAE7B,MAAI,UAAU,WAAW;AACb,cAAA,UAAU,UAAU,GAAG;AAAA,EAAA,WACxB,SAAS,MAAM;AACxB,UAAM,QAAQ;AACd,UAAM,MAAM;AACZ,UAAM,OAAO;AACb,aAAS,YAAY,MAAM;AAC3B,UAAM,QAAQ;AACd,UAAM,KAAK;AAAA,EAAA;AAEN,SAAA;AACT;AAEA,MAAM,YAAY,CAAC,UAAyB;AAC1C,QAAM,QAAkB,CAAC;AACzB,QAAM,SAAS,WAAW,EAAE,OAAO,OAAO,OAAO;AAC1C,SAAA,QAAQ,CAAC,KAAK,MAAM;AACzB,UAAM,OAAiB,CAAC;AACpB,QAAA,QAAQ,CAAC,KAAK,MAAM;AAChB,YAAA,QAAQ,MAAM,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG;AACjD,UAAI,MAAM,QAAQ,IAAI,MAAM,IAAI;AAC9B,aAAK,KAAK,IAAI,MAAM,QAAQ,MAAM,IAAI,CAAC,GAAG;AAAA,MAAA,OACrC;AACL,aAAK,KAAK,KAAK;AAAA,MAAA;AAAA,IACjB,CACD;AACD,UAAM,KAAK,KAAK,KAAK,GAAI,CAAC;AAAA,EAAA,CAC3B;AACM,SAAA,MAAM,KAAK,IAAI;AACxB;"}
1
+ {"version":3,"file":"clipboard.js","sources":["../../lib/clipboard.ts"],"sourcesContent":["import type { StoreType, AreaType } from '../types';\n\nimport { zoneToArea } from './structs';\nimport { solveTable } from '../formula/solver';\nimport { Table } from './table';\n\nexport const clip = (store: StoreType): AreaType => {\n const { selectingZone, choosing, editorRef, table } = store;\n const { y, x } = choosing;\n const selectingArea = zoneToArea(selectingZone);\n let area = selectingArea;\n if (area.left === -1) {\n area = { top: y, left: x, bottom: y, right: x };\n }\n const input = editorRef.current;\n const trimmed = table.trim(area);\n const tsv = table2tsv(trimmed);\n const html = table2html(trimmed);\n\n if (navigator.clipboard) {\n const tsvBlob = new Blob([tsv], { type: 'text/plain' });\n const htmlBlob = new Blob([html], { type: 'text/html' });\n\n navigator.clipboard.write([\n new ClipboardItem({\n 'text/plain': tsvBlob,\n 'text/html': htmlBlob,\n }),\n ]);\n } else if (input != null) {\n input.value = tsv;\n input.focus();\n input.select();\n document.execCommand('copy');\n input.value = '';\n input.blur();\n }\n return area;\n};\n\nconst table2tsv = (table: Table): string => {\n const lines: string[] = [];\n const matrix = solveTable({ table, raise: false });\n matrix.forEach((row, i) => {\n const y = table.top + i;\n const cols: string[] = [];\n row.forEach((col, j) => {\n const x = table.left + j;\n const value = table.stringify({ y, x }, col);\n if (value.indexOf('\\n') !== -1) {\n cols.push(`\"${value.replace(/\"/g, '\"\"')}\"`);\n } else {\n cols.push(value);\n }\n });\n lines.push(cols.join('\\t'));\n });\n return lines.join('\\n');\n};\n\nconst table2html = (table: Table): string => {\n const lines: string[] = [];\n const matrix = solveTable({ table, raise: false });\n matrix.forEach((row, i) => {\n const y = table.top + i;\n const cols: string[] = [];\n row.forEach((col, j) => {\n const x = table.left + j;\n const value = table.stringify({ y, x }, col);\n const valueEscaped = value\n .replace(/&/g, '&amp;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&apos;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;');\n cols.push(`<td>${valueEscaped}</td>`);\n });\n lines.push(`<tr>${cols.join('')}</tr>`);\n });\n return `<table>${lines.join('')}</table>`;\n};\n"],"names":[],"mappings":";;AAMa,MAAA,OAAO,CAAC,UAA+B;AAClD,QAAM,EAAE,eAAe,UAAU,WAAW,MAAU,IAAA;AAChD,QAAA,EAAE,GAAG,EAAA,IAAM;AACX,QAAA,gBAAgB,WAAW,aAAa;AAC9C,MAAI,OAAO;AACP,MAAA,KAAK,SAAS,IAAI;AACb,WAAA,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,EAAE;AAAA,EAAA;AAEhD,QAAM,QAAQ,UAAU;AAClB,QAAA,UAAU,MAAM,KAAK,IAAI;AACzB,QAAA,MAAM,UAAU,OAAO;AACvB,QAAA,OAAO,WAAW,OAAO;AAE/B,MAAI,UAAU,WAAW;AACjB,UAAA,UAAU,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,MAAM,cAAc;AAChD,UAAA,WAAW,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,aAAa;AAEvD,cAAU,UAAU,MAAM;AAAA,MACxB,IAAI,cAAc;AAAA,QAChB,cAAc;AAAA,QACd,aAAa;AAAA,MACd,CAAA;AAAA,IAAA,CACF;AAAA,EAAA,WACQ,SAAS,MAAM;AACxB,UAAM,QAAQ;AACd,UAAM,MAAM;AACZ,UAAM,OAAO;AACb,aAAS,YAAY,MAAM;AAC3B,UAAM,QAAQ;AACd,UAAM,KAAK;AAAA,EAAA;AAEN,SAAA;AACT;AAEA,MAAM,YAAY,CAAC,UAAyB;AAC1C,QAAM,QAAkB,CAAC;AACzB,QAAM,SAAS,WAAW,EAAE,OAAO,OAAO,OAAO;AAC1C,SAAA,QAAQ,CAAC,KAAK,MAAM;AACnB,UAAA,IAAI,MAAM,MAAM;AACtB,UAAM,OAAiB,CAAC;AACpB,QAAA,QAAQ,CAAC,KAAK,MAAM;AAChB,YAAA,IAAI,MAAM,OAAO;AACvB,YAAM,QAAQ,MAAM,UAAU,EAAE,GAAG,KAAK,GAAG;AAC3C,UAAI,MAAM,QAAQ,IAAI,MAAM,IAAI;AAC9B,aAAK,KAAK,IAAI,MAAM,QAAQ,MAAM,IAAI,CAAC,GAAG;AAAA,MAAA,OACrC;AACL,aAAK,KAAK,KAAK;AAAA,MAAA;AAAA,IACjB,CACD;AACD,UAAM,KAAK,KAAK,KAAK,GAAI,CAAC;AAAA,EAAA,CAC3B;AACM,SAAA,MAAM,KAAK,IAAI;AACxB;AAEA,MAAM,aAAa,CAAC,UAAyB;AAC3C,QAAM,QAAkB,CAAC;AACzB,QAAM,SAAS,WAAW,EAAE,OAAO,OAAO,OAAO;AAC1C,SAAA,QAAQ,CAAC,KAAK,MAAM;AACnB,UAAA,IAAI,MAAM,MAAM;AACtB,UAAM,OAAiB,CAAC;AACpB,QAAA,QAAQ,CAAC,KAAK,MAAM;AAChB,YAAA,IAAI,MAAM,OAAO;AACvB,YAAM,QAAQ,MAAM,UAAU,EAAE,GAAG,KAAK,GAAG;AACrC,YAAA,eAAe,MAClB,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,QAAQ,EACtB,QAAQ,MAAM,QAAQ,EACtB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM;AAClB,WAAA,KAAK,OAAO,YAAY,OAAO;AAAA,IAAA,CACrC;AACD,UAAM,KAAK,OAAO,KAAK,KAAK,EAAE,CAAC,OAAO;AAAA,EAAA,CACvC;AACD,SAAO,UAAU,MAAM,KAAK,EAAE,CAAC;AACjC;"}
@@ -13,6 +13,7 @@ type Props = {
13
13
  headerHeight?: number;
14
14
  headerWidth?: number;
15
15
  functions?: FunctionMapping;
16
+ sheetName?: string;
16
17
  };
17
18
  type GetProps = {
18
19
  evaluates?: boolean | null;
@@ -171,7 +172,7 @@ export declare class Table implements UserTable {
171
172
  private historyLimit;
172
173
  private solvedCaches;
173
174
  private idsToBeAbsoluted;
174
- constructor({ parsers, renderers, labelers, useBigInt, historyLimit: historyLimit, minNumRows, maxNumRows, minNumCols, maxNumCols, headerWidth, headerHeight, functions, }: Props);
175
+ constructor({ parsers, renderers, labelers, useBigInt, historyLimit: historyLimit, minNumRows, maxNumRows, minNumCols, maxNumCols, headerWidth, headerHeight, functions, sheetName, }: Props);
175
176
  getTableBySheetName(sheetName: string): Table;
176
177
  initialize(cells: CellsByAddressType): void;
177
178
  absolutizeFormula(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../lib/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../lib/table.ts"],"names":[],"mappings":"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"}
package/dist/lib/table.js CHANGED
@@ -22,7 +22,8 @@ class Table {
22
22
  maxNumCols = -1,
23
23
  headerWidth = HEADER_WIDTH,
24
24
  headerHeight = HEADER_HEIGHT,
25
- functions: functions$1 = functions
25
+ functions: functions$1 = functions,
26
+ sheetName
26
27
  }) {
27
28
  this.totalWidth = 0;
28
29
  this.totalHeight = 0;
@@ -54,6 +55,7 @@ class Table {
54
55
  this.headerWidth = headerWidth;
55
56
  this.functions = functions$1;
56
57
  this.idsToBeAbsoluted = [];
58
+ this.sheetName = sheetName || "";
57
59
  }
58
60
  getTableBySheetName(sheetName) {
59
61
  const sheetId = this.sheets[sheetName];
@@ -185,6 +187,7 @@ class Table {
185
187
  if (!copyCache) {
186
188
  this.addressesById = {};
187
189
  }
190
+ copied.sheetName = this.sheetName;
188
191
  return copied;
189
192
  }
190
193
  getAddressById(id, slideY = 0, slideX = 0) {
@@ -297,7 +300,8 @@ class Table {
297
300
  value: cell[key],
298
301
  table: this,
299
302
  raise,
300
- evaluates
303
+ evaluates,
304
+ origin: { y, x }
301
305
  });
302
306
  }
303
307
  }
@@ -314,7 +318,8 @@ class Table {
314
318
  value: cell[key],
315
319
  table: this,
316
320
  raise,
317
- evaluates
321
+ evaluates,
322
+ origin: { y, x }
318
323
  });
319
324
  }
320
325
  }
@@ -334,7 +339,8 @@ class Table {
334
339
  value: cell[key],
335
340
  table: this,
336
341
  raise,
337
- evaluates
342
+ evaluates,
343
+ origin: { y, x }
338
344
  });
339
345
  }
340
346
  }
@@ -354,7 +360,8 @@ class Table {
354
360
  value: cell[key],
355
361
  table: this,
356
362
  raise,
357
- evaluates
363
+ evaluates,
364
+ origin: { y, x }
358
365
  });
359
366
  }
360
367
  }
@@ -384,7 +391,8 @@ class Table {
384
391
  value: cell == null ? void 0 : cell.value,
385
392
  table: this,
386
393
  raise,
387
- evaluates
394
+ evaluates,
395
+ origin: { y, x }
388
396
  })
389
397
  };
390
398
  }
@@ -405,7 +413,8 @@ class Table {
405
413
  value: cell == null ? void 0 : cell.value,
406
414
  table: this,
407
415
  raise,
408
- evaluates
416
+ evaluates,
417
+ origin: { y, x }
409
418
  })
410
419
  };
411
420
  }
@@ -428,7 +437,8 @@ class Table {
428
437
  value: cell == null ? void 0 : cell.value,
429
438
  table: this,
430
439
  raise,
431
- evaluates
440
+ evaluates,
441
+ origin: { y, x }
432
442
  })
433
443
  };
434
444
  }
@@ -451,7 +461,8 @@ class Table {
451
461
  value: cell == null ? void 0 : cell.value,
452
462
  table: this,
453
463
  raise,
454
- evaluates
464
+ evaluates,
465
+ origin: { y, x }
455
466
  })
456
467
  };
457
468
  }
@@ -1008,7 +1019,7 @@ class Table {
1008
1019
  const s = renderer.stringify(typeof value === "undefined" ? { ...cell } : { ...cell, value });
1009
1020
  if (s[0] === "=") {
1010
1021
  if (evaluates) {
1011
- return String(solveFormula({ value: s, table: this, raise: false, evaluates }));
1022
+ return String(solveFormula({ value: s, table: this, raise: false, evaluates, origin: point }));
1012
1023
  }
1013
1024
  const lexer = new Lexer(s.substring(1));
1014
1025
  lexer.tokenize();