@gridsheet/react-core 1.4.0-alpha.8 → 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 (99) hide show
  1. package/README.md +27 -0
  2. package/dist/_virtual/_commonjsHelpers.js +7 -0
  3. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/_virtual/dayjs.min.js +8 -0
  5. package/dist/_virtual/dayjs.min.js.map +1 -0
  6. package/dist/_virtual/dayjs.min2.js +5 -0
  7. package/dist/_virtual/dayjs.min2.js.map +1 -0
  8. package/dist/_virtual/timezone.js +8 -0
  9. package/dist/_virtual/timezone.js.map +1 -0
  10. package/dist/_virtual/timezone2.js +5 -0
  11. package/dist/_virtual/timezone2.js.map +1 -0
  12. package/dist/_virtual/utc.js +8 -0
  13. package/dist/_virtual/utc.js.map +1 -0
  14. package/dist/_virtual/utc2.js +5 -0
  15. package/dist/_virtual/utc2.js.map +1 -0
  16. package/dist/components/Cell.d.ts.map +1 -1
  17. package/dist/components/Cell.js +3 -1
  18. package/dist/components/Cell.js.map +1 -1
  19. package/dist/components/Editor.d.ts +2 -1
  20. package/dist/components/Editor.d.ts.map +1 -1
  21. package/dist/components/Editor.js +13 -4
  22. package/dist/components/Editor.js.map +1 -1
  23. package/dist/components/FormulaBar.d.ts.map +1 -1
  24. package/dist/components/FormulaBar.js +4 -3
  25. package/dist/components/FormulaBar.js.map +1 -1
  26. package/dist/components/GridSheet.d.ts.map +1 -1
  27. package/dist/components/GridSheet.js +3 -2
  28. package/dist/components/GridSheet.js.map +1 -1
  29. package/dist/components/SheetProvider.d.ts +2 -0
  30. package/dist/components/SheetProvider.d.ts.map +1 -1
  31. package/dist/components/SheetProvider.js +3 -0
  32. package/dist/components/SheetProvider.js.map +1 -1
  33. package/dist/components/Tabular.d.ts.map +1 -1
  34. package/dist/components/Tabular.js +38 -29
  35. package/dist/components/Tabular.js.map +1 -1
  36. package/dist/formula/evaluator.d.ts +10 -3
  37. package/dist/formula/evaluator.d.ts.map +1 -1
  38. package/dist/formula/evaluator.js +11 -6
  39. package/dist/formula/evaluator.js.map +1 -1
  40. package/dist/formula/functions/__base.d.ts +4 -1
  41. package/dist/formula/functions/__base.d.ts.map +1 -1
  42. package/dist/formula/functions/__base.js +2 -1
  43. package/dist/formula/functions/__base.js.map +1 -1
  44. package/dist/formula/functions/__utils.js +1 -1
  45. package/dist/formula/functions/add.js +5 -5
  46. package/dist/formula/functions/add.js.map +1 -1
  47. package/dist/formula/functions/col.d.ts +1 -2
  48. package/dist/formula/functions/col.d.ts.map +1 -1
  49. package/dist/formula/functions/col.js +8 -5
  50. package/dist/formula/functions/col.js.map +1 -1
  51. package/dist/formula/functions/col.spec.d.ts +2 -0
  52. package/dist/formula/functions/col.spec.d.ts.map +1 -0
  53. package/dist/formula/functions/minus.js +5 -5
  54. package/dist/formula/functions/minus.js.map +1 -1
  55. package/dist/formula/functions/row.d.ts +1 -2
  56. package/dist/formula/functions/row.d.ts.map +1 -1
  57. package/dist/formula/functions/row.js +8 -5
  58. package/dist/formula/functions/row.js.map +1 -1
  59. package/dist/formula/functions/row.spec.d.ts +2 -0
  60. package/dist/formula/functions/row.spec.d.ts.map +1 -0
  61. package/dist/formula/mapping.d.ts.map +1 -1
  62. package/dist/formula/mapping.js +1 -0
  63. package/dist/formula/mapping.js.map +1 -1
  64. package/dist/formula/solver.d.ts +3 -2
  65. package/dist/formula/solver.d.ts.map +1 -1
  66. package/dist/formula/solver.js +3 -3
  67. package/dist/formula/solver.js.map +1 -1
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/lib/autofill.js +1 -1
  71. package/dist/lib/clipboard.d.ts.map +1 -1
  72. package/dist/lib/clipboard.js +28 -2
  73. package/dist/lib/clipboard.js.map +1 -1
  74. package/dist/lib/table.d.ts +2 -1
  75. package/dist/lib/table.d.ts.map +1 -1
  76. package/dist/lib/table.js +21 -10
  77. package/dist/lib/table.js.map +1 -1
  78. package/dist/lib/time.d.ts +7 -1
  79. package/dist/lib/time.d.ts.map +1 -1
  80. package/dist/lib/time.js +95 -4
  81. package/dist/lib/time.js.map +1 -1
  82. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js +287 -0
  83. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +1 -0
  84. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.js +72 -0
  85. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.js.map +1 -0
  86. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.js +85 -0
  87. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.js.map +1 -0
  88. package/dist/parsers/core.d.ts.map +1 -1
  89. package/dist/parsers/core.js +4 -32
  90. package/dist/parsers/core.js.map +1 -1
  91. package/dist/renderers/core.d.ts +24 -21
  92. package/dist/renderers/core.d.ts.map +1 -1
  93. package/dist/renderers/core.js +35 -47
  94. package/dist/renderers/core.js.map +1 -1
  95. package/dist/store/actions.d.ts.map +1 -1
  96. package/dist/store/actions.js.map +1 -1
  97. package/dist/types.d.ts +5 -2
  98. package/dist/types.d.ts.map +1 -1
  99. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import dayjs from "dayjs";
