clearotron 0.2.1 → 0.2.2

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 (622) hide show
  1. package/.env.example +54 -1
  2. package/CONTRIBUTING.md +3 -3
  3. package/INSTALL.md +53 -49
  4. package/bin/brandowner.mjs +1 -1
  5. package/bin/clearotron.mjs +4 -4
  6. package/bin/connect.mjs +2 -2
  7. package/bin/example.mjs +27 -11
  8. package/bin/grant.mjs +3 -3
  9. package/bin/key.mjs +1 -1
  10. package/bin/onboard.mjs +58 -118
  11. package/bin/start.mjs +22 -25
  12. package/bin/stop.mjs +65 -3
  13. package/bin/update.mjs +7 -7
  14. package/bin/uspto-sync.mjs +1 -1
  15. package/build-info.json +2 -2
  16. package/docs/DELIVERY.md +6 -2
  17. package/docs/architecture/01-product-overview.md +2 -2
  18. package/docs/architecture/02-architecture.md +2 -2
  19. package/docs/architecture/04-configuration-reference.md +6 -3
  20. package/docs/architecture/05-config-governance.md +38 -5
  21. package/docs/architecture/06-operations-runbook.md +13 -1
  22. package/docs/architecture/09-security-and-data.md +1 -1
  23. package/docs/decisions/0004-documentation-structure.md +1 -1
  24. package/driver/CHANGELOG.md +65 -1
  25. package/driver/README.md +2 -2
  26. package/driver/ask-ledger.mjs +3 -3
  27. package/driver/authority-trees.mjs +1 -1
  28. package/driver/call-capture.mjs +1 -1
  29. package/driver/card-frame.mjs +1 -1
  30. package/driver/case-law-ledger.mjs +1 -1
  31. package/driver/claim-liveness.mjs +1 -1
  32. package/driver/common-law-receipts.mjs +1 -1
  33. package/driver/commonlaw-carry.mjs +1 -1
  34. package/driver/config-inventory.mjs +1 -1
  35. package/driver/connotation-search.mjs +12 -12
  36. package/driver/contract-audit.mjs +5 -5
  37. package/driver/contract-dictation-registry.mjs +4 -4
  38. package/driver/contract-dictation.mjs +2 -2
  39. package/driver/contract-e3-backlog.mjs +6 -6
  40. package/driver/contract-vocabulary.mjs +3 -3
  41. package/driver/corrections-feedforward.mjs +1 -1
  42. package/driver/coverage-form-io.mjs +2 -2
  43. package/driver/coverage-form.mjs +4 -4
  44. package/driver/coverage-ledger.mjs +3 -3
  45. package/driver/coverage-union.mjs +1 -1
  46. package/driver/declination-call.mjs +35 -3
  47. package/driver/declination-duty.mjs +1 -1
  48. package/driver/deliver-trigger.sh +3 -3
  49. package/driver/deploy-live-run-guard.mjs +6 -2
  50. package/driver/dev-portal.mjs +1 -1
  51. package/driver/disposition-call.mjs +4 -4
  52. package/driver/disposition-tool.mjs +4 -4
  53. package/driver/disposition-union.mjs +2 -2
  54. package/driver/doc-constants.mjs +1 -1
  55. package/driver/door-gates.mjs +2 -2
  56. package/driver/doubt-selection.mjs +2 -2
  57. package/driver/drainer-identity.mjs +1 -1
  58. package/driver/driver.config.mjs +63 -11
  59. package/driver/e2e-rounds.mjs +2 -2
  60. package/driver/effort-model.mjs +2 -2
  61. package/driver/engine/anthropic-agent.mjs +24 -24
  62. package/driver/engine/auth.mjs +1 -1
  63. package/driver/engine/common.mjs +1 -1
  64. package/driver/engine/deny-authority-write.mjs +1 -1
  65. package/driver/engine/jx-turn.mjs +1 -1
  66. package/driver/engine/mcp/clarivate-server.mjs +1 -1
  67. package/driver/engine/mcp/corsearch-server.mjs +1 -1
  68. package/driver/engine/mcp/declination-server.mjs +1 -1
  69. package/driver/engine/mcp/dispositions-server.mjs +1 -1
  70. package/driver/engine/mcp/euipo-server.mjs +1 -1
  71. package/driver/engine/mcp/fetch-server.mjs +1 -1
  72. package/driver/engine/mcp/free-tier-server.mjs +2 -2
  73. package/driver/engine/mcp/gather-config.mjs +11 -11
  74. package/driver/engine/mcp/perplexity-server.mjs +1 -1
  75. package/driver/engine/mcp/recording-server.mjs +8 -4
  76. package/driver/engine/mcp/signa-server.mjs +1 -1
  77. package/driver/engine/mcp/uspto-local-server.mjs +1 -1
  78. package/driver/engine/openai-agent.mjs +2 -2
  79. package/driver/engine-build.mjs +2 -2
  80. package/driver/enqueue-schema.mjs +2 -2
  81. package/driver/enqueue.mjs +1 -1
  82. package/driver/envelope-settle.mjs +1 -1
  83. package/driver/evidence-claim-invariant.mjs +2 -2
  84. package/driver/findings-model.mjs +8 -8
  85. package/driver/floor-duty.mjs +1 -1
  86. package/driver/form-neighbourhood.mjs +1 -1
  87. package/driver/framework.mjs +1 -1
  88. package/driver/gateway.mjs +28 -23
  89. package/driver/grounds-grammar.mjs +1 -1
  90. package/driver/hit-list.mjs +1 -1
  91. package/driver/jurisdiction-systems.mjs +1 -1
  92. package/driver/jx-lanes.mjs +1 -1
  93. package/driver/jx-units.mjs +1 -1
  94. package/driver/jx.mjs +3 -3
  95. package/driver/knockout-assess-record.mjs +5 -1
  96. package/driver/narrative-refutation-record.mjs +3 -3
  97. package/driver/numeric-setting.mjs +1 -1
  98. package/driver/owner-use-check.mjs +184 -0
  99. package/driver/package.json +2 -2
  100. package/driver/phase0.mjs +1 -1
  101. package/driver/pipeline-knockout.mjs +52 -4
  102. package/driver/pipeline.mjs +175 -62
  103. package/driver/placement-diff.mjs +2 -2
  104. package/driver/placement-form.mjs +4 -4
  105. package/driver/placement-union.mjs +1 -1
  106. package/driver/portal-acks.mjs +1 -1
  107. package/driver/portal-config-view.mjs +2 -2
  108. package/driver/portal-local-auth.mjs +1 -1
  109. package/driver/portal-report.mjs +6 -6
  110. package/driver/portal-service.mjs +15 -15
  111. package/driver/predelivery-lint.mjs +28 -10
  112. package/driver/prelim-variants-record.mjs +2 -2
  113. package/driver/profile-page.html +1 -1
  114. package/driver/profile-selection.mjs +1 -1
  115. package/driver/profile-service.mjs +2 -2
  116. package/driver/profiles.mjs +1 -1
  117. package/driver/progress.mjs +6 -6
  118. package/driver/provider-usage.mjs +1 -1
  119. package/driver/publish/demo-marking.mjs +1 -1
  120. package/driver/publish/index.mjs +47 -6
  121. package/driver/publish/knockout.mjs +36 -14
  122. package/driver/publish/parse.mjs +4 -4
  123. package/driver/publish/publish-inputs.mjs +2 -2
  124. package/driver/publish/register-presence.mjs +1 -1
  125. package/driver/publish/render-knockout.mjs +198 -31
  126. package/driver/publish/report-data.mjs +13 -3
  127. package/driver/queue-watch-probe.mjs +1 -1
  128. package/driver/queue-watch-verdict.mjs +1 -1
  129. package/driver/recall-reconciliation.mjs +1 -1
  130. package/driver/recipe-service.mjs +1 -1
  131. package/driver/record-carry.mjs +5 -5
  132. package/driver/recording-agreement.mjs +3 -3
  133. package/driver/reference-score.mjs +7 -7
  134. package/driver/refusal-bound.mjs +3 -3
  135. package/driver/register-availability.mjs +2 -2
  136. package/driver/register-count.mjs +1 -1
  137. package/driver/register-grant-vocabulary.mjs +2 -2
  138. package/driver/register-plan.mjs +8 -8
  139. package/driver/register-records.mjs +2 -2
  140. package/driver/registry-fidelity.mjs +3 -3
  141. package/driver/remedy-accounting.mjs +1 -1
  142. package/driver/repair-composers.mjs +2 -2
  143. package/driver/repair-digest.mjs +3 -3
  144. package/driver/repairs.mjs +6 -6
  145. package/driver/replay-archive.mjs +2 -0
  146. package/driver/report-card-record.mjs +2 -2
  147. package/driver/result-noun-fields.mjs +10 -3
  148. package/driver/run-economics.mjs +2 -2
  149. package/driver/run-integrity.mjs +1 -1
  150. package/driver/runner.mjs +22 -22
  151. package/driver/scope-rules.mjs +1 -1
  152. package/driver/search-policy.mjs +3 -3
  153. package/driver/skeptic-search.mjs +1 -1
  154. package/driver/skills/blind-frame/SKILL.md +1 -1
  155. package/driver/skills/case-law-citation/SKILL.md +2 -2
  156. package/driver/skills/knockout-assess/SKILL.md +10 -4
  157. package/driver/skills/prelim-search/SKILL.md +2 -2
  158. package/driver/skills/prelim-search/template-formatting.md +1 -1
  159. package/driver/skills/prelim-search/templates/email/generic.md +1 -1
  160. package/driver/skills/prelim-search/worked-examples.md +1 -1
  161. package/driver/skills/prelim-variants/SKILL.md +2 -2
  162. package/driver/stage-context.mjs +1 -1
  163. package/driver/stages-knockout.mjs +55 -4
  164. package/driver/stages.mjs +97 -40
  165. package/driver/stray-artifacts.mjs +2 -2
  166. package/driver/suite-census.json +146 -32
  167. package/driver/synthesis-record.mjs +1 -1
  168. package/driver/systemd/clearotron-client-mcp.service +1 -1
  169. package/driver/systemd/clearotron-portal.service +1 -1
  170. package/driver/systemd/render-units.mjs +1 -1
  171. package/driver/tokens.mjs +1 -1
  172. package/driver/tool-calls.mjs +1 -1
  173. package/driver/turnaround-bands.mjs +1 -1
  174. package/driver/unit-file-drift.mjs +1 -1
  175. package/driver/unit-inventory.mjs +121 -61
  176. package/driver/unit-state-verdict.mjs +20 -12
  177. package/driver/verify-knockout.mjs +10 -2
  178. package/driver/verify.mjs +12 -12
  179. package/driver/whatif-memo-run.mjs +46 -5
  180. package/driver/whatif-queue.mjs +1 -1
  181. package/driver/whatif-worker.mjs +1 -1
  182. package/mcp-server/CHANGELOG.md +4 -0
  183. package/mcp-server/README.md +3 -3
  184. package/mcp-server/http-server.mjs +44 -1
  185. package/mcp-server/key-socket.mjs +184 -0
  186. package/mcp-server/lib/audit-view.mjs +69 -2
  187. package/mcp-server/lib/brief.mjs +15 -0
  188. package/mcp-server/lib/driver.mjs +7 -1
  189. package/mcp-server/lib/events.mjs +1 -1
  190. package/mcp-server/lib/http-handler.mjs +1 -1
  191. package/mcp-server/lib/knockout.mjs +435 -0
  192. package/mcp-server/lib/ops.mjs +4 -4
  193. package/mcp-server/lib/options.mjs +1 -1
  194. package/mcp-server/lib/plan.mjs +1 -1
  195. package/mcp-server/lib/runs.mjs +1 -1
  196. package/mcp-server/lib/scrub.mjs +1 -1
  197. package/mcp-server/lib/whatif.mjs +3 -3
  198. package/mcp-server/mint-token.mjs +1 -1
  199. package/mcp-server/package.json +2 -2
  200. package/mcp-server/server.mjs +76 -11
  201. package/package.json +3 -3
  202. package/portal-ui/package.json +1 -1
  203. package/providers/_shared/enumerate.mjs +1 -1
  204. package/providers/_shared/ledger-path.mjs +3 -3
  205. package/providers/_shared/ledger.mjs +1 -1
  206. package/providers/_shared/result-shape.mjs +3 -3
  207. package/providers/_shared/term-shape.mjs +1 -1
  208. package/providers/corsearch/src/core.js +1 -1
  209. package/providers/jx-subclass/BUILDING.md +1 -1
  210. package/providers/oauth-mcp-bridge/CHANGELOG.md +4 -0
  211. package/providers/oauth-mcp-bridge/package.json +1 -1
  212. package/providers/oauth-mcp-bridge/stdin-guard.mjs +2 -2
  213. package/scripts/README.md +1 -1
  214. package/scripts/added-reference-check.mjs +29 -1
  215. package/scripts/ai-page-render-check.mjs +1 -1
  216. package/scripts/authority-boundary-probe.mjs +1 -1
  217. package/scripts/backfill-started-at.mjs +1 -1
  218. package/scripts/citation-line-check.mjs +3 -3
  219. package/scripts/clearances-render-check.mjs +3 -3
  220. package/scripts/compare.mjs +2 -2
  221. package/scripts/composer-render-check.mjs +6 -6
  222. package/scripts/contract-dictation-scan.mjs +2 -2
  223. package/scripts/dead-names.mjs +1 -1
  224. package/scripts/drain-preflight.mjs +5 -5
  225. package/scripts/e2e-unread-terminals.mjs +1 -1
  226. package/scripts/e2e.mjs +8 -8
  227. package/scripts/env-audit.mjs +7 -7
  228. package/scripts/env-classify.mjs +139 -15
  229. package/scripts/freeze-example-run.mjs +3 -3
  230. package/scripts/head-arrived-gated.mjs +1 -1
  231. package/scripts/headless-page.mjs +51 -2
  232. package/scripts/home-render-check.mjs +2 -2
  233. package/scripts/live-surface-check.mjs +92 -19
  234. package/scripts/main-health.mjs +1 -1
  235. package/scripts/merge-presence-check.mjs +3 -3
  236. package/scripts/mint-suite-census.mjs +6 -6
  237. package/scripts/nightly-notice.mjs +1 -1
  238. package/scripts/portal-lifecycle-check.mjs +3 -3
  239. package/scripts/reconcile-runs.mjs +1 -1
  240. package/scripts/release-await-cut.mjs +6 -4
  241. package/scripts/release-version-pr-checks.mjs +1 -1
  242. package/scripts/release-version.mjs +2 -2
  243. package/scripts/render-check.mjs +66 -7
  244. package/scripts/report-frame-check.mjs +1 -1
  245. package/scripts/report-screenshot.mjs +1 -1
  246. package/scripts/revisit-render-check.mjs +1 -1
  247. package/scripts/score.mjs +4 -4
  248. package/scripts/strip-tracker-citations.mjs +116 -0
  249. package/scripts/test-run.mjs +3 -3
  250. package/scripts/third-party-notices.mjs +3 -3
  251. package/scripts/travelling-predicates.mjs +3 -3
  252. package/scripts/unexecuted-asserts.mjs +2 -2
  253. package/scripts/verify-publishable.mjs +2 -2
  254. package/scripts/write-up-form-census.mjs +1 -1
  255. package/shared/access-audience.mjs +1 -1
  256. package/shared/brand.mjs +13 -13
  257. package/shared/citation-scan.mjs +1 -1
  258. package/shared/client-door.mjs +7 -7
  259. package/shared/driver-dir.mjs +1 -1
  260. package/shared/env-aliases.mjs +0 -48
  261. package/shared/env-local.mjs +1 -1
  262. package/shared/identifier-scan.mjs +3 -3
  263. package/shared/invocation.mjs +1 -1
  264. package/shared/names-in-force.mjs +2 -0
  265. package/shared/product-owned-names.mjs +1 -1
  266. package/shared/register-selection.mjs +1 -1
  267. package/shared/scope.mjs +5 -5
  268. package/shared/server-units.mjs +4 -4
  269. package/shared/store-in-repo.mjs +2 -2
  270. package/shared/suite-census.mjs +4 -4
  271. package/shared/tty-style.mjs +1 -1
  272. package/shared/uspto-index-size.mjs +1 -1
  273. package/shared/vacuous-pass.mjs +1 -1
  274. package/skills/clearotron-account/SKILL.md +42 -13
  275. package/driver/systemd/prelim-driver.path +0 -69
  276. package/driver/systemd/prelim-driver.service +0 -86
  277. package/driver/systemd/prelim-driver.timer +0 -14
  278. package/driver/systemd/prelim-outbox.path +0 -27
  279. package/driver/systemd/prelim-outbox.service +0 -37
  280. package/driver/systemd/prelim-outbox.timer +0 -21
  281. package/node_modules/exceljs/README_zh.md +0 -2878
  282. package/node_modules/exceljs/dist/LICENSE +0 -22
  283. package/node_modules/exceljs/dist/es5/csv/csv.js +0 -182
  284. package/node_modules/exceljs/dist/es5/csv/csv.js.map +0 -1
  285. package/node_modules/exceljs/dist/es5/csv/line-buffer.js +0 -68
  286. package/node_modules/exceljs/dist/es5/csv/line-buffer.js.map +0 -1
  287. package/node_modules/exceljs/dist/es5/csv/stream-converter.js +0 -110
  288. package/node_modules/exceljs/dist/es5/csv/stream-converter.js.map +0 -1
  289. package/node_modules/exceljs/dist/es5/doc/anchor.js +0 -73
  290. package/node_modules/exceljs/dist/es5/doc/anchor.js.map +0 -1
  291. package/node_modules/exceljs/dist/es5/doc/cell.js +0 -961
  292. package/node_modules/exceljs/dist/es5/doc/cell.js.map +0 -1
  293. package/node_modules/exceljs/dist/es5/doc/column.js +0 -274
  294. package/node_modules/exceljs/dist/es5/doc/column.js.map +0 -1
  295. package/node_modules/exceljs/dist/es5/doc/data-validations.js +0 -18
  296. package/node_modules/exceljs/dist/es5/doc/data-validations.js.map +0 -1
  297. package/node_modules/exceljs/dist/es5/doc/defined-names.js +0 -173
  298. package/node_modules/exceljs/dist/es5/doc/defined-names.js.map +0 -1
  299. package/node_modules/exceljs/dist/es5/doc/enums.js +0 -49
  300. package/node_modules/exceljs/dist/es5/doc/enums.js.map +0 -1
  301. package/node_modules/exceljs/dist/es5/doc/image.js +0 -69
  302. package/node_modules/exceljs/dist/es5/doc/image.js.map +0 -1
  303. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js +0 -16
  304. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js.map +0 -1
  305. package/node_modules/exceljs/dist/es5/doc/note.js +0 -64
  306. package/node_modules/exceljs/dist/es5/doc/note.js.map +0 -1
  307. package/node_modules/exceljs/dist/es5/doc/range.js +0 -229
  308. package/node_modules/exceljs/dist/es5/doc/range.js.map +0 -1
  309. package/node_modules/exceljs/dist/es5/doc/row.js +0 -382
  310. package/node_modules/exceljs/dist/es5/doc/row.js.map +0 -1
  311. package/node_modules/exceljs/dist/es5/doc/table.js +0 -443
  312. package/node_modules/exceljs/dist/es5/doc/table.js.map +0 -1
  313. package/node_modules/exceljs/dist/es5/doc/workbook.js +0 -202
  314. package/node_modules/exceljs/dist/es5/doc/workbook.js.map +0 -1
  315. package/node_modules/exceljs/dist/es5/doc/worksheet.js +0 -900
  316. package/node_modules/exceljs/dist/es5/doc/worksheet.js.map +0 -1
  317. package/node_modules/exceljs/dist/es5/exceljs.bare.js +0 -14
  318. package/node_modules/exceljs/dist/es5/exceljs.bare.js.map +0 -1
  319. package/node_modules/exceljs/dist/es5/exceljs.browser.js +0 -36
  320. package/node_modules/exceljs/dist/es5/exceljs.browser.js.map +0 -1
  321. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js +0 -15
  322. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js.map +0 -1
  323. package/node_modules/exceljs/dist/es5/index.js +0 -15
  324. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js +0 -90
  325. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js.map +0 -1
  326. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js +0 -94
  327. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js.map +0 -1
  328. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js +0 -94
  329. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js.map +0 -1
  330. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js +0 -362
  331. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js.map +0 -1
  332. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js +0 -347
  333. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js.map +0 -1
  334. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js +0 -392
  335. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js.map +0 -1
  336. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js +0 -652
  337. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js.map +0 -1
  338. package/node_modules/exceljs/dist/es5/utils/auto-drain.js +0 -18
  339. package/node_modules/exceljs/dist/es5/utils/auto-drain.js.map +0 -1
  340. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js +0 -15
  341. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js.map +0 -1
  342. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js +0 -18
  343. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js.map +0 -1
  344. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js +0 -149
  345. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js.map +0 -1
  346. package/node_modules/exceljs/dist/es5/utils/col-cache.js +0 -258
  347. package/node_modules/exceljs/dist/es5/utils/col-cache.js.map +0 -1
  348. package/node_modules/exceljs/dist/es5/utils/copy-style.js +0 -43
  349. package/node_modules/exceljs/dist/es5/utils/copy-style.js.map +0 -1
  350. package/node_modules/exceljs/dist/es5/utils/encryptor.js +0 -58
  351. package/node_modules/exceljs/dist/es5/utils/encryptor.js.map +0 -1
  352. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js +0 -46
  353. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js.map +0 -1
  354. package/node_modules/exceljs/dist/es5/utils/parse-sax.js +0 -47
  355. package/node_modules/exceljs/dist/es5/utils/parse-sax.js.map +0 -1
  356. package/node_modules/exceljs/dist/es5/utils/shared-formula.js +0 -42
  357. package/node_modules/exceljs/dist/es5/utils/shared-formula.js.map +0 -1
  358. package/node_modules/exceljs/dist/es5/utils/shared-strings.js +0 -32
  359. package/node_modules/exceljs/dist/es5/utils/shared-strings.js.map +0 -1
  360. package/node_modules/exceljs/dist/es5/utils/stream-base64.js +0 -66
  361. package/node_modules/exceljs/dist/es5/utils/stream-base64.js.map +0 -1
  362. package/node_modules/exceljs/dist/es5/utils/stream-buf.js +0 -343
  363. package/node_modules/exceljs/dist/es5/utils/stream-buf.js.map +0 -1
  364. package/node_modules/exceljs/dist/es5/utils/string-buf.js +0 -73
  365. package/node_modules/exceljs/dist/es5/utils/string-buf.js.map +0 -1
  366. package/node_modules/exceljs/dist/es5/utils/string-builder.js +0 -32
  367. package/node_modules/exceljs/dist/es5/utils/string-builder.js.map +0 -1
  368. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js +0 -61
  369. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js.map +0 -1
  370. package/node_modules/exceljs/dist/es5/utils/typed-stack.js +0 -23
  371. package/node_modules/exceljs/dist/es5/utils/typed-stack.js.map +0 -1
  372. package/node_modules/exceljs/dist/es5/utils/under-dash.js +0 -168
  373. package/node_modules/exceljs/dist/es5/utils/under-dash.js.map +0 -1
  374. package/node_modules/exceljs/dist/es5/utils/utils.js +0 -171
  375. package/node_modules/exceljs/dist/es5/utils/utils.js.map +0 -1
  376. package/node_modules/exceljs/dist/es5/utils/xml-stream.js +0 -151
  377. package/node_modules/exceljs/dist/es5/utils/xml-stream.js.map +0 -1
  378. package/node_modules/exceljs/dist/es5/utils/zip-stream.js +0 -79
  379. package/node_modules/exceljs/dist/es5/utils/zip-stream.js.map +0 -1
  380. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js +0 -230
  381. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js.map +0 -1
  382. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js +0 -18
  383. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js.map +0 -1
  384. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js +0 -139
  385. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js.map +0 -1
  386. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js +0 -85
  387. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js.map +0 -1
  388. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js +0 -32
  389. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js.map +0 -1
  390. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js +0 -24
  391. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +0 -1
  392. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js +0 -27
  393. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +0 -1
  394. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js +0 -51
  395. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +0 -1
  396. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js +0 -234
  397. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js.map +0 -1
  398. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js +0 -103
  399. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js.map +0 -1
  400. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js +0 -76
  401. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js.map +0 -1
  402. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js +0 -35
  403. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +0 -1
  404. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js +0 -32
  405. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +0 -1
  406. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js +0 -53
  407. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +0 -1
  408. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js +0 -97
  409. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +0 -1
  410. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js +0 -107
  411. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +0 -1
  412. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js +0 -92
  413. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +0 -1
  414. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +0 -61
  415. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +0 -1
  416. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js +0 -51
  417. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js.map +0 -1
  418. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js +0 -30
  419. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +0 -1
  420. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js +0 -27
  421. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +0 -1
  422. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js +0 -93
  423. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js.map +0 -1
  424. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js +0 -112
  425. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js.map +0 -1
  426. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js +0 -158
  427. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js.map +0 -1
  428. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js +0 -23
  429. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js.map +0 -1
  430. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js +0 -65
  431. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js.map +0 -1
  432. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -47
  433. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +0 -1
  434. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js +0 -61
  435. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +0 -1
  436. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js +0 -40
  437. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js.map +0 -1
  438. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -35
  439. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +0 -1
  440. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +0 -62
  441. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +0 -1
  442. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js +0 -82
  443. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +0 -1
  444. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js +0 -98
  445. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +0 -1
  446. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js +0 -40
  447. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +0 -1
  448. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js +0 -38
  449. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js.map +0 -1
  450. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js +0 -38
  451. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +0 -1
  452. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -59
  453. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +0 -1
  454. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -63
  455. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +0 -1
  456. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js +0 -67
  457. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js.map +0 -1
  458. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js +0 -30
  459. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js.map +0 -1
  460. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -62
  461. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +0 -1
  462. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js +0 -91
  463. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js.map +0 -1
  464. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +0 -40
  465. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +0 -1
  466. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js +0 -451
  467. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js.map +0 -1
  468. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -275
  469. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +0 -1
  470. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js +0 -25
  471. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +0 -1
  472. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js +0 -38
  473. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +0 -1
  474. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -45
  475. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +0 -1
  476. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -77
  477. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +0 -1
  478. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js +0 -42
  479. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +0 -1
  480. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -71
  481. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +0 -1
  482. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js +0 -22
  483. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +0 -1
  484. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js +0 -43
  485. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +0 -1
  486. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -28
  487. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +0 -1
  488. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -88
  489. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +0 -1
  490. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -38
  491. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +0 -1
  492. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -52
  493. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +0 -1
  494. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -43
  495. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +0 -1
  496. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -75
  497. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +0 -1
  498. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -22
  499. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +0 -1
  500. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -66
  501. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +0 -1
  502. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -22
  503. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +0 -1
  504. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js +0 -78
  505. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js.map +0 -1
  506. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js +0 -247
  507. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +0 -1
  508. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js +0 -28
  509. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +0 -1
  510. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js +0 -32
  511. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +0 -1
  512. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js +0 -69
  513. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +0 -1
  514. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js +0 -126
  515. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +0 -1
  516. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js +0 -50
  517. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +0 -1
  518. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js +0 -26
  519. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +0 -1
  520. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js +0 -52
  521. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js.map +0 -1
  522. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js +0 -35
  523. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +0 -1
  524. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js +0 -24
  525. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +0 -1
  526. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js +0 -46
  527. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +0 -1
  528. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js +0 -32
  529. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +0 -1
  530. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js +0 -99
  531. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +0 -1
  532. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js +0 -32
  533. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js.map +0 -1
  534. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js +0 -45
  535. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +0 -1
  536. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js +0 -37
  537. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +0 -1
  538. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js +0 -128
  539. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js.map +0 -1
  540. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -51
  541. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +0 -1
  542. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js +0 -83
  543. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +0 -1
  544. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js +0 -84
  545. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +0 -1
  546. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js +0 -190
  547. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +0 -1
  548. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js +0 -32
  549. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +0 -1
  550. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js +0 -513
  551. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +0 -1
  552. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js +0 -27
  553. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js.map +0 -1
  554. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js +0 -58
  555. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js.map +0 -1
  556. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js +0 -47
  557. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js.map +0 -1
  558. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js +0 -53
  559. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js.map +0 -1
  560. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js +0 -47
  561. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js.map +0 -1
  562. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js +0 -61
  563. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js.map +0 -1
  564. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js +0 -98
  565. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +0 -1
  566. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js +0 -92
  567. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +0 -1
  568. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js +0 -99
  569. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +0 -1
  570. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js +0 -114
  571. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +0 -1
  572. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js +0 -39
  573. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js.map +0 -1
  574. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js +0 -139
  575. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js.map +0 -1
  576. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js +0 -185
  577. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js.map +0 -1
  578. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js +0 -66
  579. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js.map +0 -1
  580. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js +0 -106
  581. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js.map +0 -1
  582. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js +0 -308
  583. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js.map +0 -1
  584. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js +0 -175
  585. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js.map +0 -1
  586. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js +0 -59
  587. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js.map +0 -1
  588. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js +0 -53
  589. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js.map +0 -1
  590. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js +0 -118
  591. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js.map +0 -1
  592. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js +0 -612
  593. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js.map +0 -1
  594. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js +0 -46
  595. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js.map +0 -1
  596. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js +0 -75
  597. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +0 -1
  598. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js +0 -30
  599. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +0 -1
  600. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js +0 -89
  601. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js.map +0 -1
  602. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js +0 -28
  603. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js.map +0 -1
  604. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js +0 -42
  605. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js.map +0 -1
  606. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js +0 -40
  607. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +0 -1
  608. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js +0 -123
  609. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js.map +0 -1
  610. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js +0 -697
  611. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js.map +0 -1
  612. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js +0 -5
  613. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js.map +0 -1
  614. package/node_modules/exceljs/dist/exceljs.bare.js +0 -55253
  615. package/node_modules/exceljs/dist/exceljs.bare.js.map +0 -761
  616. package/node_modules/exceljs/dist/exceljs.bare.min.js +0 -45
  617. package/node_modules/exceljs/dist/exceljs.bare.min.js.map +0 -1
  618. package/node_modules/exceljs/dist/exceljs.js +0 -59900
  619. package/node_modules/exceljs/dist/exceljs.js.map +0 -1083
  620. package/node_modules/exceljs/dist/exceljs.min.js +0 -45
  621. package/node_modules/exceljs/dist/exceljs.min.js.map +0 -1
  622. package/scripts/deploy-test.sh +0 -309
