clearotron 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (622) hide show
  1. package/.env.example +54 -1
  2. package/CONTRIBUTING.md +3 -3
  3. package/INSTALL.md +53 -49
  4. package/bin/brandowner.mjs +1 -1
  5. package/bin/clearotron.mjs +4 -4
  6. package/bin/connect.mjs +2 -2
  7. package/bin/example.mjs +27 -11
  8. package/bin/grant.mjs +3 -3
  9. package/bin/key.mjs +1 -1
  10. package/bin/onboard.mjs +58 -118
  11. package/bin/start.mjs +22 -25
  12. package/bin/stop.mjs +65 -3
  13. package/bin/update.mjs +7 -7
  14. package/bin/uspto-sync.mjs +1 -1
  15. package/build-info.json +2 -2
  16. package/docs/DELIVERY.md +6 -2
  17. package/docs/architecture/01-product-overview.md +2 -2
  18. package/docs/architecture/02-architecture.md +2 -2
  19. package/docs/architecture/04-configuration-reference.md +6 -3
  20. package/docs/architecture/05-config-governance.md +38 -5
  21. package/docs/architecture/06-operations-runbook.md +13 -1
  22. package/docs/architecture/09-security-and-data.md +1 -1
  23. package/docs/decisions/0004-documentation-structure.md +1 -1
  24. package/driver/CHANGELOG.md +65 -1
  25. package/driver/README.md +2 -2
  26. package/driver/ask-ledger.mjs +3 -3
  27. package/driver/authority-trees.mjs +1 -1
  28. package/driver/call-capture.mjs +1 -1
  29. package/driver/card-frame.mjs +1 -1
  30. package/driver/case-law-ledger.mjs +1 -1
  31. package/driver/claim-liveness.mjs +1 -1
  32. package/driver/common-law-receipts.mjs +1 -1
  33. package/driver/commonlaw-carry.mjs +1 -1
  34. package/driver/config-inventory.mjs +1 -1
  35. package/driver/connotation-search.mjs +12 -12
  36. package/driver/contract-audit.mjs +5 -5
  37. package/driver/contract-dictation-registry.mjs +4 -4
  38. package/driver/contract-dictation.mjs +2 -2
  39. package/driver/contract-e3-backlog.mjs +6 -6
  40. package/driver/contract-vocabulary.mjs +3 -3
  41. package/driver/corrections-feedforward.mjs +1 -1
  42. package/driver/coverage-form-io.mjs +2 -2
  43. package/driver/coverage-form.mjs +4 -4
  44. package/driver/coverage-ledger.mjs +3 -3
  45. package/driver/coverage-union.mjs +1 -1
  46. package/driver/declination-call.mjs +35 -3
  47. package/driver/declination-duty.mjs +1 -1
  48. package/driver/deliver-trigger.sh +3 -3
  49. package/driver/deploy-live-run-guard.mjs +6 -2
  50. package/driver/dev-portal.mjs +1 -1
  51. package/driver/disposition-call.mjs +4 -4
  52. package/driver/disposition-tool.mjs +4 -4
  53. package/driver/disposition-union.mjs +2 -2
  54. package/driver/doc-constants.mjs +1 -1
  55. package/driver/door-gates.mjs +2 -2
  56. package/driver/doubt-selection.mjs +2 -2
  57. package/driver/drainer-identity.mjs +1 -1
  58. package/driver/driver.config.mjs +63 -11
  59. package/driver/e2e-rounds.mjs +2 -2
  60. package/driver/effort-model.mjs +2 -2
  61. package/driver/engine/anthropic-agent.mjs +24 -24
  62. package/driver/engine/auth.mjs +1 -1
  63. package/driver/engine/common.mjs +1 -1
  64. package/driver/engine/deny-authority-write.mjs +1 -1
  65. package/driver/engine/jx-turn.mjs +1 -1
  66. package/driver/engine/mcp/clarivate-server.mjs +1 -1
  67. package/driver/engine/mcp/corsearch-server.mjs +1 -1
  68. package/driver/engine/mcp/declination-server.mjs +1 -1
  69. package/driver/engine/mcp/dispositions-server.mjs +1 -1
  70. package/driver/engine/mcp/euipo-server.mjs +1 -1
  71. package/driver/engine/mcp/fetch-server.mjs +1 -1
  72. package/driver/engine/mcp/free-tier-server.mjs +2 -2
  73. package/driver/engine/mcp/gather-config.mjs +11 -11
  74. package/driver/engine/mcp/perplexity-server.mjs +1 -1
  75. package/driver/engine/mcp/recording-server.mjs +8 -4
  76. package/driver/engine/mcp/signa-server.mjs +1 -1
  77. package/driver/engine/mcp/uspto-local-server.mjs +1 -1
  78. package/driver/engine/openai-agent.mjs +2 -2
  79. package/driver/engine-build.mjs +2 -2
  80. package/driver/enqueue-schema.mjs +2 -2
  81. package/driver/enqueue.mjs +1 -1
  82. package/driver/envelope-settle.mjs +1 -1
  83. package/driver/evidence-claim-invariant.mjs +2 -2
  84. package/driver/findings-model.mjs +8 -8
  85. package/driver/floor-duty.mjs +1 -1
  86. package/driver/form-neighbourhood.mjs +1 -1
  87. package/driver/framework.mjs +1 -1
  88. package/driver/gateway.mjs +28 -23
  89. package/driver/grounds-grammar.mjs +1 -1
  90. package/driver/hit-list.mjs +1 -1
  91. package/driver/jurisdiction-systems.mjs +1 -1
  92. package/driver/jx-lanes.mjs +1 -1
  93. package/driver/jx-units.mjs +1 -1
  94. package/driver/jx.mjs +3 -3
  95. package/driver/knockout-assess-record.mjs +5 -1
  96. package/driver/narrative-refutation-record.mjs +3 -3
  97. package/driver/numeric-setting.mjs +1 -1
  98. package/driver/owner-use-check.mjs +184 -0
  99. package/driver/package.json +2 -2
  100. package/driver/phase0.mjs +1 -1
  101. package/driver/pipeline-knockout.mjs +52 -4
  102. package/driver/pipeline.mjs +175 -62
  103. package/driver/placement-diff.mjs +2 -2
  104. package/driver/placement-form.mjs +4 -4
  105. package/driver/placement-union.mjs +1 -1
  106. package/driver/portal-acks.mjs +1 -1
  107. package/driver/portal-config-view.mjs +2 -2
  108. package/driver/portal-local-auth.mjs +1 -1
  109. package/driver/portal-report.mjs +6 -6
  110. package/driver/portal-service.mjs +15 -15
  111. package/driver/predelivery-lint.mjs +28 -10
  112. package/driver/prelim-variants-record.mjs +2 -2
  113. package/driver/profile-page.html +1 -1
  114. package/driver/profile-selection.mjs +1 -1
  115. package/driver/profile-service.mjs +2 -2
  116. package/driver/profiles.mjs +1 -1
  117. package/driver/progress.mjs +6 -6
  118. package/driver/provider-usage.mjs +1 -1
  119. package/driver/publish/demo-marking.mjs +1 -1
  120. package/driver/publish/index.mjs +47 -6
  121. package/driver/publish/knockout.mjs +36 -14
  122. package/driver/publish/parse.mjs +4 -4
  123. package/driver/publish/publish-inputs.mjs +2 -2
  124. package/driver/publish/register-presence.mjs +1 -1
  125. package/driver/publish/render-knockout.mjs +198 -31
  126. package/driver/publish/report-data.mjs +13 -3
  127. package/driver/queue-watch-probe.mjs +1 -1
  128. package/driver/queue-watch-verdict.mjs +1 -1
  129. package/driver/recall-reconciliation.mjs +1 -1
  130. package/driver/recipe-service.mjs +1 -1
  131. package/driver/record-carry.mjs +5 -5
  132. package/driver/recording-agreement.mjs +3 -3
  133. package/driver/reference-score.mjs +7 -7
  134. package/driver/refusal-bound.mjs +3 -3
  135. package/driver/register-availability.mjs +2 -2
  136. package/driver/register-count.mjs +1 -1
  137. package/driver/register-grant-vocabulary.mjs +2 -2
  138. package/driver/register-plan.mjs +8 -8
  139. package/driver/register-records.mjs +2 -2
  140. package/driver/registry-fidelity.mjs +3 -3
  141. package/driver/remedy-accounting.mjs +1 -1
  142. package/driver/repair-composers.mjs +2 -2
  143. package/driver/repair-digest.mjs +3 -3
  144. package/driver/repairs.mjs +6 -6
  145. package/driver/replay-archive.mjs +2 -0
  146. package/driver/report-card-record.mjs +2 -2
  147. package/driver/result-noun-fields.mjs +10 -3
  148. package/driver/run-economics.mjs +2 -2
  149. package/driver/run-integrity.mjs +1 -1
  150. package/driver/runner.mjs +22 -22
  151. package/driver/scope-rules.mjs +1 -1
  152. package/driver/search-policy.mjs +3 -3
  153. package/driver/skeptic-search.mjs +1 -1
  154. package/driver/skills/blind-frame/SKILL.md +1 -1
  155. package/driver/skills/case-law-citation/SKILL.md +2 -2
  156. package/driver/skills/knockout-assess/SKILL.md +10 -4
  157. package/driver/skills/prelim-search/SKILL.md +2 -2
  158. package/driver/skills/prelim-search/template-formatting.md +1 -1
  159. package/driver/skills/prelim-search/templates/email/generic.md +1 -1
  160. package/driver/skills/prelim-search/worked-examples.md +1 -1
  161. package/driver/skills/prelim-variants/SKILL.md +2 -2
  162. package/driver/stage-context.mjs +1 -1
  163. package/driver/stages-knockout.mjs +55 -4
  164. package/driver/stages.mjs +97 -40
  165. package/driver/stray-artifacts.mjs +2 -2
  166. package/driver/suite-census.json +146 -32
  167. package/driver/synthesis-record.mjs +1 -1
  168. package/driver/systemd/clearotron-client-mcp.service +1 -1
  169. package/driver/systemd/clearotron-portal.service +1 -1
  170. package/driver/systemd/render-units.mjs +1 -1
  171. package/driver/tokens.mjs +1 -1
  172. package/driver/tool-calls.mjs +1 -1
  173. package/driver/turnaround-bands.mjs +1 -1
  174. package/driver/unit-file-drift.mjs +1 -1
  175. package/driver/unit-inventory.mjs +121 -61
  176. package/driver/unit-state-verdict.mjs +20 -12
  177. package/driver/verify-knockout.mjs +10 -2
  178. package/driver/verify.mjs +12 -12
  179. package/driver/whatif-memo-run.mjs +46 -5
  180. package/driver/whatif-queue.mjs +1 -1
  181. package/driver/whatif-worker.mjs +1 -1
  182. package/mcp-server/CHANGELOG.md +4 -0
  183. package/mcp-server/README.md +3 -3
  184. package/mcp-server/http-server.mjs +44 -1
  185. package/mcp-server/key-socket.mjs +184 -0
  186. package/mcp-server/lib/audit-view.mjs +69 -2
  187. package/mcp-server/lib/brief.mjs +15 -0
  188. package/mcp-server/lib/driver.mjs +7 -1
  189. package/mcp-server/lib/events.mjs +1 -1
  190. package/mcp-server/lib/http-handler.mjs +1 -1
  191. package/mcp-server/lib/knockout.mjs +435 -0
  192. package/mcp-server/lib/ops.mjs +4 -4
  193. package/mcp-server/lib/options.mjs +1 -1
  194. package/mcp-server/lib/plan.mjs +1 -1
  195. package/mcp-server/lib/runs.mjs +1 -1
  196. package/mcp-server/lib/scrub.mjs +1 -1
  197. package/mcp-server/lib/whatif.mjs +3 -3
  198. package/mcp-server/mint-token.mjs +1 -1
  199. package/mcp-server/package.json +2 -2
  200. package/mcp-server/server.mjs +76 -11
  201. package/package.json +3 -3
  202. package/portal-ui/package.json +1 -1
  203. package/providers/_shared/enumerate.mjs +1 -1
  204. package/providers/_shared/ledger-path.mjs +3 -3
  205. package/providers/_shared/ledger.mjs +1 -1
  206. package/providers/_shared/result-shape.mjs +3 -3
  207. package/providers/_shared/term-shape.mjs +1 -1
  208. package/providers/corsearch/src/core.js +1 -1
  209. package/providers/jx-subclass/BUILDING.md +1 -1
  210. package/providers/oauth-mcp-bridge/CHANGELOG.md +4 -0
  211. package/providers/oauth-mcp-bridge/package.json +1 -1
  212. package/providers/oauth-mcp-bridge/stdin-guard.mjs +2 -2
  213. package/scripts/README.md +1 -1
  214. package/scripts/added-reference-check.mjs +29 -1
  215. package/scripts/ai-page-render-check.mjs +1 -1
  216. package/scripts/authority-boundary-probe.mjs +1 -1
  217. package/scripts/backfill-started-at.mjs +1 -1
  218. package/scripts/citation-line-check.mjs +3 -3
  219. package/scripts/clearances-render-check.mjs +3 -3
  220. package/scripts/compare.mjs +2 -2
  221. package/scripts/composer-render-check.mjs +6 -6
  222. package/scripts/contract-dictation-scan.mjs +2 -2
  223. package/scripts/dead-names.mjs +1 -1
  224. package/scripts/drain-preflight.mjs +5 -5
  225. package/scripts/e2e-unread-terminals.mjs +1 -1
  226. package/scripts/e2e.mjs +8 -8
  227. package/scripts/env-audit.mjs +7 -7
  228. package/scripts/env-classify.mjs +139 -15
  229. package/scripts/freeze-example-run.mjs +3 -3
  230. package/scripts/head-arrived-gated.mjs +1 -1
  231. package/scripts/headless-page.mjs +51 -2
  232. package/scripts/home-render-check.mjs +2 -2
  233. package/scripts/live-surface-check.mjs +92 -19
  234. package/scripts/main-health.mjs +1 -1
  235. package/scripts/merge-presence-check.mjs +3 -3
  236. package/scripts/mint-suite-census.mjs +6 -6
  237. package/scripts/nightly-notice.mjs +1 -1
  238. package/scripts/portal-lifecycle-check.mjs +3 -3
  239. package/scripts/reconcile-runs.mjs +1 -1
  240. package/scripts/release-await-cut.mjs +6 -4
  241. package/scripts/release-version-pr-checks.mjs +1 -1
  242. package/scripts/release-version.mjs +2 -2
  243. package/scripts/render-check.mjs +66 -7
  244. package/scripts/report-frame-check.mjs +1 -1
  245. package/scripts/report-screenshot.mjs +1 -1
  246. package/scripts/revisit-render-check.mjs +1 -1
  247. package/scripts/score.mjs +4 -4
  248. package/scripts/strip-tracker-citations.mjs +116 -0
  249. package/scripts/test-run.mjs +3 -3
  250. package/scripts/third-party-notices.mjs +3 -3
  251. package/scripts/travelling-predicates.mjs +3 -3
  252. package/scripts/unexecuted-asserts.mjs +2 -2
  253. package/scripts/verify-publishable.mjs +2 -2
  254. package/scripts/write-up-form-census.mjs +1 -1
  255. package/shared/access-audience.mjs +1 -1
  256. package/shared/brand.mjs +13 -13
  257. package/shared/citation-scan.mjs +1 -1
  258. package/shared/client-door.mjs +7 -7
  259. package/shared/driver-dir.mjs +1 -1
  260. package/shared/env-aliases.mjs +0 -48
  261. package/shared/env-local.mjs +1 -1
  262. package/shared/identifier-scan.mjs +3 -3
  263. package/shared/invocation.mjs +1 -1
  264. package/shared/names-in-force.mjs +2 -0
  265. package/shared/product-owned-names.mjs +1 -1
  266. package/shared/register-selection.mjs +1 -1
  267. package/shared/scope.mjs +5 -5
  268. package/shared/server-units.mjs +4 -4
  269. package/shared/store-in-repo.mjs +2 -2
  270. package/shared/suite-census.mjs +4 -4
  271. package/shared/tty-style.mjs +1 -1
  272. package/shared/uspto-index-size.mjs +1 -1
  273. package/shared/vacuous-pass.mjs +1 -1
  274. package/skills/clearotron-account/SKILL.md +42 -13
  275. package/driver/systemd/prelim-driver.path +0 -69
  276. package/driver/systemd/prelim-driver.service +0 -86
  277. package/driver/systemd/prelim-driver.timer +0 -14
  278. package/driver/systemd/prelim-outbox.path +0 -27
  279. package/driver/systemd/prelim-outbox.service +0 -37
  280. package/driver/systemd/prelim-outbox.timer +0 -21
  281. package/node_modules/exceljs/README_zh.md +0 -2878
  282. package/node_modules/exceljs/dist/LICENSE +0 -22
  283. package/node_modules/exceljs/dist/es5/csv/csv.js +0 -182
  284. package/node_modules/exceljs/dist/es5/csv/csv.js.map +0 -1
  285. package/node_modules/exceljs/dist/es5/csv/line-buffer.js +0 -68
  286. package/node_modules/exceljs/dist/es5/csv/line-buffer.js.map +0 -1
  287. package/node_modules/exceljs/dist/es5/csv/stream-converter.js +0 -110
  288. package/node_modules/exceljs/dist/es5/csv/stream-converter.js.map +0 -1
  289. package/node_modules/exceljs/dist/es5/doc/anchor.js +0 -73
  290. package/node_modules/exceljs/dist/es5/doc/anchor.js.map +0 -1
  291. package/node_modules/exceljs/dist/es5/doc/cell.js +0 -961
  292. package/node_modules/exceljs/dist/es5/doc/cell.js.map +0 -1
  293. package/node_modules/exceljs/dist/es5/doc/column.js +0 -274
  294. package/node_modules/exceljs/dist/es5/doc/column.js.map +0 -1
  295. package/node_modules/exceljs/dist/es5/doc/data-validations.js +0 -18
  296. package/node_modules/exceljs/dist/es5/doc/data-validations.js.map +0 -1
  297. package/node_modules/exceljs/dist/es5/doc/defined-names.js +0 -173
  298. package/node_modules/exceljs/dist/es5/doc/defined-names.js.map +0 -1
  299. package/node_modules/exceljs/dist/es5/doc/enums.js +0 -49
  300. package/node_modules/exceljs/dist/es5/doc/enums.js.map +0 -1
  301. package/node_modules/exceljs/dist/es5/doc/image.js +0 -69
  302. package/node_modules/exceljs/dist/es5/doc/image.js.map +0 -1
  303. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js +0 -16
  304. package/node_modules/exceljs/dist/es5/doc/modelcontainer.js.map +0 -1
  305. package/node_modules/exceljs/dist/es5/doc/note.js +0 -64
  306. package/node_modules/exceljs/dist/es5/doc/note.js.map +0 -1
  307. package/node_modules/exceljs/dist/es5/doc/range.js +0 -229
  308. package/node_modules/exceljs/dist/es5/doc/range.js.map +0 -1
  309. package/node_modules/exceljs/dist/es5/doc/row.js +0 -382
  310. package/node_modules/exceljs/dist/es5/doc/row.js.map +0 -1
  311. package/node_modules/exceljs/dist/es5/doc/table.js +0 -443
  312. package/node_modules/exceljs/dist/es5/doc/table.js.map +0 -1
  313. package/node_modules/exceljs/dist/es5/doc/workbook.js +0 -202
  314. package/node_modules/exceljs/dist/es5/doc/workbook.js.map +0 -1
  315. package/node_modules/exceljs/dist/es5/doc/worksheet.js +0 -900
  316. package/node_modules/exceljs/dist/es5/doc/worksheet.js.map +0 -1
  317. package/node_modules/exceljs/dist/es5/exceljs.bare.js +0 -14
  318. package/node_modules/exceljs/dist/es5/exceljs.bare.js.map +0 -1
  319. package/node_modules/exceljs/dist/es5/exceljs.browser.js +0 -36
  320. package/node_modules/exceljs/dist/es5/exceljs.browser.js.map +0 -1
  321. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js +0 -15
  322. package/node_modules/exceljs/dist/es5/exceljs.nodejs.js.map +0 -1
  323. package/node_modules/exceljs/dist/es5/index.js +0 -15
  324. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js +0 -90
  325. package/node_modules/exceljs/dist/es5/stream/xlsx/hyperlink-reader.js.map +0 -1
  326. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js +0 -94
  327. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-comments-writer.js.map +0 -1
  328. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js +0 -94
  329. package/node_modules/exceljs/dist/es5/stream/xlsx/sheet-rels-writer.js.map +0 -1
  330. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js +0 -362
  331. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-reader.js.map +0 -1
  332. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js +0 -347
  333. package/node_modules/exceljs/dist/es5/stream/xlsx/workbook-writer.js.map +0 -1
  334. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js +0 -392
  335. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-reader.js.map +0 -1
  336. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js +0 -652
  337. package/node_modules/exceljs/dist/es5/stream/xlsx/worksheet-writer.js.map +0 -1
  338. package/node_modules/exceljs/dist/es5/utils/auto-drain.js +0 -18
  339. package/node_modules/exceljs/dist/es5/utils/auto-drain.js.map +0 -1
  340. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js +0 -15
  341. package/node_modules/exceljs/dist/es5/utils/browser-buffer-decode.js.map +0 -1
  342. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js +0 -18
  343. package/node_modules/exceljs/dist/es5/utils/browser-buffer-encode.js.map +0 -1
  344. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js +0 -149
  345. package/node_modules/exceljs/dist/es5/utils/cell-matrix.js.map +0 -1
  346. package/node_modules/exceljs/dist/es5/utils/col-cache.js +0 -258
  347. package/node_modules/exceljs/dist/es5/utils/col-cache.js.map +0 -1
  348. package/node_modules/exceljs/dist/es5/utils/copy-style.js +0 -43
  349. package/node_modules/exceljs/dist/es5/utils/copy-style.js.map +0 -1
  350. package/node_modules/exceljs/dist/es5/utils/encryptor.js +0 -58
  351. package/node_modules/exceljs/dist/es5/utils/encryptor.js.map +0 -1
  352. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js +0 -46
  353. package/node_modules/exceljs/dist/es5/utils/iterate-stream.js.map +0 -1
  354. package/node_modules/exceljs/dist/es5/utils/parse-sax.js +0 -47
  355. package/node_modules/exceljs/dist/es5/utils/parse-sax.js.map +0 -1
  356. package/node_modules/exceljs/dist/es5/utils/shared-formula.js +0 -42
  357. package/node_modules/exceljs/dist/es5/utils/shared-formula.js.map +0 -1
  358. package/node_modules/exceljs/dist/es5/utils/shared-strings.js +0 -32
  359. package/node_modules/exceljs/dist/es5/utils/shared-strings.js.map +0 -1
  360. package/node_modules/exceljs/dist/es5/utils/stream-base64.js +0 -66
  361. package/node_modules/exceljs/dist/es5/utils/stream-base64.js.map +0 -1
  362. package/node_modules/exceljs/dist/es5/utils/stream-buf.js +0 -343
  363. package/node_modules/exceljs/dist/es5/utils/stream-buf.js.map +0 -1
  364. package/node_modules/exceljs/dist/es5/utils/string-buf.js +0 -73
  365. package/node_modules/exceljs/dist/es5/utils/string-buf.js.map +0 -1
  366. package/node_modules/exceljs/dist/es5/utils/string-builder.js +0 -32
  367. package/node_modules/exceljs/dist/es5/utils/string-builder.js.map +0 -1
  368. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js +0 -61
  369. package/node_modules/exceljs/dist/es5/utils/stuttered-pipe.js.map +0 -1
  370. package/node_modules/exceljs/dist/es5/utils/typed-stack.js +0 -23
  371. package/node_modules/exceljs/dist/es5/utils/typed-stack.js.map +0 -1
  372. package/node_modules/exceljs/dist/es5/utils/under-dash.js +0 -168
  373. package/node_modules/exceljs/dist/es5/utils/under-dash.js.map +0 -1
  374. package/node_modules/exceljs/dist/es5/utils/utils.js +0 -171
  375. package/node_modules/exceljs/dist/es5/utils/utils.js.map +0 -1
  376. package/node_modules/exceljs/dist/es5/utils/xml-stream.js +0 -151
  377. package/node_modules/exceljs/dist/es5/utils/xml-stream.js.map +0 -1
  378. package/node_modules/exceljs/dist/es5/utils/zip-stream.js +0 -79
  379. package/node_modules/exceljs/dist/es5/utils/zip-stream.js.map +0 -1
  380. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js +0 -230
  381. package/node_modules/exceljs/dist/es5/xlsx/defaultnumformats.js.map +0 -1
  382. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js +0 -18
  383. package/node_modules/exceljs/dist/es5/xlsx/rel-type.js.map +0 -1
  384. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js +0 -139
  385. package/node_modules/exceljs/dist/es5/xlsx/xform/base-xform.js.map +0 -1
  386. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js +0 -85
  387. package/node_modules/exceljs/dist/es5/xlsx/xform/book/defined-name-xform.js.map +0 -1
  388. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js +0 -32
  389. package/node_modules/exceljs/dist/es5/xlsx/xform/book/sheet-xform.js.map +0 -1
  390. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js +0 -24
  391. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +0 -1
  392. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js +0 -27
  393. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +0 -1
  394. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js +0 -51
  395. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +0 -1
  396. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js +0 -234
  397. package/node_modules/exceljs/dist/es5/xlsx/xform/book/workbook-xform.js.map +0 -1
  398. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js +0 -103
  399. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comment-xform.js.map +0 -1
  400. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js +0 -76
  401. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/comments-xform.js.map +0 -1
  402. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js +0 -35
  403. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +0 -1
  404. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js +0 -32
  405. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +0 -1
  406. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js +0 -53
  407. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +0 -1
  408. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js +0 -97
  409. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +0 -1
  410. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js +0 -107
  411. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +0 -1
  412. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js +0 -92
  413. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +0 -1
  414. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +0 -61
  415. package/node_modules/exceljs/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +0 -1
  416. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js +0 -51
  417. package/node_modules/exceljs/dist/es5/xlsx/xform/composite-xform.js.map +0 -1
  418. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js +0 -30
  419. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +0 -1
  420. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js +0 -27
  421. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +0 -1
  422. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js +0 -93
  423. package/node_modules/exceljs/dist/es5/xlsx/xform/core/app-xform.js.map +0 -1
  424. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js +0 -112
  425. package/node_modules/exceljs/dist/es5/xlsx/xform/core/content-types-xform.js.map +0 -1
  426. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js +0 -158
  427. package/node_modules/exceljs/dist/es5/xlsx/xform/core/core-xform.js.map +0 -1
  428. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js +0 -23
  429. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationship-xform.js.map +0 -1
  430. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js +0 -65
  431. package/node_modules/exceljs/dist/es5/xlsx/xform/core/relationships-xform.js.map +0 -1
  432. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -47
  433. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +0 -1
  434. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js +0 -61
  435. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +0 -1
  436. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js +0 -40
  437. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/blip-xform.js.map +0 -1
  438. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -35
  439. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +0 -1
  440. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +0 -62
  441. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +0 -1
  442. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js +0 -82
  443. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +0 -1
  444. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js +0 -98
  445. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +0 -1
  446. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js +0 -40
  447. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +0 -1
  448. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js +0 -38
  449. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/ext-xform.js.map +0 -1
  450. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js +0 -38
  451. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +0 -1
  452. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -59
  453. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +0 -1
  454. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -63
  455. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +0 -1
  456. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js +0 -67
  457. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/pic-xform.js.map +0 -1
  458. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js +0 -30
  459. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/sp-pr.js.map +0 -1
  460. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -62
  461. package/node_modules/exceljs/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +0 -1
  462. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js +0 -91
  463. package/node_modules/exceljs/dist/es5/xlsx/xform/list-xform.js.map +0 -1
  464. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +0 -40
  465. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +0 -1
  466. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js +0 -451
  467. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cell-xform.js.map +0 -1
  468. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -275
  469. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +0 -1
  470. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js +0 -25
  471. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +0 -1
  472. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js +0 -38
  473. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +0 -1
  474. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -45
  475. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +0 -1
  476. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -77
  477. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +0 -1
  478. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js +0 -42
  479. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +0 -1
  480. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -71
  481. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +0 -1
  482. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js +0 -22
  483. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +0 -1
  484. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js +0 -43
  485. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +0 -1
  486. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -28
  487. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +0 -1
  488. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -88
  489. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +0 -1
  490. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -38
  491. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +0 -1
  492. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -52
  493. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +0 -1
  494. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -43
  495. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +0 -1
  496. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -75
  497. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +0 -1
  498. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -22
  499. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +0 -1
  500. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -66
  501. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +0 -1
  502. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -22
  503. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +0 -1
  504. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js +0 -78
  505. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/col-xform.js.map +0 -1
  506. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js +0 -247
  507. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +0 -1
  508. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js +0 -28
  509. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +0 -1
  510. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js +0 -32
  511. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +0 -1
  512. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js +0 -69
  513. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +0 -1
  514. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js +0 -126
  515. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +0 -1
  516. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js +0 -50
  517. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +0 -1
  518. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js +0 -26
  519. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +0 -1
  520. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js +0 -52
  521. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/merges.js.map +0 -1
  522. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js +0 -35
  523. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +0 -1
  524. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js +0 -24
  525. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +0 -1
  526. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js +0 -46
  527. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +0 -1
  528. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js +0 -32
  529. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +0 -1
  530. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js +0 -99
  531. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +0 -1
  532. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js +0 -32
  533. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/picture-xform.js.map +0 -1
  534. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js +0 -45
  535. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +0 -1
  536. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js +0 -37
  537. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +0 -1
  538. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js +0 -128
  539. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/row-xform.js.map +0 -1
  540. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -51
  541. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +0 -1
  542. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js +0 -83
  543. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +0 -1
  544. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js +0 -84
  545. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +0 -1
  546. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js +0 -190
  547. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +0 -1
  548. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js +0 -32
  549. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +0 -1
  550. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js +0 -513
  551. package/node_modules/exceljs/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +0 -1
  552. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js +0 -27
  553. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/boolean-xform.js.map +0 -1
  554. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js +0 -58
  555. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/date-xform.js.map +0 -1
  556. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js +0 -47
  557. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/float-xform.js.map +0 -1
  558. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js +0 -53
  559. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/integer-xform.js.map +0 -1
  560. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js +0 -47
  561. package/node_modules/exceljs/dist/es5/xlsx/xform/simple/string-xform.js.map +0 -1
  562. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js +0 -61
  563. package/node_modules/exceljs/dist/es5/xlsx/xform/static-xform.js.map +0 -1
  564. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js +0 -98
  565. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +0 -1
  566. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js +0 -92
  567. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +0 -1
  568. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js +0 -99
  569. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +0 -1
  570. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js +0 -114
  571. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +0 -1
  572. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js +0 -39
  573. package/node_modules/exceljs/dist/es5/xlsx/xform/strings/text-xform.js.map +0 -1
  574. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js +0 -139
  575. package/node_modules/exceljs/dist/es5/xlsx/xform/style/alignment-xform.js.map +0 -1
  576. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js +0 -185
  577. package/node_modules/exceljs/dist/es5/xlsx/xform/style/border-xform.js.map +0 -1
  578. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js +0 -66
  579. package/node_modules/exceljs/dist/es5/xlsx/xform/style/color-xform.js.map +0 -1
  580. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js +0 -106
  581. package/node_modules/exceljs/dist/es5/xlsx/xform/style/dxf-xform.js.map +0 -1
  582. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js +0 -308
  583. package/node_modules/exceljs/dist/es5/xlsx/xform/style/fill-xform.js.map +0 -1
  584. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js +0 -175
  585. package/node_modules/exceljs/dist/es5/xlsx/xform/style/font-xform.js.map +0 -1
  586. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js +0 -59
  587. package/node_modules/exceljs/dist/es5/xlsx/xform/style/numfmt-xform.js.map +0 -1
  588. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js +0 -53
  589. package/node_modules/exceljs/dist/es5/xlsx/xform/style/protection-xform.js.map +0 -1
  590. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js +0 -118
  591. package/node_modules/exceljs/dist/es5/xlsx/xform/style/style-xform.js.map +0 -1
  592. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js +0 -612
  593. package/node_modules/exceljs/dist/es5/xlsx/xform/style/styles-xform.js.map +0 -1
  594. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js +0 -46
  595. package/node_modules/exceljs/dist/es5/xlsx/xform/style/underline-xform.js.map +0 -1
  596. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js +0 -75
  597. package/node_modules/exceljs/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +0 -1
  598. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js +0 -30
  599. package/node_modules/exceljs/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +0 -1
  600. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js +0 -89
  601. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-column-xform.js.map +0 -1
  602. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js +0 -28
  603. package/node_modules/exceljs/dist/es5/xlsx/xform/table/filter-xform.js.map +0 -1
  604. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js +0 -42
  605. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-column-xform.js.map +0 -1
  606. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js +0 -40
  607. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +0 -1
  608. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js +0 -123
  609. package/node_modules/exceljs/dist/es5/xlsx/xform/table/table-xform.js.map +0 -1
  610. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js +0 -697
  611. package/node_modules/exceljs/dist/es5/xlsx/xlsx.js.map +0 -1
  612. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js +0 -5
  613. package/node_modules/exceljs/dist/es5/xlsx/xml/theme1.js.map +0 -1
  614. package/node_modules/exceljs/dist/exceljs.bare.js +0 -55253
  615. package/node_modules/exceljs/dist/exceljs.bare.js.map +0 -761
  616. package/node_modules/exceljs/dist/exceljs.bare.min.js +0 -45
  617. package/node_modules/exceljs/dist/exceljs.bare.min.js.map +0 -1
  618. package/node_modules/exceljs/dist/exceljs.js +0 -59900
  619. package/node_modules/exceljs/dist/exceljs.js.map +0 -1083
  620. package/node_modules/exceljs/dist/exceljs.min.js +0 -45
  621. package/node_modules/exceljs/dist/exceljs.min.js.map +0 -1
  622. package/scripts/deploy-test.sh +0 -309