1
+ import dayjs from "../../_virtual/dayjs.min.js";
2
2
  import { FormulaError } from "../evaluator.js";
3
3
  import { BaseFunction } from "./__base.js";
4
4
  import { stripTable, ensureNumber } from "./__utils.js";
@@ -30,11 +30,11 @@ class AddFunction extends BaseFunction {
30
30
  if (typeof v1 === "number" && typeof v2 === "number") {
31
31
  return v1 + v2;
32
32
  }
33
- if (v1 instanceof Date && v2 instanceof TimeDelta) {
34
- return v2.add(v1);
33
+ if (v1 instanceof Date && TimeDelta.is(v2)) {
34
+ return TimeDelta.ensure(v2).add(v1);
35
35
  }
36
- if (v1 instanceof TimeDelta && v2 instanceof Date) {
37
- return v1.add(v2);
36
+ if (TimeDelta.is(v1) && v2 instanceof Date) {
37
+ return TimeDelta.ensure(v1).add(v2);
38
38
  }
39
39
  if (v1 instanceof Date && typeof v2 === "number") {
40
40
  return dayjs(v1).add(v2 * SECONDS_IN_DAY, "second").toDate();
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sources":["../../../formula/functions/add.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber, stripTable } from './__utils';\nimport { Table } from '../../lib/table';\nimport { TimeDelta } from '../../lib/time';\nimport { SECONDS_IN_DAY } from '../../constants';\n\nexport class AddFunction extends BaseFunction {\n example = 'ADD(2, 3)';\n helpText = ['Returns the sum of two numbers.', \"This is the same as the '+' operator.\"];\n helpArgs = [\n { name: 'value1', description: 'First additive.' },\n { name: 'value2', description: 'Second additive.' },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 2) {\n throw new FormulaError('#N/A', 'Number of arguments for ADD 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 TimeDelta) {\n return v2.add(v1);\n }\n if (v1 instanceof TimeDelta && v2 instanceof Date) {\n return v1.add(v2);\n }\n if (v1 instanceof Date && typeof v2 === 'number') {\n return dayjs(v1)\n .add(v2 * SECONDS_IN_DAY, 'second')\n .toDate();\n }\n if (typeof v1 === 'number' && v2 instanceof Date) {\n return dayjs(v2)\n .add(v1 * 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 augend and addend.');\n }\n}\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACC,SAAA,WAAA,CAAC,mCAAmC,uCAAuC;AAC3E,SAAA,WAAA;AAAA,MACT,EAAE,MAAM,UAAU,aAAa,kBAAkB;AAAA,MACjD,EAAE,MAAM,UAAU,aAAa,mBAAmB;AAAA,IACpD;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAE5E,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,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,IAAI,KAAK,gBAAgB,QAAQ,EACjC,OAAO;AAAA,IAAA;AAEZ,QAAI,OAAO,OAAO,YAAY,cAAc,MAAM;AACzC,aAAA,MAAM,EAAE,EACZ,IAAI,KAAK,gBAAgB,QAAQ,EACjC,OAAO;AAAA,IAAA;AAEZ,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAET,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAEH,UAAA,IAAI,aAAa,WAAW,yCAAyC;AAAA,EAAA;AAE/E;"}
1
+ {"version":3,"file":"add.js","sources":["../../../formula/functions/add.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber, stripTable } from './__utils';\nimport { Table } from '../../lib/table';\nimport { TimeDelta } from '../../lib/time';\nimport { SECONDS_IN_DAY } from '../../constants';\n\nexport class AddFunction extends BaseFunction {\n example = 'ADD(2, 3)';\n helpText = ['Returns the sum of two numbers.', \"This is the same as the '+' operator.\"];\n helpArgs = [\n { name: 'value1', description: 'First additive.' },\n { name: 'value2', description: 'Second additive.' },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 2) {\n throw new FormulaError('#N/A', 'Number of arguments for ADD 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 && TimeDelta.is(v2)) {\n return TimeDelta.ensure(v2).add(v1);\n }\n if (TimeDelta.is(v1) && v2 instanceof Date) {\n return TimeDelta.ensure(v1).add(v2);\n }\n if (v1 instanceof Date && typeof v2 === 'number') {\n return dayjs(v1)\n .add(v2 * SECONDS_IN_DAY, 'second')\n .toDate();\n }\n if (typeof v1 === 'number' && v2 instanceof Date) {\n return dayjs(v2)\n .add(v1 * 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 augend and addend.');\n }\n}\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACC,SAAA,WAAA,CAAC,mCAAmC,uCAAuC;AAC3E,SAAA,WAAA;AAAA,MACT,EAAE,MAAM,UAAU,aAAa,kBAAkB;AAAA,MACjD,EAAE,MAAM,UAAU,aAAa,mBAAmB;AAAA,IACpD;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAE5E,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;AAEd,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,IAAI,KAAK,gBAAgB,QAAQ,EACjC,OAAO;AAAA,IAAA;AAEZ,QAAI,OAAO,OAAO,YAAY,cAAc,MAAM;AACzC,aAAA,MAAM,EAAE,EACZ,IAAI,KAAK,gBAAgB,QAAQ,EACjC,OAAO;AAAA,IAAA;AAEZ,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAET,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAEH,UAAA,IAAI,aAAa,WAAW,yCAAyC;AAAA,EAAA;AAE/E;"}
@@ -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":""}
@@ -1,4 +1,4 @@
1
- import dayjs from "dayjs";
1
+ import dayjs from "../../_virtual/dayjs.min.js";
2
2
  import { FormulaError } from "../evaluator.js";
3
3
  import { TimeDelta } from "../../lib/time.js";
4
4
  import { BaseFunction } from "./__base.js";
@@ -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,4 +1,4 @@
1
- import dayjs from "dayjs";
1
+ import dayjs from "../_virtual/dayjs.min.js";
2
2
  import { complementSelectingArea, zoneToArea, areaShape, areaToZone, concatAreas } from "./structs.js";
3
3
  import { p2a } from "./converters.js";
4
4
  import { absolutizeFormula } from "../formula/evaluator.js";
@@ -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":"AAEA,OAAO,EACL,EAAE,EAGF,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAS9D,KAAK,KAAK,GAAG;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAIF,KAAK,QAAQ,GAAG;IAEd,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,GAAG,QAAQ,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,QAAQ,CAAC;CACtB,CAAC;AAEF,KAAK,gBAAgB,GAAG,QAAQ,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,KAAK,uBAAuB,GAAG,eAAe,GAAG;IAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,kBAAkB,CAAC;IAC1D,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnD,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,gBAAgB,CAAC,IAAI,CAAC,EAAE,uBAAuB,GAAG,GAAG,EAAE,EAAE,CAAC;IAC1D,gBAAgB,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,kBAAkB,CAAC;IAC7D,cAAc,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7D,cAAc,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7D,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1D,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IAC/C,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,IAAI,EAAE;QACX,IAAI,EAAE,kBAAkB,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC,GAAG,SAAS,CAAC;IACd,WAAW,CAAC,IAAI,EAAE;QAChB,KAAK,EAAE,SAAS,CAAC;QACjB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC,GAAG,SAAS,CAAC;IACd,KAAK,CAAC,IAAI,EAAE;QACV,KAAK,EAAE,SAAS,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC,GAAG,SAAS,CAAC;IACd,gBAAgB,CAAC,IAAI,EAAE;QACrB,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,kBAAkB,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC,GAAG,SAAS,CAAC;IACd,OAAO,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1G,UAAU,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9F,gBAAgB,CAAC,IAAI,EAAE;QACrB,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,kBAAkB,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC,GAAG,SAAS,CAAC;IACd,OAAO,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1G,UAAU,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9F,IAAI,IAAI;QACN,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;QAC5B,QAAQ,EAAE,SAAS,CAAC;KACrB,CAAC;IACF,IAAI,IAAI;QACN,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;QAC5B,QAAQ,EAAE,SAAS,CAAC;KACrB,CAAC;IACF,YAAY,IAAI,WAAW,EAAE,CAAC;IAC9B,eAAe,IAAI,MAAM,CAAC;IAC1B,cAAc,IAAI,MAAM,CAAC;CAC1B;AAED,qBAAa,KAAM,YAAW,SAAS;IAC9B,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAK;IACvB,WAAW,EAAE,MAAM,CAAK;IACxB,WAAW,EAAE,MAAM,CAAK;IACxB,YAAY,EAAE,MAAM,CAAK;IACzB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAK;IACpB,SAAS,EAAE,MAAM,CAAM;IACvB,MAAM,EAAE,YAAY,CAAM;IAC1B,MAAM,EAAE,YAAY,CAAM;IAEjC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,IAAI,CAAsD;IAClE,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,gBAAgB,CAAO;gBAEnB,EACV,OAAY,EACZ,SAAc,EACd,QAAa,EACb,SAAiB,EACjB,YAAY,EAAE,YAAY,EAC1B,UAAc,EACd,UAAe,EACf,UAAc,EACd,UAAe,EACf,WAA0B,EAC1B,YAA4B,EAC5B,SAA4B,GAC7B,EAAE,KAAK;IAsBD,mBAAmB,CAAC,SAAS,EAAE,MAAM;IAKrC,UAAU,CAAC,KAAK,EAAE,kBAAkB;IAuFpC,iBAAiB;IAaxB,OAAO,CAAC,UAAU;IAIX,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ;;;;IAWzD,OAAO,CAAC,YAAY;IAYb,WAAW,CAAC,EAAE,SAAgB,EAAE,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO;IAc9D,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,SAAI,EAAE,MAAM,SAAI,GAAG,MAAM,GAAG,SAAS;IA6BlE,iBAAiB,CAAC,GAAG,EAAE,aAAa;IAYpC,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS;IAOtC,OAAO,CAAC,KAAK;IAKN,UAAU,CAAC,KAAK,EAAE,SAAS;IAa3B,OAAO,CAAC,EAAE,EAAE,EAAE;IAId,UAAU,CAAC,IAAI,SAAI;IAKnB,UAAU,CAAC,IAAI,SAAI;IAK1B,IAAW,GAAG,WAEb;IACD,IAAW,IAAI,WAEd;IACD,IAAW,MAAM,WAEhB;IACD,IAAW,KAAK,WAEf;IAEM,gBAAgB,CAAC,EACtB,IAAI,EACJ,GAAa,EACb,SAAgB,EAChB,KAAa,EACb,MAAiB,GAClB,GAAE,uBAA4B;IAwBxB,gBAAgB,CAAC,EAAE,GAAa,EAAE,SAAgB,EAAE,KAAa,EAAE,MAAiB,EAAE,GAAE,eAAoB;IAkB5G,cAAc,CAAC,EAAE,GAAa,EAAE,SAAgB,EAAE,KAAa,EAAE,MAAiB,EAAE,GAAE,eAAoB;IAoB1G,cAAc,CAAC,EAAE,GAAa,EAAE,SAAgB,EAAE,KAAa,EAAE,MAAiB,EAAE,GAAE,eAAoB;IAoB1G,SAAS,CAAC,EACf,IAAI,EACJ,SAAgB,EAChB,KAAa,EACb,MAAiB,GAClB,GAAE,gBAAqB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE;IA0BzC,SAAS,CAAC,EAAE,SAAgB,EAAE,KAAa,EAAE,MAAiB,EAAE,GAAE,QAAa;IAqB/E,OAAO,CAAC,EAAE,SAAgB,EAAE,KAAa,EAAE,MAAiB,EAAE,GAAE,QAAa;IAuB7E,OAAO,CAAC,EAAE,SAAgB,EAAE,KAAa,EAAE,MAAiB,EAAE,GAAE,QAAa;IAwBpF,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAgCf,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAkB,EAAE,QAAmB,EAAE,UAAe,EAAE,EAAE,SAAS;IA0CtF,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAmB,EAAE,UAAe,EAAE,EAAE,SAAS;IAqDzE,OAAO,CAAC,OAAO;IAsER,MAAM,CAAC,EACZ,IAAI,EACJ,OAAc,EACd,eAAsB,EACtB,WAAkB,EAClB,QAAmB,EACnB,UAAe,GAChB,EAAE;QACD,IAAI,EAAE,kBAAkB,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAqBM,WAAW,CAAC,EACjB,KAAK,EACL,MAAM,EACN,eAAsB,EACtB,WAAkB,EAClB,QAAmB,EACnB,UAAe,GAChB,EAAE;QACD,KAAK,EAAE,SAAS,CAAC;QACjB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IA2BM,KAAK,CAAC,EACX,KAAK,EACL,KAAK,EACL,eAAsB,EACtB,WAAkB,EAClB,QAAmB,EACnB,UAAe,GAChB,EAAE;QACD,KAAK,EAAE,SAAS,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAWM,gBAAgB,CAAC,EACtB,CAAC,EACD,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,eAAe,EACf,QAAmB,EACnB,UAAe,GAChB,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,kBAAkB,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAaM,OAAO,CAAC,EACb,CAAC,EACD,OAAO,EACP,KAAK,EAEL,UAAe,GAChB,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAgCM,UAAU,CAAC,EAChB,CAAC,EACD,OAAO,EACP,QAAmB,EACnB,UAAe,GAChB,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAgCM,gBAAgB,CAAC,EACtB,CAAC,EACD,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAAO,EACP,eAAe,EACf,UAAe,GAChB,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,kBAAkB,CAAC;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAYM,OAAO,CAAC,EACb,CAAC,EACD,OAAO,EACP,KAAK,EACL,UAAe,GAChB,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAgCM,UAAU,CAAC,EAChB,CAAC,EACD,OAAO,EACP,QAAmB,EACnB,UAAe,GAChB,EAAE;QACD,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;KAClC;IAoCM,YAAY;IAGZ,eAAe;IAGf,cAAc;IAGd,eAAe;IAIf,YAAY,CAAC,mBAAmB,EAAE,eAAe;IAIjD,OAAO,IAAI,QAAQ;IAInB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAMrC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,UAAU;IAM5C,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,SAAS,UAAQ;IAgB1D,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK;IAQ3B,cAAc,CAAC,OAAO,EAAE,OAAO;IAgBtC,OAAO,CAAC,SAAS;IAWV,IAAI;;kBAEmC,KAAK;;;;;IA8E5C,IAAI;;kBAEmC,KAAK;;;;;IA4D5C,WAAW,CAAC,IAAI,EAAE,MAAM;IAIxB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAI/B,OAAO;IAGP,cAAc,CAAC,GAAG,EAAE,MAAM;IAG1B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAGtC,gBAAgB;IAOhB,WAAW,CAAC,IAAI,UAAQ;IASxB,WAAW,CAAC,KAAK,EAAE,MAAM;;;;;;CAwBjC"}
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();