clearotron 0.2.0 → 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 (629) hide show
  1. package/.env.example +105 -0
  2. package/CONTRIBUTING.md +3 -3
  3. package/INSTALL.md +57 -52
  4. package/README.md +2 -1
  5. package/bin/brandowner.mjs +1 -1
  6. package/bin/clearotron.mjs +4 -4
  7. package/bin/connect.mjs +2 -2
  8. package/bin/example.mjs +114 -37
  9. package/bin/grant.mjs +3 -3
  10. package/bin/key.mjs +1 -1
  11. package/bin/onboard.mjs +97 -119
  12. package/bin/start.mjs +29 -25
  13. package/bin/stop.mjs +65 -3
  14. package/bin/update.mjs +7 -7
  15. package/bin/uspto-sync.mjs +1 -1
  16. package/build-info.json +2 -2
  17. package/docs/DELIVERY.md +6 -2
  18. package/docs/RELEASES.md +6 -4
  19. package/docs/architecture/01-product-overview.md +2 -2
  20. package/docs/architecture/02-architecture.md +2 -2
  21. package/docs/architecture/04-configuration-reference.md +7 -4
  22. package/docs/architecture/05-config-governance.md +38 -5
  23. package/docs/architecture/06-operations-runbook.md +13 -1
  24. package/docs/architecture/09-security-and-data.md +1 -1
  25. package/docs/decisions/0004-documentation-structure.md +1 -1
  26. package/driver/CHANGELOG.md +95 -1
  27. package/driver/README.md +2 -2
  28. package/driver/ask-ledger.mjs +72 -4
  29. package/driver/authority-trees.mjs +1 -1
  30. package/driver/call-capture.mjs +1 -1
  31. package/driver/card-frame.mjs +1 -1
  32. package/driver/case-law-ledger.mjs +1 -1
  33. package/driver/claim-liveness.mjs +1 -1
  34. package/driver/common-law-receipts.mjs +1 -1
  35. package/driver/commonlaw-carry.mjs +1 -1
  36. package/driver/config-inventory.mjs +1 -1
  37. package/driver/connotation-search.mjs +12 -12
  38. package/driver/contract-audit.mjs +5 -5
  39. package/driver/contract-dictation-registry.mjs +4 -4
  40. package/driver/contract-dictation.mjs +2 -2
  41. package/driver/contract-e3-backlog.mjs +6 -6
  42. package/driver/contract-vocabulary.mjs +3 -3
  43. package/driver/corrections-feedforward.mjs +1 -1
  44. package/driver/coverage-form-io.mjs +2 -2
  45. package/driver/coverage-form.mjs +4 -4
  46. package/driver/coverage-ledger.mjs +3 -3
  47. package/driver/coverage-union.mjs +1 -1
  48. package/driver/declination-call.mjs +35 -3
  49. package/driver/declination-duty.mjs +1 -1
  50. package/driver/deliver-trigger.sh +3 -3
  51. package/driver/deploy-live-run-guard.mjs +6 -2
  52. package/driver/dev-portal.mjs +1 -1
  53. package/driver/disposition-call.mjs +4 -4
  54. package/driver/disposition-tool.mjs +4 -4
  55. package/driver/disposition-union.mjs +2 -2
  56. package/driver/doc-constants.mjs +1 -1
  57. package/driver/door-gates.mjs +2 -2
  58. package/driver/doubt-selection.mjs +2 -2
  59. package/driver/drainer-identity.mjs +1 -1
  60. package/driver/driver.config.mjs +63 -11
  61. package/driver/e2e-rounds.mjs +2 -2
  62. package/driver/effort-model.mjs +2 -2
  63. package/driver/engine/anthropic-agent.mjs +24 -24
  64. package/driver/engine/auth.mjs +1 -1
  65. package/driver/engine/common.mjs +1 -1
  66. package/driver/engine/deny-authority-write.mjs +1 -1
  67. package/driver/engine/jx-turn.mjs +1 -1
  68. package/driver/engine/mcp/clarivate-server.mjs +1 -1
  69. package/driver/engine/mcp/corsearch-server.mjs +1 -1
  70. package/driver/engine/mcp/declination-server.mjs +1 -1
  71. package/driver/engine/mcp/dispositions-server.mjs +1 -1
  72. package/driver/engine/mcp/euipo-server.mjs +1 -1
  73. package/driver/engine/mcp/fetch-server.mjs +1 -1
  74. package/driver/engine/mcp/free-tier-server.mjs +2 -2
  75. package/driver/engine/mcp/gather-config.mjs +11 -11
  76. package/driver/engine/mcp/perplexity-server.mjs +1 -1
  77. package/driver/engine/mcp/recording-server.mjs +8 -4
  78. package/driver/engine/mcp/signa-server.mjs +1 -1
  79. package/driver/engine/mcp/uspto-local-server.mjs +1 -1
  80. package/driver/engine/openai-agent.mjs +2 -2
  81. package/driver/engine-build.mjs +2 -2
  82. package/driver/enqueue-schema.mjs +2 -2
  83. package/driver/enqueue.mjs +1 -1
  84. package/driver/envelope-settle.mjs +1 -1
  85. package/driver/evidence-claim-invariant.mjs +2 -2
  86. package/driver/findings-model.mjs +8 -8
  87. package/driver/floor-duty.mjs +1 -1
  88. package/driver/form-neighbourhood.mjs +1 -1
  89. package/driver/framework.mjs +1 -1
  90. package/driver/gateway.mjs +28 -23
  91. package/driver/grounds-grammar.mjs +1 -1
  92. package/driver/hit-list.mjs +1 -1
  93. package/driver/jurisdiction-systems.mjs +1 -1
  94. package/driver/jx-lanes.mjs +1 -1
  95. package/driver/jx-units.mjs +1 -1
  96. package/driver/jx.mjs +3 -3
  97. package/driver/knockout-assess-record.mjs +5 -1
  98. package/driver/narrative-refutation-record.mjs +3 -3
  99. package/driver/numeric-setting.mjs +1 -1
  100. package/driver/owner-use-check.mjs +184 -0
  101. package/driver/package.json +2 -2
  102. package/driver/phase0.mjs +1 -1
  103. package/driver/pipeline-knockout.mjs +52 -4
  104. package/driver/pipeline.mjs +215 -63
  105. package/driver/placement-diff.mjs +2 -2
  106. package/driver/placement-form.mjs +4 -4
  107. package/driver/placement-union.mjs +1 -1
  108. package/driver/portal-acks.mjs +1 -1
  109. package/driver/portal-config-view.mjs +2 -2
  110. package/driver/portal-local-auth.mjs +1 -1
  111. package/driver/portal-report.mjs +6 -6
  112. package/driver/portal-service.mjs +15 -15
  113. package/driver/predelivery-lint.mjs +29 -11
  114. package/driver/prelim-variants-record.mjs +2 -2
  115. package/driver/profile-page.html +1 -1
  116. package/driver/profile-selection.mjs +1 -1
  117. package/driver/profile-service.mjs +2 -2
  118. package/driver/profiles.mjs +1 -1
  119. package/driver/progress.mjs +6 -6
  120. package/driver/provider-usage.mjs +1 -1
  121. package/driver/publish/demo-marking.mjs +1 -1
  122. package/driver/publish/index.mjs +47 -6
  123. package/driver/publish/knockout.mjs +36 -14
  124. package/driver/publish/parse.mjs +4 -4
  125. package/driver/publish/publish-inputs.mjs +2 -2
  126. package/driver/publish/register-presence.mjs +1 -1
  127. package/driver/publish/render-knockout.mjs +198 -31
  128. package/driver/publish/report-data.mjs +13 -3
  129. package/driver/publish/seed-pool.mjs +24 -9
  130. package/driver/queue-watch-probe.mjs +1 -1
  131. package/driver/queue-watch-verdict.mjs +1 -1
  132. package/driver/recall-reconciliation.mjs +1 -1
  133. package/driver/recipe-service.mjs +1 -1
  134. package/driver/record-carry.mjs +141 -2
  135. package/driver/recording-agreement.mjs +3 -3
  136. package/driver/reference-score.mjs +59 -9
  137. package/driver/reference-strip-signatures.mjs +68 -0
  138. package/driver/refusal-bound.mjs +3 -3
  139. package/driver/register-availability.mjs +2 -2
  140. package/driver/register-count.mjs +1 -1
  141. package/driver/register-digest-record.mjs +31 -1
  142. package/driver/register-grant-vocabulary.mjs +2 -2
  143. package/driver/register-plan.mjs +8 -8
  144. package/driver/register-records.mjs +2 -2
  145. package/driver/registry-fidelity.mjs +3 -3
  146. package/driver/remedy-accounting.mjs +1 -1
  147. package/driver/repair-composers.mjs +2 -2
  148. package/driver/repair-digest.mjs +3 -3
  149. package/driver/repairs.mjs +7 -7
  150. package/driver/replay-archive.mjs +2 -0
  151. package/driver/report-card-record.mjs +2 -2
  152. package/driver/result-noun-fields.mjs +10 -3
  153. package/driver/run-economics.mjs +2 -2
  154. package/driver/run-integrity.mjs +1 -1
  155. package/driver/runner.mjs +22 -22
  156. package/driver/scope-rules.mjs +1 -1
  157. package/driver/search-policy.mjs +3 -3
  158. package/driver/skeptic-search.mjs +1 -1
  159. package/driver/skills/blind-frame/SKILL.md +1 -1
  160. package/driver/skills/case-law-citation/SKILL.md +2 -2
  161. package/driver/skills/knockout-assess/SKILL.md +10 -4
  162. package/driver/skills/prelim-search/SKILL.md +2 -2
  163. package/driver/skills/prelim-search/template-formatting.md +1 -1
  164. package/driver/skills/prelim-search/templates/email/generic.md +1 -1
  165. package/driver/skills/prelim-search/worked-examples.md +1 -1
  166. package/driver/skills/prelim-variants/SKILL.md +2 -2
  167. package/driver/stage-context.mjs +1 -1
  168. package/driver/stages-knockout.mjs +55 -4
  169. package/driver/stages.mjs +97 -40
  170. package/driver/stray-artifacts.mjs +2 -2
  171. package/driver/suite-census.json +188 -44
  172. package/driver/synthesis-record.mjs +1 -1
  173. package/driver/systemd/clearotron-client-mcp.service +1 -1
  174. package/driver/systemd/clearotron-portal.service +1 -1
  175. package/driver/systemd/render-units.mjs +1 -1
  176. package/driver/tokens.mjs +1 -1
  177. package/driver/tool-calls.mjs +1 -1
  178. package/driver/turnaround-bands.mjs +1 -1
  179. package/driver/unit-file-drift.mjs +1 -1
  180. package/driver/unit-inventory.mjs +121 -61
  181. package/driver/unit-state-verdict.mjs +20 -12
  182. package/driver/verify-knockout.mjs +10 -2
  183. package/driver/verify.mjs +14 -14
  184. package/driver/whatif-memo-run.mjs +46 -5
  185. package/driver/whatif-queue.mjs +1 -1
  186. package/driver/whatif-worker.mjs +1 -1
  187. package/mcp-server/CHANGELOG.md +12 -0
  188. package/mcp-server/README.md +3 -3
  189. package/mcp-server/http-server.mjs +44 -1
  190. package/mcp-server/key-socket.mjs +184 -0
  191. package/mcp-server/lib/audit-view.mjs +69 -2
  192. package/mcp-server/lib/brief.mjs +15 -0
  193. package/mcp-server/lib/driver.mjs +7 -1
  194. package/mcp-server/lib/events.mjs +1 -1
  195. package/mcp-server/lib/http-handler.mjs +1 -1
  196. package/mcp-server/lib/knockout.mjs +435 -0
  197. package/mcp-server/lib/ops.mjs +4 -4
  198. package/mcp-server/lib/options.mjs +1 -1
  199. package/mcp-server/lib/plan.mjs +1 -1
  200. package/mcp-server/lib/runs.mjs +1 -1
  201. package/mcp-server/lib/scrub.mjs +1 -1
  202. package/mcp-server/lib/whatif.mjs +12 -3
  203. package/mcp-server/mint-token.mjs +1 -1
  204. package/mcp-server/package.json +2 -2
  205. package/mcp-server/server.mjs +76 -11
  206. package/package.json +3 -3
  207. package/portal-ui/package.json +1 -1
  208. package/providers/_shared/enumerate.mjs +1 -1
  209. package/providers/_shared/ledger-path.mjs +3 -3
  210. package/providers/_shared/ledger.mjs +1 -1
  211. package/providers/_shared/result-shape.mjs +3 -3
  212. package/providers/_shared/term-shape.mjs +1 -1
  213. package/providers/corsearch/src/core.js +1 -1
  214. package/providers/jx-subclass/BUILDING.md +1 -1
  215. package/providers/oauth-mcp-bridge/CHANGELOG.md +12 -0
  216. package/providers/oauth-mcp-bridge/package.json +1 -1
  217. package/providers/oauth-mcp-bridge/stdin-guard.mjs +2 -2
  218. package/scripts/README.md +1 -1
  219. package/scripts/added-reference-check.mjs +29 -1
  220. package/scripts/ai-page-render-check.mjs +2 -1
  221. package/scripts/authority-boundary-probe.mjs +1 -1
  222. package/scripts/backfill-started-at.mjs +1 -1
  223. package/scripts/citation-line-check.mjs +3 -3
  224. package/scripts/clearances-render-check.mjs +4 -3
  225. package/scripts/compare.mjs +2 -2
  226. package/scripts/composer-render-check.mjs +6 -6
  227. package/scripts/contract-dictation-scan.mjs +2 -2
  228. package/scripts/dead-names.mjs +1 -1
  229. package/scripts/drain-preflight.mjs +5 -5
  230. package/scripts/e2e-unread-terminals.mjs +1 -1
  231. package/scripts/e2e.mjs +8 -8
  232. package/scripts/env-audit.mjs +27 -7
  233. package/scripts/env-classify.mjs +139 -15
  234. package/scripts/freeze-example-run.mjs +3 -3
  235. package/scripts/head-arrived-gated.mjs +1 -1
  236. package/scripts/headless-page.mjs +274 -0
  237. package/scripts/home-render-check.mjs +3 -2
  238. package/scripts/live-surface-check.mjs +92 -19
  239. package/scripts/main-health.mjs +1 -1
  240. package/scripts/merge-presence-check.mjs +3 -3
  241. package/scripts/mint-reference-strip-backlog.mjs +41 -0
  242. package/scripts/mint-suite-census.mjs +6 -6
  243. package/scripts/nightly-notice.mjs +1 -1
  244. package/scripts/portal-lifecycle-check.mjs +3 -3
  245. package/scripts/reconcile-runs.mjs +1 -1
  246. package/scripts/release-await-cut.mjs +101 -11
  247. package/scripts/release-version-pr-checks.mjs +26 -2
  248. package/scripts/release-version.mjs +2 -2
  249. package/scripts/render-check.mjs +66 -7
  250. package/scripts/report-frame-check.mjs +12 -0
  251. package/scripts/report-screenshot.mjs +62 -2
  252. package/scripts/revisit-render-check.mjs +3 -2
  253. package/scripts/score.mjs +18 -4
  254. package/scripts/strip-tracker-citations.mjs +116 -0
  255. package/scripts/test-run.mjs +3 -3
  256. package/scripts/third-party-notices.mjs +3 -3
  257. package/scripts/travelling-predicates.mjs +3 -3
  258. package/scripts/unexecuted-asserts.mjs +2 -2
  259. package/scripts/verify-publishable.mjs +2 -2
  260. package/scripts/write-up-form-census.mjs +1 -1
  261. package/shared/access-audience.mjs +215 -0
  262. package/shared/brand.mjs +13 -13
  263. package/shared/citation-scan.mjs +1 -1
  264. package/shared/client-door.mjs +7 -7
  265. package/shared/driver-dir.mjs +1 -1
  266. package/shared/env-aliases.mjs +0 -48
  267. package/shared/env-local.mjs +1 -1
  268. package/shared/identifier-scan.mjs +3 -3
  269. package/shared/invocation.mjs +1 -1
  270. package/shared/names-in-force.mjs +2 -0
  271. package/shared/product-owned-names.mjs +1 -1
  272. package/shared/register-selection.mjs +1 -1
  273. package/shared/scope.mjs +5 -5
  274. package/shared/server-units.mjs +4 -4
  275. package/shared/store-in-repo.mjs +2 -2
  276. package/shared/suite-census.mjs +4 -4
  277. package/shared/tracked-files.mjs +31 -0
  278. package/shared/tty-style.mjs +1 -1
  279. package/shared/uspto-index-size.mjs +1 -1
  280. package/shared/vacuous-pass.mjs +1 -1
  281. package/skills/clearotron-account/SKILL.md +42 -13
  282. package/driver/systemd/prelim-driver.path +0 -69
  283. package/driver/systemd/prelim-driver.service +0 -86
  284. package/driver/systemd/prelim-driver.timer +0 -14
  285. package/driver/systemd/prelim-outbox.path +0 -27
  286. package/driver/systemd/prelim-outbox.service +0 -37
  287. package/driver/systemd/prelim-outbox.timer +0 -21
  288. package/node_modules/exceljs/README_zh.md +0 -2878
  289. package/node_modules/exceljs/dist/LICENSE +0 -22
  290. package/node_modules/exceljs/dist/es5/csv/csv.js +0 -182
  291. package/node_modules/exceljs/dist/es5/csv/csv.js.map +0 -1
  292. package/node_modules/exceljs/dist/es5/csv/line-buffer.js +0 -68
  293. package/node_modules/exceljs/dist/es5/csv/line-buffer.js.map +0 -1
  294. package/node_modules/exceljs/dist/es5/csv/stream-converter.js +0 -110
  295. package/node_modules/exceljs/dist/es5/csv/stream-converter.js.map +0 -1
  296. package/node_modules/exceljs/dist/es5/doc/anchor.js +0 -73
  297. package/node_modules/exceljs/dist/es5/doc/anchor.js.map +0 -1
  298. package/node_modules/exceljs/dist/es5/doc/cell.js +0 -961
  299. package/node_modules/exceljs/dist/es5/doc/cell.js.map +0 -1
  300. package/node_modules/exceljs/dist/es5/doc/column.js +0 -274
  301. package/node_modules/exceljs/dist/es5/doc/column.js.map +0 -1
  302. package/node_modules/exceljs/dist/es5/doc/data-validations.js +0 -18
  303. package/node_modules/exceljs/dist/es5/doc/data-validations.js.map +0 -1
  304. package/node_modules/exceljs/dist/es5/doc/defined-names.js +0 -173
  305. package/node_modules/exceljs/dist/es5/doc/defined-names.js.map +0 -1
  306. package/node_modules/exceljs/dist/es5/doc/enums.js +0 -49
  307. package/node_modules/exceljs/dist/es5/doc/enums.js.map +0 -1
  308. package/node_modules/exceljs/dist/es5/doc/image.js +0 -69
  309. package/node_modules/exceljs/dist/es5/doc/image.js.map +0 -1
  310. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js +0 -16
  311. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js.map +0 -1
  312. package/node_modules/exceljs/dist/es5/doc/note.js +0 -64
  313. package/node_modules/exceljs/dist/es5/doc/note.js.map +0 -1
  314. package/node_modules/exceljs/dist/es5/doc/range.js +0 -229
  315. package/node_modules/exceljs/dist/es5/doc/range.js.map +0 -1
  316. package/node_modules/exceljs/dist/es5/doc/row.js +0 -382
  317. package/node_modules/exceljs/dist/es5/doc/row.js.map +0 -1
  318. package/node_modules/exceljs/dist/es5/doc/table.js +0 -443
  319. package/node_modules/exceljs/dist/es5/doc/table.js.map +0 -1
  320. package/node_modules/exceljs/dist/es5/doc/workbook.js +0 -202
  321. package/node_modules/exceljs/dist/es5/doc/workbook.js.map +0 -1
  322. package/node_modules/exceljs/dist/es5/doc/worksheet.js +0 -900
  323. package/node_modules/exceljs/dist/es5/doc/worksheet.js.map +0 -1
  324. package/node_modules/exceljs/dist/es5/exceljs.bare.js +0 -14
  325. package/node_modules/exceljs/dist/es5/exceljs.bare.js.map +0 -1
  326. package/node_modules/exceljs/dist/es5/exceljs.browser.js +0 -36
  327. package/node_modules/exceljs/dist/es5/exceljs.browser.js.map +0 -1
  328. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js +0 -15
  329. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js.map +0 -1
  330. package/node_modules/exceljs/dist/es5/index.js +0 -15
  331. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js +0 -90
  332. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js.map +0 -1
  333. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js +0 -94
  334. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js.map +0 -1
  335. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js +0 -94
  336. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js.map +0 -1
  337. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js +0 -362
  338. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js.map +0 -1
  339. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js +0 -347
  340. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js.map +0 -1
  341. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js +0 -392
  342. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js.map +0 -1
  343. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js +0 -652
  344. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js.map +0 -1
  345. package/node_modules/exceljs/dist/es5/utils/auto-drain.js +0 -18
  346. package/node_modules/exceljs/dist/es5/utils/auto-drain.js.map +0 -1
  347. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js +0 -15
  348. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js.map +0 -1
  349. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js +0 -18
  350. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js.map +0 -1
  351. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js +0 -149
  352. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js.map +0 -1
  353. package/node_modules/exceljs/dist/es5/utils/col-cache.js +0 -258
  354. package/node_modules/exceljs/dist/es5/utils/col-cache.js.map +0 -1
  355. package/node_modules/exceljs/dist/es5/utils/copy-style.js +0 -43
  356. package/node_modules/exceljs/dist/es5/utils/copy-style.js.map +0 -1
  357. package/node_modules/exceljs/dist/es5/utils/encryptor.js +0 -58
  358. package/node_modules/exceljs/dist/es5/utils/encryptor.js.map +0 -1
  359. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js +0 -46
  360. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js.map +0 -1
  361. package/node_modules/exceljs/dist/es5/utils/parse-sax.js +0 -47
  362. package/node_modules/exceljs/dist/es5/utils/parse-sax.js.map +0 -1
  363. package/node_modules/exceljs/dist/es5/utils/shared-formula.js +0 -42
  364. package/node_modules/exceljs/dist/es5/utils/shared-formula.js.map +0 -1
  365. package/node_modules/exceljs/dist/es5/utils/shared-strings.js +0 -32
  366. package/node_modules/exceljs/dist/es5/utils/shared-strings.js.map +0 -1
  367. package/node_modules/exceljs/dist/es5/utils/stream-base64.js +0 -66
  368. package/node_modules/exceljs/dist/es5/utils/stream-base64.js.map +0 -1
  369. package/node_modules/exceljs/dist/es5/utils/stream-buf.js +0 -343
  370. package/node_modules/exceljs/dist/es5/utils/stream-buf.js.map +0 -1
  371. package/node_modules/exceljs/dist/es5/utils/string-buf.js +0 -73
  372. package/node_modules/exceljs/dist/es5/utils/string-buf.js.map +0 -1
  373. package/node_modules/exceljs/dist/es5/utils/string-builder.js +0 -32
  374. package/node_modules/exceljs/dist/es5/utils/string-builder.js.map +0 -1
  375. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js +0 -61
  376. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js.map +0 -1
  377. package/node_modules/exceljs/dist/es5/utils/typed-stack.js +0 -23
  378. package/node_modules/exceljs/dist/es5/utils/typed-stack.js.map +0 -1
  379. package/node_modules/exceljs/dist/es5/utils/under-dash.js +0 -168
  380. package/node_modules/exceljs/dist/es5/utils/under-dash.js.map +0 -1
  381. package/node_modules/exceljs/dist/es5/utils/utils.js +0 -171
  382. package/node_modules/exceljs/dist/es5/utils/utils.js.map +0 -1
  383. package/node_modules/exceljs/dist/es5/utils/xml-stream.js +0 -151
  384. package/node_modules/exceljs/dist/es5/utils/xml-stream.js.map +0 -1
  385. package/node_modules/exceljs/dist/es5/utils/zip-stream.js +0 -79
  386. package/node_modules/exceljs/dist/es5/utils/zip-stream.js.map +0 -1
  387. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js +0 -230
  388. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js.map +0 -1
  389. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js +0 -18
  390. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js.map +0 -1
  391. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js +0 -139
  392. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js.map +0 -1
  393. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js +0 -85
  394. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js.map +0 -1
  395. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js +0 -32
  396. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js.map +0 -1
  397. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js +0 -24
  398. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +0 -1
  399. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js +0 -27
  400. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +0 -1
  401. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js +0 -51
  402. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +0 -1
  403. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js +0 -234
  404. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js.map +0 -1
  405. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js +0 -103
  406. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js.map +0 -1
  407. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js +0 -76
  408. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js.map +0 -1
  409. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js +0 -35
  410. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +0 -1
  411. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js +0 -32
  412. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +0 -1
  413. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js +0 -53
  414. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +0 -1
  415. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js +0 -97
  416. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +0 -1
  417. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js +0 -107
  418. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +0 -1
  419. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js +0 -92
  420. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +0 -1
  421. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +0 -61
  422. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +0 -1
  423. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js +0 -51
  424. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js.map +0 -1
  425. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js +0 -30
  426. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +0 -1
  427. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js +0 -27
  428. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +0 -1
  429. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js +0 -93
  430. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js.map +0 -1
  431. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js +0 -112
  432. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js.map +0 -1
  433. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js +0 -158
  434. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js.map +0 -1
  435. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js +0 -23
  436. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js.map +0 -1
  437. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js +0 -65
  438. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js.map +0 -1
  439. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -47
  440. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +0 -1
  441. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js +0 -61
  442. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +0 -1
  443. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js +0 -40
  444. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js.map +0 -1
  445. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -35
  446. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +0 -1
  447. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +0 -62
  448. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +0 -1
  449. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js +0 -82
  450. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +0 -1
  451. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js +0 -98
  452. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +0 -1
  453. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js +0 -40
  454. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +0 -1
  455. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js +0 -38
  456. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js.map +0 -1
  457. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js +0 -38
  458. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +0 -1
  459. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -59
  460. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +0 -1
  461. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -63
  462. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +0 -1
  463. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js +0 -67
  464. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js.map +0 -1
  465. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js +0 -30
  466. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js.map +0 -1
  467. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -62
  468. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +0 -1
  469. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js +0 -91
  470. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js.map +0 -1
  471. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +0 -40
  472. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +0 -1
  473. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js +0 -451
  474. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js.map +0 -1
  475. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -275
  476. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +0 -1
  477. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js +0 -25
  478. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +0 -1
  479. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js +0 -38
  480. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +0 -1
  481. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -45
  482. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +0 -1
  483. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -77
  484. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +0 -1
  485. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js +0 -42
  486. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +0 -1
  487. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -71
  488. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +0 -1
  489. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js +0 -22
  490. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +0 -1
  491. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js +0 -43
  492. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +0 -1
  493. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -28
  494. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +0 -1
  495. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -88
  496. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +0 -1
  497. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -38
  498. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +0 -1
  499. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -52
  500. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +0 -1
  501. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -43
  502. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +0 -1
  503. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -75
  504. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +0 -1
  505. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -22
  506. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +0 -1
  507. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -66
  508. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +0 -1
  509. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -22
  510. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +0 -1
  511. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js +0 -78
  512. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js.map +0 -1
  513. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js +0 -247
  514. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +0 -1
  515. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js +0 -28
  516. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +0 -1
  517. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js +0 -32
  518. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +0 -1
  519. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js +0 -69
  520. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +0 -1
  521. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js +0 -126
  522. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +0 -1
  523. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js +0 -50
  524. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +0 -1
  525. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js +0 -26
  526. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +0 -1
  527. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js +0 -52
  528. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js.map +0 -1
  529. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js +0 -35
  530. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +0 -1
  531. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js +0 -24
  532. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +0 -1
  533. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js +0 -46
  534. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +0 -1
  535. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js +0 -32
  536. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +0 -1
  537. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js +0 -99
  538. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +0 -1
  539. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js +0 -32
  540. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js.map +0 -1
  541. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js +0 -45
  542. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +0 -1
  543. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js +0 -37
  544. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +0 -1
  545. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js +0 -128
  546. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js.map +0 -1
  547. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -51
  548. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +0 -1
  549. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js +0 -83
  550. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +0 -1
  551. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js +0 -84
  552. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +0 -1
  553. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js +0 -190
  554. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +0 -1
  555. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js +0 -32
  556. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +0 -1
  557. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js +0 -513
  558. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +0 -1
  559. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js +0 -27
  560. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js.map +0 -1
  561. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js +0 -58
  562. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js.map +0 -1
  563. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js +0 -47
  564. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js.map +0 -1
  565. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js +0 -53
  566. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js.map +0 -1
  567. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js +0 -47
  568. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js.map +0 -1
  569. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js +0 -61
  570. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js.map +0 -1
  571. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js +0 -98
  572. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +0 -1
  573. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js +0 -92
  574. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +0 -1
  575. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js +0 -99
  576. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +0 -1
  577. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js +0 -114
  578. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +0 -1
  579. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js +0 -39
  580. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js.map +0 -1
  581. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js +0 -139
  582. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js.map +0 -1
  583. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js +0 -185
  584. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js.map +0 -1
  585. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js +0 -66
  586. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js.map +0 -1
  587. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js +0 -106
  588. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js.map +0 -1
  589. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js +0 -308
  590. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js.map +0 -1
  591. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js +0 -175
  592. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js.map +0 -1
  593. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js +0 -59
  594. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js.map +0 -1
  595. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js +0 -53
  596. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js.map +0 -1
  597. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js +0 -118
  598. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js.map +0 -1
  599. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js +0 -612
  600. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js.map +0 -1
  601. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js +0 -46
  602. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js.map +0 -1
  603. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js +0 -75
  604. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +0 -1
  605. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js +0 -30
  606. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +0 -1
  607. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js +0 -89
  608. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js.map +0 -1
  609. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js +0 -28
  610. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js.map +0 -1
  611. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js +0 -42
  612. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js.map +0 -1
  613. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js +0 -40
  614. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +0 -1
  615. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js +0 -123
  616. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js.map +0 -1
  617. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js +0 -697
  618. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js.map +0 -1
  619. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js +0 -5
  620. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js.map +0 -1
  621. package/node_modules/exceljs/dist/exceljs.bare.js +0 -55253
  622. package/node_modules/exceljs/dist/exceljs.bare.js.map +0 -761
  623. package/node_modules/exceljs/dist/exceljs.bare.min.js +0 -45
  624. package/node_modules/exceljs/dist/exceljs.bare.min.js.map +0 -1
  625. package/node_modules/exceljs/dist/exceljs.js +0 -59900
  626. package/node_modules/exceljs/dist/exceljs.js.map +0 -1083
  627. package/node_modules/exceljs/dist/exceljs.min.js +0 -45
  628. package/node_modules/exceljs/dist/exceljs.min.js.map +0 -1
  629. package/scripts/deploy-test.sh +0 -309
