@cj-tech-master/excelts 1.1.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/browser/excelts.iife.js +1089 -568
  2. package/dist/browser/excelts.iife.js.map +1 -1
  3. package/dist/browser/excelts.iife.min.js +18 -18
  4. package/dist/cjs/doc/data-validations.js +29 -1
  5. package/dist/cjs/index.js +1 -1
  6. package/dist/cjs/utils/cell-format.js +815 -0
  7. package/dist/cjs/utils/parse-sax.js +2 -2
  8. package/dist/cjs/utils/{extra-utils.js → sheet-utils.js} +114 -89
  9. package/dist/cjs/utils/stream-buf.js +15 -4
  10. package/dist/cjs/utils/unzip/parse.js +82 -1
  11. package/dist/cjs/utils/utils.js +13 -17
  12. package/dist/cjs/utils/zip-stream.js +20 -32
  13. package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +46 -7
  14. package/dist/cjs/xlsx/xlsx.js +1 -2
  15. package/dist/esm/doc/data-validations.js +29 -1
  16. package/dist/esm/index.browser.js +1 -1
  17. package/dist/esm/index.js +1 -1
  18. package/dist/esm/utils/cell-format.js +810 -0
  19. package/dist/esm/utils/parse-sax.js +1 -1
  20. package/dist/esm/utils/{extra-utils.js → sheet-utils.js} +97 -72
  21. package/dist/esm/utils/stream-buf.js +15 -4
  22. package/dist/esm/utils/unzip/parse.js +83 -2
  23. package/dist/esm/utils/utils.js +12 -16
  24. package/dist/esm/utils/zip-stream.js +20 -32
  25. package/dist/esm/xlsx/xform/sheet/data-validations-xform.js +46 -7
  26. package/dist/esm/xlsx/xlsx.js +1 -2
  27. package/dist/types/index.browser.d.ts +1 -1
  28. package/dist/types/index.d.ts +1 -1
  29. package/dist/types/utils/cell-format.d.ts +32 -0
  30. package/dist/types/utils/{extra-utils.d.ts → sheet-utils.d.ts} +51 -52
  31. package/dist/types/utils/utils.d.ts +5 -2
  32. package/package.json +5 -5
  33. package/dist/cjs/utils/browser-buffer-decode.js +0 -13
  34. package/dist/cjs/utils/browser-buffer-encode.js +0 -13
  35. package/dist/cjs/utils/browser.js +0 -6
  36. package/dist/esm/utils/browser-buffer-decode.js +0 -11
  37. package/dist/esm/utils/browser-buffer-encode.js +0 -11
  38. package/dist/esm/utils/browser.js +0 -3
  39. package/dist/types/utils/browser-buffer-decode.d.ts +0 -2
  40. package/dist/types/utils/browser-buffer-encode.d.ts +0 -2
  41. package/dist/types/utils/browser.d.ts +0 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataValidations = void 0;
4
+ const col_cache_js_1 = require("../utils/col-cache");
4
5
  class DataValidations {
5
6
  constructor(model) {
6
7
  this.model = model || {};
@@ -9,7 +10,34 @@ class DataValidations {
9
10
  return (this.model[address] = validation);
10
11
  }
11
12
  find(address) {
12
- return this.model[address];
13
+ // First check direct address match
14
+ const direct = this.model[address];
15
+ if (direct !== undefined) {
16
+ return direct;
17
+ }
18
+ // Check range: prefixed keys in model (from parsing large ranges)
19
+ // Only decode address if we have range keys to check
20
+ const keys = Object.keys(this.model);
21
+ const rangeKeys = keys.filter(k => k.startsWith("range:"));
22
+ if (rangeKeys.length === 0) {
23
+ return undefined;
24
+ }
25
+ const decoded = col_cache_js_1.colCache.decodeAddress(address);
26
+ for (const key of rangeKeys) {
27
+ const rangeStr = key.slice(6); // Remove "range:" prefix
28
+ const rangeDecoded = col_cache_js_1.colCache.decodeEx(rangeStr);
29
+ if (rangeDecoded.dimensions) {
30
+ const tl = rangeDecoded.tl;
31
+ const br = rangeDecoded.br;
32
+ if (decoded.row >= tl.row &&
33
+ decoded.row <= br.row &&
34
+ decoded.col >= tl.col &&
35
+ decoded.col <= br.col) {
36
+ return this.model[key];
37
+ }
38
+ }
39
+ }
40
+ return undefined;
13
41
  }
14
42
  remove(address) {
15
43
  this.model[address] = undefined;
package/dist/cjs/index.js CHANGED
@@ -49,4 +49,4 @@ Object.defineProperty(exports, "DataValidations", { enumerable: true, get: funct
49
49
  __exportStar(require("./doc/enums"), exports);
50
50
  // Export all type definitions
51
51
  __exportStar(require("./types"), exports);
52
- __exportStar(require("./utils/extra-utils"), exports);
52
+ __exportStar(require("./utils/sheet-utils"), exports);