clearotron 0.2.1 → 0.2.3

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 (676) hide show
  1. package/.env.example +82 -1
  2. package/.nvmrc +1 -1
  3. package/CONTRIBUTING.md +3 -3
  4. package/INSTALL.md +64 -58
  5. package/README.md +11 -16
  6. package/THIRD-PARTY-NOTICES.md +1 -1
  7. package/bin/brandowner.mjs +1 -1
  8. package/bin/clearotron.mjs +26 -4
  9. package/bin/connect.mjs +2 -2
  10. package/bin/example.mjs +31 -11
  11. package/bin/grant.mjs +3 -3
  12. package/bin/key.mjs +1 -1
  13. package/bin/onboard.mjs +252 -136
  14. package/bin/start.mjs +176 -33
  15. package/bin/stop.mjs +65 -3
  16. package/bin/update.mjs +7 -7
  17. package/bin/uspto-sync.mjs +1 -1
  18. package/build-info.json +2 -2
  19. package/demo/full-country-search/run/_driver/framework.json +1 -1
  20. package/demo/global-preliminary-search/run/_driver/framework.json +1 -1
  21. package/demo/knockout-search/run/_driver/framework.json +1 -1
  22. package/demo/multi-country-focus-search/run/_driver/framework.json +1 -1
  23. package/docs/DELIVERY.md +6 -2
  24. package/docs/E2E.md +5 -5
  25. package/docs/PORTAL.md +2 -2
  26. package/docs/README.md +5 -4
  27. package/docs/SECURITY.md +17 -0
  28. package/docs/architecture/01-product-overview.md +2 -2
  29. package/docs/architecture/02-architecture.md +2 -2
  30. package/docs/architecture/04-configuration-reference.md +8 -3
  31. package/docs/architecture/05-config-governance.md +52 -5
  32. package/docs/architecture/05-customer-profiles.md +2 -2
  33. package/docs/architecture/06-operations-runbook.md +13 -1
  34. package/docs/architecture/09-security-and-data.md +1 -1
  35. package/docs/configuration.md +4 -3
  36. package/docs/decisions/0004-documentation-structure.md +1 -1
  37. package/driver/CHANGELOG.md +121 -1
  38. package/driver/README.md +2 -2
  39. package/driver/ask-ledger.mjs +3 -3
  40. package/driver/authority-trees.mjs +1 -1
  41. package/driver/call-capture.mjs +1 -1
  42. package/driver/card-frame.mjs +1 -1
  43. package/driver/case-law-ledger.mjs +1 -1
  44. package/driver/claim-liveness.mjs +1 -1
  45. package/driver/common-law-receipts.mjs +2 -2
  46. package/driver/commonlaw-carry.mjs +1 -1
  47. package/driver/config-inventory.mjs +1 -1
  48. package/driver/config-staleness.mjs +1 -1
  49. package/driver/connotation-search.mjs +12 -12
  50. package/driver/contract-audit.mjs +5 -5
  51. package/driver/contract-dictation-registry.mjs +4 -4
  52. package/driver/contract-dictation.mjs +2 -2
  53. package/driver/contract-e3-backlog.mjs +6 -6
  54. package/driver/contract-vocabulary.mjs +3 -3
  55. package/driver/corrections-feedforward.mjs +1 -1
  56. package/driver/coverage-form-io.mjs +2 -2
  57. package/driver/coverage-form.mjs +4 -4
  58. package/driver/coverage-ledger.mjs +3 -3
  59. package/driver/coverage-union.mjs +1 -1
  60. package/driver/declination-call.mjs +35 -3
  61. package/driver/declination-duty.mjs +1 -1
  62. package/driver/deliver-trigger.sh +3 -3
  63. package/driver/deploy-live-run-guard.mjs +6 -2
  64. package/driver/dev-portal.mjs +3 -3
  65. package/driver/disposition-call.mjs +4 -4
  66. package/driver/disposition-tool.mjs +4 -4
  67. package/driver/disposition-union.mjs +2 -2
  68. package/driver/doc-constants.mjs +1 -1
  69. package/driver/door-gates.mjs +2 -2
  70. package/driver/doubt-selection.mjs +2 -2
  71. package/driver/drainer-identity.mjs +1 -1
  72. package/driver/driver.config.mjs +64 -12
  73. package/driver/e2e-rounds.mjs +2 -2
  74. package/driver/effort-model.mjs +2 -2
  75. package/driver/engine/anthropic-agent.mjs +24 -24
  76. package/driver/engine/auth.mjs +1 -1
  77. package/driver/engine/cli-version.mjs +103 -0
  78. package/driver/engine/common.mjs +1 -1
  79. package/driver/engine/deny-authority-write.mjs +1 -1
  80. package/driver/engine/jx-turn.mjs +1 -1
  81. package/driver/engine/mcp/clarivate-server.mjs +1 -1
  82. package/driver/engine/mcp/corsearch-server.mjs +1 -1
  83. package/driver/engine/mcp/declination-server.mjs +1 -1
  84. package/driver/engine/mcp/dispositions-server.mjs +1 -1
  85. package/driver/engine/mcp/euipo-server.mjs +1 -1
  86. package/driver/engine/mcp/fetch-server.mjs +1 -1
  87. package/driver/engine/mcp/free-tier-server.mjs +2 -2
  88. package/driver/engine/mcp/gather-config.mjs +11 -11
  89. package/driver/engine/mcp/perplexity-server.mjs +1 -1
  90. package/driver/engine/mcp/recording-server.mjs +8 -4
  91. package/driver/engine/mcp/signa-server.mjs +1 -1
  92. package/driver/engine/mcp/uspto-local-server.mjs +1 -1
  93. package/driver/engine/openai-agent.mjs +2 -2
  94. package/driver/engine-build.mjs +2 -2
  95. package/driver/enqueue-schema.mjs +10 -10
  96. package/driver/enqueue.mjs +1 -1
  97. package/driver/envelope-settle.mjs +1 -1
  98. package/driver/evidence-claim-invariant.mjs +2 -2
  99. package/driver/feedback-store.mjs +1 -1
  100. package/driver/findings-model.mjs +60 -10
  101. package/driver/flag-snapshot.mjs +20 -0
  102. package/driver/floor-duty.mjs +1 -1
  103. package/driver/form-neighbourhood.mjs +1 -1
  104. package/driver/framework.mjs +2 -2
  105. package/driver/gateway.mjs +45 -23
  106. package/driver/grounds-grammar.mjs +1 -1
  107. package/driver/hit-list.mjs +1 -1
  108. package/driver/jurisdiction-systems.mjs +1 -1
  109. package/driver/jx-lanes.mjs +1 -1
  110. package/driver/jx-units.mjs +1 -1
  111. package/driver/jx.mjs +3 -3
  112. package/driver/knockout-assess-record.mjs +5 -1
  113. package/driver/narrative-refutation-record.mjs +3 -3
  114. package/driver/numeric-setting.mjs +1 -1
  115. package/driver/owner-use-check.mjs +184 -0
  116. package/driver/package.json +4 -4
  117. package/driver/party-facts.mjs +2 -2
  118. package/driver/phase0.mjs +2 -2
  119. package/driver/pipeline-knockout.mjs +52 -4
  120. package/driver/pipeline.mjs +180 -67
  121. package/driver/placement-diff.mjs +2 -2
  122. package/driver/placement-form.mjs +4 -4
  123. package/driver/placement-union.mjs +1 -1
  124. package/driver/plain-register.mjs +120 -0
  125. package/driver/portal-access.mjs +1 -1
  126. package/driver/portal-acks.mjs +1 -1
  127. package/driver/portal-config-view.mjs +42 -3
  128. package/driver/portal-families.mjs +1 -1
  129. package/driver/portal-local-auth.mjs +1 -1
  130. package/driver/portal-report.mjs +7 -7
  131. package/driver/portal-service.mjs +41 -22
  132. package/driver/portal-upstream.mjs +2 -2
  133. package/driver/predelivery-lint.mjs +149 -11
  134. package/driver/prelim-variants-record.mjs +2 -2
  135. package/driver/profile-page.html +11 -3
  136. package/driver/profile-selection.mjs +1 -1
  137. package/driver/profile-service.mjs +6 -6
  138. package/driver/profiles/README.md +3 -3
  139. package/driver/profiles.mjs +145 -13
  140. package/driver/progress.mjs +6 -6
  141. package/driver/provider-usage.mjs +1 -1
  142. package/driver/publish/demo-marking.mjs +1 -1
  143. package/driver/publish/index.mjs +49 -8
  144. package/driver/publish/knockout.mjs +42 -14
  145. package/driver/publish/parse.mjs +4 -4
  146. package/driver/publish/publish-inputs.mjs +2 -2
  147. package/driver/publish/register-presence.mjs +1 -1
  148. package/driver/publish/render-knockout.mjs +646 -144
  149. package/driver/publish/render.mjs +2 -2
  150. package/driver/publish/report-data.mjs +13 -3
  151. package/driver/queue-watch-probe.mjs +1 -1
  152. package/driver/queue-watch-verdict.mjs +1 -1
  153. package/driver/recall-reconciliation.mjs +1 -1
  154. package/driver/recipe-service.mjs +1 -1
  155. package/driver/record-carry.mjs +5 -5
  156. package/driver/recording-agreement.mjs +3 -3
  157. package/driver/reference-score.mjs +7 -7
  158. package/driver/reference-strip-signatures.mjs +20 -0
  159. package/driver/refusal-bound.mjs +3 -3
  160. package/driver/register-availability.mjs +2 -2
  161. package/driver/register-count.mjs +1 -1
  162. package/driver/register-grant-vocabulary.mjs +2 -2
  163. package/driver/register-plan.mjs +8 -8
  164. package/driver/register-records.mjs +2 -2
  165. package/driver/registry-fidelity.mjs +3 -3
  166. package/driver/remedy-accounting.mjs +1 -1
  167. package/driver/repair-composers.mjs +2 -2
  168. package/driver/repair-digest.mjs +3 -3
  169. package/driver/repairs.mjs +6 -6
  170. package/driver/replay-archive.mjs +2 -0
  171. package/driver/report-card-record.mjs +2 -2
  172. package/driver/result-noun-fields.mjs +10 -3
  173. package/driver/run-economics.mjs +2 -2
  174. package/driver/run-integrity.mjs +1 -1
  175. package/driver/runner.mjs +22 -22
  176. package/driver/scope-rules.mjs +1 -1
  177. package/driver/search-policy.mjs +5 -5
  178. package/driver/skeptic-search.mjs +1 -1
  179. package/driver/skills/blind-frame/SKILL.md +2 -2
  180. package/driver/skills/case-law-citation/SKILL.md +2 -2
  181. package/driver/skills/knockout-assess/SKILL.md +94 -4
  182. package/driver/skills/matter-frame/SKILL.md +6 -6
  183. package/driver/skills/matter-frame/watchlist-reference.md +2 -2
  184. package/driver/skills/prelim-common-law/SKILL.md +1 -1
  185. package/driver/skills/prelim-search/SKILL.md +3 -3
  186. package/driver/skills/prelim-search/report-prose.md +82 -0
  187. package/driver/skills/prelim-search/risk-framework-demo.manifest.json +1 -1
  188. package/driver/skills/prelim-search/risk-framework-triage.manifest.json +1 -1
  189. package/driver/skills/prelim-search/risk-framework.manifest.json +1 -1
  190. package/driver/skills/prelim-search/synthesis-rules.md +1 -1
  191. package/driver/skills/prelim-search/template-formatting.md +1 -1
  192. package/driver/skills/prelim-search/templates/email/generic.md +1 -1
  193. package/driver/skills/prelim-search/worked-examples.md +1 -1
  194. package/driver/skills/prelim-variants/SKILL.md +5 -5
  195. package/driver/stage-context.mjs +1 -1
  196. package/driver/stages-knockout.mjs +55 -4
  197. package/driver/stages.mjs +101 -44
  198. package/driver/stray-artifacts.mjs +2 -2
  199. package/driver/suite-census.json +275 -65
  200. package/driver/synthesis-record.mjs +1 -1
  201. package/driver/systemd/clearotron-client-mcp.service +1 -1
  202. package/driver/systemd/clearotron-portal.service +1 -1
  203. package/driver/systemd/render-units.mjs +1 -1
  204. package/driver/tokens.mjs +1 -1
  205. package/driver/tool-calls.mjs +1 -1
  206. package/driver/turnaround-bands.mjs +1 -1
  207. package/driver/unit-file-drift.mjs +1 -1
  208. package/driver/unit-inventory.mjs +297 -80
  209. package/driver/unit-state-verdict.mjs +20 -12
  210. package/driver/verify-knockout.mjs +10 -2
  211. package/driver/verify.mjs +13 -13
  212. package/driver/whatif-memo-run.mjs +72 -9
  213. package/driver/whatif-memo.mjs +19 -1
  214. package/driver/whatif-queue.mjs +1 -1
  215. package/driver/whatif-worker.mjs +1 -1
  216. package/examples/README.md +2 -2
  217. package/examples/grants.example.json +6 -7
  218. package/mcp-server/CHANGELOG.md +6 -0
  219. package/mcp-server/README.md +3 -3
  220. package/mcp-server/http-server.mjs +44 -1
  221. package/mcp-server/key-socket.mjs +184 -0
  222. package/mcp-server/lib/audit-view.mjs +69 -2
  223. package/mcp-server/lib/brief.mjs +15 -0
  224. package/mcp-server/lib/driver.mjs +7 -1
  225. package/mcp-server/lib/events.mjs +1 -1
  226. package/mcp-server/lib/http-handler.mjs +1 -1
  227. package/mcp-server/lib/knockout.mjs +435 -0
  228. package/mcp-server/lib/ops.mjs +4 -4
  229. package/mcp-server/lib/options.mjs +1 -1
  230. package/mcp-server/lib/plan.mjs +1 -1
  231. package/mcp-server/lib/runs.mjs +1 -1
  232. package/mcp-server/lib/scrub.mjs +2 -2
  233. package/mcp-server/lib/whatif.mjs +5 -5
  234. package/mcp-server/mint-token.mjs +1 -1
  235. package/mcp-server/package.json +2 -2
  236. package/mcp-server/packs/ops/EXAMPLES.md +2 -2
  237. package/mcp-server/server.mjs +77 -12
  238. package/package.json +30 -12
  239. package/portal-ui/dist/assets/{index-Ct3iQtZ2.css → index-1ziUJX1E.css} +43 -2
  240. package/portal-ui/dist/assets/{index-BUGgiYtF.js → index-CEYvXdqH.js} +226 -49
  241. package/portal-ui/dist/index.html +2 -2
  242. package/portal-ui/package.json +1 -1
  243. package/providers/_shared/enumerate.mjs +1 -1
  244. package/providers/_shared/ledger-path.mjs +3 -3
  245. package/providers/_shared/ledger.mjs +1 -1
  246. package/providers/_shared/result-shape.mjs +3 -3
  247. package/providers/_shared/term-shape.mjs +2 -2
  248. package/providers/corsearch/src/core.js +1 -1
  249. package/providers/jx-subclass/BUILDING.md +1 -1
  250. package/providers/oauth-mcp-bridge/CHANGELOG.md +6 -0
  251. package/providers/oauth-mcp-bridge/package.json +1 -1
  252. package/providers/oauth-mcp-bridge/stdin-guard.mjs +2 -2
  253. package/providers/uspto-local/src/index-store.js +2 -2
  254. package/scripts/README.md +1 -1
  255. package/scripts/added-reference-check.mjs +29 -1
  256. package/scripts/authority-boundary-probe.mjs +1 -1
  257. package/scripts/backfill-started-at.mjs +1 -1
  258. package/scripts/citation-line-check.mjs +124 -5
  259. package/scripts/compare.mjs +2 -2
  260. package/scripts/contract-dictation-scan.mjs +2 -2
  261. package/scripts/dead-names.mjs +1 -1
  262. package/scripts/drain-preflight.mjs +5 -5
  263. package/scripts/e2e-unread-terminals.mjs +1 -1
  264. package/scripts/e2e.mjs +8 -8
  265. package/scripts/env-audit.mjs +7 -7
  266. package/scripts/env-classify.mjs +206 -18
  267. package/scripts/freeze-example-run.mjs +3 -3
  268. package/scripts/head-arrived-gated.mjs +1 -1
  269. package/scripts/headless-page.mjs +51 -2
  270. package/scripts/live-surface-check.mjs +129 -19
  271. package/scripts/main-health.mjs +1 -1
  272. package/scripts/merge-presence-check.mjs +3 -3
  273. package/scripts/mint-suite-census.mjs +6 -6
  274. package/scripts/nightly-notice.mjs +1 -3
  275. package/scripts/preinstall-node-check.mjs +24 -0
  276. package/scripts/reconcile-runs.mjs +1 -1
  277. package/scripts/release-await-cut.mjs +6 -4
  278. package/scripts/release-version-pr-checks.mjs +1 -1
  279. package/scripts/release-version.mjs +2 -2
  280. package/scripts/render-check.mjs +66 -7
  281. package/scripts/report-frame-check.mjs +1 -1
  282. package/scripts/report-screenshot.mjs +1 -1
  283. package/scripts/revisit-render-check.mjs +1 -1
  284. package/scripts/score.mjs +4 -4
  285. package/scripts/strip-tracker-citations.mjs +139 -0
  286. package/scripts/test-run.mjs +19 -3
  287. package/scripts/third-party-notices.mjs +3 -3
  288. package/scripts/travelling-predicates.mjs +3 -3
  289. package/scripts/unexecuted-asserts.mjs +2 -2
  290. package/scripts/verify-publishable.mjs +2 -2
  291. package/scripts/write-up-form-census.mjs +1 -1
  292. package/shared/access-audience.mjs +1 -1
  293. package/shared/anon-overlay.mjs +3 -3
  294. package/shared/brand.mjs +13 -13
  295. package/shared/citation-scan.mjs +1 -1
  296. package/shared/client-door.mjs +7 -7
  297. package/shared/customer-store.mjs +1 -1
  298. package/shared/driver-dir.mjs +1 -1
  299. package/shared/env-aliases.mjs +0 -48
  300. package/shared/env-local.mjs +1 -1
  301. package/shared/identifier-scan.mjs +3 -3
  302. package/shared/invocation.mjs +29 -1
  303. package/shared/names-in-force.mjs +4 -0
  304. package/shared/node-floor.mjs +97 -0
  305. package/shared/product-owned-names.mjs +1 -1
  306. package/shared/register-selection.mjs +1 -1
  307. package/shared/scope.mjs +5 -5
  308. package/shared/server-units.mjs +4 -4
  309. package/shared/staff-domain.mjs +154 -0
  310. package/shared/store-in-repo.mjs +25 -4
  311. package/shared/suite-census.mjs +4 -4
  312. package/shared/tty-style.mjs +1 -1
  313. package/shared/uspto-index-size.mjs +1 -1
  314. package/shared/vacuous-pass.mjs +1 -1
  315. package/skills/clearotron-account/SKILL.md +42 -13
  316. package/skills/clearotron-ops/SKILL.md +1 -1
  317. package/driver/recipes/README.md +0 -49
  318. package/driver/skills/prelim-search/risk-framework-aurora.manifest.json +0 -19
  319. package/driver/skills/prelim-search/risk-framework-aurora.md +0 -77
  320. package/driver/skills/prelim-search/risk-framework-zephyr.manifest.json +0 -14
  321. package/driver/skills/prelim-search/risk-framework-zephyr.md +0 -33
  322. package/driver/skills/prelim-search/worked-examples-aurora.md +0 -10
  323. package/driver/skills/prelim-search/worked-examples-zephyr.md +0 -10
  324. package/driver/systemd/prelim-driver.path +0 -69
  325. package/driver/systemd/prelim-driver.service +0 -86
  326. package/driver/systemd/prelim-driver.timer +0 -14
  327. package/driver/systemd/prelim-outbox.path +0 -27
  328. package/driver/systemd/prelim-outbox.service +0 -37
  329. package/driver/systemd/prelim-outbox.timer +0 -21
  330. package/node_modules/exceljs/README_zh.md +0 -2878
  331. package/node_modules/exceljs/dist/LICENSE +0 -22
  332. package/node_modules/exceljs/dist/es5/csv/csv.js +0 -182
  333. package/node_modules/exceljs/dist/es5/csv/csv.js.map +0 -1
  334. package/node_modules/exceljs/dist/es5/csv/line-buffer.js +0 -68
  335. package/node_modules/exceljs/dist/es5/csv/line-buffer.js.map +0 -1
  336. package/node_modules/exceljs/dist/es5/csv/stream-converter.js +0 -110
  337. package/node_modules/exceljs/dist/es5/csv/stream-converter.js.map +0 -1
  338. package/node_modules/exceljs/dist/es5/doc/anchor.js +0 -73
  339. package/node_modules/exceljs/dist/es5/doc/anchor.js.map +0 -1
  340. package/node_modules/exceljs/dist/es5/doc/cell.js +0 -961
  341. package/node_modules/exceljs/dist/es5/doc/cell.js.map +0 -1
  342. package/node_modules/exceljs/dist/es5/doc/column.js +0 -274
  343. package/node_modules/exceljs/dist/es5/doc/column.js.map +0 -1
  344. package/node_modules/exceljs/dist/es5/doc/data-validations.js +0 -18
  345. package/node_modules/exceljs/dist/es5/doc/data-validations.js.map +0 -1
  346. package/node_modules/exceljs/dist/es5/doc/defined-names.js +0 -173
  347. package/node_modules/exceljs/dist/es5/doc/defined-names.js.map +0 -1
  348. package/node_modules/exceljs/dist/es5/doc/enums.js +0 -49
  349. package/node_modules/exceljs/dist/es5/doc/enums.js.map +0 -1
  350. package/node_modules/exceljs/dist/es5/doc/image.js +0 -69
  351. package/node_modules/exceljs/dist/es5/doc/image.js.map +0 -1
  352. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js +0 -16
  353. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js.map +0 -1
  354. package/node_modules/exceljs/dist/es5/doc/note.js +0 -64
  355. package/node_modules/exceljs/dist/es5/doc/note.js.map +0 -1
  356. package/node_modules/exceljs/dist/es5/doc/range.js +0 -229
  357. package/node_modules/exceljs/dist/es5/doc/range.js.map +0 -1
  358. package/node_modules/exceljs/dist/es5/doc/row.js +0 -382
  359. package/node_modules/exceljs/dist/es5/doc/row.js.map +0 -1
  360. package/node_modules/exceljs/dist/es5/doc/table.js +0 -443
  361. package/node_modules/exceljs/dist/es5/doc/table.js.map +0 -1
  362. package/node_modules/exceljs/dist/es5/doc/workbook.js +0 -202
  363. package/node_modules/exceljs/dist/es5/doc/workbook.js.map +0 -1
  364. package/node_modules/exceljs/dist/es5/doc/worksheet.js +0 -900
  365. package/node_modules/exceljs/dist/es5/doc/worksheet.js.map +0 -1
  366. package/node_modules/exceljs/dist/es5/exceljs.bare.js +0 -14
  367. package/node_modules/exceljs/dist/es5/exceljs.bare.js.map +0 -1
  368. package/node_modules/exceljs/dist/es5/exceljs.browser.js +0 -36
  369. package/node_modules/exceljs/dist/es5/exceljs.browser.js.map +0 -1
  370. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js +0 -15
  371. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js.map +0 -1
  372. package/node_modules/exceljs/dist/es5/index.js +0 -15
  373. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js +0 -90
  374. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js.map +0 -1
  375. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js +0 -94
  376. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js.map +0 -1
  377. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js +0 -94
  378. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js.map +0 -1
  379. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js +0 -362
  380. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js.map +0 -1
  381. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js +0 -347
  382. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js.map +0 -1
  383. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js +0 -392
  384. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js.map +0 -1
  385. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js +0 -652
  386. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js.map +0 -1
  387. package/node_modules/exceljs/dist/es5/utils/auto-drain.js +0 -18
  388. package/node_modules/exceljs/dist/es5/utils/auto-drain.js.map +0 -1
  389. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js +0 -15
  390. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js.map +0 -1
  391. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js +0 -18
  392. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js.map +0 -1
  393. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js +0 -149
  394. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js.map +0 -1
  395. package/node_modules/exceljs/dist/es5/utils/col-cache.js +0 -258
  396. package/node_modules/exceljs/dist/es5/utils/col-cache.js.map +0 -1
  397. package/node_modules/exceljs/dist/es5/utils/copy-style.js +0 -43
  398. package/node_modules/exceljs/dist/es5/utils/copy-style.js.map +0 -1
  399. package/node_modules/exceljs/dist/es5/utils/encryptor.js +0 -58
  400. package/node_modules/exceljs/dist/es5/utils/encryptor.js.map +0 -1
  401. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js +0 -46
  402. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js.map +0 -1
  403. package/node_modules/exceljs/dist/es5/utils/parse-sax.js +0 -47
  404. package/node_modules/exceljs/dist/es5/utils/parse-sax.js.map +0 -1
  405. package/node_modules/exceljs/dist/es5/utils/shared-formula.js +0 -42
  406. package/node_modules/exceljs/dist/es5/utils/shared-formula.js.map +0 -1
  407. package/node_modules/exceljs/dist/es5/utils/shared-strings.js +0 -32
  408. package/node_modules/exceljs/dist/es5/utils/shared-strings.js.map +0 -1
  409. package/node_modules/exceljs/dist/es5/utils/stream-base64.js +0 -66
  410. package/node_modules/exceljs/dist/es5/utils/stream-base64.js.map +0 -1
  411. package/node_modules/exceljs/dist/es5/utils/stream-buf.js +0 -343
  412. package/node_modules/exceljs/dist/es5/utils/stream-buf.js.map +0 -1
  413. package/node_modules/exceljs/dist/es5/utils/string-buf.js +0 -73
  414. package/node_modules/exceljs/dist/es5/utils/string-buf.js.map +0 -1
  415. package/node_modules/exceljs/dist/es5/utils/string-builder.js +0 -32
  416. package/node_modules/exceljs/dist/es5/utils/string-builder.js.map +0 -1
  417. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js +0 -61
  418. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js.map +0 -1
  419. package/node_modules/exceljs/dist/es5/utils/typed-stack.js +0 -23
  420. package/node_modules/exceljs/dist/es5/utils/typed-stack.js.map +0 -1
  421. package/node_modules/exceljs/dist/es5/utils/under-dash.js +0 -168
  422. package/node_modules/exceljs/dist/es5/utils/under-dash.js.map +0 -1
  423. package/node_modules/exceljs/dist/es5/utils/utils.js +0 -171
  424. package/node_modules/exceljs/dist/es5/utils/utils.js.map +0 -1
  425. package/node_modules/exceljs/dist/es5/utils/xml-stream.js +0 -151
  426. package/node_modules/exceljs/dist/es5/utils/xml-stream.js.map +0 -1
  427. package/node_modules/exceljs/dist/es5/utils/zip-stream.js +0 -79
  428. package/node_modules/exceljs/dist/es5/utils/zip-stream.js.map +0 -1
  429. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js +0 -230
  430. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js.map +0 -1
  431. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js +0 -18
  432. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js.map +0 -1
  433. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js +0 -139
  434. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js.map +0 -1
  435. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js +0 -85
  436. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js.map +0 -1
  437. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js +0 -32
  438. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js.map +0 -1
  439. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js +0 -24
  440. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +0 -1
  441. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js +0 -27
  442. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +0 -1
  443. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js +0 -51
  444. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +0 -1
  445. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js +0 -234
  446. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js.map +0 -1
  447. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js +0 -103
  448. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js.map +0 -1
  449. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js +0 -76
  450. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js.map +0 -1
  451. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js +0 -35
  452. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +0 -1
  453. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js +0 -32
  454. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +0 -1
  455. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js +0 -53
  456. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +0 -1
  457. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js +0 -97
  458. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +0 -1
  459. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js +0 -107
  460. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +0 -1
  461. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js +0 -92
  462. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +0 -1
  463. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +0 -61
  464. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +0 -1
  465. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js +0 -51
  466. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js.map +0 -1
  467. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js +0 -30
  468. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +0 -1
  469. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js +0 -27
  470. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +0 -1
  471. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js +0 -93
  472. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js.map +0 -1
  473. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js +0 -112
  474. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js.map +0 -1
  475. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js +0 -158
  476. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js.map +0 -1
  477. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js +0 -23
  478. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js.map +0 -1
  479. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js +0 -65
  480. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js.map +0 -1
  481. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -47
  482. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +0 -1
  483. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js +0 -61
  484. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +0 -1
  485. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js +0 -40
  486. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js.map +0 -1
  487. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -35
  488. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +0 -1
  489. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +0 -62
  490. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +0 -1
  491. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js +0 -82
  492. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +0 -1
  493. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js +0 -98
  494. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +0 -1
  495. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js +0 -40
  496. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +0 -1
  497. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js +0 -38
  498. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js.map +0 -1
  499. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js +0 -38
  500. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +0 -1
  501. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -59
  502. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +0 -1
  503. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -63
  504. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +0 -1
  505. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js +0 -67
  506. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js.map +0 -1
  507. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js +0 -30
  508. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js.map +0 -1
  509. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -62
  510. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +0 -1
  511. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js +0 -91
  512. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js.map +0 -1
  513. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +0 -40
  514. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +0 -1
  515. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js +0 -451
  516. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js.map +0 -1
  517. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -275
  518. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +0 -1
  519. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js +0 -25
  520. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +0 -1
  521. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js +0 -38
  522. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +0 -1
  523. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -45
  524. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +0 -1
  525. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -77
  526. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +0 -1
  527. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js +0 -42
  528. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +0 -1
  529. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -71
  530. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +0 -1
  531. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js +0 -22
  532. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +0 -1
  533. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js +0 -43
  534. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +0 -1
  535. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -28
  536. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +0 -1
  537. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -88
  538. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +0 -1
  539. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -38
  540. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +0 -1
  541. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -52
  542. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +0 -1
  543. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -43
  544. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +0 -1
  545. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -75
  546. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +0 -1
  547. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -22
  548. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +0 -1
  549. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -66
  550. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +0 -1
  551. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -22
  552. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +0 -1
  553. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js +0 -78
  554. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js.map +0 -1
  555. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js +0 -247
  556. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +0 -1
  557. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js +0 -28
  558. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +0 -1
  559. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js +0 -32
  560. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +0 -1
  561. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js +0 -69
  562. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +0 -1
  563. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js +0 -126
  564. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +0 -1
  565. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js +0 -50
  566. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +0 -1
  567. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js +0 -26
  568. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +0 -1
  569. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js +0 -52
  570. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js.map +0 -1
  571. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js +0 -35
  572. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +0 -1
  573. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js +0 -24
  574. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +0 -1
  575. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js +0 -46
  576. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +0 -1
  577. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js +0 -32
  578. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +0 -1
  579. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js +0 -99
  580. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +0 -1
  581. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js +0 -32
  582. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js.map +0 -1
  583. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js +0 -45
  584. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +0 -1
  585. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js +0 -37
  586. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +0 -1
  587. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js +0 -128
  588. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js.map +0 -1
  589. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -51
  590. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +0 -1
  591. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js +0 -83
  592. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +0 -1
  593. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js +0 -84
  594. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +0 -1
  595. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js +0 -190
  596. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +0 -1
  597. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js +0 -32
  598. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +0 -1
  599. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js +0 -513
  600. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +0 -1
  601. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js +0 -27
  602. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js.map +0 -1
  603. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js +0 -58
  604. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js.map +0 -1
  605. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js +0 -47
  606. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js.map +0 -1
  607. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js +0 -53
  608. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js.map +0 -1
  609. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js +0 -47
  610. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js.map +0 -1
  611. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js +0 -61
  612. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js.map +0 -1
  613. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js +0 -98
  614. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +0 -1
  615. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js +0 -92
  616. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +0 -1
  617. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js +0 -99
  618. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +0 -1
  619. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js +0 -114
  620. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +0 -1
  621. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js +0 -39
  622. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js.map +0 -1
  623. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js +0 -139
  624. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js.map +0 -1
  625. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js +0 -185
  626. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js.map +0 -1
  627. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js +0 -66
  628. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js.map +0 -1
  629. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js +0 -106
  630. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js.map +0 -1
  631. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js +0 -308
  632. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js.map +0 -1
  633. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js +0 -175
  634. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js.map +0 -1
  635. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js +0 -59
  636. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js.map +0 -1
  637. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js +0 -53
  638. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js.map +0 -1
  639. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js +0 -118
  640. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js.map +0 -1
  641. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js +0 -612
  642. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js.map +0 -1
  643. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js +0 -46
  644. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js.map +0 -1
  645. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js +0 -75
  646. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +0 -1
  647. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js +0 -30
  648. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +0 -1
  649. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js +0 -89
  650. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js.map +0 -1
  651. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js +0 -28
  652. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js.map +0 -1
  653. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js +0 -42
  654. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js.map +0 -1
  655. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js +0 -40
  656. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +0 -1
  657. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js +0 -123
  658. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js.map +0 -1
  659. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js +0 -697
  660. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js.map +0 -1
  661. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js +0 -5
  662. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js.map +0 -1
  663. package/node_modules/exceljs/dist/exceljs.bare.js +0 -55253
  664. package/node_modules/exceljs/dist/exceljs.bare.js.map +0 -761
  665. package/node_modules/exceljs/dist/exceljs.bare.min.js +0 -45
  666. package/node_modules/exceljs/dist/exceljs.bare.min.js.map +0 -1
  667. package/node_modules/exceljs/dist/exceljs.js +0 -59900
  668. package/node_modules/exceljs/dist/exceljs.js.map +0 -1083
  669. package/node_modules/exceljs/dist/exceljs.min.js +0 -45
  670. package/node_modules/exceljs/dist/exceljs.min.js.map +0 -1
  671. package/scripts/ai-page-render-check.mjs +0 -532
  672. package/scripts/clearances-render-check.mjs +0 -480
  673. package/scripts/composer-render-check.mjs +0 -1027
  674. package/scripts/deploy-test.sh +0 -309
  675. package/scripts/home-render-check.mjs +0 -526
  676. package/scripts/portal-lifecycle-check.mjs +0 -639