@@ -1,114 +0,0 @@
1
- "use strict";
2
-
3
- const XmlStream = require('../../../utils/xml-stream');
4
- const BaseXform = require('../base-xform');
5
- const SharedStringXform = require('./shared-string-xform');
6
- class SharedStringsXform extends BaseXform {
7
- constructor(model) {
8
- super();
9
- this.model = model || {
10
- values: [],
11
- count: 0
12
- };
13
- this.hash = Object.create(null);
14
- this.rich = Object.create(null);
15
- }
16
- get sharedStringXform() {
17
- return this._sharedStringXform || (this._sharedStringXform = new SharedStringXform());
18
- }
19
- get values() {
20
- return this.model.values;
21
- }
22
- get uniqueCount() {
23
- return this.model.values.length;
24
- }
25
- get count() {
26
- return this.model.count;
27
- }
28
- getString(index) {
29
- return this.model.values[index];
30
- }
31
- add(value) {
32
- return value.richText ? this.addRichText(value) : this.addText(value);
33
- }
34
- addText(value) {
35
- let index = this.hash[value];
36
- if (index === undefined) {
37
- index = this.hash[value] = this.model.values.length;
38
- this.model.values.push(value);
39
- }
40
- this.model.count++;
41
- return index;
42
- }
43
- addRichText(value) {
44
- // TODO: add WeakMap here
45
- const xml = this.sharedStringXform.toXml(value);
46
- let index = this.rich[xml];
47
- if (index === undefined) {
48
- index = this.rich[xml] = this.model.values.length;
49
- this.model.values.push(value);
50
- }
51
- this.model.count++;
52
- return index;
53
- }
54
-
55
- // <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
56
- // <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="<%=totalRefs%>" uniqueCount="<%=count%>">
57
- // <si><t><%=text%></t></si>
58
- // <si><r><rPr></rPr><t></t></r></si>
59
- // </sst>
60
-
61
- render(xmlStream, model) {
62
- model = model || this._values;
63
- xmlStream.openXml(XmlStream.StdDocAttributes);
64
- xmlStream.openNode('sst', {
65
- xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',
66
- count: model.count,
67
- uniqueCount: model.values.length
68
- });
69
- const sx = this.sharedStringXform;
70
- model.values.forEach(sharedString => {
71
- sx.render(xmlStream, sharedString);
72
- });
73
- xmlStream.closeNode();
74
- }
75
- parseOpen(node) {
76
- if (this.parser) {
77
- this.parser.parseOpen(node);
78
- return true;
79
- }
80
- switch (node.name) {
81
- case 'sst':
82
- return true;
83
- case 'si':
84
- this.parser = this.sharedStringXform;
85
- this.parser.parseOpen(node);
86
- return true;
87
- default:
88
- throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);
89
- }
90
- }
91
- parseText(text) {
92
- if (this.parser) {
93
- this.parser.parseText(text);
94
- }
95
- }
96
- parseClose(name) {
97
- if (this.parser) {
98
- if (!this.parser.parseClose(name)) {
99
- this.model.values.push(this.parser.model);
100
- this.model.count++;
101
- this.parser = undefined;
102
- }
103
- return true;
104
- }
105
- switch (name) {
106
- case 'sst':
107
- return false;
108
- default:
109
- throw new Error(`Unexpected xml node in parseClose: ${name}`);
110
- }
111
- }
112
- }
113
- module.exports = SharedStringsXform;
114
- //# sourceMappingURL=shared-strings-xform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared-strings-xform.js","names":["XmlStream","require","BaseXform","SharedStringXform","SharedStringsXform","constructor","model","values","count","hash","Object","create","rich","sharedStringXform","_sharedStringXform","uniqueCount","length","getString","index","add","value","richText","addRichText","addText","undefined","push","xml","toXml","render","xmlStream","_values","openXml","StdDocAttributes","openNode","xmlns","sx","forEach","sharedString","closeNode","parseOpen","node","parser","name","Error","JSON","stringify","parseText","text","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/strings/shared-strings-xform.js"],"sourcesContent":["const XmlStream = require('../../../utils/xml-stream');\nconst BaseXform = require('../base-xform');\nconst SharedStringXform = require('./shared-string-xform');\n\nclass SharedStringsXform extends BaseXform {\n constructor(model) {\n super();\n\n this.model = model || {\n values: [],\n count: 0,\n };\n this.hash = Object.create(null);\n this.rich = Object.create(null);\n }\n\n get sharedStringXform() {\n return this._sharedStringXform || (this._sharedStringXform = new SharedStringXform());\n }\n\n get values() {\n return this.model.values;\n }\n\n get uniqueCount() {\n return this.model.values.length;\n }\n\n get count() {\n return this.model.count;\n }\n\n getString(index) {\n return this.model.values[index];\n }\n\n add(value) {\n return value.richText ? this.addRichText(value) : this.addText(value);\n }\n\n addText(value) {\n let index = this.hash[value];\n if (index === undefined) {\n index = this.hash[value] = this.model.values.length;\n this.model.values.push(value);\n }\n this.model.count++;\n return index;\n }\n\n addRichText(value) {\n // TODO: add WeakMap here\n const xml = this.sharedStringXform.toXml(value);\n let index = this.rich[xml];\n if (index === undefined) {\n index = this.rich[xml] = this.model.values.length;\n this.model.values.push(value);\n }\n this.model.count++;\n return index;\n }\n\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n // <sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"<%=totalRefs%>\" uniqueCount=\"<%=count%>\">\n // <si><t><%=text%></t></si>\n // <si><r><rPr></rPr><t></t></r></si>\n // </sst>\n\n render(xmlStream, model) {\n model = model || this._values;\n xmlStream.openXml(XmlStream.StdDocAttributes);\n\n xmlStream.openNode('sst', {\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n count: model.count,\n uniqueCount: model.values.length,\n });\n\n const sx = this.sharedStringXform;\n model.values.forEach(sharedString => {\n sx.render(xmlStream, sharedString);\n });\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'sst':\n return true;\n case 'si':\n this.parser = this.sharedStringXform;\n this.parser.parseOpen(node);\n return true;\n default:\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.values.push(this.parser.model);\n this.model.count++;\n this.parser = undefined;\n }\n return true;\n }\n switch (name) {\n case 'sst':\n return false;\n default:\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\n }\n }\n}\n\nmodule.exports = SharedStringsXform;\n"],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- const BaseXform = require('../base-xform');
4
-
5
- // <t xml:space="preserve"> is </t>
6
-
7
- class TextXform extends BaseXform {
8
- get tag() {
9
- return 't';
10
- }
11
- render(xmlStream, model) {
12
- xmlStream.openNode('t');
13
- if (/^\s|\n|\s$/.test(model)) {
14
- xmlStream.addAttribute('xml:space', 'preserve');
15
- }
16
- xmlStream.writeText(model);
17
- xmlStream.closeNode();
18
- }
19
- get model() {
20
- return this._text.join('').replace(/_x([0-9A-F]{4})_/g, ($0, $1) => String.fromCharCode(parseInt($1, 16)));
21
- }
22
- parseOpen(node) {
23
- switch (node.name) {
24
- case 't':
25
- this._text = [];
26
- return true;
27
- default:
28
- return false;
29
- }
30
- }
31
- parseText(text) {
32
- this._text.push(text);
33
- }
34
- parseClose() {
35
- return false;
36
- }
37
- }
38
- module.exports = TextXform;
39
- //# sourceMappingURL=text-xform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-xform.js","names":["BaseXform","require","TextXform","tag","render","xmlStream","model","openNode","test","addAttribute","writeText","closeNode","_text","join","replace","$0","$1","String","fromCharCode","parseInt","parseOpen","node","name","parseText","text","push","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/strings/text-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\n\n// <t xml:space=\"preserve\"> is </t>\n\nclass TextXform extends BaseXform {\n get tag() {\n return 't';\n }\n\n render(xmlStream, model) {\n xmlStream.openNode('t');\n if (/^\\s|\\n|\\s$/.test(model)) {\n xmlStream.addAttribute('xml:space', 'preserve');\n }\n xmlStream.writeText(model);\n xmlStream.closeNode();\n }\n\n get model() {\n return this._text\n .join('')\n .replace(/_x([0-9A-F]{4})_/g, ($0, $1) => String.fromCharCode(parseInt($1, 16)));\n }\n\n parseOpen(node) {\n switch (node.name) {\n case 't':\n this._text = [];\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n this._text.push(text);\n }\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = TextXform;\n"],"mappings":";;AAAA,MAAMA,SAAS,GAAGC,OAAO,CAAC,eAAe,CAAC;;AAE1C;;AAEA,MAAMC,SAAS,SAASF,SAAS,CAAC;EAChC,IAAIG,GAAGA,CAAA,EAAG;IACR,OAAO,GAAG;EACZ;EAEAC,MAAMA,CAACC,SAAS,EAAEC,KAAK,EAAE;IACvBD,SAAS,CAACE,QAAQ,CAAC,GAAG,CAAC;IACvB,IAAI,YAAY,CAACC,IAAI,CAACF,KAAK,CAAC,EAAE;MAC5BD,SAAS,CAACI,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC;IACjD;IACAJ,SAAS,CAACK,SAAS,CAACJ,KAAK,CAAC;IAC1BD,SAAS,CAACM,SAAS,CAAC,CAAC;EACvB;EAEA,IAAIL,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACM,KAAK,CACdC,IAAI,CAAC,EAAE,CAAC,CACRC,OAAO,CAAC,mBAAmB,EAAE,CAACC,EAAE,EAAEC,EAAE,KAAKC,MAAM,CAACC,YAAY,CAACC,QAAQ,CAACH,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;EACpF;EAEAI,SAASA,CAACC,IAAI,EAAE;IACd,QAAQA,IAAI,CAACC,IAAI;MACf,KAAK,GAAG;QACN,IAAI,CAACV,KAAK,GAAG,EAAE;QACf,OAAO,IAAI;MACb;QACE,OAAO,KAAK;IAChB;EACF;EAEAW,SAASA,CAACC,IAAI,EAAE;IACd,IAAI,CAACZ,KAAK,CAACa,IAAI,CAACD,IAAI,CAAC;EACvB;EAEAE,UAAUA,CAAA,EAAG;IACX,OAAO,KAAK;EACd;AACF;AAEAC,MAAM,CAACC,OAAO,GAAG1B,SAAS"}
@@ -1,139 +0,0 @@
1
- "use strict";
2
-
3
- const Enums = require('../../../doc/enums');
4
- const utils = require('../../../utils/utils');
5
- const BaseXform = require('../base-xform');
6
- const validation = {
7
- horizontalValues: ['left', 'center', 'right', 'fill', 'centerContinuous', 'distributed', 'justify'].reduce((p, v) => {
8
- p[v] = true;
9
- return p;
10
- }, {}),
11
- horizontal(value) {
12
- return this.horizontalValues[value] ? value : undefined;
13
- },
14
- verticalValues: ['top', 'middle', 'bottom', 'distributed', 'justify'].reduce((p, v) => {
15
- p[v] = true;
16
- return p;
17
- }, {}),
18
- vertical(value) {
19
- if (value === 'middle') return 'center';
20
- return this.verticalValues[value] ? value : undefined;
21
- },
22
- wrapText(value) {
23
- return value ? true : undefined;
24
- },
25
- shrinkToFit(value) {
26
- return value ? true : undefined;
27
- },
28
- textRotation(value) {
29
- switch (value) {
30
- case 'vertical':
31
- return value;
32
- default:
33
- value = utils.validInt(value);
34
- return value >= -90 && value <= 90 ? value : undefined;
35
- }
36
- },
37
- indent(value) {
38
- value = utils.validInt(value);
39
- return Math.max(0, value);
40
- },
41
- readingOrder(value) {
42
- switch (value) {
43
- case 'ltr':
44
- return Enums.ReadingOrder.LeftToRight;
45
- case 'rtl':
46
- return Enums.ReadingOrder.RightToLeft;
47
- default:
48
- return undefined;
49
- }
50
- }
51
- };
52
- const textRotationXform = {
53
- toXml(textRotation) {
54
- textRotation = validation.textRotation(textRotation);
55
- if (textRotation) {
56
- if (textRotation === 'vertical') {
57
- return 255;
58
- }
59
- const tr = Math.round(textRotation);
60
- if (tr >= 0 && tr <= 90) {
61
- return tr;
62
- }
63
- if (tr < 0 && tr >= -90) {
64
- return 90 - tr;
65
- }
66
- }
67
- return undefined;
68
- },
69
- toModel(textRotation) {
70
- const tr = utils.validInt(textRotation);
71
- if (tr !== undefined) {
72
- if (tr === 255) {
73
- return 'vertical';
74
- }
75
- if (tr >= 0 && tr <= 90) {
76
- return tr;
77
- }
78
- if (tr > 90 && tr <= 180) {
79
- return 90 - tr;
80
- }
81
- }
82
- return undefined;
83
- }
84
- };
85
-
86
- // Alignment encapsulates translation from style.alignment model to/from xlsx
87
- class AlignmentXform extends BaseXform {
88
- get tag() {
89
- return 'alignment';
90
- }
91
- render(xmlStream, model) {
92
- xmlStream.addRollback();
93
- xmlStream.openNode('alignment');
94
- let isValid = false;
95
- function add(name, value) {
96
- if (value) {
97
- xmlStream.addAttribute(name, value);
98
- isValid = true;
99
- }
100
- }
101
- add('horizontal', validation.horizontal(model.horizontal));
102
- add('vertical', validation.vertical(model.vertical));
103
- add('wrapText', validation.wrapText(model.wrapText) ? '1' : false);
104
- add('shrinkToFit', validation.shrinkToFit(model.shrinkToFit) ? '1' : false);
105
- add('indent', validation.indent(model.indent));
106
- add('textRotation', textRotationXform.toXml(model.textRotation));
107
- add('readingOrder', validation.readingOrder(model.readingOrder));
108
- xmlStream.closeNode();
109
- if (isValid) {
110
- xmlStream.commit();
111
- } else {
112
- xmlStream.rollback();
113
- }
114
- }
115
- parseOpen(node) {
116
- const model = {};
117
- let valid = false;
118
- function add(truthy, name, value) {
119
- if (truthy) {
120
- model[name] = value;
121
- valid = true;
122
- }
123
- }
124
- add(node.attributes.horizontal, 'horizontal', node.attributes.horizontal);
125
- add(node.attributes.vertical, 'vertical', node.attributes.vertical === 'center' ? 'middle' : node.attributes.vertical);
126
- add(node.attributes.wrapText, 'wrapText', utils.parseBoolean(node.attributes.wrapText));
127
- add(node.attributes.shrinkToFit, 'shrinkToFit', utils.parseBoolean(node.attributes.shrinkToFit));
128
- add(node.attributes.indent, 'indent', parseInt(node.attributes.indent, 10));
129
- add(node.attributes.textRotation, 'textRotation', textRotationXform.toModel(node.attributes.textRotation));
130
- add(node.attributes.readingOrder, 'readingOrder', node.attributes.readingOrder === '2' ? 'rtl' : 'ltr');
131
- this.model = valid ? model : null;
132
- }
133
- parseText() {}
134
- parseClose() {
135
- return false;
136
- }
137
- }
138
- module.exports = AlignmentXform;
139
- //# sourceMappingURL=alignment-xform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alignment-xform.js","names":["Enums","require","utils","BaseXform","validation","horizontalValues","reduce","p","v","horizontal","value","undefined","verticalValues","vertical","wrapText","shrinkToFit","textRotation","validInt","indent","Math","max","readingOrder","ReadingOrder","LeftToRight","RightToLeft","textRotationXform","toXml","tr","round","toModel","AlignmentXform","tag","render","xmlStream","model","addRollback","openNode","isValid","add","name","addAttribute","closeNode","commit","rollback","parseOpen","node","valid","truthy","attributes","parseBoolean","parseInt","parseText","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/style/alignment-xform.js"],"sourcesContent":["const Enums = require('../../../doc/enums');\n\nconst utils = require('../../../utils/utils');\nconst BaseXform = require('../base-xform');\n\nconst validation = {\n horizontalValues: [\n 'left',\n 'center',\n 'right',\n 'fill',\n 'centerContinuous',\n 'distributed',\n 'justify',\n ].reduce((p, v) => {\n p[v] = true;\n return p;\n }, {}),\n horizontal(value) {\n return this.horizontalValues[value] ? value : undefined;\n },\n\n verticalValues: ['top', 'middle', 'bottom', 'distributed', 'justify'].reduce((p, v) => {\n p[v] = true;\n return p;\n }, {}),\n vertical(value) {\n if (value === 'middle') return 'center';\n return this.verticalValues[value] ? value : undefined;\n },\n wrapText(value) {\n return value ? true : undefined;\n },\n shrinkToFit(value) {\n return value ? true : undefined;\n },\n textRotation(value) {\n switch (value) {\n case 'vertical':\n return value;\n default:\n value = utils.validInt(value);\n return value >= -90 && value <= 90 ? value : undefined;\n }\n },\n indent(value) {\n value = utils.validInt(value);\n return Math.max(0, value);\n },\n readingOrder(value) {\n switch (value) {\n case 'ltr':\n return Enums.ReadingOrder.LeftToRight;\n case 'rtl':\n return Enums.ReadingOrder.RightToLeft;\n default:\n return undefined;\n }\n },\n};\n\nconst textRotationXform = {\n toXml(textRotation) {\n textRotation = validation.textRotation(textRotation);\n if (textRotation) {\n if (textRotation === 'vertical') {\n return 255;\n }\n\n const tr = Math.round(textRotation);\n if (tr >= 0 && tr <= 90) {\n return tr;\n }\n\n if (tr < 0 && tr >= -90) {\n return 90 - tr;\n }\n }\n return undefined;\n },\n toModel(textRotation) {\n const tr = utils.validInt(textRotation);\n if (tr !== undefined) {\n if (tr === 255) {\n return 'vertical';\n }\n if (tr >= 0 && tr <= 90) {\n return tr;\n }\n if (tr > 90 && tr <= 180) {\n return 90 - tr;\n }\n }\n return undefined;\n },\n};\n\n// Alignment encapsulates translation from style.alignment model to/from xlsx\nclass AlignmentXform extends BaseXform {\n get tag() {\n return 'alignment';\n }\n\n render(xmlStream, model) {\n xmlStream.addRollback();\n xmlStream.openNode('alignment');\n\n let isValid = false;\n function add(name, value) {\n if (value) {\n xmlStream.addAttribute(name, value);\n isValid = true;\n }\n }\n add('horizontal', validation.horizontal(model.horizontal));\n add('vertical', validation.vertical(model.vertical));\n add('wrapText', validation.wrapText(model.wrapText) ? '1' : false);\n add('shrinkToFit', validation.shrinkToFit(model.shrinkToFit) ? '1' : false);\n add('indent', validation.indent(model.indent));\n add('textRotation', textRotationXform.toXml(model.textRotation));\n add('readingOrder', validation.readingOrder(model.readingOrder));\n\n xmlStream.closeNode();\n\n if (isValid) {\n xmlStream.commit();\n } else {\n xmlStream.rollback();\n }\n }\n\n parseOpen(node) {\n const model = {};\n\n let valid = false;\n function add(truthy, name, value) {\n if (truthy) {\n model[name] = value;\n valid = true;\n }\n }\n add(node.attributes.horizontal, 'horizontal', node.attributes.horizontal);\n add(\n node.attributes.vertical,\n 'vertical',\n node.attributes.vertical === 'center' ? 'middle' : node.attributes.vertical\n );\n add(node.attributes.wrapText, 'wrapText', utils.parseBoolean(node.attributes.wrapText));\n add(node.attributes.shrinkToFit, 'shrinkToFit', utils.parseBoolean(node.attributes.shrinkToFit));\n add(node.attributes.indent, 'indent', parseInt(node.attributes.indent, 10));\n add(\n node.attributes.textRotation,\n 'textRotation',\n textRotationXform.toModel(node.attributes.textRotation)\n );\n add(\n node.attributes.readingOrder,\n 'readingOrder',\n node.attributes.readingOrder === '2' ? 'rtl' : 'ltr'\n );\n\n this.model = valid ? model : null;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = AlignmentXform;\n"],"mappings":"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"}
@@ -1,185 +0,0 @@
1
- "use strict";
2
-
3
- /* eslint-disable max-classes-per-file */
4
- const BaseXform = require('../base-xform');
5
- const utils = require('../../../utils/utils');
6
- const ColorXform = require('./color-xform');
7
- class EdgeXform extends BaseXform {
8
- constructor(name) {
9
- super();
10
- this.name = name;
11
- this.map = {
12
- color: new ColorXform()
13
- };
14
- }
15
- get tag() {
16
- return this.name;
17
- }
18
- render(xmlStream, model, defaultColor) {
19
- const color = model && model.color || defaultColor || this.defaultColor;
20
- xmlStream.openNode(this.name);
21
- if (model && model.style) {
22
- xmlStream.addAttribute('style', model.style);
23
- if (color) {
24
- this.map.color.render(xmlStream, color);
25
- }
26
- }
27
- xmlStream.closeNode();
28
- }
29
- parseOpen(node) {
30
- if (this.parser) {
31
- this.parser.parseOpen(node);
32
- return true;
33
- }
34
- switch (node.name) {
35
- case this.name:
36
- {
37
- const {
38
- style
39
- } = node.attributes;
40
- if (style) {
41
- this.model = {
42
- style
43
- };
44
- } else {
45
- this.model = undefined;
46
- }
47
- return true;
48
- }
49
- case 'color':
50
- this.parser = this.map.color;
51
- this.parser.parseOpen(node);
52
- return true;
53
- default:
54
- return false;
55
- }
56
- }
57
- parseText(text) {
58
- if (this.parser) {
59
- this.parser.parseText(text);
60
- }
61
- }
62
- parseClose(name) {
63
- if (this.parser) {
64
- if (!this.parser.parseClose(name)) {
65
- this.parser = undefined;
66
- }
67
- return true;
68
- }
69
- if (name === this.name) {
70
- if (this.map.color.model) {
71
- if (!this.model) {
72
- this.model = {};
73
- }
74
- this.model.color = this.map.color.model;
75
- }
76
- }
77
- return false;
78
- }
79
- validStyle(value) {
80
- return EdgeXform.validStyleValues[value];
81
- }
82
- }
83
- EdgeXform.validStyleValues = ['thin', 'dashed', 'dotted', 'dashDot', 'hair', 'dashDotDot', 'slantDashDot', 'mediumDashed', 'mediumDashDotDot', 'mediumDashDot', 'medium', 'double', 'thick'].reduce((p, v) => {
84
- p[v] = true;
85
- return p;
86
- }, {});
87
-
88
- // Border encapsulates translation from border model to/from xlsx
89
- class BorderXform extends BaseXform {
90
- constructor() {
91
- super();
92
- this.map = {
93
- top: new EdgeXform('top'),
94
- left: new EdgeXform('left'),
95
- bottom: new EdgeXform('bottom'),
96
- right: new EdgeXform('right'),
97
- diagonal: new EdgeXform('diagonal')
98
- };
99
- }
100
- render(xmlStream, model) {
101
- const {
102
- color
103
- } = model;
104
- xmlStream.openNode('border');
105
- if (model.diagonal && model.diagonal.style) {
106
- if (model.diagonal.up) {
107
- xmlStream.addAttribute('diagonalUp', '1');
108
- }
109
- if (model.diagonal.down) {
110
- xmlStream.addAttribute('diagonalDown', '1');
111
- }
112
- }
113
- function add(edgeModel, edgeXform) {
114
- if (edgeModel && !edgeModel.color && model.color) {
115
- // don't mess with incoming models
116
- edgeModel = {
117
- ...edgeModel,
118
- color: model.color
119
- };
120
- }
121
- edgeXform.render(xmlStream, edgeModel, color);
122
- }
123
- add(model.left, this.map.left);
124
- add(model.right, this.map.right);
125
- add(model.top, this.map.top);
126
- add(model.bottom, this.map.bottom);
127
- add(model.diagonal, this.map.diagonal);
128
- xmlStream.closeNode();
129
- }
130
- parseOpen(node) {
131
- if (this.parser) {
132
- this.parser.parseOpen(node);
133
- return true;
134
- }
135
- switch (node.name) {
136
- case 'border':
137
- this.reset();
138
- this.diagonalUp = utils.parseBoolean(node.attributes.diagonalUp);
139
- this.diagonalDown = utils.parseBoolean(node.attributes.diagonalDown);
140
- return true;
141
- default:
142
- this.parser = this.map[node.name];
143
- if (this.parser) {
144
- this.parser.parseOpen(node);
145
- return true;
146
- }
147
- return false;
148
- }
149
- }
150
- parseText(text) {
151
- if (this.parser) {
152
- this.parser.parseText(text);
153
- }
154
- }
155
- parseClose(name) {
156
- if (this.parser) {
157
- if (!this.parser.parseClose(name)) {
158
- this.parser = undefined;
159
- }
160
- return true;
161
- }
162
- if (name === 'border') {
163
- const model = this.model = {};
164
- const add = function (key, edgeModel, extensions) {
165
- if (edgeModel) {
166
- if (extensions) {
167
- Object.assign(edgeModel, extensions);
168
- }
169
- model[key] = edgeModel;
170
- }
171
- };
172
- add('left', this.map.left.model);
173
- add('right', this.map.right.model);
174
- add('top', this.map.top.model);
175
- add('bottom', this.map.bottom.model);
176
- add('diagonal', this.map.diagonal.model, {
177
- up: this.diagonalUp,
178
- down: this.diagonalDown
179
- });
180
- }
181
- return false;
182
- }
183
- }
184
- module.exports = BorderXform;
185
- //# sourceMappingURL=border-xform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"border-xform.js","names":["BaseXform","require","utils","ColorXform","EdgeXform","constructor","name","map","color","tag","render","xmlStream","model","defaultColor","openNode","style","addAttribute","closeNode","parseOpen","node","parser","attributes","undefined","parseText","text","parseClose","validStyle","value","validStyleValues","reduce","p","v","BorderXform","top","left","bottom","right","diagonal","up","down","add","edgeModel","edgeXform","reset","diagonalUp","parseBoolean","diagonalDown","key","extensions","Object","assign","module","exports"],"sources":["../../../../../lib/xlsx/xform/style/border-xform.js"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nconst BaseXform = require('../base-xform');\nconst utils = require('../../../utils/utils');\n\nconst ColorXform = require('./color-xform');\n\nclass EdgeXform extends BaseXform {\n constructor(name) {\n super();\n\n this.name = name;\n this.map = {\n color: new ColorXform(),\n };\n }\n\n get tag() {\n return this.name;\n }\n\n render(xmlStream, model, defaultColor) {\n const color = (model && model.color) || defaultColor || this.defaultColor;\n xmlStream.openNode(this.name);\n if (model && model.style) {\n xmlStream.addAttribute('style', model.style);\n if (color) {\n this.map.color.render(xmlStream, color);\n }\n }\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case this.name: {\n const {style} = node.attributes;\n if (style) {\n this.model = {\n style,\n };\n } else {\n this.model = undefined;\n }\n return true;\n }\n case 'color':\n this.parser = this.map.color;\n this.parser.parseOpen(node);\n return true;\n default:\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n\n if (name === this.name) {\n if (this.map.color.model) {\n if (!this.model) {\n this.model = {};\n }\n this.model.color = this.map.color.model;\n }\n }\n\n return false;\n }\n\n validStyle(value) {\n return EdgeXform.validStyleValues[value];\n }\n}\n\nEdgeXform.validStyleValues = [\n 'thin',\n 'dashed',\n 'dotted',\n 'dashDot',\n 'hair',\n 'dashDotDot',\n 'slantDashDot',\n 'mediumDashed',\n 'mediumDashDotDot',\n 'mediumDashDot',\n 'medium',\n 'double',\n 'thick',\n].reduce((p, v) => {\n p[v] = true;\n return p;\n}, {});\n\n// Border encapsulates translation from border model to/from xlsx\nclass BorderXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n top: new EdgeXform('top'),\n left: new EdgeXform('left'),\n bottom: new EdgeXform('bottom'),\n right: new EdgeXform('right'),\n diagonal: new EdgeXform('diagonal'),\n };\n }\n\n render(xmlStream, model) {\n const {color} = model;\n xmlStream.openNode('border');\n if (model.diagonal && model.diagonal.style) {\n if (model.diagonal.up) {\n xmlStream.addAttribute('diagonalUp', '1');\n }\n if (model.diagonal.down) {\n xmlStream.addAttribute('diagonalDown', '1');\n }\n }\n function add(edgeModel, edgeXform) {\n if (edgeModel && !edgeModel.color && model.color) {\n // don't mess with incoming models\n edgeModel = {\n ...edgeModel,\n color: model.color,\n };\n }\n edgeXform.render(xmlStream, edgeModel, color);\n }\n add(model.left, this.map.left);\n add(model.right, this.map.right);\n add(model.top, this.map.top);\n add(model.bottom, this.map.bottom);\n add(model.diagonal, this.map.diagonal);\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n switch (node.name) {\n case 'border':\n this.reset();\n this.diagonalUp = utils.parseBoolean(node.attributes.diagonalUp);\n this.diagonalDown = utils.parseBoolean(node.attributes.diagonalDown);\n return true;\n default:\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n if (name === 'border') {\n const model = (this.model = {});\n const add = function(key, edgeModel, extensions) {\n if (edgeModel) {\n if (extensions) {\n Object.assign(edgeModel, extensions);\n }\n model[key] = edgeModel;\n }\n };\n add('left', this.map.left.model);\n add('right', this.map.right.model);\n add('top', this.map.top.model);\n add('bottom', this.map.bottom.model);\n add('diagonal', this.map.diagonal.model, {up: this.diagonalUp, down: this.diagonalDown});\n }\n return false;\n }\n}\n\nmodule.exports = BorderXform;\n"],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
-
3
- const BaseXform = require('../base-xform');
4
-
5
- // Color encapsulates translation from color model to/from xlsx
6
- class ColorXform extends BaseXform {
7
- constructor(name) {
8
- super();
9
-
10
- // this.name controls the xm node name
11
- this.name = name || 'color';
12
- }
13
- get tag() {
14
- return this.name;
15
- }
16
- render(xmlStream, model) {
17
- if (model) {
18
- xmlStream.openNode(this.name);
19
- if (model.argb) {
20
- xmlStream.addAttribute('rgb', model.argb);
21
- } else if (model.theme !== undefined) {
22
- xmlStream.addAttribute('theme', model.theme);
23
- if (model.tint !== undefined) {
24
- xmlStream.addAttribute('tint', model.tint);
25
- }
26
- } else if (model.indexed !== undefined) {
27
- xmlStream.addAttribute('indexed', model.indexed);
28
- } else {
29
- xmlStream.addAttribute('auto', '1');
30
- }
31
- xmlStream.closeNode();
32
- return true;
33
- }
34
- return false;
35
- }
36
- parseOpen(node) {
37
- if (node.name === this.name) {
38
- if (node.attributes.rgb) {
39
- this.model = {
40
- argb: node.attributes.rgb
41
- };
42
- } else if (node.attributes.theme) {
43
- this.model = {
44
- theme: parseInt(node.attributes.theme, 10)
45
- };
46
- if (node.attributes.tint) {
47
- this.model.tint = parseFloat(node.attributes.tint);
48
- }
49
- } else if (node.attributes.indexed) {
50
- this.model = {
51
- indexed: parseInt(node.attributes.indexed, 10)
52
- };
53
- } else {
54
- this.model = undefined;
55
- }
56
- return true;
57
- }
58
- return false;
59
- }
60
- parseText() {}
61
- parseClose() {
62
- return false;
63
- }
64
- }
65
- module.exports = ColorXform;
66
- //# sourceMappingURL=color-xform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color-xform.js","names":["BaseXform","require","ColorXform","constructor","name","tag","render","xmlStream","model","openNode","argb","addAttribute","theme","undefined","tint","indexed","closeNode","parseOpen","node","attributes","rgb","parseInt","parseFloat","parseText","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/style/color-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\n\n// Color encapsulates translation from color model to/from xlsx\nclass ColorXform extends BaseXform {\n constructor(name) {\n super();\n\n // this.name controls the xm node name\n this.name = name || 'color';\n }\n\n get tag() {\n return this.name;\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.openNode(this.name);\n if (model.argb) {\n xmlStream.addAttribute('rgb', model.argb);\n } else if (model.theme !== undefined) {\n xmlStream.addAttribute('theme', model.theme);\n if (model.tint !== undefined) {\n xmlStream.addAttribute('tint', model.tint);\n }\n } else if (model.indexed !== undefined) {\n xmlStream.addAttribute('indexed', model.indexed);\n } else {\n xmlStream.addAttribute('auto', '1');\n }\n xmlStream.closeNode();\n return true;\n }\n return false;\n }\n\n parseOpen(node) {\n if (node.name === this.name) {\n if (node.attributes.rgb) {\n this.model = {argb: node.attributes.rgb};\n } else if (node.attributes.theme) {\n this.model = {theme: parseInt(node.attributes.theme, 10)};\n if (node.attributes.tint) {\n this.model.tint = parseFloat(node.attributes.tint);\n }\n } else if (node.attributes.indexed) {\n this.model = {indexed: parseInt(node.attributes.indexed, 10)};\n } else {\n this.model = undefined;\n }\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = ColorXform;\n"],"mappings":";;AAAA,MAAMA,SAAS,GAAGC,OAAO,CAAC,eAAe,CAAC;;AAE1C;AACA,MAAMC,UAAU,SAASF,SAAS,CAAC;EACjCG,WAAWA,CAACC,IAAI,EAAE;IAChB,KAAK,CAAC,CAAC;;IAEP;IACA,IAAI,CAACA,IAAI,GAAGA,IAAI,IAAI,OAAO;EAC7B;EAEA,IAAIC,GAAGA,CAAA,EAAG;IACR,OAAO,IAAI,CAACD,IAAI;EAClB;EAEAE,MAAMA,CAACC,SAAS,EAAEC,KAAK,EAAE;IACvB,IAAIA,KAAK,EAAE;MACTD,SAAS,CAACE,QAAQ,CAAC,IAAI,CAACL,IAAI,CAAC;MAC7B,IAAII,KAAK,CAACE,IAAI,EAAE;QACdH,SAAS,CAACI,YAAY,CAAC,KAAK,EAAEH,KAAK,CAACE,IAAI,CAAC;MAC3C,CAAC,MAAM,IAAIF,KAAK,CAACI,KAAK,KAAKC,SAAS,EAAE;QACpCN,SAAS,CAACI,YAAY,CAAC,OAAO,EAAEH,KAAK,CAACI,KAAK,CAAC;QAC5C,IAAIJ,KAAK,CAACM,IAAI,KAAKD,SAAS,EAAE;UAC5BN,SAAS,CAACI,YAAY,CAAC,MAAM,EAAEH,KAAK,CAACM,IAAI,CAAC;QAC5C;MACF,CAAC,MAAM,IAAIN,KAAK,CAACO,OAAO,KAAKF,SAAS,EAAE;QACtCN,SAAS,CAACI,YAAY,CAAC,SAAS,EAAEH,KAAK,CAACO,OAAO,CAAC;MAClD,CAAC,MAAM;QACLR,SAAS,CAACI,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;MACrC;MACAJ,SAAS,CAACS,SAAS,CAAC,CAAC;MACrB,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAC,SAASA,CAACC,IAAI,EAAE;IACd,IAAIA,IAAI,CAACd,IAAI,KAAK,IAAI,CAACA,IAAI,EAAE;MAC3B,IAAIc,IAAI,CAACC,UAAU,CAACC,GAAG,EAAE;QACvB,IAAI,CAACZ,KAAK,GAAG;UAACE,IAAI,EAAEQ,IAAI,CAACC,UAAU,CAACC;QAAG,CAAC;MAC1C,CAAC,MAAM,IAAIF,IAAI,CAACC,UAAU,CAACP,KAAK,EAAE;QAChC,IAAI,CAACJ,KAAK,GAAG;UAACI,KAAK,EAAES,QAAQ,CAACH,IAAI,CAACC,UAAU,CAACP,KAAK,EAAE,EAAE;QAAC,CAAC;QACzD,IAAIM,IAAI,CAACC,UAAU,CAACL,IAAI,EAAE;UACxB,IAAI,CAACN,KAAK,CAACM,IAAI,GAAGQ,UAAU,CAACJ,IAAI,CAACC,UAAU,CAACL,IAAI,CAAC;QACpD;MACF,CAAC,MAAM,IAAII,IAAI,CAACC,UAAU,CAACJ,OAAO,EAAE;QAClC,IAAI,CAACP,KAAK,GAAG;UAACO,OAAO,EAAEM,QAAQ,CAACH,IAAI,CAACC,UAAU,CAACJ,OAAO,EAAE,EAAE;QAAC,CAAC;MAC/D,CAAC,MAAM;QACL,IAAI,CAACP,KAAK,GAAGK,SAAS;MACxB;MACA,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAU,SAASA,CAAA,EAAG,CAAC;EAEbC,UAAUA,CAAA,EAAG;IACX,OAAO,KAAK;EACd;AACF;AAEAC,MAAM,CAACC,OAAO,GAAGxB,UAAU"}