@@ -1,697 +0,0 @@
1
- "use strict";
2
-
3
- const fs = require('fs');
4
- const JSZip = require('jszip');
5
- const {
6
- PassThrough
7
- } = require('readable-stream');
8
- const ZipStream = require('../utils/zip-stream');
9
- const StreamBuf = require('../utils/stream-buf');
10
- const utils = require('../utils/utils');
11
- const XmlStream = require('../utils/xml-stream');
12
- const {
13
- bufferToString
14
- } = require('../utils/browser-buffer-decode');
15
- const StylesXform = require('./xform/style/styles-xform');
16
- const CoreXform = require('./xform/core/core-xform');
17
- const SharedStringsXform = require('./xform/strings/shared-strings-xform');
18
- const RelationshipsXform = require('./xform/core/relationships-xform');
19
- const ContentTypesXform = require('./xform/core/content-types-xform');
20
- const AppXform = require('./xform/core/app-xform');
21
- const WorkbookXform = require('./xform/book/workbook-xform');
22
- const WorksheetXform = require('./xform/sheet/worksheet-xform');
23
- const DrawingXform = require('./xform/drawing/drawing-xform');
24
- const TableXform = require('./xform/table/table-xform');
25
- const CommentsXform = require('./xform/comment/comments-xform');
26
- const VmlNotesXform = require('./xform/comment/vml-notes-xform');
27
- const theme1Xml = require('./xml/theme1');
28
- function fsReadFileAsync(filename, options) {
29
- return new Promise((resolve, reject) => {
30
- fs.readFile(filename, options, (error, data) => {
31
- if (error) {
32
- reject(error);
33
- } else {
34
- resolve(data);
35
- }
36
- });
37
- });
38
- }
39
- class XLSX {
40
- constructor(workbook) {
41
- this.workbook = workbook;
42
- }
43
-
44
- // ===============================================================================
45
- // Workbook
46
- // =========================================================================
47
- // Read
48
-
49
- async readFile(filename, options) {
50
- if (!(await utils.fs.exists(filename))) {
51
- throw new Error(`File not found: ${filename}`);
52
- }
53
- const stream = fs.createReadStream(filename);
54
- try {
55
- const workbook = await this.read(stream, options);
56
- stream.close();
57
- return workbook;
58
- } catch (error) {
59
- stream.close();
60
- throw error;
61
- }
62
- }
63
- parseRels(stream) {
64
- const xform = new RelationshipsXform();
65
- return xform.parseStream(stream);
66
- }
67
- parseWorkbook(stream) {
68
- const xform = new WorkbookXform();
69
- return xform.parseStream(stream);
70
- }
71
- parseSharedStrings(stream) {
72
- const xform = new SharedStringsXform();
73
- return xform.parseStream(stream);
74
- }
75
- reconcile(model, options) {
76
- const workbookXform = new WorkbookXform();
77
- const worksheetXform = new WorksheetXform(options);
78
- const drawingXform = new DrawingXform();
79
- const tableXform = new TableXform();
80
- workbookXform.reconcile(model);
81
-
82
- // reconcile drawings with their rels
83
- const drawingOptions = {
84
- media: model.media,
85
- mediaIndex: model.mediaIndex
86
- };
87
- Object.keys(model.drawings).forEach(name => {
88
- const drawing = model.drawings[name];
89
- const drawingRel = model.drawingRels[name];
90
- if (drawingRel) {
91
- drawingOptions.rels = drawingRel.reduce((o, rel) => {
92
- o[rel.Id] = rel;
93
- return o;
94
- }, {});
95
- (drawing.anchors || []).forEach(anchor => {
96
- const hyperlinks = anchor.picture && anchor.picture.hyperlinks;
97
- if (hyperlinks && drawingOptions.rels[hyperlinks.rId]) {
98
- hyperlinks.hyperlink = drawingOptions.rels[hyperlinks.rId].Target;
99
- delete hyperlinks.rId;
100
- }
101
- });
102
- drawingXform.reconcile(drawing, drawingOptions);
103
- }
104
- });
105
-
106
- // reconcile tables with the default styles
107
- const tableOptions = {
108
- styles: model.styles
109
- };
110
- Object.values(model.tables).forEach(table => {
111
- tableXform.reconcile(table, tableOptions);
112
- });
113
- const sheetOptions = {
114
- styles: model.styles,
115
- sharedStrings: model.sharedStrings,
116
- media: model.media,
117
- mediaIndex: model.mediaIndex,
118
- date1904: model.properties && model.properties.date1904,
119
- drawings: model.drawings,
120
- comments: model.comments,
121
- tables: model.tables,
122
- vmlDrawings: model.vmlDrawings
123
- };
124
- model.worksheets.forEach(worksheet => {
125
- worksheet.relationships = model.worksheetRels[worksheet.sheetNo];
126
- worksheetXform.reconcile(worksheet, sheetOptions);
127
- });
128
-
129
- // delete unnecessary parts
130
- delete model.worksheetHash;
131
- delete model.worksheetRels;
132
- delete model.globalRels;
133
- delete model.sharedStrings;
134
- delete model.workbookRels;
135
- delete model.sheetDefs;
136
- delete model.styles;
137
- delete model.mediaIndex;
138
- delete model.drawings;
139
- delete model.drawingRels;
140
- delete model.vmlDrawings;
141
- }
142
- async _processWorksheetEntry(stream, model, sheetNo, options, path) {
143
- const xform = new WorksheetXform(options);
144
- const worksheet = await xform.parseStream(stream);
145
- worksheet.sheetNo = sheetNo;
146
- model.worksheetHash[path] = worksheet;
147
- model.worksheets.push(worksheet);
148
- }
149
- async _processCommentEntry(stream, model, name) {
150
- const xform = new CommentsXform();
151
- const comments = await xform.parseStream(stream);
152
- model.comments[`../${name}.xml`] = comments;
153
- }
154
- async _processTableEntry(stream, model, name) {
155
- const xform = new TableXform();
156
- const table = await xform.parseStream(stream);
157
- model.tables[`../tables/${name}.xml`] = table;
158
- }
159
- async _processWorksheetRelsEntry(stream, model, sheetNo) {
160
- const xform = new RelationshipsXform();
161
- const relationships = await xform.parseStream(stream);
162
- model.worksheetRels[sheetNo] = relationships;
163
- }
164
- async _processMediaEntry(entry, model, filename) {
165
- const lastDot = filename.lastIndexOf('.');
166
- // if we can't determine extension, ignore it
167
- if (lastDot >= 1) {
168
- const extension = filename.substr(lastDot + 1);
169
- const name = filename.substr(0, lastDot);
170
- await new Promise((resolve, reject) => {
171
- const streamBuf = new StreamBuf();
172
- streamBuf.on('finish', () => {
173
- model.mediaIndex[filename] = model.media.length;
174
- model.mediaIndex[name] = model.media.length;
175
- const medium = {
176
- type: 'image',
177
- name,
178
- extension,
179
- buffer: streamBuf.toBuffer()
180
- };
181
- model.media.push(medium);
182
- resolve();
183
- });
184
- entry.on('error', error => {
185
- reject(error);
186
- });
187
- entry.pipe(streamBuf);
188
- });
189
- }
190
- }
191
- async _processDrawingEntry(entry, model, name) {
192
- const xform = new DrawingXform();
193
- const drawing = await xform.parseStream(entry);
194
- model.drawings[name] = drawing;
195
- }
196
- async _processDrawingRelsEntry(entry, model, name) {
197
- const xform = new RelationshipsXform();
198
- const relationships = await xform.parseStream(entry);
199
- model.drawingRels[name] = relationships;
200
- }
201
- async _processVmlDrawingEntry(entry, model, name) {
202
- const xform = new VmlNotesXform();
203
- const vmlDrawing = await xform.parseStream(entry);
204
- model.vmlDrawings[`../drawings/${name}.vml`] = vmlDrawing;
205
- }
206
- async _processThemeEntry(entry, model, name) {
207
- await new Promise((resolve, reject) => {
208
- // TODO: stream entry into buffer and store the xml in the model.themes[]
209
- const stream = new StreamBuf();
210
- entry.on('error', reject);
211
- stream.on('error', reject);
212
- stream.on('finish', () => {
213
- model.themes[name] = stream.read().toString();
214
- resolve();
215
- });
216
- entry.pipe(stream);
217
- });
218
- }
219
-
220
- /**
221
- * @deprecated since version 4.0. You should use `#read` instead. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md
222
- */
223
- createInputStream() {
224
- throw new Error('`XLSX#createInputStream` is deprecated. You should use `XLSX#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md');
225
- }
226
- async read(stream, options) {
227
- // TODO: Remove once node v8 is deprecated
228
- // Detect and upgrade old streams
229
- if (!stream[Symbol.asyncIterator] && stream.pipe) {
230
- stream = stream.pipe(new PassThrough());
231
- }
232
- const chunks = [];
233
- for await (const chunk of stream) {
234
- chunks.push(chunk);
235
- }
236
- return this.load(Buffer.concat(chunks), options);
237
- }
238
- async load(data, options) {
239
- let buffer;
240
- if (options && options.base64) {
241
- buffer = Buffer.from(data.toString(), 'base64');
242
- } else {
243
- buffer = data;
244
- }
245
- const model = {
246
- worksheets: [],
247
- worksheetHash: {},
248
- worksheetRels: [],
249
- themes: {},
250
- media: [],
251
- mediaIndex: {},
252
- drawings: {},
253
- drawingRels: {},
254
- comments: {},
255
- tables: {},
256
- vmlDrawings: {}
257
- };
258
- const zip = await JSZip.loadAsync(buffer);
259
- for (const entry of Object.values(zip.files)) {
260
- /* eslint-disable no-await-in-loop */
261
- if (!entry.dir) {
262
- let entryName = entry.name;
263
- if (entryName[0] === '/') {
264
- entryName = entryName.substr(1);
265
- }
266
- let stream;
267
- if (entryName.match(/xl\/media\//) ||
268
- // themes are not parsed as stream
269
- entryName.match(/xl\/theme\/([a-zA-Z0-9]+)[.]xml/)) {
270
- stream = new PassThrough();
271
- stream.write(await entry.async('nodebuffer'));
272
- } else {
273
- // use object mode to avoid buffer-string convention
274
- stream = new PassThrough({
275
- writableObjectMode: true,
276
- readableObjectMode: true
277
- });
278
- let content;
279
- // https://www.npmjs.com/package/process
280
- if (process.browser) {
281
- // running in browser, use TextDecoder if possible
282
- content = bufferToString(await entry.async('nodebuffer'));
283
- } else {
284
- // running in node.js
285
- content = await entry.async('string');
286
- }
287
- const chunkSize = 16 * 1024;
288
- for (let i = 0; i < content.length; i += chunkSize) {
289
- stream.write(content.substring(i, i + chunkSize));
290
- }
291
- }
292
- stream.end();
293
- switch (entryName) {
294
- case '_rels/.rels':
295
- model.globalRels = await this.parseRels(stream);
296
- break;
297
- case 'xl/workbook.xml':
298
- {
299
- const workbook = await this.parseWorkbook(stream);
300
- model.sheets = workbook.sheets;
301
- model.definedNames = workbook.definedNames;
302
- model.views = workbook.views;
303
- model.properties = workbook.properties;
304
- model.calcProperties = workbook.calcProperties;
305
- break;
306
- }
307
- case 'xl/_rels/workbook.xml.rels':
308
- model.workbookRels = await this.parseRels(stream);
309
- break;
310
- case 'xl/sharedStrings.xml':
311
- model.sharedStrings = new SharedStringsXform();
312
- await model.sharedStrings.parseStream(stream);
313
- break;
314
- case 'xl/styles.xml':
315
- model.styles = new StylesXform();
316
- await model.styles.parseStream(stream);
317
- break;
318
- case 'docProps/app.xml':
319
- {
320
- const appXform = new AppXform();
321
- const appProperties = await appXform.parseStream(stream);
322
- model.company = appProperties.company;
323
- model.manager = appProperties.manager;
324
- break;
325
- }
326
- case 'docProps/core.xml':
327
- {
328
- const coreXform = new CoreXform();
329
- const coreProperties = await coreXform.parseStream(stream);
330
- Object.assign(model, coreProperties);
331
- break;
332
- }
333
- default:
334
- {
335
- let match = entryName.match(/xl\/worksheets\/sheet(\d+)[.]xml/);
336
- if (match) {
337
- await this._processWorksheetEntry(stream, model, match[1], options, entryName);
338
- break;
339
- }
340
- match = entryName.match(/xl\/worksheets\/_rels\/sheet(\d+)[.]xml.rels/);
341
- if (match) {
342
- await this._processWorksheetRelsEntry(stream, model, match[1]);
343
- break;
344
- }
345
- match = entryName.match(/xl\/theme\/([a-zA-Z0-9]+)[.]xml/);
346
- if (match) {
347
- await this._processThemeEntry(stream, model, match[1]);
348
- break;
349
- }
350
- match = entryName.match(/xl\/media\/([a-zA-Z0-9]+[.][a-zA-Z0-9]{3,4})$/);
351
- if (match) {
352
- await this._processMediaEntry(stream, model, match[1]);
353
- break;
354
- }
355
- match = entryName.match(/xl\/drawings\/([a-zA-Z0-9]+)[.]xml/);
356
- if (match) {
357
- await this._processDrawingEntry(stream, model, match[1]);
358
- break;
359
- }
360
- match = entryName.match(/xl\/(comments\d+)[.]xml/);
361
- if (match) {
362
- await this._processCommentEntry(stream, model, match[1]);
363
- break;
364
- }
365
- match = entryName.match(/xl\/tables\/(table\d+)[.]xml/);
366
- if (match) {
367
- await this._processTableEntry(stream, model, match[1]);
368
- break;
369
- }
370
- match = entryName.match(/xl\/drawings\/_rels\/([a-zA-Z0-9]+)[.]xml[.]rels/);
371
- if (match) {
372
- await this._processDrawingRelsEntry(stream, model, match[1]);
373
- break;
374
- }
375
- match = entryName.match(/xl\/drawings\/(vmlDrawing\d+)[.]vml/);
376
- if (match) {
377
- await this._processVmlDrawingEntry(stream, model, match[1]);
378
- break;
379
- }
380
- }
381
- }
382
- }
383
- }
384
- this.reconcile(model, options);
385
-
386
- // apply model
387
- this.workbook.model = model;
388
- return this.workbook;
389
- }
390
-
391
- // =========================================================================
392
- // Write
393
-
394
- async addMedia(zip, model) {
395
- await Promise.all(model.media.map(async medium => {
396
- if (medium.type === 'image') {
397
- const filename = `xl/media/${medium.name}.${medium.extension}`;
398
- if (medium.filename) {
399
- const data = await fsReadFileAsync(medium.filename);
400
- return zip.append(data, {
401
- name: filename
402
- });
403
- }
404
- if (medium.buffer) {
405
- return zip.append(medium.buffer, {
406
- name: filename
407
- });
408
- }
409
- if (medium.base64) {
410
- const dataimg64 = medium.base64;
411
- const content = dataimg64.substring(dataimg64.indexOf(',') + 1);
412
- return zip.append(content, {
413
- name: filename,
414
- base64: true
415
- });
416
- }
417
- }
418
- throw new Error('Unsupported media');
419
- }));
420
- }
421
- addDrawings(zip, model) {
422
- const drawingXform = new DrawingXform();
423
- const relsXform = new RelationshipsXform();
424
- model.worksheets.forEach(worksheet => {
425
- const {
426
- drawing
427
- } = worksheet;
428
- if (drawing) {
429
- drawingXform.prepare(drawing, {});
430
- let xml = drawingXform.toXml(drawing);
431
- zip.append(xml, {
432
- name: `xl/drawings/${drawing.name}.xml`
433
- });
434
- xml = relsXform.toXml(drawing.rels);
435
- zip.append(xml, {
436
- name: `xl/drawings/_rels/${drawing.name}.xml.rels`
437
- });
438
- }
439
- });
440
- }
441
- addTables(zip, model) {
442
- const tableXform = new TableXform();
443
- model.worksheets.forEach(worksheet => {
444
- const {
445
- tables
446
- } = worksheet;
447
- tables.forEach(table => {
448
- tableXform.prepare(table, {});
449
- const tableXml = tableXform.toXml(table);
450
- zip.append(tableXml, {
451
- name: `xl/tables/${table.target}`
452
- });
453
- });
454
- });
455
- }
456
- async addContentTypes(zip, model) {
457
- const xform = new ContentTypesXform();
458
- const xml = xform.toXml(model);
459
- zip.append(xml, {
460
- name: '[Content_Types].xml'
461
- });
462
- }
463
- async addApp(zip, model) {
464
- const xform = new AppXform();
465
- const xml = xform.toXml(model);
466
- zip.append(xml, {
467
- name: 'docProps/app.xml'
468
- });
469
- }
470
- async addCore(zip, model) {
471
- const coreXform = new CoreXform();
472
- zip.append(coreXform.toXml(model), {
473
- name: 'docProps/core.xml'
474
- });
475
- }
476
- async addThemes(zip, model) {
477
- const themes = model.themes || {
478
- theme1: theme1Xml
479
- };
480
- Object.keys(themes).forEach(name => {
481
- const xml = themes[name];
482
- const path = `xl/theme/${name}.xml`;
483
- zip.append(xml, {
484
- name: path
485
- });
486
- });
487
- }
488
- async addOfficeRels(zip) {
489
- const xform = new RelationshipsXform();
490
- const xml = xform.toXml([{
491
- Id: 'rId1',
492
- Type: XLSX.RelType.OfficeDocument,
493
- Target: 'xl/workbook.xml'
494
- }, {
495
- Id: 'rId2',
496
- Type: XLSX.RelType.CoreProperties,
497
- Target: 'docProps/core.xml'
498
- }, {
499
- Id: 'rId3',
500
- Type: XLSX.RelType.ExtenderProperties,
501
- Target: 'docProps/app.xml'
502
- }]);
503
- zip.append(xml, {
504
- name: '_rels/.rels'
505
- });
506
- }
507
- async addWorkbookRels(zip, model) {
508
- let count = 1;
509
- const relationships = [{
510
- Id: `rId${count++}`,
511
- Type: XLSX.RelType.Styles,
512
- Target: 'styles.xml'
513
- }, {
514
- Id: `rId${count++}`,
515
- Type: XLSX.RelType.Theme,
516
- Target: 'theme/theme1.xml'
517
- }];
518
- if (model.sharedStrings.count) {
519
- relationships.push({
520
- Id: `rId${count++}`,
521
- Type: XLSX.RelType.SharedStrings,
522
- Target: 'sharedStrings.xml'
523
- });
524
- }
525
- model.worksheets.forEach(worksheet => {
526
- worksheet.rId = `rId${count++}`;
527
- relationships.push({
528
- Id: worksheet.rId,
529
- Type: XLSX.RelType.Worksheet,
530
- Target: `worksheets/sheet${worksheet.id}.xml`
531
- });
532
- });
533
- const xform = new RelationshipsXform();
534
- const xml = xform.toXml(relationships);
535
- zip.append(xml, {
536
- name: 'xl/_rels/workbook.xml.rels'
537
- });
538
- }
539
- async addSharedStrings(zip, model) {
540
- if (model.sharedStrings && model.sharedStrings.count) {
541
- zip.append(model.sharedStrings.xml, {
542
- name: 'xl/sharedStrings.xml'
543
- });
544
- }
545
- }
546
- async addStyles(zip, model) {
547
- const {
548
- xml
549
- } = model.styles;
550
- if (xml) {
551
- zip.append(xml, {
552
- name: 'xl/styles.xml'
553
- });
554
- }
555
- }
556
- async addWorkbook(zip, model) {
557
- const xform = new WorkbookXform();
558
- zip.append(xform.toXml(model), {
559
- name: 'xl/workbook.xml'
560
- });
561
- }
562
- async addWorksheets(zip, model) {
563
- // preparation phase
564
- const worksheetXform = new WorksheetXform();
565
- const relationshipsXform = new RelationshipsXform();
566
- const commentsXform = new CommentsXform();
567
- const vmlNotesXform = new VmlNotesXform();
568
-
569
- // write sheets
570
- model.worksheets.forEach(worksheet => {
571
- let xmlStream = new XmlStream();
572
- worksheetXform.render(xmlStream, worksheet);
573
- zip.append(xmlStream.xml, {
574
- name: `xl/worksheets/sheet${worksheet.id}.xml`
575
- });
576
- if (worksheet.rels && worksheet.rels.length) {
577
- xmlStream = new XmlStream();
578
- relationshipsXform.render(xmlStream, worksheet.rels);
579
- zip.append(xmlStream.xml, {
580
- name: `xl/worksheets/_rels/sheet${worksheet.id}.xml.rels`
581
- });
582
- }
583
- if (worksheet.comments.length > 0) {
584
- xmlStream = new XmlStream();
585
- commentsXform.render(xmlStream, worksheet);
586
- zip.append(xmlStream.xml, {
587
- name: `xl/comments${worksheet.id}.xml`
588
- });
589
- xmlStream = new XmlStream();
590
- vmlNotesXform.render(xmlStream, worksheet);
591
- zip.append(xmlStream.xml, {
592
- name: `xl/drawings/vmlDrawing${worksheet.id}.vml`
593
- });
594
- }
595
- });
596
- }
597
- _finalize(zip) {
598
- return new Promise((resolve, reject) => {
599
- zip.on('finish', () => {
600
- resolve(this);
601
- });
602
- zip.on('error', reject);
603
- zip.finalize();
604
- });
605
- }
606
- prepareModel(model, options) {
607
- // ensure following properties have sane values
608
- model.creator = model.creator || 'ExcelJS';
609
- model.lastModifiedBy = model.lastModifiedBy || 'ExcelJS';
610
- model.created = model.created || new Date();
611
- model.modified = model.modified || new Date();
612
- model.useSharedStrings = options.useSharedStrings !== undefined ? options.useSharedStrings : true;
613
- model.useStyles = options.useStyles !== undefined ? options.useStyles : true;
614
-
615
- // Manage the shared strings
616
- model.sharedStrings = new SharedStringsXform();
617
-
618
- // add a style manager to handle cell formats, fonts, etc.
619
- model.styles = model.useStyles ? new StylesXform(true) : new StylesXform.Mock();
620
-
621
- // prepare all of the things before the render
622
- const workbookXform = new WorkbookXform();
623
- const worksheetXform = new WorksheetXform();
624
- workbookXform.prepare(model);
625
- const worksheetOptions = {
626
- sharedStrings: model.sharedStrings,
627
- styles: model.styles,
628
- date1904: model.properties.date1904,
629
- drawingsCount: 0,
630
- media: model.media
631
- };
632
- worksheetOptions.drawings = model.drawings = [];
633
- worksheetOptions.commentRefs = model.commentRefs = [];
634
- let tableCount = 0;
635
- model.tables = [];
636
- model.worksheets.forEach(worksheet => {
637
- // assign unique filenames to tables
638
- worksheet.tables.forEach(table => {
639
- tableCount++;
640
- table.target = `table${tableCount}.xml`;
641
- table.id = tableCount;
642
- model.tables.push(table);
643
- });
644
- worksheetXform.prepare(worksheet, worksheetOptions);
645
- });
646
-
647
- // TODO: workbook drawing list
648
- }
649
-
650
- async write(stream, options) {
651
- options = options || {};
652
- const {
653
- model
654
- } = this.workbook;
655
- const zip = new ZipStream.ZipWriter(options.zip);
656
- zip.pipe(stream);
657
- this.prepareModel(model, options);
658
-
659
- // render
660
- await this.addContentTypes(zip, model);
661
- await this.addOfficeRels(zip, model);
662
- await this.addWorkbookRels(zip, model);
663
- await this.addWorksheets(zip, model);
664
- await this.addSharedStrings(zip, model); // always after worksheets
665
- await this.addDrawings(zip, model);
666
- await this.addTables(zip, model);
667
- await Promise.all([this.addThemes(zip, model), this.addStyles(zip, model)]);
668
- await this.addMedia(zip, model);
669
- await Promise.all([this.addApp(zip, model), this.addCore(zip, model)]);
670
- await this.addWorkbook(zip, model);
671
- return this._finalize(zip);
672
- }
673
- writeFile(filename, options) {
674
- const stream = fs.createWriteStream(filename);
675
- return new Promise((resolve, reject) => {
676
- stream.on('finish', () => {
677
- resolve();
678
- });
679
- stream.on('error', error => {
680
- reject(error);
681
- });
682
- this.write(stream, options).then(() => {
683
- stream.end();
684
- }).catch(err => {
685
- reject(err);
686
- });
687
- });
688
- }
689
- async writeBuffer(options) {
690
- const stream = new StreamBuf();
691
- await this.write(stream, options);
692
- return stream.read();
693
- }
694
- }
695
- XLSX.RelType = require('./rel-type');
696
- module.exports = XLSX;
697
- //# sourceMappingURL=xlsx.js.map