@@ -1 +0,0 @@
1
- {"version":3,"file":"cell.js","names":["colCache","require","_","Enums","slideFormula","Note","Cell","constructor","row","column","address","Error","_row","_column","validateAddress","_address","_value","Value","create","Types","Null","style","_mergeStyle","_mergeCount","worksheet","workbook","destroy","numFmt","value","font","alignment","border","fill","protection","rowStyle","colStyle","number","col","$col$row","letter","type","effectiveType","toCsvString","addMergeRef","releaseMergeRef","isMerged","Merge","merge","master","ignoreStyle","release","unmerge","isMergedTo","isHyperlink","Hyperlink","hyperlink","v","getType","note","_comment","text","toString","html","escapeHtml","_upgradeToHyperlink","String","formula","result","formulaType","fullAddress","sheetName","name","names","definedNames","getNamesEx","removeAllNames","forEach","addEx","addName","removeName","removeEx","_dataValidations","dataValidations","dataValidation","find","add","model","comment","fromModel","ValueType","NullValue","cell","NumberValue","Number","StringValue","replace","RichTextValue","richText","map","t","join","RichText","DateValue","Date","toISOString","HyperlinkValue","undefined","tooltip","MergeValue","_master","FormulaValue","Formula","shareType","ref","sharedFormula","_copyModel","copy","cp","validate","dependencies","ranges","match","cells","_getTranslatedFormula","FormulaType","Master","Shared","None","_translatedFormula","findCell","SharedStringValue","SharedString","BooleanValue","Boolean","ErrorValue","error","JSONValue","JSON","stringify","rawValue","sharedString","types","f","reduce","p","T","module","exports"],"sources":["../../../lib/doc/cell.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nconst colCache = require('../utils/col-cache');\nconst _ = require('../utils/under-dash');\nconst Enums = require('./enums');\nconst {slideFormula} = require('../utils/shared-formula');\nconst Note = require('./note');\n// Cell requirements\n// Operate inside a worksheet\n// Store and retrieve a value with a range of types: text, number, date, hyperlink, reference, formula, etc.\n// Manage/use and manipulate cell format either as local to cell or inherited from column or row.\n\nclass Cell {\n constructor(row, column, address) {\n if (!row || !column) {\n throw new Error('A Cell needs a Row');\n }\n\n this._row = row;\n this._column = column;\n\n colCache.validateAddress(address);\n this._address = address;\n\n // TODO: lazy evaluation of this._value\n this._value = Value.create(Cell.Types.Null, this);\n\n this.style = this._mergeStyle(row.style, column.style, {});\n\n this._mergeCount = 0;\n }\n\n get worksheet() {\n return this._row.worksheet;\n }\n\n get workbook() {\n return this._row.worksheet.workbook;\n }\n\n // help GC by removing cyclic (and other) references\n destroy() {\n delete this.style;\n delete this._value;\n delete this._row;\n delete this._column;\n delete this._address;\n }\n\n // =========================================================================\n // Styles stuff\n get numFmt() {\n return this.style.numFmt;\n }\n\n set numFmt(value) {\n this.style.numFmt = value;\n }\n\n get font() {\n return this.style.font;\n }\n\n set font(value) {\n this.style.font = value;\n }\n\n get alignment() {\n return this.style.alignment;\n }\n\n set alignment(value) {\n this.style.alignment = value;\n }\n\n get border() {\n return this.style.border;\n }\n\n set border(value) {\n this.style.border = value;\n }\n\n get fill() {\n return this.style.fill;\n }\n\n set fill(value) {\n this.style.fill = value;\n }\n\n get protection() {\n return this.style.protection;\n }\n\n set protection(value) {\n this.style.protection = value;\n }\n\n _mergeStyle(rowStyle, colStyle, style) {\n const numFmt = (rowStyle && rowStyle.numFmt) || (colStyle && colStyle.numFmt);\n if (numFmt) style.numFmt = numFmt;\n\n const font = (rowStyle && rowStyle.font) || (colStyle && colStyle.font);\n if (font) style.font = font;\n\n const alignment = (rowStyle && rowStyle.alignment) || (colStyle && colStyle.alignment);\n if (alignment) style.alignment = alignment;\n\n const border = (rowStyle && rowStyle.border) || (colStyle && colStyle.border);\n if (border) style.border = border;\n\n const fill = (rowStyle && rowStyle.fill) || (colStyle && colStyle.fill);\n if (fill) style.fill = fill;\n\n const protection = (rowStyle && rowStyle.protection) || (colStyle && colStyle.protection);\n if (protection) style.protection = protection;\n\n return style;\n }\n\n // =========================================================================\n // return the address for this cell\n get address() {\n return this._address;\n }\n\n get row() {\n return this._row.number;\n }\n\n get col() {\n return this._column.number;\n }\n\n get $col$row() {\n return `$${this._column.letter}$${this.row}`;\n }\n\n // =========================================================================\n // Value stuff\n\n get type() {\n return this._value.type;\n }\n\n get effectiveType() {\n return this._value.effectiveType;\n }\n\n toCsvString() {\n return this._value.toCsvString();\n }\n\n // =========================================================================\n // Merge stuff\n\n addMergeRef() {\n this._mergeCount++;\n }\n\n releaseMergeRef() {\n this._mergeCount--;\n }\n\n get isMerged() {\n return this._mergeCount > 0 || this.type === Cell.Types.Merge;\n }\n\n merge(master, ignoreStyle) {\n this._value.release();\n this._value = Value.create(Cell.Types.Merge, this, master);\n if (!ignoreStyle) {\n this.style = master.style;\n }\n }\n\n unmerge() {\n if (this.type === Cell.Types.Merge) {\n this._value.release();\n this._value = Value.create(Cell.Types.Null, this);\n this.style = this._mergeStyle(this._row.style, this._column.style, {});\n }\n }\n\n isMergedTo(master) {\n if (this._value.type !== Cell.Types.Merge) return false;\n return this._value.isMergedTo(master);\n }\n\n get master() {\n if (this.type === Cell.Types.Merge) {\n return this._value.master;\n }\n return this; // an unmerged cell is its own master\n }\n\n get isHyperlink() {\n return this._value.type === Cell.Types.Hyperlink;\n }\n\n get hyperlink() {\n return this._value.hyperlink;\n }\n\n // return the value\n get value() {\n return this._value.value;\n }\n\n // set the value - can be number, string or raw\n set value(v) {\n // special case - merge cells set their master's value\n if (this.type === Cell.Types.Merge) {\n this._value.master.value = v;\n return;\n }\n\n this._value.release();\n\n // assign value\n this._value = Value.create(Value.getType(v), this, v);\n }\n\n get note() {\n return this._comment && this._comment.note;\n }\n\n set note(note) {\n this._comment = new Note(note);\n }\n\n get text() {\n return this._value.toString();\n }\n\n get html() {\n return _.escapeHtml(this.text);\n }\n\n toString() {\n return this.text;\n }\n\n _upgradeToHyperlink(hyperlink) {\n // if this cell is a string, turn it into a Hyperlink\n if (this.type === Cell.Types.String) {\n this._value = Value.create(Cell.Types.Hyperlink, this, {\n text: this._value.value,\n hyperlink,\n });\n }\n }\n\n // =========================================================================\n // Formula stuff\n get formula() {\n return this._value.formula;\n }\n\n get result() {\n return this._value.result;\n }\n\n get formulaType() {\n return this._value.formulaType;\n }\n\n // =========================================================================\n // Name stuff\n get fullAddress() {\n const {worksheet} = this._row;\n return {\n sheetName: worksheet.name,\n address: this.address,\n row: this.row,\n col: this.col,\n };\n }\n\n get name() {\n return this.names[0];\n }\n\n set name(value) {\n this.names = [value];\n }\n\n get names() {\n return this.workbook.definedNames.getNamesEx(this.fullAddress);\n }\n\n set names(value) {\n const {definedNames} = this.workbook;\n definedNames.removeAllNames(this.fullAddress);\n value.forEach(name => {\n definedNames.addEx(this.fullAddress, name);\n });\n }\n\n addName(name) {\n this.workbook.definedNames.addEx(this.fullAddress, name);\n }\n\n removeName(name) {\n this.workbook.definedNames.removeEx(this.fullAddress, name);\n }\n\n removeAllNames() {\n this.workbook.definedNames.removeAllNames(this.fullAddress);\n }\n\n // =========================================================================\n // Data Validation stuff\n get _dataValidations() {\n return this.worksheet.dataValidations;\n }\n\n get dataValidation() {\n return this._dataValidations.find(this.address);\n }\n\n set dataValidation(value) {\n this._dataValidations.add(this.address, value);\n }\n\n // =========================================================================\n // Model stuff\n\n get model() {\n const {model} = this._value;\n model.style = this.style;\n if (this._comment) {\n model.comment = this._comment.model;\n }\n return model;\n }\n\n set model(value) {\n this._value.release();\n this._value = Value.create(value.type, this);\n this._value.model = value;\n\n if (value.comment) {\n switch (value.comment.type) {\n case 'note':\n this._comment = Note.fromModel(value.comment);\n break;\n }\n }\n\n if (value.style) {\n this.style = value.style;\n } else {\n this.style = {};\n }\n }\n}\nCell.Types = Enums.ValueType;\n\n// =============================================================================\n// Internal Value Types\n\nclass NullValue {\n constructor(cell) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Null,\n };\n }\n\n get value() {\n return null;\n }\n\n set value(value) {\n // nothing to do\n }\n\n get type() {\n return Cell.Types.Null;\n }\n\n get effectiveType() {\n return Cell.Types.Null;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return '';\n }\n\n release() {}\n\n toString() {\n return '';\n }\n}\n\nclass NumberValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Number,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Number;\n }\n\n get effectiveType() {\n return Cell.Types.Number;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value.toString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass StringValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.String,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.String;\n }\n\n get effectiveType() {\n return Cell.Types.String;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return `\"${this.model.value.replace(/\"/g, '\"\"')}\"`;\n }\n\n release() {}\n\n toString() {\n return this.model.value;\n }\n}\n\nclass RichTextValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.String,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n toString() {\n return this.model.value.richText.map(t => t.text).join('');\n }\n\n get type() {\n return Cell.Types.RichText;\n }\n\n get effectiveType() {\n return Cell.Types.RichText;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return `\"${this.text.replace(/\"/g, '\"\"')}\"`;\n }\n\n release() {}\n}\n\nclass DateValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Date,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Date;\n }\n\n get effectiveType() {\n return Cell.Types.Date;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value.toISOString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass HyperlinkValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Hyperlink,\n text: value ? value.text : undefined,\n hyperlink: value ? value.hyperlink : undefined,\n };\n if (value && value.tooltip) {\n this.model.tooltip = value.tooltip;\n }\n }\n\n get value() {\n const v = {\n text: this.model.text,\n hyperlink: this.model.hyperlink,\n };\n if (this.model.tooltip) {\n v.tooltip = this.model.tooltip;\n }\n return v;\n }\n\n set value(value) {\n this.model = {\n text: value.text,\n hyperlink: value.hyperlink,\n };\n if (value.tooltip) {\n this.model.tooltip = value.tooltip;\n }\n }\n\n get text() {\n return this.model.text;\n }\n\n set text(value) {\n this.model.text = value;\n }\n\n /*\n get tooltip() {\n return this.model.tooltip;\n }\n\n set tooltip(value) {\n this.model.tooltip = value;\n } */\n\n get hyperlink() {\n return this.model.hyperlink;\n }\n\n set hyperlink(value) {\n this.model.hyperlink = value;\n }\n\n get type() {\n return Cell.Types.Hyperlink;\n }\n\n get effectiveType() {\n return Cell.Types.Hyperlink;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.hyperlink;\n }\n\n release() {}\n\n toString() {\n return this.model.text;\n }\n}\n\nclass MergeValue {\n constructor(cell, master) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Merge,\n master: master ? master.address : undefined,\n };\n this._master = master;\n if (master) {\n master.addMergeRef();\n }\n }\n\n get value() {\n return this._master.value;\n }\n\n set value(value) {\n if (value instanceof Cell) {\n if (this._master) {\n this._master.releaseMergeRef();\n }\n value.addMergeRef();\n this._master = value;\n } else {\n this._master.value = value;\n }\n }\n\n isMergedTo(master) {\n return master === this._master;\n }\n\n get master() {\n return this._master;\n }\n\n get type() {\n return Cell.Types.Merge;\n }\n\n get effectiveType() {\n return this._master.effectiveType;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return '';\n }\n\n release() {\n this._master.releaseMergeRef();\n }\n\n toString() {\n return this.value.toString();\n }\n}\n\nclass FormulaValue {\n constructor(cell, value) {\n this.cell = cell;\n\n this.model = {\n address: cell.address,\n type: Cell.Types.Formula,\n shareType: value ? value.shareType : undefined,\n ref: value ? value.ref : undefined,\n formula: value ? value.formula : undefined,\n sharedFormula: value ? value.sharedFormula : undefined,\n result: value ? value.result : undefined,\n };\n }\n\n _copyModel(model) {\n const copy = {};\n const cp = name => {\n const value = model[name];\n if (value) {\n copy[name] = value;\n }\n };\n cp('formula');\n cp('result');\n cp('ref');\n cp('shareType');\n cp('sharedFormula');\n return copy;\n }\n\n get value() {\n return this._copyModel(this.model);\n }\n\n set value(value) {\n this.model = this._copyModel(value);\n }\n\n validate(value) {\n switch (Value.getType(value)) {\n case Cell.Types.Null:\n case Cell.Types.String:\n case Cell.Types.Number:\n case Cell.Types.Date:\n break;\n case Cell.Types.Hyperlink:\n case Cell.Types.Formula:\n default:\n throw new Error('Cannot process that type of result value');\n }\n }\n\n get dependencies() {\n // find all the ranges and cells mentioned in the formula\n const ranges = this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g);\n const cells = this.formula\n .replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g, '')\n .match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}/g);\n return {\n ranges,\n cells,\n };\n }\n\n get formula() {\n return this.model.formula || this._getTranslatedFormula();\n }\n\n set formula(value) {\n this.model.formula = value;\n }\n\n get formulaType() {\n if (this.model.formula) {\n return Enums.FormulaType.Master;\n }\n if (this.model.sharedFormula) {\n return Enums.FormulaType.Shared;\n }\n return Enums.FormulaType.None;\n }\n\n get result() {\n return this.model.result;\n }\n\n set result(value) {\n this.model.result = value;\n }\n\n get type() {\n return Cell.Types.Formula;\n }\n\n get effectiveType() {\n const v = this.model.result;\n if (v === null || v === undefined) {\n return Enums.ValueType.Null;\n }\n if (v instanceof String || typeof v === 'string') {\n return Enums.ValueType.String;\n }\n if (typeof v === 'number') {\n return Enums.ValueType.Number;\n }\n if (v instanceof Date) {\n return Enums.ValueType.Date;\n }\n if (v.text && v.hyperlink) {\n return Enums.ValueType.Hyperlink;\n }\n if (v.formula) {\n return Enums.ValueType.Formula;\n }\n\n return Enums.ValueType.Null;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n _getTranslatedFormula() {\n if (!this._translatedFormula && this.model.sharedFormula) {\n const {worksheet} = this.cell;\n const master = worksheet.findCell(this.model.sharedFormula);\n this._translatedFormula =\n master && slideFormula(master.formula, master.address, this.model.address);\n }\n return this._translatedFormula;\n }\n\n toCsvString() {\n return `${this.model.result || ''}`;\n }\n\n release() {}\n\n toString() {\n return this.model.result ? this.model.result.toString() : '';\n }\n}\n\nclass SharedStringValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.SharedString,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.SharedString;\n }\n\n get effectiveType() {\n return Cell.Types.SharedString;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value.toString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass BooleanValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Boolean,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Boolean;\n }\n\n get effectiveType() {\n return Cell.Types.Boolean;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value ? 1 : 0;\n }\n\n release() {}\n\n toString() {\n return this.model.value.toString();\n }\n}\n\nclass ErrorValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.Error,\n value,\n };\n }\n\n get value() {\n return this.model.value;\n }\n\n set value(value) {\n this.model.value = value;\n }\n\n get type() {\n return Cell.Types.Error;\n }\n\n get effectiveType() {\n return Cell.Types.Error;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.toString();\n }\n\n release() {}\n\n toString() {\n return this.model.value.error.toString();\n }\n}\n\nclass JSONValue {\n constructor(cell, value) {\n this.model = {\n address: cell.address,\n type: Cell.Types.String,\n value: JSON.stringify(value),\n rawValue: value,\n };\n }\n\n get value() {\n return this.model.rawValue;\n }\n\n set value(value) {\n this.model.rawValue = value;\n this.model.value = JSON.stringify(value);\n }\n\n get type() {\n return Cell.Types.String;\n }\n\n get effectiveType() {\n return Cell.Types.String;\n }\n\n get address() {\n return this.model.address;\n }\n\n set address(value) {\n this.model.address = value;\n }\n\n toCsvString() {\n return this.model.value;\n }\n\n release() {}\n\n toString() {\n return this.model.value;\n }\n}\n\n// Value is a place to hold common static Value type functions\nconst Value = {\n getType(value) {\n if (value === null || value === undefined) {\n return Cell.Types.Null;\n }\n if (value instanceof String || typeof value === 'string') {\n return Cell.Types.String;\n }\n if (typeof value === 'number') {\n return Cell.Types.Number;\n }\n if (typeof value === 'boolean') {\n return Cell.Types.Boolean;\n }\n if (value instanceof Date) {\n return Cell.Types.Date;\n }\n if (value.text && value.hyperlink) {\n return Cell.Types.Hyperlink;\n }\n if (value.formula || value.sharedFormula) {\n return Cell.Types.Formula;\n }\n if (value.richText) {\n return Cell.Types.RichText;\n }\n if (value.sharedString) {\n return Cell.Types.SharedString;\n }\n if (value.error) {\n return Cell.Types.Error;\n }\n return Cell.Types.JSON;\n },\n\n // map valueType to constructor\n types: [\n {t: Cell.Types.Null, f: NullValue},\n {t: Cell.Types.Number, f: NumberValue},\n {t: Cell.Types.String, f: StringValue},\n {t: Cell.Types.Date, f: DateValue},\n {t: Cell.Types.Hyperlink, f: HyperlinkValue},\n {t: Cell.Types.Formula, f: FormulaValue},\n {t: Cell.Types.Merge, f: MergeValue},\n {t: Cell.Types.JSON, f: JSONValue},\n {t: Cell.Types.SharedString, f: SharedStringValue},\n {t: Cell.Types.RichText, f: RichTextValue},\n {t: Cell.Types.Boolean, f: BooleanValue},\n {t: Cell.Types.Error, f: ErrorValue},\n ].reduce((p, t) => {\n p[t.t] = t.f;\n return p;\n }, []),\n\n create(type, cell, value) {\n const T = this.types[type];\n if (!T) {\n throw new Error(`Could not create Value of type ${type}`);\n }\n return new T(cell, value);\n },\n};\n\nmodule.exports = Cell;\n"],"mappings":"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"}
@@ -1,274 +0,0 @@
1
- 'use strict';
2
-
3
- const _ = require('../utils/under-dash');
4
- const Enums = require('./enums');
5
- const colCache = require('../utils/col-cache');
6
- const DEFAULT_COLUMN_WIDTH = 9;
7
-
8
- // Column defines the column properties for 1 column.
9
- // This includes header rows, widths, key, (style), etc.
10
- // Worksheet will condense the columns as appropriate during serialization
11
- class Column {
12
- constructor(worksheet, number, defn) {
13
- this._worksheet = worksheet;
14
- this._number = number;
15
- if (defn !== false) {
16
- // sometimes defn will follow
17
- this.defn = defn;
18
- }
19
- }
20
- get number() {
21
- return this._number;
22
- }
23
- get worksheet() {
24
- return this._worksheet;
25
- }
26
- get letter() {
27
- return colCache.n2l(this._number);
28
- }
29
- get isCustomWidth() {
30
- return this.width !== undefined && this.width !== DEFAULT_COLUMN_WIDTH;
31
- }
32
- get defn() {
33
- return {
34
- header: this._header,
35
- key: this.key,
36
- width: this.width,
37
- style: this.style,
38
- hidden: this.hidden,
39
- outlineLevel: this.outlineLevel
40
- };
41
- }
42
- set defn(value) {
43
- if (value) {
44
- this.key = value.key;
45
- this.width = value.width !== undefined ? value.width : DEFAULT_COLUMN_WIDTH;
46
- this.outlineLevel = value.outlineLevel;
47
- if (value.style) {
48
- this.style = value.style;
49
- } else {
50
- this.style = {};
51
- }
52
-
53
- // headers must be set after style
54
- this.header = value.header;
55
- this._hidden = !!value.hidden;
56
- } else {
57
- delete this._header;
58
- delete this._key;
59
- delete this.width;
60
- this.style = {};
61
- this.outlineLevel = 0;
62
- }
63
- }
64
- get headers() {
65
- return this._header && this._header instanceof Array ? this._header : [this._header];
66
- }
67
- get header() {
68
- return this._header;
69
- }
70
- set header(value) {
71
- if (value !== undefined) {
72
- this._header = value;
73
- this.headers.forEach((text, index) => {
74
- this._worksheet.getCell(index + 1, this.number).value = text;
75
- });
76
- } else {
77
- this._header = undefined;
78
- }
79
- }
80
- get key() {
81
- return this._key;
82
- }
83
- set key(value) {
84
- const column = this._key && this._worksheet.getColumnKey(this._key);
85
- if (column === this) {
86
- this._worksheet.deleteColumnKey(this._key);
87
- }
88
- this._key = value;
89
- if (value) {
90
- this._worksheet.setColumnKey(this._key, this);
91
- }
92
- }
93
- get hidden() {
94
- return !!this._hidden;
95
- }
96
- set hidden(value) {
97
- this._hidden = value;
98
- }
99
- get outlineLevel() {
100
- return this._outlineLevel || 0;
101
- }
102
- set outlineLevel(value) {
103
- this._outlineLevel = value;
104
- }
105
- get collapsed() {
106
- return !!(this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelCol);
107
- }
108
- toString() {
109
- return JSON.stringify({
110
- key: this.key,
111
- width: this.width,
112
- headers: this.headers.length ? this.headers : undefined
113
- });
114
- }
115
- equivalentTo(other) {
116
- return this.width === other.width && this.hidden === other.hidden && this.outlineLevel === other.outlineLevel && _.isEqual(this.style, other.style);
117
- }
118
- get isDefault() {
119
- if (this.isCustomWidth) {
120
- return false;
121
- }
122
- if (this.hidden) {
123
- return false;
124
- }
125
- if (this.outlineLevel) {
126
- return false;
127
- }
128
- const s = this.style;
129
- if (s && (s.font || s.numFmt || s.alignment || s.border || s.fill || s.protection)) {
130
- return false;
131
- }
132
- return true;
133
- }
134
- get headerCount() {
135
- return this.headers.length;
136
- }
137
- eachCell(options, iteratee) {
138
- const colNumber = this.number;
139
- if (!iteratee) {
140
- iteratee = options;
141
- options = null;
142
- }
143
- this._worksheet.eachRow(options, (row, rowNumber) => {
144
- iteratee(row.getCell(colNumber), rowNumber);
145
- });
146
- }
147
- get values() {
148
- const v = [];
149
- this.eachCell((cell, rowNumber) => {
150
- if (cell && cell.type !== Enums.ValueType.Null) {
151
- v[rowNumber] = cell.value;
152
- }
153
- });
154
- return v;
155
- }
156
- set values(v) {
157
- if (!v) {
158
- return;
159
- }
160
- const colNumber = this.number;
161
- let offset = 0;
162
- if (v.hasOwnProperty('0')) {
163
- // assume contiguous array, start at row 1
164
- offset = 1;
165
- }
166
- v.forEach((value, index) => {
167
- this._worksheet.getCell(index + offset, colNumber).value = value;
168
- });
169
- }
170
-
171
- // =========================================================================
172
- // styles
173
- _applyStyle(name, value) {
174
- this.style[name] = value;
175
- this.eachCell(cell => {
176
- cell[name] = value;
177
- });
178
- return value;
179
- }
180
- get numFmt() {
181
- return this.style.numFmt;
182
- }
183
- set numFmt(value) {
184
- this._applyStyle('numFmt', value);
185
- }
186
- get font() {
187
- return this.style.font;
188
- }
189
- set font(value) {
190
- this._applyStyle('font', value);
191
- }
192
- get alignment() {
193
- return this.style.alignment;
194
- }
195
- set alignment(value) {
196
- this._applyStyle('alignment', value);
197
- }
198
- get protection() {
199
- return this.style.protection;
200
- }
201
- set protection(value) {
202
- this._applyStyle('protection', value);
203
- }
204
- get border() {
205
- return this.style.border;
206
- }
207
- set border(value) {
208
- this._applyStyle('border', value);
209
- }
210
- get fill() {
211
- return this.style.fill;
212
- }
213
- set fill(value) {
214
- this._applyStyle('fill', value);
215
- }
216
-
217
- // =============================================================================
218
- // static functions
219
-
220
- static toModel(columns) {
221
- // Convert array of Column into compressed list cols
222
- const cols = [];
223
- let col = null;
224
- if (columns) {
225
- columns.forEach((column, index) => {
226
- if (column.isDefault) {
227
- if (col) {
228
- col = null;
229
- }
230
- } else if (!col || !column.equivalentTo(col)) {
231
- col = {
232
- min: index + 1,
233
- max: index + 1,
234
- width: column.width !== undefined ? column.width : DEFAULT_COLUMN_WIDTH,
235
- style: column.style,
236
- isCustomWidth: column.isCustomWidth,
237
- hidden: column.hidden,
238
- outlineLevel: column.outlineLevel,
239
- collapsed: column.collapsed
240
- };
241
- cols.push(col);
242
- } else {
243
- col.max = index + 1;
244
- }
245
- });
246
- }
247
- return cols.length ? cols : undefined;
248
- }
249
- static fromModel(worksheet, cols) {
250
- cols = cols || [];
251
- const columns = [];
252
- let count = 1;
253
- let index = 0;
254
- /**
255
- * sort cols by min
256
- * If it is not sorted, the subsequent column configuration will be overwritten
257
- * */
258
- cols = cols.sort(function (pre, next) {
259
- return pre.min - next.min;
260
- });
261
- while (index < cols.length) {
262
- const col = cols[index++];
263
- while (count < col.min) {
264
- columns.push(new Column(worksheet, count++));
265
- }
266
- while (count <= col.max) {
267
- columns.push(new Column(worksheet, count++, col));
268
- }
269
- }
270
- return columns.length ? columns : null;
271
- }
272
- }
273
- module.exports = Column;
274
- //# sourceMappingURL=column.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"column.js","names":["_","require","Enums","colCache","DEFAULT_COLUMN_WIDTH","Column","constructor","worksheet","number","defn","_worksheet","_number","letter","n2l","isCustomWidth","width","undefined","header","_header","key","style","hidden","outlineLevel","value","_hidden","_key","headers","Array","forEach","text","index","getCell","column","getColumnKey","deleteColumnKey","setColumnKey","_outlineLevel","collapsed","properties","outlineLevelCol","toString","JSON","stringify","length","equivalentTo","other","isEqual","isDefault","s","font","numFmt","alignment","border","fill","protection","headerCount","eachCell","options","iteratee","colNumber","eachRow","row","rowNumber","values","v","cell","type","ValueType","Null","offset","hasOwnProperty","_applyStyle","name","toModel","columns","cols","col","min","max","push","fromModel","count","sort","pre","next","module","exports"],"sources":["../../../lib/doc/column.js"],"sourcesContent":["'use strict';\n\nconst _ = require('../utils/under-dash');\n\nconst Enums = require('./enums');\nconst colCache = require('../utils/col-cache');\n\nconst DEFAULT_COLUMN_WIDTH = 9;\n\n// Column defines the column properties for 1 column.\n// This includes header rows, widths, key, (style), etc.\n// Worksheet will condense the columns as appropriate during serialization\nclass Column {\n constructor(worksheet, number, defn) {\n this._worksheet = worksheet;\n this._number = number;\n if (defn !== false) {\n // sometimes defn will follow\n this.defn = defn;\n }\n }\n\n get number() {\n return this._number;\n }\n\n get worksheet() {\n return this._worksheet;\n }\n\n get letter() {\n return colCache.n2l(this._number);\n }\n\n get isCustomWidth() {\n return this.width !== undefined && this.width !== DEFAULT_COLUMN_WIDTH;\n }\n\n get defn() {\n return {\n header: this._header,\n key: this.key,\n width: this.width,\n style: this.style,\n hidden: this.hidden,\n outlineLevel: this.outlineLevel,\n };\n }\n\n set defn(value) {\n if (value) {\n this.key = value.key;\n this.width = value.width !== undefined ? value.width : DEFAULT_COLUMN_WIDTH;\n this.outlineLevel = value.outlineLevel;\n if (value.style) {\n this.style = value.style;\n } else {\n this.style = {};\n }\n\n // headers must be set after style\n this.header = value.header;\n this._hidden = !!value.hidden;\n } else {\n delete this._header;\n delete this._key;\n delete this.width;\n this.style = {};\n this.outlineLevel = 0;\n }\n }\n\n get headers() {\n return this._header && this._header instanceof Array ? this._header : [this._header];\n }\n\n get header() {\n return this._header;\n }\n\n set header(value) {\n if (value !== undefined) {\n this._header = value;\n this.headers.forEach((text, index) => {\n this._worksheet.getCell(index + 1, this.number).value = text;\n });\n } else {\n this._header = undefined;\n }\n }\n\n get key() {\n return this._key;\n }\n\n set key(value) {\n const column = this._key && this._worksheet.getColumnKey(this._key);\n if (column === this) {\n this._worksheet.deleteColumnKey(this._key);\n }\n\n this._key = value;\n if (value) {\n this._worksheet.setColumnKey(this._key, this);\n }\n }\n\n get hidden() {\n return !!this._hidden;\n }\n\n set hidden(value) {\n this._hidden = value;\n }\n\n get outlineLevel() {\n return this._outlineLevel || 0;\n }\n\n set outlineLevel(value) {\n this._outlineLevel = value;\n }\n\n get collapsed() {\n return !!(\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelCol\n );\n }\n\n toString() {\n return JSON.stringify({\n key: this.key,\n width: this.width,\n headers: this.headers.length ? this.headers : undefined,\n });\n }\n\n equivalentTo(other) {\n return (\n this.width === other.width &&\n this.hidden === other.hidden &&\n this.outlineLevel === other.outlineLevel &&\n _.isEqual(this.style, other.style)\n );\n }\n\n get isDefault() {\n if (this.isCustomWidth) {\n return false;\n }\n if (this.hidden) {\n return false;\n }\n if (this.outlineLevel) {\n return false;\n }\n const s = this.style;\n if (s && (s.font || s.numFmt || s.alignment || s.border || s.fill || s.protection)) {\n return false;\n }\n return true;\n }\n\n get headerCount() {\n return this.headers.length;\n }\n\n eachCell(options, iteratee) {\n const colNumber = this.number;\n if (!iteratee) {\n iteratee = options;\n options = null;\n }\n this._worksheet.eachRow(options, (row, rowNumber) => {\n iteratee(row.getCell(colNumber), rowNumber);\n });\n }\n\n get values() {\n const v = [];\n this.eachCell((cell, rowNumber) => {\n if (cell && cell.type !== Enums.ValueType.Null) {\n v[rowNumber] = cell.value;\n }\n });\n return v;\n }\n\n set values(v) {\n if (!v) {\n return;\n }\n const colNumber = this.number;\n let offset = 0;\n if (v.hasOwnProperty('0')) {\n // assume contiguous array, start at row 1\n offset = 1;\n }\n v.forEach((value, index) => {\n this._worksheet.getCell(index + offset, colNumber).value = value;\n });\n }\n\n // =========================================================================\n // styles\n _applyStyle(name, value) {\n this.style[name] = value;\n this.eachCell(cell => {\n cell[name] = value;\n });\n return value;\n }\n\n get numFmt() {\n return this.style.numFmt;\n }\n\n set numFmt(value) {\n this._applyStyle('numFmt', value);\n }\n\n get font() {\n return this.style.font;\n }\n\n set font(value) {\n this._applyStyle('font', value);\n }\n\n get alignment() {\n return this.style.alignment;\n }\n\n set alignment(value) {\n this._applyStyle('alignment', value);\n }\n\n get protection() {\n return this.style.protection;\n }\n\n set protection(value) {\n this._applyStyle('protection', value);\n }\n\n get border() {\n return this.style.border;\n }\n\n set border(value) {\n this._applyStyle('border', value);\n }\n\n get fill() {\n return this.style.fill;\n }\n\n set fill(value) {\n this._applyStyle('fill', value);\n }\n\n // =============================================================================\n // static functions\n\n static toModel(columns) {\n // Convert array of Column into compressed list cols\n const cols = [];\n let col = null;\n if (columns) {\n columns.forEach((column, index) => {\n if (column.isDefault) {\n if (col) {\n col = null;\n }\n } else if (!col || !column.equivalentTo(col)) {\n col = {\n min: index + 1,\n max: index + 1,\n width: column.width !== undefined ? column.width : DEFAULT_COLUMN_WIDTH,\n style: column.style,\n isCustomWidth: column.isCustomWidth,\n hidden: column.hidden,\n outlineLevel: column.outlineLevel,\n collapsed: column.collapsed,\n };\n cols.push(col);\n } else {\n col.max = index + 1;\n }\n });\n }\n return cols.length ? cols : undefined;\n }\n\n static fromModel(worksheet, cols) {\n cols = cols || [];\n const columns = [];\n let count = 1;\n let index = 0;\n /**\n * sort cols by min\n * If it is not sorted, the subsequent column configuration will be overwritten\n * */\n cols = cols.sort(function(pre, next) {\n return pre.min - next.min;\n });\n while (index < cols.length) {\n const col = cols[index++];\n while (count < col.min) {\n columns.push(new Column(worksheet, count++));\n }\n while (count <= col.max) {\n columns.push(new Column(worksheet, count++, col));\n }\n }\n return columns.length ? columns : null;\n }\n}\n\nmodule.exports = Column;\n"],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- class DataValidations {
4
- constructor(model) {
5
- this.model = model || {};
6
- }
7
- add(address, validation) {
8
- return this.model[address] = validation;
9
- }
10
- find(address) {
11
- return this.model[address];
12
- }
13
- remove(address) {
14
- this.model[address] = undefined;
15
- }
16
- }
17
- module.exports = DataValidations;
18
- //# sourceMappingURL=data-validations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-validations.js","names":["DataValidations","constructor","model","add","address","validation","find","remove","undefined","module","exports"],"sources":["../../../lib/doc/data-validations.js"],"sourcesContent":["class DataValidations {\n constructor(model) {\n this.model = model || {};\n }\n\n add(address, validation) {\n return (this.model[address] = validation);\n }\n\n find(address) {\n return this.model[address];\n }\n\n remove(address) {\n this.model[address] = undefined;\n }\n}\n\nmodule.exports = DataValidations;\n"],"mappings":";;AAAA,MAAMA,eAAe,CAAC;EACpBC,WAAWA,CAACC,KAAK,EAAE;IACjB,IAAI,CAACA,KAAK,GAAGA,KAAK,IAAI,CAAC,CAAC;EAC1B;EAEAC,GAAGA,CAACC,OAAO,EAAEC,UAAU,EAAE;IACvB,OAAQ,IAAI,CAACH,KAAK,CAACE,OAAO,CAAC,GAAGC,UAAU;EAC1C;EAEAC,IAAIA,CAACF,OAAO,EAAE;IACZ,OAAO,IAAI,CAACF,KAAK,CAACE,OAAO,CAAC;EAC5B;EAEAG,MAAMA,CAACH,OAAO,EAAE;IACd,IAAI,CAACF,KAAK,CAACE,OAAO,CAAC,GAAGI,SAAS;EACjC;AACF;AAEAC,MAAM,CAACC,OAAO,GAAGV,eAAe"}
@@ -1,173 +0,0 @@
1
- 'use strict';
2
-
3
- const _ = require('../utils/under-dash');
4
- const colCache = require('../utils/col-cache');
5
- const CellMatrix = require('../utils/cell-matrix');
6
- const Range = require('./range');
7
- const rangeRegexp = /[$](\w+)[$](\d+)(:[$](\w+)[$](\d+))?/;
8
- class DefinedNames {
9
- constructor() {
10
- this.matrixMap = {};
11
- }
12
- getMatrix(name) {
13
- const matrix = this.matrixMap[name] || (this.matrixMap[name] = new CellMatrix());
14
- return matrix;
15
- }
16
-
17
- // add a name to a cell. locStr in the form SheetName!$col$row or SheetName!$c1$r1:$c2:$r2
18
- add(locStr, name) {
19
- const location = colCache.decodeEx(locStr);
20
- this.addEx(location, name);
21
- }
22
- addEx(location, name) {
23
- const matrix = this.getMatrix(name);
24
- if (location.top) {
25
- for (let col = location.left; col <= location.right; col++) {
26
- for (let row = location.top; row <= location.bottom; row++) {
27
- const address = {
28
- sheetName: location.sheetName,
29
- address: colCache.n2l(col) + row,
30
- row,
31
- col
32
- };
33
- matrix.addCellEx(address);
34
- }
35
- }
36
- } else {
37
- matrix.addCellEx(location);
38
- }
39
- }
40
- remove(locStr, name) {
41
- const location = colCache.decodeEx(locStr);
42
- this.removeEx(location, name);
43
- }
44
- removeEx(location, name) {
45
- const matrix = this.getMatrix(name);
46
- matrix.removeCellEx(location);
47
- }
48
- removeAllNames(location) {
49
- _.each(this.matrixMap, matrix => {
50
- matrix.removeCellEx(location);
51
- });
52
- }
53
- forEach(callback) {
54
- _.each(this.matrixMap, (matrix, name) => {
55
- matrix.forEach(cell => {
56
- callback(name, cell);
57
- });
58
- });
59
- }
60
-
61
- // get all the names of a cell
62
- getNames(addressStr) {
63
- return this.getNamesEx(colCache.decodeEx(addressStr));
64
- }
65
- getNamesEx(address) {
66
- return _.map(this.matrixMap, (matrix, name) => matrix.findCellEx(address) && name).filter(Boolean);
67
- }
68
- _explore(matrix, cell) {
69
- cell.mark = false;
70
- const {
71
- sheetName
72
- } = cell;
73
- const range = new Range(cell.row, cell.col, cell.row, cell.col, sheetName);
74
- let x;
75
- let y;
76
-
77
- // grow vertical - only one col to worry about
78
- function vGrow(yy, edge) {
79
- const c = matrix.findCellAt(sheetName, yy, cell.col);
80
- if (!c || !c.mark) {
81
- return false;
82
- }
83
- range[edge] = yy;
84
- c.mark = false;
85
- return true;
86
- }
87
- for (y = cell.row - 1; vGrow(y, 'top'); y--);
88
- for (y = cell.row + 1; vGrow(y, 'bottom'); y++);
89
-
90
- // grow horizontal - ensure all rows can grow
91
- function hGrow(xx, edge) {
92
- const cells = [];
93
- for (y = range.top; y <= range.bottom; y++) {
94
- const c = matrix.findCellAt(sheetName, y, xx);
95
- if (c && c.mark) {
96
- cells.push(c);
97
- } else {
98
- return false;
99
- }
100
- }
101
- range[edge] = xx;
102
- for (let i = 0; i < cells.length; i++) {
103
- cells[i].mark = false;
104
- }
105
- return true;
106
- }
107
- for (x = cell.col - 1; hGrow(x, 'left'); x--);
108
- for (x = cell.col + 1; hGrow(x, 'right'); x++);
109
- return range;
110
- }
111
- getRanges(name, matrix) {
112
- matrix = matrix || this.matrixMap[name];
113
- if (!matrix) {
114
- return {
115
- name,
116
- ranges: []
117
- };
118
- }
119
-
120
- // mark and sweep!
121
- matrix.forEach(cell => {
122
- cell.mark = true;
123
- });
124
- const ranges = matrix.map(cell => cell.mark && this._explore(matrix, cell)).filter(Boolean).map(range => range.$shortRange);
125
- return {
126
- name,
127
- ranges
128
- };
129
- }
130
- normaliseMatrix(matrix, sheetName) {
131
- // some of the cells might have shifted on specified sheet
132
- // need to reassign rows, cols
133
- matrix.forEachInSheet(sheetName, (cell, row, col) => {
134
- if (cell) {
135
- if (cell.row !== row || cell.col !== col) {
136
- cell.row = row;
137
- cell.col = col;
138
- cell.address = colCache.n2l(col) + row;
139
- }
140
- }
141
- });
142
- }
143
- spliceRows(sheetName, start, numDelete, numInsert) {
144
- _.each(this.matrixMap, matrix => {
145
- matrix.spliceRows(sheetName, start, numDelete, numInsert);
146
- this.normaliseMatrix(matrix, sheetName);
147
- });
148
- }
149
- spliceColumns(sheetName, start, numDelete, numInsert) {
150
- _.each(this.matrixMap, matrix => {
151
- matrix.spliceColumns(sheetName, start, numDelete, numInsert);
152
- this.normaliseMatrix(matrix, sheetName);
153
- });
154
- }
155
- get model() {
156
- // To get names per cell - just iterate over all names finding cells if they exist
157
- return _.map(this.matrixMap, (matrix, name) => this.getRanges(name, matrix)).filter(definedName => definedName.ranges.length);
158
- }
159
- set model(value) {
160
- // value is [ { name, ranges }, ... ]
161
- const matrixMap = this.matrixMap = {};
162
- value.forEach(definedName => {
163
- const matrix = matrixMap[definedName.name] = new CellMatrix();
164
- definedName.ranges.forEach(rangeStr => {
165
- if (rangeRegexp.test(rangeStr.split('!').pop() || '')) {
166
- matrix.addCell(rangeStr);
167
- }
168
- });
169
- });
170
- }
171
- }
172
- module.exports = DefinedNames;
173
- //# sourceMappingURL=defined-names.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defined-names.js","names":["_","require","colCache","CellMatrix","Range","rangeRegexp","DefinedNames","constructor","matrixMap","getMatrix","name","matrix","add","locStr","location","decodeEx","addEx","top","col","left","right","row","bottom","address","sheetName","n2l","addCellEx","remove","removeEx","removeCellEx","removeAllNames","each","forEach","callback","cell","getNames","addressStr","getNamesEx","map","findCellEx","filter","Boolean","_explore","mark","range","x","y","vGrow","yy","edge","c","findCellAt","hGrow","xx","cells","push","i","length","getRanges","ranges","$shortRange","normaliseMatrix","forEachInSheet","spliceRows","start","numDelete","numInsert","spliceColumns","model","definedName","value","rangeStr","test","split","pop","addCell","module","exports"],"sources":["../../../lib/doc/defined-names.js"],"sourcesContent":["'use strict';\n\nconst _ = require('../utils/under-dash');\nconst colCache = require('../utils/col-cache');\nconst CellMatrix = require('../utils/cell-matrix');\nconst Range = require('./range');\n\nconst rangeRegexp = /[$](\\w+)[$](\\d+)(:[$](\\w+)[$](\\d+))?/;\n\nclass DefinedNames {\n constructor() {\n this.matrixMap = {};\n }\n\n getMatrix(name) {\n const matrix = this.matrixMap[name] || (this.matrixMap[name] = new CellMatrix());\n return matrix;\n }\n\n // add a name to a cell. locStr in the form SheetName!$col$row or SheetName!$c1$r1:$c2:$r2\n add(locStr, name) {\n const location = colCache.decodeEx(locStr);\n this.addEx(location, name);\n }\n\n addEx(location, name) {\n const matrix = this.getMatrix(name);\n if (location.top) {\n for (let col = location.left; col <= location.right; col++) {\n for (let row = location.top; row <= location.bottom; row++) {\n const address = {\n sheetName: location.sheetName,\n address: colCache.n2l(col) + row,\n row,\n col,\n };\n\n matrix.addCellEx(address);\n }\n }\n } else {\n matrix.addCellEx(location);\n }\n }\n\n remove(locStr, name) {\n const location = colCache.decodeEx(locStr);\n this.removeEx(location, name);\n }\n\n removeEx(location, name) {\n const matrix = this.getMatrix(name);\n matrix.removeCellEx(location);\n }\n\n removeAllNames(location) {\n _.each(this.matrixMap, matrix => {\n matrix.removeCellEx(location);\n });\n }\n\n forEach(callback) {\n _.each(this.matrixMap, (matrix, name) => {\n matrix.forEach(cell => {\n callback(name, cell);\n });\n });\n }\n\n // get all the names of a cell\n getNames(addressStr) {\n return this.getNamesEx(colCache.decodeEx(addressStr));\n }\n\n getNamesEx(address) {\n return _.map(this.matrixMap, (matrix, name) => matrix.findCellEx(address) && name).filter(\n Boolean\n );\n }\n\n _explore(matrix, cell) {\n cell.mark = false;\n const {sheetName} = cell;\n\n const range = new Range(cell.row, cell.col, cell.row, cell.col, sheetName);\n let x;\n let y;\n\n // grow vertical - only one col to worry about\n function vGrow(yy, edge) {\n const c = matrix.findCellAt(sheetName, yy, cell.col);\n if (!c || !c.mark) {\n return false;\n }\n range[edge] = yy;\n c.mark = false;\n return true;\n }\n for (y = cell.row - 1; vGrow(y, 'top'); y--);\n for (y = cell.row + 1; vGrow(y, 'bottom'); y++);\n\n // grow horizontal - ensure all rows can grow\n function hGrow(xx, edge) {\n const cells = [];\n for (y = range.top; y <= range.bottom; y++) {\n const c = matrix.findCellAt(sheetName, y, xx);\n if (c && c.mark) {\n cells.push(c);\n } else {\n return false;\n }\n }\n range[edge] = xx;\n for (let i = 0; i < cells.length; i++) {\n cells[i].mark = false;\n }\n return true;\n }\n for (x = cell.col - 1; hGrow(x, 'left'); x--);\n for (x = cell.col + 1; hGrow(x, 'right'); x++);\n\n return range;\n }\n\n getRanges(name, matrix) {\n matrix = matrix || this.matrixMap[name];\n\n if (!matrix) {\n return {name, ranges: []};\n }\n\n // mark and sweep!\n matrix.forEach(cell => {\n cell.mark = true;\n });\n const ranges = matrix\n .map(cell => cell.mark && this._explore(matrix, cell))\n .filter(Boolean)\n .map(range => range.$shortRange);\n\n return {\n name,\n ranges,\n };\n }\n\n normaliseMatrix(matrix, sheetName) {\n // some of the cells might have shifted on specified sheet\n // need to reassign rows, cols\n matrix.forEachInSheet(sheetName, (cell, row, col) => {\n if (cell) {\n if (cell.row !== row || cell.col !== col) {\n cell.row = row;\n cell.col = col;\n cell.address = colCache.n2l(col) + row;\n }\n }\n });\n }\n\n spliceRows(sheetName, start, numDelete, numInsert) {\n _.each(this.matrixMap, matrix => {\n matrix.spliceRows(sheetName, start, numDelete, numInsert);\n this.normaliseMatrix(matrix, sheetName);\n });\n }\n\n spliceColumns(sheetName, start, numDelete, numInsert) {\n _.each(this.matrixMap, matrix => {\n matrix.spliceColumns(sheetName, start, numDelete, numInsert);\n this.normaliseMatrix(matrix, sheetName);\n });\n }\n\n get model() {\n // To get names per cell - just iterate over all names finding cells if they exist\n return _.map(this.matrixMap, (matrix, name) => this.getRanges(name, matrix)).filter(\n definedName => definedName.ranges.length\n );\n }\n\n set model(value) {\n // value is [ { name, ranges }, ... ]\n const matrixMap = (this.matrixMap = {});\n value.forEach(definedName => {\n const matrix = (matrixMap[definedName.name] = new CellMatrix());\n definedName.ranges.forEach(rangeStr => {\n if (rangeRegexp.test(rangeStr.split('!').pop() || '')) {\n matrix.addCell(rangeStr);\n }\n });\n });\n }\n}\n\nmodule.exports = DefinedNames;\n"],"mappings":"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"}