@@ -1,900 +0,0 @@
1
- "use strict";
2
-
3
- const _ = require('../utils/under-dash');
4
- const colCache = require('../utils/col-cache');
5
- const Range = require('./range');
6
- const Row = require('./row');
7
- const Column = require('./column');
8
- const Enums = require('./enums');
9
- const Image = require('./image');
10
- const Table = require('./table');
11
- const DataValidations = require('./data-validations');
12
- const Encryptor = require('../utils/encryptor');
13
- const {
14
- copyStyle
15
- } = require('../utils/copy-style');
16
-
17
- // Worksheet requirements
18
- // Operate as sheet inside workbook or standalone
19
- // Load and Save from file and stream
20
- // Access/Add/Delete individual cells
21
- // Manage column widths and row heights
22
-
23
- class Worksheet {
24
- constructor(options) {
25
- options = options || {};
26
- this._workbook = options.workbook;
27
-
28
- // in a workbook, each sheet will have a number
29
- this.id = options.id;
30
- this.orderNo = options.orderNo;
31
-
32
- // and a name
33
- this.name = options.name;
34
-
35
- // add a state
36
- this.state = options.state || 'visible';
37
-
38
- // rows allows access organised by row. Sparse array of arrays indexed by row-1, col
39
- // Note: _rows is zero based. Must subtract 1 to go from cell.row to index
40
- this._rows = [];
41
-
42
- // column definitions
43
- this._columns = null;
44
-
45
- // column keys (addRow convenience): key ==> this._collumns index
46
- this._keys = {};
47
-
48
- // keep record of all merges
49
- this._merges = {};
50
-
51
- // record of all row and column pageBreaks
52
- this.rowBreaks = [];
53
-
54
- // for tabColor, default row height, outline levels, etc
55
- this.properties = Object.assign({}, {
56
- defaultRowHeight: 15,
57
- dyDescent: 55,
58
- outlineLevelCol: 0,
59
- outlineLevelRow: 0
60
- }, options.properties);
61
-
62
- // for all things printing
63
- this.pageSetup = Object.assign({}, {
64
- margins: {
65
- left: 0.7,
66
- right: 0.7,
67
- top: 0.75,
68
- bottom: 0.75,
69
- header: 0.3,
70
- footer: 0.3
71
- },
72
- orientation: 'portrait',
73
- horizontalDpi: 4294967295,
74
- verticalDpi: 4294967295,
75
- fitToPage: !!(options.pageSetup && (options.pageSetup.fitToWidth || options.pageSetup.fitToHeight) && !options.pageSetup.scale),
76
- pageOrder: 'downThenOver',
77
- blackAndWhite: false,
78
- draft: false,
79
- cellComments: 'None',
80
- errors: 'displayed',
81
- scale: 100,
82
- fitToWidth: 1,
83
- fitToHeight: 1,
84
- paperSize: undefined,
85
- showRowColHeaders: false,
86
- showGridLines: false,
87
- firstPageNumber: undefined,
88
- horizontalCentered: false,
89
- verticalCentered: false,
90
- rowBreaks: null,
91
- colBreaks: null
92
- }, options.pageSetup);
93
- this.headerFooter = Object.assign({}, {
94
- differentFirst: false,
95
- differentOddEven: false,
96
- oddHeader: null,
97
- oddFooter: null,
98
- evenHeader: null,
99
- evenFooter: null,
100
- firstHeader: null,
101
- firstFooter: null
102
- }, options.headerFooter);
103
- this.dataValidations = new DataValidations();
104
-
105
- // for freezepanes, split, zoom, gridlines, etc
106
- this.views = options.views || [];
107
- this.autoFilter = options.autoFilter || null;
108
-
109
- // for images, etc
110
- this._media = [];
111
-
112
- // worksheet protection
113
- this.sheetProtection = null;
114
-
115
- // for tables
116
- this.tables = {};
117
- this.conditionalFormattings = [];
118
- }
119
- get name() {
120
- return this._name;
121
- }
122
- set name(name) {
123
- if (name === undefined) {
124
- name = `sheet${this.id}`;
125
- }
126
- if (this._name === name) return;
127
- if (typeof name !== 'string') {
128
- throw new Error('The name has to be a string.');
129
- }
130
- if (name === '') {
131
- throw new Error('The name can\'t be empty.');
132
- }
133
- if (name === 'History') {
134
- throw new Error('The name "History" is protected. Please use a different name.');
135
- }
136
-
137
- // Illegal character in worksheet name: asterisk (*), question mark (?),
138
- // colon (:), forward slash (/ \), or bracket ([])
139
- if (/[*?:/\\[\]]/.test(name)) {
140
- throw new Error(`Worksheet name ${name} cannot include any of the following characters: * ? : \\ / [ ]`);
141
- }
142
- if (/(^')|('$)/.test(name)) {
143
- throw new Error(`The first or last character of worksheet name cannot be a single quotation mark: ${name}`);
144
- }
145
- if (name && name.length > 31) {
146
- // eslint-disable-next-line no-console
147
- console.warn(`Worksheet name ${name} exceeds 31 chars. This will be truncated`);
148
- name = name.substring(0, 31);
149
- }
150
- if (this._workbook._worksheets.find(ws => ws && ws.name.toLowerCase() === name.toLowerCase())) {
151
- throw new Error(`Worksheet name already exists: ${name}`);
152
- }
153
- this._name = name;
154
- }
155
- get workbook() {
156
- return this._workbook;
157
- }
158
-
159
- // when you're done with this worksheet, call this to remove from workbook
160
- destroy() {
161
- this._workbook.removeWorksheetEx(this);
162
- }
163
-
164
- // Get the bounding range of the cells in this worksheet
165
- get dimensions() {
166
- const dimensions = new Range();
167
- this._rows.forEach(row => {
168
- if (row) {
169
- const rowDims = row.dimensions;
170
- if (rowDims) {
171
- dimensions.expand(row.number, rowDims.min, row.number, rowDims.max);
172
- }
173
- }
174
- });
175
- return dimensions;
176
- }
177
-
178
- // =========================================================================
179
- // Columns
180
-
181
- // get the current columns array.
182
- get columns() {
183
- return this._columns;
184
- }
185
-
186
- // set the columns from an array of column definitions.
187
- // Note: any headers defined will overwrite existing values.
188
- set columns(value) {
189
- // calculate max header row count
190
- this._headerRowCount = value.reduce((pv, cv) => {
191
- const headerCount = cv.header && 1 || cv.headers && cv.headers.length || 0;
192
- return Math.max(pv, headerCount);
193
- }, 0);
194
-
195
- // construct Column objects
196
- let count = 1;
197
- const columns = this._columns = [];
198
- value.forEach(defn => {
199
- const column = new Column(this, count++, false);
200
- columns.push(column);
201
- column.defn = defn;
202
- });
203
- }
204
- getColumnKey(key) {
205
- return this._keys[key];
206
- }
207
- setColumnKey(key, value) {
208
- this._keys[key] = value;
209
- }
210
- deleteColumnKey(key) {
211
- delete this._keys[key];
212
- }
213
- eachColumnKey(f) {
214
- _.each(this._keys, f);
215
- }
216
-
217
- // get a single column by col number. If it doesn't exist, create it and any gaps before it
218
- getColumn(c) {
219
- if (typeof c === 'string') {
220
- // if it matches a key'd column, return that
221
- const col = this._keys[c];
222
- if (col) return col;
223
-
224
- // otherwise, assume letter
225
- c = colCache.l2n(c);
226
- }
227
- if (!this._columns) {
228
- this._columns = [];
229
- }
230
- if (c > this._columns.length) {
231
- let n = this._columns.length + 1;
232
- while (n <= c) {
233
- this._columns.push(new Column(this, n++));
234
- }
235
- }
236
- return this._columns[c - 1];
237
- }
238
- spliceColumns(start, count) {
239
- const rows = this._rows;
240
- const nRows = rows.length;
241
- for (var _len = arguments.length, inserts = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
242
- inserts[_key - 2] = arguments[_key];
243
- }
244
- if (inserts.length > 0) {
245
- // must iterate over all rows whether they exist yet or not
246
- for (let i = 0; i < nRows; i++) {
247
- const rowArguments = [start, count];
248
- // eslint-disable-next-line no-loop-func
249
- inserts.forEach(insert => {
250
- rowArguments.push(insert[i] || null);
251
- });
252
- const row = this.getRow(i + 1);
253
- // eslint-disable-next-line prefer-spread
254
- row.splice.apply(row, rowArguments);
255
- }
256
- } else {
257
- // nothing to insert, so just splice all rows
258
- this._rows.forEach(r => {
259
- if (r) {
260
- r.splice(start, count);
261
- }
262
- });
263
- }
264
-
265
- // splice column definitions
266
- const nExpand = inserts.length - count;
267
- const nKeep = start + count;
268
- const nEnd = this._columns.length;
269
- if (nExpand < 0) {
270
- for (let i = start + inserts.length; i <= nEnd; i++) {
271
- this.getColumn(i).defn = this.getColumn(i - nExpand).defn;
272
- }
273
- } else if (nExpand > 0) {
274
- for (let i = nEnd; i >= nKeep; i--) {
275
- this.getColumn(i + nExpand).defn = this.getColumn(i).defn;
276
- }
277
- }
278
- for (let i = start; i < start + inserts.length; i++) {
279
- this.getColumn(i).defn = null;
280
- }
281
-
282
- // account for defined names
283
- this.workbook.definedNames.spliceColumns(this.name, start, count, inserts.length);
284
- }
285
- get lastColumn() {
286
- return this.getColumn(this.columnCount);
287
- }
288
- get columnCount() {
289
- let maxCount = 0;
290
- this.eachRow(row => {
291
- maxCount = Math.max(maxCount, row.cellCount);
292
- });
293
- return maxCount;
294
- }
295
- get actualColumnCount() {
296
- // performance nightmare - for each row, counts all the columns used
297
- const counts = [];
298
- let count = 0;
299
- this.eachRow(row => {
300
- row.eachCell(_ref => {
301
- let {
302
- col
303
- } = _ref;
304
- if (!counts[col]) {
305
- counts[col] = true;
306
- count++;
307
- }
308
- });
309
- });
310
- return count;
311
- }
312
-
313
- // =========================================================================
314
- // Rows
315
-
316
- _commitRow() {
317
- // nop - allows streaming reader to fill a document
318
- }
319
- get _lastRowNumber() {
320
- // need to cope with results of splice
321
- const rows = this._rows;
322
- let n = rows.length;
323
- while (n > 0 && rows[n - 1] === undefined) {
324
- n--;
325
- }
326
- return n;
327
- }
328
- get _nextRow() {
329
- return this._lastRowNumber + 1;
330
- }
331
- get lastRow() {
332
- if (this._rows.length) {
333
- return this._rows[this._rows.length - 1];
334
- }
335
- return undefined;
336
- }
337
-
338
- // find a row (if exists) by row number
339
- findRow(r) {
340
- return this._rows[r - 1];
341
- }
342
-
343
- // find multiple rows (if exists) by row number
344
- findRows(start, length) {
345
- return this._rows.slice(start - 1, start - 1 + length);
346
- }
347
- get rowCount() {
348
- return this._lastRowNumber;
349
- }
350
- get actualRowCount() {
351
- // counts actual rows that have actual data
352
- let count = 0;
353
- this.eachRow(() => {
354
- count++;
355
- });
356
- return count;
357
- }
358
-
359
- // get a row by row number.
360
- getRow(r) {
361
- let row = this._rows[r - 1];
362
- if (!row) {
363
- row = this._rows[r - 1] = new Row(this, r);
364
- }
365
- return row;
366
- }
367
-
368
- // get multiple rows by row number.
369
- getRows(start, length) {
370
- if (length < 1) return undefined;
371
- const rows = [];
372
- for (let i = start; i < start + length; i++) {
373
- rows.push(this.getRow(i));
374
- }
375
- return rows;
376
- }
377
- addRow(value) {
378
- let style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'n';
379
- const rowNo = this._nextRow;
380
- const row = this.getRow(rowNo);
381
- row.values = value;
382
- this._setStyleOption(rowNo, style[0] === 'i' ? style : 'n');
383
- return row;
384
- }
385
- addRows(value) {
386
- let style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'n';
387
- const rows = [];
388
- value.forEach(row => {
389
- rows.push(this.addRow(row, style));
390
- });
391
- return rows;
392
- }
393
- insertRow(pos, value) {
394
- let style = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'n';
395
- this.spliceRows(pos, 0, value);
396
- this._setStyleOption(pos, style);
397
- return this.getRow(pos);
398
- }
399
- insertRows(pos, values) {
400
- let style = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'n';
401
- this.spliceRows(pos, 0, ...values);
402
- if (style !== 'n') {
403
- // copy over the styles
404
- for (let i = 0; i < values.length; i++) {
405
- if (style[0] === 'o' && this.findRow(values.length + pos + i) !== undefined) {
406
- this._copyStyle(values.length + pos + i, pos + i, style[1] === '+');
407
- } else if (style[0] === 'i' && this.findRow(pos - 1) !== undefined) {
408
- this._copyStyle(pos - 1, pos + i, style[1] === '+');
409
- }
410
- }
411
- }
412
- return this.getRows(pos, values.length);
413
- }
414
-
415
- // set row at position to same style as of either pervious row (option 'i') or next row (option 'o')
416
- _setStyleOption(pos) {
417
- let style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'n';
418
- if (style[0] === 'o' && this.findRow(pos + 1) !== undefined) {
419
- this._copyStyle(pos + 1, pos, style[1] === '+');
420
- } else if (style[0] === 'i' && this.findRow(pos - 1) !== undefined) {
421
- this._copyStyle(pos - 1, pos, style[1] === '+');
422
- }
423
- }
424
- _copyStyle(src, dest) {
425
- let styleEmpty = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
426
- const rSrc = this.getRow(src);
427
- const rDst = this.getRow(dest);
428
- rDst.style = copyStyle(rSrc.style);
429
- // eslint-disable-next-line no-loop-func
430
- rSrc.eachCell({
431
- includeEmpty: styleEmpty
432
- }, (cell, colNumber) => {
433
- rDst.getCell(colNumber).style = copyStyle(cell.style);
434
- });
435
- rDst.height = rSrc.height;
436
- }
437
- duplicateRow(rowNum, count) {
438
- let insert = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
439
- // create count duplicates of rowNum
440
- // either inserting new or overwriting existing rows
441
-
442
- const rSrc = this._rows[rowNum - 1];
443
- const inserts = new Array(count).fill(rSrc.values);
444
- this.spliceRows(rowNum + 1, insert ? 0 : count, ...inserts);
445
-
446
- // now copy styles...
447
- for (let i = 0; i < count; i++) {
448
- const rDst = this._rows[rowNum + i];
449
- rDst.style = rSrc.style;
450
- rDst.height = rSrc.height;
451
- // eslint-disable-next-line no-loop-func
452
- rSrc.eachCell({
453
- includeEmpty: true
454
- }, (cell, colNumber) => {
455
- rDst.getCell(colNumber).style = cell.style;
456
- });
457
- }
458
- }
459
- spliceRows(start, count) {
460
- // same problem as row.splice, except worse.
461
- const nKeep = start + count;
462
- for (var _len2 = arguments.length, inserts = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
463
- inserts[_key2 - 2] = arguments[_key2];
464
- }
465
- const nInserts = inserts.length;
466
- const nExpand = nInserts - count;
467
- const nEnd = this._rows.length;
468
- let i;
469
- let rSrc;
470
- if (nExpand < 0) {
471
- // remove rows
472
- if (start === nEnd) {
473
- this._rows[nEnd - 1] = undefined;
474
- }
475
- for (i = nKeep; i <= nEnd; i++) {
476
- rSrc = this._rows[i - 1];
477
- if (rSrc) {
478
- const rDst = this.getRow(i + nExpand);
479
- rDst.values = rSrc.values;
480
- rDst.style = rSrc.style;
481
- rDst.height = rSrc.height;
482
- // eslint-disable-next-line no-loop-func
483
- rSrc.eachCell({
484
- includeEmpty: true
485
- }, (cell, colNumber) => {
486
- rDst.getCell(colNumber).style = cell.style;
487
- });
488
- this._rows[i - 1] = undefined;
489
- } else {
490
- this._rows[i + nExpand - 1] = undefined;
491
- }
492
- }
493
- } else if (nExpand > 0) {
494
- // insert new cells
495
- for (i = nEnd; i >= nKeep; i--) {
496
- rSrc = this._rows[i - 1];
497
- if (rSrc) {
498
- const rDst = this.getRow(i + nExpand);
499
- rDst.values = rSrc.values;
500
- rDst.style = rSrc.style;
501
- rDst.height = rSrc.height;
502
- // eslint-disable-next-line no-loop-func
503
- rSrc.eachCell({
504
- includeEmpty: true
505
- }, (cell, colNumber) => {
506
- rDst.getCell(colNumber).style = cell.style;
507
-
508
- // remerge cells accounting for insert offset
509
- if (cell._value.constructor.name === 'MergeValue') {
510
- const cellToBeMerged = this.getRow(cell._row._number + nInserts).getCell(colNumber);
511
- const prevMaster = cell._value._master;
512
- const newMaster = this.getRow(prevMaster._row._number + nInserts).getCell(prevMaster._column._number);
513
- cellToBeMerged.merge(newMaster);
514
- }
515
- });
516
- } else {
517
- this._rows[i + nExpand - 1] = undefined;
518
- }
519
- }
520
- }
521
-
522
- // now copy over the new values
523
- for (i = 0; i < nInserts; i++) {
524
- const rDst = this.getRow(start + i);
525
- rDst.style = {};
526
- rDst.values = inserts[i];
527
- }
528
-
529
- // account for defined names
530
- this.workbook.definedNames.spliceRows(this.name, start, count, nInserts);
531
- }
532
-
533
- // iterate over every row in the worksheet, including maybe empty rows
534
- eachRow(options, iteratee) {
535
- if (!iteratee) {
536
- iteratee = options;
537
- options = undefined;
538
- }
539
- if (options && options.includeEmpty) {
540
- const n = this._rows.length;
541
- for (let i = 1; i <= n; i++) {
542
- iteratee(this.getRow(i), i);
543
- }
544
- } else {
545
- this._rows.forEach(row => {
546
- if (row && row.hasValues) {
547
- iteratee(row, row.number);
548
- }
549
- });
550
- }
551
- }
552
-
553
- // return all rows as sparse array
554
- getSheetValues() {
555
- const rows = [];
556
- this._rows.forEach(row => {
557
- if (row) {
558
- rows[row.number] = row.values;
559
- }
560
- });
561
- return rows;
562
- }
563
-
564
- // =========================================================================
565
- // Cells
566
-
567
- // returns the cell at [r,c] or address given by r. If not found, return undefined
568
- findCell(r, c) {
569
- const address = colCache.getAddress(r, c);
570
- const row = this._rows[address.row - 1];
571
- return row ? row.findCell(address.col) : undefined;
572
- }
573
-
574
- // return the cell at [r,c] or address given by r. If not found, create a new one.
575
- getCell(r, c) {
576
- const address = colCache.getAddress(r, c);
577
- const row = this.getRow(address.row);
578
- return row.getCellEx(address);
579
- }
580
-
581
- // =========================================================================
582
- // Merge
583
-
584
- // convert the range defined by ['tl:br'], [tl,br] or [t,l,b,r] into a single 'merged' cell
585
- mergeCells() {
586
- for (var _len3 = arguments.length, cells = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
587
- cells[_key3] = arguments[_key3];
588
- }
589
- const dimensions = new Range(cells);
590
- this._mergeCellsInternal(dimensions);
591
- }
592
- mergeCellsWithoutStyle() {
593
- for (var _len4 = arguments.length, cells = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
594
- cells[_key4] = arguments[_key4];
595
- }
596
- const dimensions = new Range(cells);
597
- this._mergeCellsInternal(dimensions, true);
598
- }
599
- _mergeCellsInternal(dimensions, ignoreStyle) {
600
- // check cells aren't already merged
601
- _.each(this._merges, merge => {
602
- if (merge.intersects(dimensions)) {
603
- throw new Error('Cannot merge already merged cells');
604
- }
605
- });
606
-
607
- // apply merge
608
- const master = this.getCell(dimensions.top, dimensions.left);
609
- for (let i = dimensions.top; i <= dimensions.bottom; i++) {
610
- for (let j = dimensions.left; j <= dimensions.right; j++) {
611
- // merge all but the master cell
612
- if (i > dimensions.top || j > dimensions.left) {
613
- this.getCell(i, j).merge(master, ignoreStyle);
614
- }
615
- }
616
- }
617
-
618
- // index merge
619
- this._merges[master.address] = dimensions;
620
- }
621
- _unMergeMaster(master) {
622
- // master is always top left of a rectangle
623
- const merge = this._merges[master.address];
624
- if (merge) {
625
- for (let i = merge.top; i <= merge.bottom; i++) {
626
- for (let j = merge.left; j <= merge.right; j++) {
627
- this.getCell(i, j).unmerge();
628
- }
629
- }
630
- delete this._merges[master.address];
631
- }
632
- }
633
- get hasMerges() {
634
- // return true if this._merges has a merge object
635
- return _.some(this._merges, Boolean);
636
- }
637
-
638
- // scan the range defined by ['tl:br'], [tl,br] or [t,l,b,r] and if any cell is part of a merge,
639
- // un-merge the group. Note this function can affect multiple merges and merge-blocks are
640
- // atomic - either they're all merged or all un-merged.
641
- unMergeCells() {
642
- for (var _len5 = arguments.length, cells = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
643
- cells[_key5] = arguments[_key5];
644
- }
645
- const dimensions = new Range(cells);
646
-
647
- // find any cells in that range and unmerge them
648
- for (let i = dimensions.top; i <= dimensions.bottom; i++) {
649
- for (let j = dimensions.left; j <= dimensions.right; j++) {
650
- const cell = this.findCell(i, j);
651
- if (cell) {
652
- if (cell.type === Enums.ValueType.Merge) {
653
- // this cell merges to another master
654
- this._unMergeMaster(cell.master);
655
- } else if (this._merges[cell.address]) {
656
- // this cell is a master
657
- this._unMergeMaster(cell);
658
- }
659
- }
660
- }
661
- }
662
- }
663
-
664
- // ===========================================================================
665
- // Shared/Array Formula
666
- fillFormula(range, formula, results) {
667
- let shareType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'shared';
668
- // Define formula for top-left cell and share to rest
669
- const decoded = colCache.decode(range);
670
- const {
671
- top,
672
- left,
673
- bottom,
674
- right
675
- } = decoded;
676
- const width = right - left + 1;
677
- const masterAddress = colCache.encodeAddress(top, left);
678
- const isShared = shareType === 'shared';
679
-
680
- // work out result accessor
681
- let getResult;
682
- if (typeof results === 'function') {
683
- getResult = results;
684
- } else if (Array.isArray(results)) {
685
- if (Array.isArray(results[0])) {
686
- getResult = (row, col) => results[row - top][col - left];
687
- } else {
688
- // eslint-disable-next-line no-mixed-operators
689
- getResult = (row, col) => results[(row - top) * width + (col - left)];
690
- }
691
- } else {
692
- getResult = () => undefined;
693
- }
694
- let first = true;
695
- for (let r = top; r <= bottom; r++) {
696
- for (let c = left; c <= right; c++) {
697
- if (first) {
698
- this.getCell(r, c).value = {
699
- shareType,
700
- formula,
701
- ref: range,
702
- result: getResult(r, c)
703
- };
704
- first = false;
705
- } else {
706
- this.getCell(r, c).value = isShared ? {
707
- sharedFormula: masterAddress,
708
- result: getResult(r, c)
709
- } : getResult(r, c);
710
- }
711
- }
712
- }
713
- }
714
-
715
- // =========================================================================
716
- // Images
717
- addImage(imageId, range) {
718
- const model = {
719
- type: 'image',
720
- imageId,
721
- range
722
- };
723
- this._media.push(new Image(this, model));
724
- }
725
- getImages() {
726
- return this._media.filter(m => m.type === 'image');
727
- }
728
- addBackgroundImage(imageId) {
729
- const model = {
730
- type: 'background',
731
- imageId
732
- };
733
- this._media.push(new Image(this, model));
734
- }
735
- getBackgroundImageId() {
736
- const image = this._media.find(m => m.type === 'background');
737
- return image && image.imageId;
738
- }
739
-
740
- // =========================================================================
741
- // Worksheet Protection
742
- protect(password, options) {
743
- // TODO: make this function truly async
744
- // perhaps marshal to worker thread or something
745
- return new Promise(resolve => {
746
- this.sheetProtection = {
747
- sheet: true
748
- };
749
- if (options && 'spinCount' in options) {
750
- // force spinCount to be integer >= 0
751
- options.spinCount = Number.isFinite(options.spinCount) ? Math.round(Math.max(0, options.spinCount)) : 100000;
752
- }
753
- if (password) {
754
- this.sheetProtection.algorithmName = 'SHA-512';
755
- this.sheetProtection.saltValue = Encryptor.randomBytes(16).toString('base64');
756
- this.sheetProtection.spinCount = options && 'spinCount' in options ? options.spinCount : 100000; // allow user specified spinCount
757
- this.sheetProtection.hashValue = Encryptor.convertPasswordToHash(password, 'SHA512', this.sheetProtection.saltValue, this.sheetProtection.spinCount);
758
- }
759
- if (options) {
760
- this.sheetProtection = Object.assign(this.sheetProtection, options);
761
- if (!password && 'spinCount' in options) {
762
- delete this.sheetProtection.spinCount;
763
- }
764
- }
765
- resolve();
766
- });
767
- }
768
- unprotect() {
769
- this.sheetProtection = null;
770
- }
771
-
772
- // =========================================================================
773
- // Tables
774
- addTable(model) {
775
- const table = new Table(this, model);
776
- this.tables[model.name] = table;
777
- return table;
778
- }
779
- getTable(name) {
780
- return this.tables[name];
781
- }
782
- removeTable(name) {
783
- delete this.tables[name];
784
- }
785
- getTables() {
786
- return Object.values(this.tables);
787
- }
788
-
789
- // ===========================================================================
790
- // Conditional Formatting
791
- addConditionalFormatting(cf) {
792
- this.conditionalFormattings.push(cf);
793
- }
794
- removeConditionalFormatting(filter) {
795
- if (typeof filter === 'number') {
796
- this.conditionalFormattings.splice(filter, 1);
797
- } else if (filter instanceof Function) {
798
- this.conditionalFormattings = this.conditionalFormattings.filter(filter);
799
- } else {
800
- this.conditionalFormattings = [];
801
- }
802
- }
803
-
804
- // ===========================================================================
805
- // Deprecated
806
- get tabColor() {
807
- // eslint-disable-next-line no-console
808
- console.trace('worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor');
809
- return this.properties.tabColor;
810
- }
811
- set tabColor(value) {
812
- // eslint-disable-next-line no-console
813
- console.trace('worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor');
814
- this.properties.tabColor = value;
815
- }
816
-
817
- // ===========================================================================
818
- // Model
819
-
820
- get model() {
821
- const model = {
822
- id: this.id,
823
- name: this.name,
824
- dataValidations: this.dataValidations.model,
825
- properties: this.properties,
826
- state: this.state,
827
- pageSetup: this.pageSetup,
828
- headerFooter: this.headerFooter,
829
- rowBreaks: this.rowBreaks,
830
- views: this.views,
831
- autoFilter: this.autoFilter,
832
- media: this._media.map(medium => medium.model),
833
- sheetProtection: this.sheetProtection,
834
- tables: Object.values(this.tables).map(table => table.model),
835
- conditionalFormattings: this.conditionalFormattings
836
- };
837
-
838
- // =================================================
839
- // columns
840
- model.cols = Column.toModel(this.columns);
841
-
842
- // ==========================================================
843
- // Rows
844
- const rows = model.rows = [];
845
- const dimensions = model.dimensions = new Range();
846
- this._rows.forEach(row => {
847
- const rowModel = row && row.model;
848
- if (rowModel) {
849
- dimensions.expand(rowModel.number, rowModel.min, rowModel.number, rowModel.max);
850
- rows.push(rowModel);
851
- }
852
- });
853
-
854
- // ==========================================================
855
- // Merges
856
- model.merges = [];
857
- _.each(this._merges, merge => {
858
- model.merges.push(merge.range);
859
- });
860
- return model;
861
- }
862
- _parseRows(model) {
863
- this._rows = [];
864
- model.rows.forEach(rowModel => {
865
- const row = new Row(this, rowModel.number);
866
- this._rows[row.number - 1] = row;
867
- row.model = rowModel;
868
- });
869
- }
870
- _parseMergeCells(model) {
871
- _.each(model.mergeCells, merge => {
872
- // Do not merge styles when importing an Excel file
873
- // since each cell may have different styles intentionally.
874
- this.mergeCellsWithoutStyle(merge);
875
- });
876
- }
877
- set model(value) {
878
- this.name = value.name;
879
- this._columns = Column.fromModel(this, value.cols);
880
- this._parseRows(value);
881
- this._parseMergeCells(value);
882
- this.dataValidations = new DataValidations(value.dataValidations);
883
- this.properties = value.properties;
884
- this.pageSetup = value.pageSetup;
885
- this.headerFooter = value.headerFooter;
886
- this.views = value.views;
887
- this.autoFilter = value.autoFilter;
888
- this._media = value.media.map(medium => new Image(this, medium));
889
- this.sheetProtection = value.sheetProtection;
890
- this.tables = value.tables.reduce((tables, table) => {
891
- const t = new Table();
892
- t.model = table;
893
- tables[table.name] = t;
894
- return tables;
895
- }, {});
896
- this.conditionalFormattings = value.conditionalFormattings;
897
- }
898
- }
899
- module.exports = Worksheet;
900
- //# sourceMappingURL=worksheet.js.map