adspecs 0.1.41 → 0.2.0

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 (456) hide show
  1. package/.adspecs/scripts/powershell/check-prerequisites.ps1 +3 -3
  2. package/.adspecs/scripts/powershell/setup-tasks.ps1 +2 -2
  3. package/.adspecs/templates/01-/344/270/232/345/212/241/351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/346/235/277.md +3 -3
  4. package/.adspecs/templates/02-/344/272/247/345/223/201/351/234/200/346/261/202/350/257/264/346/230/216/344/271/246/346/250/241/346/235/277.md +1 -1
  5. package/.adspecs/templates/03-/347/263/273/347/273/237/350/256/276/350/256/241/346/250/241/346/235/277.md +1 -1
  6. package/.adspecs/templates/05-/345/220/216/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +613 -613
  7. package/.adspecs/templates/05b-/345/211/215/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +583 -583
  8. package/.adspecs/templates/14-/351/234/200/346/261/202/350/277/275/346/272/257/347/237/251/351/230/265/346/250/241/346/235/277.md +1 -1
  9. package/.claude-plugin/marketplace.json +23 -23
  10. package/.claude-plugin/plugin.json +18 -18
  11. package/.codebuddy-plugin/plugin.json +24 -24
  12. package/.qoder-plugin/plugin.json +30 -30
  13. package/.workbuddy-plugin/plugin.json +24 -24
  14. package/CHANGELOG.md +10 -0
  15. package/CLAUDE.md +45 -45
  16. package/README.md +51 -51
  17. package/hooks/commit-queue.js +245 -245
  18. package/hooks/hooks.json +2 -9
  19. package/hooks/session-logger.js +346 -346
  20. package/package.json +65 -65
  21. package/skills/{adspecs-adversarial-review → ads-adversarial-review}/SKILL.md +8 -8
  22. package/skills/{adspecs-analyze → ads-analyze}/SKILL.md +564 -564
  23. package/skills/{adspecs-architecture-planning → ads-architecture-planning}/SKILL.md +9 -9
  24. package/skills/{adspecs-biz-blueprint → ads-biz-blueprint}/SKILL.md +18 -18
  25. package/skills/{adspecs-clarify → ads-clarify}/SKILL.md +7 -7
  26. package/skills/{adspecs-constitution → ads-constitution}/SKILL.md +3 -3
  27. package/skills/{adspecs-export-word → ads-export-word}/SKILL.md +9 -9
  28. package/skills/{adspecs-export-word → ads-export-word}/references/md-to-docx.js +862 -862
  29. package/skills/ads-export-word/references/package-lock.json +220 -0
  30. package/skills/{adspecs-export-word → ads-export-word}/references/package.json +10 -10
  31. package/skills/{adspecs-front-prototype → ads-front-prototype}/SKILL.md +8 -8
  32. package/skills/{adspecs-front-spec → ads-front-spec}/SKILL.md +12 -12
  33. package/skills/{adspecs-front-tasks → ads-front-tasks}/SKILL.md +5 -5
  34. package/skills/{adspecs-git-commit → ads-git-commit}/SKILL.md +1 -1
  35. package/skills/{adspecs-git-initialize → ads-git-initialize}/SKILL.md +1 -1
  36. package/skills/{adspecs-new-requirement → ads-new-requirement}/SKILL.md +11 -11
  37. package/skills/{adspecs-plan → ads-plan}/SKILL.md +6 -6
  38. package/skills/{adspecs-prd → ads-prd}/SKILL.md +9 -9
  39. package/skills/{adspecs-prd-to-demo → ads-prd-to-demo}/SKILL.md +19 -19
  40. package/skills/{adspecs-requirement-research → ads-requirement-research}/SKILL.md +15 -3
  41. package/skills/{adspecs-save-session → ads-save-session}/SKILL.md +1 -1
  42. package/skills/{adspecs-tasks → ads-tasks}/SKILL.md +5 -5
  43. package/skills/{adspecs-update-status → ads-update-status}/SKILL.md +7 -7
  44. package/skills/{adspecs-utest → ads-utest}/SKILL.md +7 -7
  45. package/skills/{adspecs-write-planning-report → ads-write-planning-report}/SKILL.md +2 -2
  46. package/skills/{adspecs-write-roadmap → ads-write-roadmap}/SKILL.md +2 -2
  47. package/skills/{adspecs-write-sow → ads-write-sow}/SKILL.md +5 -5
  48. package/skills/adspecs-export-word/references/node_modules/.bin/marked +16 -0
  49. package/skills/adspecs-export-word/references/node_modules/.bin/marked.cmd +17 -0
  50. package/skills/adspecs-export-word/references/node_modules/.bin/marked.ps1 +28 -0
  51. package/skills/adspecs-export-word/references/node_modules/.bin/nanoid +16 -0
  52. package/skills/adspecs-export-word/references/node_modules/.bin/nanoid.cmd +17 -0
  53. package/skills/adspecs-export-word/references/node_modules/.bin/nanoid.ps1 +28 -0
  54. package/skills/adspecs-export-word/references/node_modules/.bin/xml-js +16 -0
  55. package/skills/adspecs-export-word/references/node_modules/.bin/xml-js.cmd +17 -0
  56. package/skills/adspecs-export-word/references/node_modules/.bin/xml-js.ps1 +28 -0
  57. package/skills/adspecs-export-word/references/{package-lock.json → node_modules/.package-lock.json} +0 -8
  58. package/skills/adspecs-export-word/references/node_modules/@types/node/LICENSE +21 -0
  59. package/skills/adspecs-export-word/references/node_modules/@types/node/README.md +15 -0
  60. package/skills/adspecs-export-word/references/node_modules/@types/node/assert/strict.d.ts +59 -0
  61. package/skills/adspecs-export-word/references/node_modules/@types/node/assert.d.ts +950 -0
  62. package/skills/adspecs-export-word/references/node_modules/@types/node/async_hooks.d.ts +711 -0
  63. package/skills/adspecs-export-word/references/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  64. package/skills/adspecs-export-word/references/node_modules/@types/node/buffer.d.ts +1765 -0
  65. package/skills/adspecs-export-word/references/node_modules/@types/node/child_process.d.ts +1366 -0
  66. package/skills/adspecs-export-word/references/node_modules/@types/node/cluster.d.ts +432 -0
  67. package/skills/adspecs-export-word/references/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  68. package/skills/adspecs-export-word/references/node_modules/@types/node/console.d.ts +93 -0
  69. package/skills/adspecs-export-word/references/node_modules/@types/node/constants.d.ts +14 -0
  70. package/skills/adspecs-export-word/references/node_modules/@types/node/crypto.d.ts +4058 -0
  71. package/skills/adspecs-export-word/references/node_modules/@types/node/dgram.d.ts +537 -0
  72. package/skills/adspecs-export-word/references/node_modules/@types/node/diagnostics_channel.d.ts +552 -0
  73. package/skills/adspecs-export-word/references/node_modules/@types/node/dns/promises.d.ts +497 -0
  74. package/skills/adspecs-export-word/references/node_modules/@types/node/dns.d.ts +876 -0
  75. package/skills/adspecs-export-word/references/node_modules/@types/node/domain.d.ts +150 -0
  76. package/skills/adspecs-export-word/references/node_modules/@types/node/events.d.ts +1008 -0
  77. package/skills/adspecs-export-word/references/node_modules/@types/node/fs/promises.d.ts +1468 -0
  78. package/skills/adspecs-export-word/references/node_modules/@types/node/fs.d.ts +4780 -0
  79. package/skills/adspecs-export-word/references/node_modules/@types/node/globals.d.ts +150 -0
  80. package/skills/adspecs-export-word/references/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  81. package/skills/adspecs-export-word/references/node_modules/@types/node/http.d.ts +2147 -0
  82. package/skills/adspecs-export-word/references/node_modules/@types/node/http2.d.ts +2489 -0
  83. package/skills/adspecs-export-word/references/node_modules/@types/node/https.d.ts +400 -0
  84. package/skills/adspecs-export-word/references/node_modules/@types/node/index.d.ts +117 -0
  85. package/skills/adspecs-export-word/references/node_modules/@types/node/inspector/promises.d.ts +35 -0
  86. package/skills/adspecs-export-word/references/node_modules/@types/node/inspector.d.ts +264 -0
  87. package/skills/adspecs-export-word/references/node_modules/@types/node/inspector.generated.d.ts +4406 -0
  88. package/skills/adspecs-export-word/references/node_modules/@types/node/module.d.ts +755 -0
  89. package/skills/adspecs-export-word/references/node_modules/@types/node/net.d.ts +970 -0
  90. package/skills/adspecs-export-word/references/node_modules/@types/node/os.d.ts +498 -0
  91. package/skills/adspecs-export-word/references/node_modules/@types/node/package.json +155 -0
  92. package/skills/adspecs-export-word/references/node_modules/@types/node/path/posix.d.ts +8 -0
  93. package/skills/adspecs-export-word/references/node_modules/@types/node/path/win32.d.ts +8 -0
  94. package/skills/adspecs-export-word/references/node_modules/@types/node/path.d.ts +178 -0
  95. package/skills/adspecs-export-word/references/node_modules/@types/node/perf_hooks.d.ts +612 -0
  96. package/skills/adspecs-export-word/references/node_modules/@types/node/process.d.ts +2206 -0
  97. package/skills/adspecs-export-word/references/node_modules/@types/node/punycode.d.ts +89 -0
  98. package/skills/adspecs-export-word/references/node_modules/@types/node/querystring.d.ts +139 -0
  99. package/skills/adspecs-export-word/references/node_modules/@types/node/quic.d.ts +897 -0
  100. package/skills/adspecs-export-word/references/node_modules/@types/node/readline/promises.d.ts +158 -0
  101. package/skills/adspecs-export-word/references/node_modules/@types/node/readline.d.ts +507 -0
  102. package/skills/adspecs-export-word/references/node_modules/@types/node/repl.d.ts +420 -0
  103. package/skills/adspecs-export-word/references/node_modules/@types/node/sea.d.ts +47 -0
  104. package/skills/adspecs-export-word/references/node_modules/@types/node/sqlite.d.ts +1068 -0
  105. package/skills/adspecs-export-word/references/node_modules/@types/node/stream/consumers.d.ts +114 -0
  106. package/skills/adspecs-export-word/references/node_modules/@types/node/stream/iter.d.ts +301 -0
  107. package/skills/adspecs-export-word/references/node_modules/@types/node/stream/promises.d.ts +211 -0
  108. package/skills/adspecs-export-word/references/node_modules/@types/node/stream/web.d.ts +300 -0
  109. package/skills/adspecs-export-word/references/node_modules/@types/node/stream.d.ts +1774 -0
  110. package/skills/adspecs-export-word/references/node_modules/@types/node/string_decoder.d.ts +27 -0
  111. package/skills/adspecs-export-word/references/node_modules/@types/node/test/reporters.d.ts +59 -0
  112. package/skills/adspecs-export-word/references/node_modules/@types/node/test.d.ts +2279 -0
  113. package/skills/adspecs-export-word/references/node_modules/@types/node/timers/promises.d.ts +93 -0
  114. package/skills/adspecs-export-word/references/node_modules/@types/node/timers.d.ts +149 -0
  115. package/skills/adspecs-export-word/references/node_modules/@types/node/tls.d.ts +1193 -0
  116. package/skills/adspecs-export-word/references/node_modules/@types/node/trace_events.d.ts +103 -0
  117. package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  118. package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  119. package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  120. package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/index.d.ts +119 -0
  121. package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  122. package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.7/index.d.ts +119 -0
  123. package/skills/adspecs-export-word/references/node_modules/@types/node/tty.d.ts +225 -0
  124. package/skills/adspecs-export-word/references/node_modules/@types/node/url.d.ts +556 -0
  125. package/skills/adspecs-export-word/references/node_modules/@types/node/util/types.d.ts +558 -0
  126. package/skills/adspecs-export-word/references/node_modules/@types/node/util.d.ts +1677 -0
  127. package/skills/adspecs-export-word/references/node_modules/@types/node/v8.d.ts +980 -0
  128. package/skills/adspecs-export-word/references/node_modules/@types/node/vm.d.ts +1136 -0
  129. package/skills/adspecs-export-word/references/node_modules/@types/node/wasi.d.ts +131 -0
  130. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  131. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  132. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/console.d.ts +9 -0
  133. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  134. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  135. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  136. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/events.d.ts +106 -0
  137. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  138. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  139. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  140. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  141. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  142. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  143. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  144. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  145. package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/url.d.ts +24 -0
  146. package/skills/adspecs-export-word/references/node_modules/@types/node/worker_threads.d.ts +671 -0
  147. package/skills/adspecs-export-word/references/node_modules/@types/node/zlib/iter.d.ts +131 -0
  148. package/skills/adspecs-export-word/references/node_modules/@types/node/zlib.d.ts +589 -0
  149. package/skills/adspecs-export-word/references/node_modules/core-util-is/LICENSE +19 -0
  150. package/skills/adspecs-export-word/references/node_modules/core-util-is/README.md +3 -0
  151. package/skills/adspecs-export-word/references/node_modules/core-util-is/lib/util.js +107 -0
  152. package/skills/adspecs-export-word/references/node_modules/core-util-is/package.json +38 -0
  153. package/skills/adspecs-export-word/references/node_modules/docx/LICENSE +21 -0
  154. package/skills/adspecs-export-word/references/node_modules/docx/README.md +124 -0
  155. package/skills/adspecs-export-word/references/node_modules/docx/dist/index.cjs +33170 -0
  156. package/skills/adspecs-export-word/references/node_modules/docx/dist/index.d.cts +3214 -0
  157. package/skills/adspecs-export-word/references/node_modules/docx/dist/index.d.ts +3214 -0
  158. package/skills/adspecs-export-word/references/node_modules/docx/dist/index.iife.js +33173 -0
  159. package/skills/adspecs-export-word/references/node_modules/docx/dist/index.mjs +32868 -0
  160. package/skills/adspecs-export-word/references/node_modules/docx/dist/index.umd.cjs +33174 -0
  161. package/skills/adspecs-export-word/references/node_modules/docx/package.json +114 -0
  162. package/skills/adspecs-export-word/references/node_modules/hash.js/.eslintrc.js +41 -0
  163. package/skills/adspecs-export-word/references/node_modules/hash.js/.travis.yml +10 -0
  164. package/skills/adspecs-export-word/references/node_modules/hash.js/README.md +48 -0
  165. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/common.js +92 -0
  166. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/hmac.js +47 -0
  167. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/ripemd.js +146 -0
  168. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/1.js +74 -0
  169. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/224.js +30 -0
  170. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/256.js +105 -0
  171. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/384.js +35 -0
  172. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/512.js +330 -0
  173. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/common.js +49 -0
  174. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha.js +7 -0
  175. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/utils.js +278 -0
  176. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash.d.ts +106 -0
  177. package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash.js +15 -0
  178. package/skills/adspecs-export-word/references/node_modules/hash.js/package.json +35 -0
  179. package/skills/adspecs-export-word/references/node_modules/hash.js/test/hash-test.js +140 -0
  180. package/skills/adspecs-export-word/references/node_modules/hash.js/test/hmac-test.js +62 -0
  181. package/skills/adspecs-export-word/references/node_modules/immediate/LICENSE.txt +20 -0
  182. package/skills/adspecs-export-word/references/node_modules/immediate/README.md +93 -0
  183. package/skills/adspecs-export-word/references/node_modules/immediate/dist/immediate.js +75 -0
  184. package/skills/adspecs-export-word/references/node_modules/immediate/dist/immediate.min.js +1 -0
  185. package/skills/adspecs-export-word/references/node_modules/immediate/lib/browser.js +69 -0
  186. package/skills/adspecs-export-word/references/node_modules/immediate/lib/index.js +73 -0
  187. package/skills/adspecs-export-word/references/node_modules/immediate/package.json +42 -0
  188. package/skills/adspecs-export-word/references/node_modules/inherits/LICENSE +16 -0
  189. package/skills/adspecs-export-word/references/node_modules/inherits/README.md +42 -0
  190. package/skills/adspecs-export-word/references/node_modules/inherits/inherits.js +9 -0
  191. package/skills/adspecs-export-word/references/node_modules/inherits/inherits_browser.js +27 -0
  192. package/skills/adspecs-export-word/references/node_modules/inherits/package.json +29 -0
  193. package/skills/adspecs-export-word/references/node_modules/isarray/.travis.yml +4 -0
  194. package/skills/adspecs-export-word/references/node_modules/isarray/Makefile +6 -0
  195. package/skills/adspecs-export-word/references/node_modules/isarray/README.md +60 -0
  196. package/skills/adspecs-export-word/references/node_modules/isarray/component.json +19 -0
  197. package/skills/adspecs-export-word/references/node_modules/isarray/index.js +5 -0
  198. package/skills/adspecs-export-word/references/node_modules/isarray/package.json +45 -0
  199. package/skills/adspecs-export-word/references/node_modules/isarray/test.js +20 -0
  200. package/skills/adspecs-export-word/references/node_modules/jszip/.codeclimate.yml +16 -0
  201. package/skills/adspecs-export-word/references/node_modules/jszip/.editorconfig +8 -0
  202. package/skills/adspecs-export-word/references/node_modules/jszip/.eslintrc.js +43 -0
  203. package/skills/adspecs-export-word/references/node_modules/jszip/.github/workflows/pr.yaml +58 -0
  204. package/skills/adspecs-export-word/references/node_modules/jszip/.jekyll-metadata +0 -0
  205. package/skills/adspecs-export-word/references/node_modules/jszip/.travis.yml +17 -0
  206. package/skills/adspecs-export-word/references/node_modules/jszip/CHANGES.md +204 -0
  207. package/skills/adspecs-export-word/references/node_modules/jszip/LICENSE.markdown +651 -0
  208. package/skills/adspecs-export-word/references/node_modules/jszip/README.markdown +33 -0
  209. package/skills/adspecs-export-word/references/node_modules/jszip/deps.js +37 -0
  210. package/skills/adspecs-export-word/references/node_modules/jszip/dist/jszip.js +11577 -0
  211. package/skills/adspecs-export-word/references/node_modules/jszip/dist/jszip.min.js +13 -0
  212. package/skills/adspecs-export-word/references/node_modules/jszip/graph.svg +601 -0
  213. package/skills/adspecs-export-word/references/node_modules/jszip/index.d.ts +330 -0
  214. package/skills/adspecs-export-word/references/node_modules/jszip/lib/base64.js +106 -0
  215. package/skills/adspecs-export-word/references/node_modules/jszip/lib/compressedObject.js +74 -0
  216. package/skills/adspecs-export-word/references/node_modules/jszip/lib/compressions.js +14 -0
  217. package/skills/adspecs-export-word/references/node_modules/jszip/lib/crc32.js +77 -0
  218. package/skills/adspecs-export-word/references/node_modules/jszip/lib/defaults.js +11 -0
  219. package/skills/adspecs-export-word/references/node_modules/jszip/lib/external.js +18 -0
  220. package/skills/adspecs-export-word/references/node_modules/jszip/lib/flate.js +85 -0
  221. package/skills/adspecs-export-word/references/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
  222. package/skills/adspecs-export-word/references/node_modules/jszip/lib/generate/index.js +57 -0
  223. package/skills/adspecs-export-word/references/node_modules/jszip/lib/index.js +55 -0
  224. package/skills/adspecs-export-word/references/node_modules/jszip/lib/license_header.js +11 -0
  225. package/skills/adspecs-export-word/references/node_modules/jszip/lib/load.js +88 -0
  226. package/skills/adspecs-export-word/references/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
  227. package/skills/adspecs-export-word/references/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
  228. package/skills/adspecs-export-word/references/node_modules/jszip/lib/nodejsUtils.js +57 -0
  229. package/skills/adspecs-export-word/references/node_modules/jszip/lib/object.js +384 -0
  230. package/skills/adspecs-export-word/references/node_modules/jszip/lib/readable-stream-browser.js +10 -0
  231. package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
  232. package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/DataReader.js +116 -0
  233. package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
  234. package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/StringReader.js +38 -0
  235. package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
  236. package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/readerFor.js +28 -0
  237. package/skills/adspecs-export-word/references/node_modules/jszip/lib/signature.js +7 -0
  238. package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
  239. package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
  240. package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
  241. package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/DataWorker.js +116 -0
  242. package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
  243. package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
  244. package/skills/adspecs-export-word/references/node_modules/jszip/lib/support.js +38 -0
  245. package/skills/adspecs-export-word/references/node_modules/jszip/lib/utf8.js +275 -0
  246. package/skills/adspecs-export-word/references/node_modules/jszip/lib/utils.js +501 -0
  247. package/skills/adspecs-export-word/references/node_modules/jszip/lib/zipEntries.js +261 -0
  248. package/skills/adspecs-export-word/references/node_modules/jszip/lib/zipEntry.js +293 -0
  249. package/skills/adspecs-export-word/references/node_modules/jszip/lib/zipObject.js +133 -0
  250. package/skills/adspecs-export-word/references/node_modules/jszip/package.json +67 -0
  251. package/skills/adspecs-export-word/references/node_modules/jszip/sponsors.md +21 -0
  252. package/skills/adspecs-export-word/references/node_modules/jszip/tsconfig.json +101 -0
  253. package/skills/adspecs-export-word/references/node_modules/jszip/vendor/FileSaver.js +247 -0
  254. package/skills/adspecs-export-word/references/node_modules/lie/README.md +62 -0
  255. package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.js +350 -0
  256. package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.min.js +1 -0
  257. package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.polyfill.js +358 -0
  258. package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.polyfill.min.js +1 -0
  259. package/skills/adspecs-export-word/references/node_modules/lie/lib/browser.js +273 -0
  260. package/skills/adspecs-export-word/references/node_modules/lie/lib/index.js +298 -0
  261. package/skills/adspecs-export-word/references/node_modules/lie/license.md +7 -0
  262. package/skills/adspecs-export-word/references/node_modules/lie/lie.d.ts +244 -0
  263. package/skills/adspecs-export-word/references/node_modules/lie/package.json +69 -0
  264. package/skills/adspecs-export-word/references/node_modules/lie/polyfill.js +4 -0
  265. package/skills/adspecs-export-word/references/node_modules/marked/LICENSE.md +44 -0
  266. package/skills/adspecs-export-word/references/node_modules/marked/README.md +106 -0
  267. package/skills/adspecs-export-word/references/node_modules/marked/bin/main.js +282 -0
  268. package/skills/adspecs-export-word/references/node_modules/marked/bin/marked.js +15 -0
  269. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.cjs +2211 -0
  270. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.cjs.map +7 -0
  271. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.d.cts +728 -0
  272. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.d.ts +728 -0
  273. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.esm.js +2189 -0
  274. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.esm.js.map +7 -0
  275. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.umd.js +2213 -0
  276. package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.umd.js.map +7 -0
  277. package/skills/adspecs-export-word/references/node_modules/marked/man/marked.1 +111 -0
  278. package/skills/adspecs-export-word/references/node_modules/marked/man/marked.1.md +92 -0
  279. package/skills/adspecs-export-word/references/node_modules/marked/marked.min.js +69 -0
  280. package/skills/adspecs-export-word/references/node_modules/marked/package.json +111 -0
  281. package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/LICENSE +13 -0
  282. package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/index.js +11 -0
  283. package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/package.json +19 -0
  284. package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/readme.md +4 -0
  285. package/skills/adspecs-export-word/references/node_modules/nanoid/LICENSE +20 -0
  286. package/skills/adspecs-export-word/references/node_modules/nanoid/README.md +34 -0
  287. package/skills/adspecs-export-word/references/node_modules/nanoid/bin/nanoid.js +66 -0
  288. package/skills/adspecs-export-word/references/node_modules/nanoid/index.browser.js +57 -0
  289. package/skills/adspecs-export-word/references/node_modules/nanoid/index.d.ts +106 -0
  290. package/skills/adspecs-export-word/references/node_modules/nanoid/index.js +83 -0
  291. package/skills/adspecs-export-word/references/node_modules/nanoid/nanoid.js +1 -0
  292. package/skills/adspecs-export-word/references/node_modules/nanoid/non-secure/index.d.ts +48 -0
  293. package/skills/adspecs-export-word/references/node_modules/nanoid/non-secure/index.js +23 -0
  294. package/skills/adspecs-export-word/references/node_modules/nanoid/package.json +46 -0
  295. package/skills/adspecs-export-word/references/node_modules/nanoid/url-alphabet/index.js +2 -0
  296. package/skills/adspecs-export-word/references/node_modules/pako/CHANGELOG.md +164 -0
  297. package/skills/adspecs-export-word/references/node_modules/pako/LICENSE +21 -0
  298. package/skills/adspecs-export-word/references/node_modules/pako/README.md +191 -0
  299. package/skills/adspecs-export-word/references/node_modules/pako/dist/pako.js +6818 -0
  300. package/skills/adspecs-export-word/references/node_modules/pako/dist/pako.min.js +1 -0
  301. package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_deflate.js +3997 -0
  302. package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_deflate.min.js +1 -0
  303. package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_inflate.js +3300 -0
  304. package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_inflate.min.js +1 -0
  305. package/skills/adspecs-export-word/references/node_modules/pako/index.js +14 -0
  306. package/skills/adspecs-export-word/references/node_modules/pako/lib/deflate.js +400 -0
  307. package/skills/adspecs-export-word/references/node_modules/pako/lib/inflate.js +423 -0
  308. package/skills/adspecs-export-word/references/node_modules/pako/lib/utils/common.js +105 -0
  309. package/skills/adspecs-export-word/references/node_modules/pako/lib/utils/strings.js +187 -0
  310. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/README +59 -0
  311. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/adler32.js +51 -0
  312. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/constants.js +68 -0
  313. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/crc32.js +59 -0
  314. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/deflate.js +1874 -0
  315. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/gzheader.js +58 -0
  316. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/inffast.js +345 -0
  317. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/inflate.js +1556 -0
  318. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/inftrees.js +343 -0
  319. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/messages.js +32 -0
  320. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/trees.js +1222 -0
  321. package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/zstream.js +47 -0
  322. package/skills/adspecs-export-word/references/node_modules/pako/package.json +44 -0
  323. package/skills/adspecs-export-word/references/node_modules/process-nextick-args/index.js +45 -0
  324. package/skills/adspecs-export-word/references/node_modules/process-nextick-args/license.md +19 -0
  325. package/skills/adspecs-export-word/references/node_modules/process-nextick-args/package.json +25 -0
  326. package/skills/adspecs-export-word/references/node_modules/process-nextick-args/readme.md +18 -0
  327. package/skills/adspecs-export-word/references/node_modules/readable-stream/.travis.yml +34 -0
  328. package/skills/adspecs-export-word/references/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  329. package/skills/adspecs-export-word/references/node_modules/readable-stream/GOVERNANCE.md +136 -0
  330. package/skills/adspecs-export-word/references/node_modules/readable-stream/LICENSE +47 -0
  331. package/skills/adspecs-export-word/references/node_modules/readable-stream/README.md +58 -0
  332. package/skills/adspecs-export-word/references/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  333. package/skills/adspecs-export-word/references/node_modules/readable-stream/duplex-browser.js +1 -0
  334. package/skills/adspecs-export-word/references/node_modules/readable-stream/duplex.js +1 -0
  335. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  336. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  337. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  338. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  339. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  340. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  341. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  342. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  343. package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  344. package/skills/adspecs-export-word/references/node_modules/readable-stream/package.json +52 -0
  345. package/skills/adspecs-export-word/references/node_modules/readable-stream/passthrough.js +1 -0
  346. package/skills/adspecs-export-word/references/node_modules/readable-stream/readable-browser.js +7 -0
  347. package/skills/adspecs-export-word/references/node_modules/readable-stream/readable.js +19 -0
  348. package/skills/adspecs-export-word/references/node_modules/readable-stream/transform.js +1 -0
  349. package/skills/adspecs-export-word/references/node_modules/readable-stream/writable-browser.js +1 -0
  350. package/skills/adspecs-export-word/references/node_modules/readable-stream/writable.js +8 -0
  351. package/skills/adspecs-export-word/references/node_modules/safe-buffer/LICENSE +21 -0
  352. package/skills/adspecs-export-word/references/node_modules/safe-buffer/README.md +584 -0
  353. package/skills/adspecs-export-word/references/node_modules/safe-buffer/index.d.ts +187 -0
  354. package/skills/adspecs-export-word/references/node_modules/safe-buffer/index.js +62 -0
  355. package/skills/adspecs-export-word/references/node_modules/safe-buffer/package.json +37 -0
  356. package/skills/adspecs-export-word/references/node_modules/sax/LICENSE.md +55 -0
  357. package/skills/adspecs-export-word/references/node_modules/sax/README.md +227 -0
  358. package/skills/adspecs-export-word/references/node_modules/sax/lib/sax.js +1848 -0
  359. package/skills/adspecs-export-word/references/node_modules/sax/package.json +34 -0
  360. package/skills/adspecs-export-word/references/node_modules/setimmediate/LICENSE.txt +20 -0
  361. package/skills/adspecs-export-word/references/node_modules/setimmediate/package.json +30 -0
  362. package/skills/adspecs-export-word/references/node_modules/setimmediate/setImmediate.js +186 -0
  363. package/skills/adspecs-export-word/references/node_modules/string_decoder/.travis.yml +50 -0
  364. package/skills/adspecs-export-word/references/node_modules/string_decoder/LICENSE +48 -0
  365. package/skills/adspecs-export-word/references/node_modules/string_decoder/README.md +47 -0
  366. package/skills/adspecs-export-word/references/node_modules/string_decoder/lib/string_decoder.js +296 -0
  367. package/skills/adspecs-export-word/references/node_modules/string_decoder/package.json +31 -0
  368. package/skills/adspecs-export-word/references/node_modules/undici-types/LICENSE +21 -0
  369. package/skills/adspecs-export-word/references/node_modules/undici-types/README.md +6 -0
  370. package/skills/adspecs-export-word/references/node_modules/undici-types/agent.d.ts +32 -0
  371. package/skills/adspecs-export-word/references/node_modules/undici-types/api.d.ts +43 -0
  372. package/skills/adspecs-export-word/references/node_modules/undici-types/balanced-pool.d.ts +30 -0
  373. package/skills/adspecs-export-word/references/node_modules/undici-types/cache-interceptor.d.ts +179 -0
  374. package/skills/adspecs-export-word/references/node_modules/undici-types/cache.d.ts +36 -0
  375. package/skills/adspecs-export-word/references/node_modules/undici-types/client-stats.d.ts +15 -0
  376. package/skills/adspecs-export-word/references/node_modules/undici-types/client.d.ts +123 -0
  377. package/skills/adspecs-export-word/references/node_modules/undici-types/connector.d.ts +36 -0
  378. package/skills/adspecs-export-word/references/node_modules/undici-types/content-type.d.ts +21 -0
  379. package/skills/adspecs-export-word/references/node_modules/undici-types/cookies.d.ts +30 -0
  380. package/skills/adspecs-export-word/references/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  381. package/skills/adspecs-export-word/references/node_modules/undici-types/dispatcher.d.ts +279 -0
  382. package/skills/adspecs-export-word/references/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  383. package/skills/adspecs-export-word/references/node_modules/undici-types/errors.d.ts +177 -0
  384. package/skills/adspecs-export-word/references/node_modules/undici-types/eventsource.d.ts +66 -0
  385. package/skills/adspecs-export-word/references/node_modules/undici-types/fetch.d.ts +211 -0
  386. package/skills/adspecs-export-word/references/node_modules/undici-types/formdata.d.ts +108 -0
  387. package/skills/adspecs-export-word/references/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  388. package/skills/adspecs-export-word/references/node_modules/undici-types/global-origin.d.ts +7 -0
  389. package/skills/adspecs-export-word/references/node_modules/undici-types/h2c-client.d.ts +73 -0
  390. package/skills/adspecs-export-word/references/node_modules/undici-types/handlers.d.ts +15 -0
  391. package/skills/adspecs-export-word/references/node_modules/undici-types/header.d.ts +160 -0
  392. package/skills/adspecs-export-word/references/node_modules/undici-types/index.d.ts +91 -0
  393. package/skills/adspecs-export-word/references/node_modules/undici-types/interceptors.d.ts +80 -0
  394. package/skills/adspecs-export-word/references/node_modules/undici-types/mock-agent.d.ts +68 -0
  395. package/skills/adspecs-export-word/references/node_modules/undici-types/mock-call-history.d.ts +111 -0
  396. package/skills/adspecs-export-word/references/node_modules/undici-types/mock-client.d.ts +27 -0
  397. package/skills/adspecs-export-word/references/node_modules/undici-types/mock-errors.d.ts +12 -0
  398. package/skills/adspecs-export-word/references/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  399. package/skills/adspecs-export-word/references/node_modules/undici-types/mock-pool.d.ts +27 -0
  400. package/skills/adspecs-export-word/references/node_modules/undici-types/package.json +55 -0
  401. package/skills/adspecs-export-word/references/node_modules/undici-types/patch.d.ts +29 -0
  402. package/skills/adspecs-export-word/references/node_modules/undici-types/pool-stats.d.ts +19 -0
  403. package/skills/adspecs-export-word/references/node_modules/undici-types/pool.d.ts +41 -0
  404. package/skills/adspecs-export-word/references/node_modules/undici-types/proxy-agent.d.ts +29 -0
  405. package/skills/adspecs-export-word/references/node_modules/undici-types/readable.d.ts +68 -0
  406. package/skills/adspecs-export-word/references/node_modules/undici-types/retry-agent.d.ts +8 -0
  407. package/skills/adspecs-export-word/references/node_modules/undici-types/retry-handler.d.ts +125 -0
  408. package/skills/adspecs-export-word/references/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  409. package/skills/adspecs-export-word/references/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  410. package/skills/adspecs-export-word/references/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
  411. package/skills/adspecs-export-word/references/node_modules/undici-types/util.d.ts +18 -0
  412. package/skills/adspecs-export-word/references/node_modules/undici-types/utility.d.ts +7 -0
  413. package/skills/adspecs-export-word/references/node_modules/undici-types/webidl.d.ts +347 -0
  414. package/skills/adspecs-export-word/references/node_modules/undici-types/websocket.d.ts +188 -0
  415. package/skills/adspecs-export-word/references/node_modules/util-deprecate/History.md +16 -0
  416. package/skills/adspecs-export-word/references/node_modules/util-deprecate/LICENSE +24 -0
  417. package/skills/adspecs-export-word/references/node_modules/util-deprecate/README.md +53 -0
  418. package/skills/adspecs-export-word/references/node_modules/util-deprecate/browser.js +67 -0
  419. package/skills/adspecs-export-word/references/node_modules/util-deprecate/node.js +6 -0
  420. package/skills/adspecs-export-word/references/node_modules/util-deprecate/package.json +27 -0
  421. package/skills/adspecs-export-word/references/node_modules/xml/.travis.yml +8 -0
  422. package/skills/adspecs-export-word/references/node_modules/xml/LICENSE +22 -0
  423. package/skills/adspecs-export-word/references/node_modules/xml/examples/examples.js +81 -0
  424. package/skills/adspecs-export-word/references/node_modules/xml/examples/server.js +24 -0
  425. package/skills/adspecs-export-word/references/node_modules/xml/lib/escapeForXML.js +18 -0
  426. package/skills/adspecs-export-word/references/node_modules/xml/lib/xml.js +282 -0
  427. package/skills/adspecs-export-word/references/node_modules/xml/package.json +38 -0
  428. package/skills/adspecs-export-word/references/node_modules/xml/readme.md +184 -0
  429. package/skills/adspecs-export-word/references/node_modules/xml/test/xml.test.js +150 -0
  430. package/skills/adspecs-export-word/references/node_modules/xml-js/LICENSE +21 -0
  431. package/skills/adspecs-export-word/references/node_modules/xml-js/README.md +390 -0
  432. package/skills/adspecs-export-word/references/node_modules/xml-js/bin/cli-helper.js +47 -0
  433. package/skills/adspecs-export-word/references/node_modules/xml-js/bin/cli.js +83 -0
  434. package/skills/adspecs-export-word/references/node_modules/xml-js/bin/test.json +23 -0
  435. package/skills/adspecs-export-word/references/node_modules/xml-js/bin/test.xml +3 -0
  436. package/skills/adspecs-export-word/references/node_modules/xml-js/dist/xml-js.js +8310 -0
  437. package/skills/adspecs-export-word/references/node_modules/xml-js/dist/xml-js.min.js +8 -0
  438. package/skills/adspecs-export-word/references/node_modules/xml-js/index.js +1 -0
  439. package/skills/adspecs-export-word/references/node_modules/xml-js/lib/array-helper.js +11 -0
  440. package/skills/adspecs-export-word/references/node_modules/xml-js/lib/index.js +13 -0
  441. package/skills/adspecs-export-word/references/node_modules/xml-js/lib/js2xml.js +320 -0
  442. package/skills/adspecs-export-word/references/node_modules/xml-js/lib/json2xml.js +18 -0
  443. package/skills/adspecs-export-word/references/node_modules/xml-js/lib/options-helper.js +43 -0
  444. package/skills/adspecs-export-word/references/node_modules/xml-js/lib/xml2js.js +362 -0
  445. package/skills/adspecs-export-word/references/node_modules/xml-js/lib/xml2json.js +22 -0
  446. package/skills/adspecs-export-word/references/node_modules/xml-js/package.json +111 -0
  447. package/skills/adspecs-export-word/references/node_modules/xml-js/types/index.d.ts +154 -0
  448. package/skills/adspecs-export-word/references/node_modules/xml-js/types/tsconfig.json +14 -0
  449. package/skills/adspecs-export-word/references/node_modules/xml-js/types/typings.json +4 -0
  450. package/skills/adspecs-export-word/references/node_modules/xml-js/types/xml-js-tests.ts +60 -0
  451. package/skills/adspecs-export-word/references/node_modules/xml-js/webpack.config.js +28 -0
  452. package/skills/project-init/SKILL.md +10 -10
  453. package/src/commands/plugin.js +4 -4
  454. package/src/lib/readme-gen.js +1 -1
  455. package/src/lib/scaffolder.js +4 -3
  456. /package/skills/{adspecs-requirement-research → ads-requirement-research}/02-/351/234/200/346/261/202/346/235/245/346/272/220/344/270/216/351/207/207/351/233/206/350/256/260/345/275/225.md" +0 -0
@@ -0,0 +1,43 @@
1
+ var isArray = require('./array-helper').isArray;
2
+
3
+ module.exports = {
4
+
5
+ copyOptions: function (options) {
6
+ var key, copy = {};
7
+ for (key in options) {
8
+ if (options.hasOwnProperty(key)) {
9
+ copy[key] = options[key];
10
+ }
11
+ }
12
+ return copy;
13
+ },
14
+
15
+ ensureFlagExists: function (item, options) {
16
+ if (!(item in options) || typeof options[item] !== 'boolean') {
17
+ options[item] = false;
18
+ }
19
+ },
20
+
21
+ ensureSpacesExists: function (options) {
22
+ if (!('spaces' in options) || (typeof options.spaces !== 'number' && typeof options.spaces !== 'string')) {
23
+ options.spaces = 0;
24
+ }
25
+ },
26
+
27
+ ensureAlwaysArrayExists: function (options) {
28
+ if (!('alwaysArray' in options) || (typeof options.alwaysArray !== 'boolean' && !isArray(options.alwaysArray))) {
29
+ options.alwaysArray = false;
30
+ }
31
+ },
32
+
33
+ ensureKeyExists: function (key, options) {
34
+ if (!(key + 'Key' in options) || typeof options[key + 'Key'] !== 'string') {
35
+ options[key + 'Key'] = options.compact ? '_' + key : key;
36
+ }
37
+ },
38
+
39
+ checkFnExists: function (key, options) {
40
+ return key + 'Fn' in options;
41
+ }
42
+
43
+ };
@@ -0,0 +1,362 @@
1
+ var sax = require('sax');
2
+ var expat /*= require('node-expat');*/ = { on: function () { }, parse: function () { } };
3
+ var helper = require('./options-helper');
4
+ var isArray = require('./array-helper').isArray;
5
+
6
+ var options;
7
+ var pureJsParser = true;
8
+ var currentElement;
9
+
10
+ function validateOptions(userOptions) {
11
+ options = helper.copyOptions(userOptions);
12
+ helper.ensureFlagExists('ignoreDeclaration', options);
13
+ helper.ensureFlagExists('ignoreInstruction', options);
14
+ helper.ensureFlagExists('ignoreAttributes', options);
15
+ helper.ensureFlagExists('ignoreText', options);
16
+ helper.ensureFlagExists('ignoreComment', options);
17
+ helper.ensureFlagExists('ignoreCdata', options);
18
+ helper.ensureFlagExists('ignoreDoctype', options);
19
+ helper.ensureFlagExists('compact', options);
20
+ helper.ensureFlagExists('alwaysChildren', options);
21
+ helper.ensureFlagExists('addParent', options);
22
+ helper.ensureFlagExists('trim', options);
23
+ helper.ensureFlagExists('nativeType', options);
24
+ helper.ensureFlagExists('nativeTypeAttributes', options);
25
+ helper.ensureFlagExists('sanitize', options);
26
+ helper.ensureFlagExists('instructionHasAttributes', options);
27
+ helper.ensureFlagExists('captureSpacesBetweenElements', options);
28
+ helper.ensureAlwaysArrayExists(options);
29
+ helper.ensureKeyExists('declaration', options);
30
+ helper.ensureKeyExists('instruction', options);
31
+ helper.ensureKeyExists('attributes', options);
32
+ helper.ensureKeyExists('text', options);
33
+ helper.ensureKeyExists('comment', options);
34
+ helper.ensureKeyExists('cdata', options);
35
+ helper.ensureKeyExists('doctype', options);
36
+ helper.ensureKeyExists('type', options);
37
+ helper.ensureKeyExists('name', options);
38
+ helper.ensureKeyExists('elements', options);
39
+ helper.ensureKeyExists('parent', options);
40
+ helper.checkFnExists('doctype', options);
41
+ helper.checkFnExists('instruction', options);
42
+ helper.checkFnExists('cdata', options);
43
+ helper.checkFnExists('comment', options);
44
+ helper.checkFnExists('text', options);
45
+ helper.checkFnExists('instructionName', options);
46
+ helper.checkFnExists('elementName', options);
47
+ helper.checkFnExists('attributeName', options);
48
+ helper.checkFnExists('attributeValue', options);
49
+ helper.checkFnExists('attributes', options);
50
+ return options;
51
+ }
52
+
53
+ function nativeType(value) {
54
+ var nValue = Number(value);
55
+ if (!isNaN(nValue)) {
56
+ return nValue;
57
+ }
58
+ var bValue = value.toLowerCase();
59
+ if (bValue === 'true') {
60
+ return true;
61
+ } else if (bValue === 'false') {
62
+ return false;
63
+ }
64
+ return value;
65
+ }
66
+
67
+ function addField(type, value) {
68
+ var key;
69
+ if (options.compact) {
70
+ if (
71
+ !currentElement[options[type + 'Key']] &&
72
+ (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(options[type + 'Key']) !== -1 : options.alwaysArray)
73
+ ) {
74
+ currentElement[options[type + 'Key']] = [];
75
+ }
76
+ if (currentElement[options[type + 'Key']] && !isArray(currentElement[options[type + 'Key']])) {
77
+ currentElement[options[type + 'Key']] = [currentElement[options[type + 'Key']]];
78
+ }
79
+ if (type + 'Fn' in options && typeof value === 'string') {
80
+ value = options[type + 'Fn'](value, currentElement);
81
+ }
82
+ if (type === 'instruction' && ('instructionFn' in options || 'instructionNameFn' in options)) {
83
+ for (key in value) {
84
+ if (value.hasOwnProperty(key)) {
85
+ if ('instructionFn' in options) {
86
+ value[key] = options.instructionFn(value[key], key, currentElement);
87
+ } else {
88
+ var temp = value[key];
89
+ delete value[key];
90
+ value[options.instructionNameFn(key, temp, currentElement)] = temp;
91
+ }
92
+ }
93
+ }
94
+ }
95
+ if (isArray(currentElement[options[type + 'Key']])) {
96
+ currentElement[options[type + 'Key']].push(value);
97
+ } else {
98
+ currentElement[options[type + 'Key']] = value;
99
+ }
100
+ } else {
101
+ if (!currentElement[options.elementsKey]) {
102
+ currentElement[options.elementsKey] = [];
103
+ }
104
+ var element = {};
105
+ element[options.typeKey] = type;
106
+ if (type === 'instruction') {
107
+ for (key in value) {
108
+ if (value.hasOwnProperty(key)) {
109
+ break;
110
+ }
111
+ }
112
+ element[options.nameKey] = 'instructionNameFn' in options ? options.instructionNameFn(key, value, currentElement) : key;
113
+ if (options.instructionHasAttributes) {
114
+ element[options.attributesKey] = value[key][options.attributesKey];
115
+ if ('instructionFn' in options) {
116
+ element[options.attributesKey] = options.instructionFn(element[options.attributesKey], key, currentElement);
117
+ }
118
+ } else {
119
+ if ('instructionFn' in options) {
120
+ value[key] = options.instructionFn(value[key], key, currentElement);
121
+ }
122
+ element[options.instructionKey] = value[key];
123
+ }
124
+ } else {
125
+ if (type + 'Fn' in options) {
126
+ value = options[type + 'Fn'](value, currentElement);
127
+ }
128
+ element[options[type + 'Key']] = value;
129
+ }
130
+ if (options.addParent) {
131
+ element[options.parentKey] = currentElement;
132
+ }
133
+ currentElement[options.elementsKey].push(element);
134
+ }
135
+ }
136
+
137
+ function manipulateAttributes(attributes) {
138
+ if ('attributesFn' in options && attributes) {
139
+ attributes = options.attributesFn(attributes, currentElement);
140
+ }
141
+ if ((options.trim || 'attributeValueFn' in options || 'attributeNameFn' in options || options.nativeTypeAttributes) && attributes) {
142
+ var key;
143
+ for (key in attributes) {
144
+ if (attributes.hasOwnProperty(key)) {
145
+ if (options.trim) attributes[key] = attributes[key].trim();
146
+ if (options.nativeTypeAttributes) {
147
+ attributes[key] = nativeType(attributes[key]);
148
+ }
149
+ if ('attributeValueFn' in options) attributes[key] = options.attributeValueFn(attributes[key], key, currentElement);
150
+ if ('attributeNameFn' in options) {
151
+ var temp = attributes[key];
152
+ delete attributes[key];
153
+ attributes[options.attributeNameFn(key, attributes[key], currentElement)] = temp;
154
+ }
155
+ }
156
+ }
157
+ }
158
+ return attributes;
159
+ }
160
+
161
+ function onInstruction(instruction) {
162
+ var attributes = {};
163
+ if (instruction.body && (instruction.name.toLowerCase() === 'xml' || options.instructionHasAttributes)) {
164
+ var attrsRegExp = /([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g;
165
+ var match;
166
+ while ((match = attrsRegExp.exec(instruction.body)) !== null) {
167
+ attributes[match[1]] = match[2] || match[3] || match[4];
168
+ }
169
+ attributes = manipulateAttributes(attributes);
170
+ }
171
+ if (instruction.name.toLowerCase() === 'xml') {
172
+ if (options.ignoreDeclaration) {
173
+ return;
174
+ }
175
+ currentElement[options.declarationKey] = {};
176
+ if (Object.keys(attributes).length) {
177
+ currentElement[options.declarationKey][options.attributesKey] = attributes;
178
+ }
179
+ if (options.addParent) {
180
+ currentElement[options.declarationKey][options.parentKey] = currentElement;
181
+ }
182
+ } else {
183
+ if (options.ignoreInstruction) {
184
+ return;
185
+ }
186
+ if (options.trim) {
187
+ instruction.body = instruction.body.trim();
188
+ }
189
+ var value = {};
190
+ if (options.instructionHasAttributes && Object.keys(attributes).length) {
191
+ value[instruction.name] = {};
192
+ value[instruction.name][options.attributesKey] = attributes;
193
+ } else {
194
+ value[instruction.name] = instruction.body;
195
+ }
196
+ addField('instruction', value);
197
+ }
198
+ }
199
+
200
+ function onStartElement(name, attributes) {
201
+ var element;
202
+ if (typeof name === 'object') {
203
+ attributes = name.attributes;
204
+ name = name.name;
205
+ }
206
+ attributes = manipulateAttributes(attributes);
207
+ if ('elementNameFn' in options) {
208
+ name = options.elementNameFn(name, currentElement);
209
+ }
210
+ if (options.compact) {
211
+ element = {};
212
+ if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {
213
+ element[options.attributesKey] = {};
214
+ var key;
215
+ for (key in attributes) {
216
+ if (attributes.hasOwnProperty(key)) {
217
+ element[options.attributesKey][key] = attributes[key];
218
+ }
219
+ }
220
+ }
221
+ if (
222
+ !(name in currentElement) &&
223
+ (isArray(options.alwaysArray) ? options.alwaysArray.indexOf(name) !== -1 : options.alwaysArray)
224
+ ) {
225
+ currentElement[name] = [];
226
+ }
227
+ if (currentElement[name] && !isArray(currentElement[name])) {
228
+ currentElement[name] = [currentElement[name]];
229
+ }
230
+ if (isArray(currentElement[name])) {
231
+ currentElement[name].push(element);
232
+ } else {
233
+ currentElement[name] = element;
234
+ }
235
+ } else {
236
+ if (!currentElement[options.elementsKey]) {
237
+ currentElement[options.elementsKey] = [];
238
+ }
239
+ element = {};
240
+ element[options.typeKey] = 'element';
241
+ element[options.nameKey] = name;
242
+ if (!options.ignoreAttributes && attributes && Object.keys(attributes).length) {
243
+ element[options.attributesKey] = attributes;
244
+ }
245
+ if (options.alwaysChildren) {
246
+ element[options.elementsKey] = [];
247
+ }
248
+ currentElement[options.elementsKey].push(element);
249
+ }
250
+ element[options.parentKey] = currentElement; // will be deleted in onEndElement() if !options.addParent
251
+ currentElement = element;
252
+ }
253
+
254
+ function onText(text) {
255
+ if (options.ignoreText) {
256
+ return;
257
+ }
258
+ if (!text.trim() && !options.captureSpacesBetweenElements) {
259
+ return;
260
+ }
261
+ if (options.trim) {
262
+ text = text.trim();
263
+ }
264
+ if (options.nativeType) {
265
+ text = nativeType(text);
266
+ }
267
+ if (options.sanitize) {
268
+ text = text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
269
+ }
270
+ addField('text', text);
271
+ }
272
+
273
+ function onComment(comment) {
274
+ if (options.ignoreComment) {
275
+ return;
276
+ }
277
+ if (options.trim) {
278
+ comment = comment.trim();
279
+ }
280
+ addField('comment', comment);
281
+ }
282
+
283
+ function onEndElement(name) {
284
+ var parentElement = currentElement[options.parentKey];
285
+ if (!options.addParent) {
286
+ delete currentElement[options.parentKey];
287
+ }
288
+ currentElement = parentElement;
289
+ }
290
+
291
+ function onCdata(cdata) {
292
+ if (options.ignoreCdata) {
293
+ return;
294
+ }
295
+ if (options.trim) {
296
+ cdata = cdata.trim();
297
+ }
298
+ addField('cdata', cdata);
299
+ }
300
+
301
+ function onDoctype(doctype) {
302
+ if (options.ignoreDoctype) {
303
+ return;
304
+ }
305
+ doctype = doctype.replace(/^ /, '');
306
+ if (options.trim) {
307
+ doctype = doctype.trim();
308
+ }
309
+ addField('doctype', doctype);
310
+ }
311
+
312
+ function onError(error) {
313
+ error.note = error; //console.error(error);
314
+ }
315
+
316
+ module.exports = function (xml, userOptions) {
317
+
318
+ var parser = pureJsParser ? sax.parser(true, {}) : parser = new expat.Parser('UTF-8');
319
+ var result = {};
320
+ currentElement = result;
321
+
322
+ options = validateOptions(userOptions);
323
+
324
+ if (pureJsParser) {
325
+ parser.opt = {strictEntities: true};
326
+ parser.onopentag = onStartElement;
327
+ parser.ontext = onText;
328
+ parser.oncomment = onComment;
329
+ parser.onclosetag = onEndElement;
330
+ parser.onerror = onError;
331
+ parser.oncdata = onCdata;
332
+ parser.ondoctype = onDoctype;
333
+ parser.onprocessinginstruction = onInstruction;
334
+ } else {
335
+ parser.on('startElement', onStartElement);
336
+ parser.on('text', onText);
337
+ parser.on('comment', onComment);
338
+ parser.on('endElement', onEndElement);
339
+ parser.on('error', onError);
340
+ //parser.on('startCdata', onStartCdata);
341
+ //parser.on('endCdata', onEndCdata);
342
+ //parser.on('entityDecl', onEntityDecl);
343
+ }
344
+
345
+ if (pureJsParser) {
346
+ parser.write(xml).close();
347
+ } else {
348
+ if (!parser.parse(xml)) {
349
+ throw new Error('XML parsing error: ' + parser.getError());
350
+ }
351
+ }
352
+
353
+ if (result[options.elementsKey]) {
354
+ var temp = result[options.elementsKey];
355
+ delete result[options.elementsKey];
356
+ result[options.elementsKey] = temp;
357
+ delete result.text;
358
+ }
359
+
360
+ return result;
361
+
362
+ };
@@ -0,0 +1,22 @@
1
+ var helper = require('./options-helper');
2
+ var xml2js = require('./xml2js');
3
+
4
+ function validateOptions (userOptions) {
5
+ var options = helper.copyOptions(userOptions);
6
+ helper.ensureSpacesExists(options);
7
+ return options;
8
+ }
9
+
10
+ module.exports = function(xml, userOptions) {
11
+ var options, js, json, parentKey;
12
+ options = validateOptions(userOptions);
13
+ js = xml2js(xml, options);
14
+ parentKey = 'compact' in options && options.compact ? '_parent' : 'parent';
15
+ // parentKey = ptions.compact ? '_parent' : 'parent'; // consider this
16
+ if ('addParent' in options && options.addParent) {
17
+ json = JSON.stringify(js, function (k, v) { return k === parentKey? '_' : v; }, options.spaces);
18
+ } else {
19
+ json = JSON.stringify(js, null, options.spaces);
20
+ }
21
+ return json.replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
22
+ };
@@ -0,0 +1,111 @@
1
+ {
2
+ "name": "xml-js",
3
+ "version": "1.6.11",
4
+ "description": "A convertor between XML text and Javascript object / JSON text.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/nashwaan/xml-js.git"
8
+ },
9
+ "author": "Yousuf Almarzooqi <ysf953@gmail.com>",
10
+ "license": "MIT",
11
+ "bugs": {
12
+ "url": "https://github.com/nashwaan/xml-js/issues"
13
+ },
14
+ "homepage": "https://github.com/nashwaan/xml-js#readme",
15
+ "keywords": [
16
+ "XML",
17
+ "xml",
18
+ "js",
19
+ "JSON",
20
+ "json",
21
+ "cdata",
22
+ "CDATA",
23
+ "doctype",
24
+ "processing instruction",
25
+ "Javascript",
26
+ "js2xml",
27
+ "json2xml",
28
+ "xml2js",
29
+ "xml2json",
30
+ "transform",
31
+ "transformer",
32
+ "transforming",
33
+ "transformation",
34
+ "convert",
35
+ "convertor",
36
+ "converting",
37
+ "conversion",
38
+ "parse",
39
+ "parser",
40
+ "parsing"
41
+ ],
42
+ "main": "lib/index.js",
43
+ "bin": "./bin/cli.js",
44
+ "types": "./types/index.d.ts",
45
+ "scripts": {
46
+ "build": "webpack",
47
+ "doc": "node doc/compile-doc.js",
48
+ "watch:doc": "watch \"npm run doc\" doc/templates/",
49
+ "live:doc": "browser-sync start --port 9997 --server doc/ --files doc/templates/ --no-open --no-ui --no-online",
50
+ "open:doc": "biased-opener --browser chrome http://localhost:9997",
51
+ "start:doc": "npm-run-all --parallel watch:doc live:doc open:doc",
52
+ "debug": "nodemon --inspect --watch lib/ --watch test/ --debug-brk test/index.js",
53
+ "debug:cli": "nodemon --inspect --watch lib/ --debug-brk index.js -- --help",
54
+ "jest": "jest --config=test/jest.conf.js",
55
+ "jasmine": "jasmine JASMINE_CONFIG_PATH=./test/jasmine.json",
56
+ "watch:jasmine": "watch \"npm run jasmine\" lib/ test/ --ignoreDirectoryPattern=/browse-.+/",
57
+ "bundle:jasmine": "globify test/*.spec.js --watch --verbose --list --outfile test/browse-jasmine/bundle.js",
58
+ "live:jasmine": "browser-sync start --port 9999 --server test/browse-jasmine/ --files test/browse-jasmine/ --no-open --no-ui --no-online",
59
+ "open-help": "biased-opener --help",
60
+ "open:jasmine": "biased-opener --browser chrome http://localhost:9999",
61
+ "istanbul-original": "istanbul cover --dir test/coverage-jasmine -x test/browse-** test/index.js",
62
+ "istanbul": "istanbul cover --dir test/coverage-jasmine test/index.js",
63
+ "watch:istanbul": "watch \"npm run istanbul\" lib/ test/ --ignoreDirectoryPattern=/coverage-.+/",
64
+ "live:istanbul": "browser-sync start --port 9998 --server test/coverage-jasmine/lcov-report/ --files test/coverage-jasmine/lcov-report/ --no-open --no-ui --no-online",
65
+ "open:istanbul": "biased-opener --browser chrome http://localhost:9998",
66
+ "live": "npm-run-all --parallel live:* open:*",
67
+ "start": "npm-run-all --parallel bundle:jasmine live:jasmine open:jasmine watch:istanbul live:istanbul open:istanbul",
68
+ "git:commit": "git add . && git commit -a -m \"Committed by npm script.\" && git push origin master",
69
+ "git:push": "git push origin master",
70
+ "deploy": "npm-run-all --serial coverage:* git:*",
71
+ "coverage": "npm-run-all coverage:*",
72
+ "coverage:a-step": "npm run istanbul",
73
+ "coverage:coveralls": "cross-env COVERALLS_REPO_TOKEN=CaEwzjHxsKRqomJSYmGagrJdlR7uLHhHC && cat ./test/coverage-jasmine/lcov.info | coveralls",
74
+ "coverage:codecov": "codecov --token=0e52af41-702b-4d7f-8aa3-61145ac36624 --file=test/coverage-jasmine/lcov.info ",
75
+ "coverage:codacy": "cross-env CODACY_PROJECT_TOKEN=0207815122ea49a68241d1aa435f21f1 && cat ./test/coverage-jasmine/lcov.info | codacy-coverage",
76
+ "coverage:codeclimate": "cross-env CODECLIMATE_REPO_TOKEN=60848a077f9070acf358b0c7145f0a2698a460ddeca7d8250815e75aa4333f7d codeclimate-test-reporter < test\\coverage-jasmine\\lcov.info",
77
+ "prepublish": "npm run test",
78
+ "test": "npm run jasmine && npm run jest && npm run test:types",
79
+ "test:types": "tsc -p ./types"
80
+ },
81
+ "dependencies": {
82
+ "sax": "^1.2.4"
83
+ },
84
+ "devDependencies": {
85
+ "babel-core": "^6.26.3",
86
+ "babel-loader": "^7.1.4",
87
+ "babel-preset-env": "^1.7.0",
88
+ "biased-opener": "^0.2.8",
89
+ "browser-sync": "^2.26.3",
90
+ "cash-cat": "^0.2.0",
91
+ "codacy-coverage": "^3.4.0",
92
+ "codeclimate-test-reporter": "^0.5.1",
93
+ "codecov": "^3.1.0",
94
+ "coveralls": "^3.0.2",
95
+ "cross-env": "^5.2.0",
96
+ "eslint": "^5.12.0",
97
+ "globify": "^2.3.4",
98
+ "istanbul": "^0.4.5",
99
+ "jasmine": "^3.3.1",
100
+ "jest": "^20.0.4",
101
+ "jest-cli": "^20.0.4",
102
+ "jsonpath": "^1.0.0",
103
+ "nodemon": "^1.18.9",
104
+ "npm-run-all": "^4.1.5",
105
+ "prismjs": "^1.15.0",
106
+ "typescript": "^3.2.2",
107
+ "unminified-webpack-plugin": "^1.4.2",
108
+ "watch": "^1.0.1",
109
+ "webpack": "^3.10.0"
110
+ }
111
+ }
@@ -0,0 +1,154 @@
1
+ export interface Attributes {
2
+ [key: string]: string | number | undefined
3
+ }
4
+
5
+ export interface DeclarationAttributes {
6
+ version?: string | number
7
+ encoding?: 'utf-8' | string
8
+ standalone?: 'yes' | 'no'
9
+ }
10
+
11
+ export interface ElementCompact {
12
+ [key: string]: any
13
+ _declaration?: {
14
+ _attributes?: DeclarationAttributes
15
+ }
16
+ _instruction?: {
17
+ [key: string]: string
18
+ }
19
+ _attributes?: Attributes
20
+ _cdata?: string
21
+ _doctype?: string
22
+ _comment?: string
23
+ _text?: string | number
24
+ }
25
+
26
+ export interface Element {
27
+ declaration?: {
28
+ attributes?: DeclarationAttributes
29
+ }
30
+ instruction?: string
31
+ attributes?: Attributes
32
+ cdata?: string
33
+ doctype?: string
34
+ comment?: string
35
+ text?: string | number | boolean
36
+ type?: string
37
+ name?: string
38
+ elements?: Array<Element>
39
+ }
40
+
41
+ declare namespace Options {
42
+ interface XML2JSON extends XML2JS {
43
+ spaces?: number | string
44
+ }
45
+
46
+ interface XML2JS extends ChangingKeyNames, IgnoreOptions {
47
+ compact?: boolean
48
+ trim?: boolean
49
+ sanitize?: boolean
50
+ nativeType?: boolean
51
+ addParent?: boolean
52
+ alwaysArray?: boolean | Array<string>
53
+ alwaysChildren?: boolean
54
+ instructionHasAttributes?: boolean
55
+ captureSpacesBetweenElements?: boolean
56
+ doctypeFn?: (value: string, parentElement: object) => void;
57
+ instructionFn?: (
58
+ instructionValue: string,
59
+ instructionName: string,
60
+ parentElement: string
61
+ ) => void;
62
+ cdataFn?: (value: string, parentElement: object) => void;
63
+ commentFn?: (value: string, parentElement: object) => void;
64
+ textFn?: (value: string, parentElement: object) => void;
65
+ instructionNameFn?: (
66
+ instructionName: string,
67
+ instructionValue: string,
68
+ parentElement: string
69
+ ) => void;
70
+ elementNameFn?: (value: string, parentElement: object) => void;
71
+ attributeNameFn?: (
72
+ attributeName: string,
73
+ attributeValue: string,
74
+ parentElement: string
75
+ ) => void;
76
+ attributeValueFn?: (
77
+ attributeValue: string,
78
+ attributeName: string,
79
+ parentElement: string
80
+ ) => void;
81
+ attributesFn?: (value: string, parentElement: string) => void;
82
+ }
83
+
84
+ interface JS2XML extends ChangingKeyNames, IgnoreOptions {
85
+ spaces?: number | string
86
+ compact?: boolean
87
+ indentText?: boolean
88
+ indentCdata?: boolean
89
+ indentAttributes?: boolean
90
+ indentInstruction?: boolean
91
+ fullTagEmptyElement?: boolean
92
+ noQuotesForNativeAttributes?: boolean
93
+ doctypeFn?: (value: string, currentElementName: string, currentElementObj: object) => void;
94
+ instructionFn?: (
95
+ instructionValue: string,
96
+ instructionName: string,
97
+ currentElementName: string,
98
+ currentElementObj: object
99
+ ) => void;
100
+ cdataFn?: (value: string, currentElementName: string, currentElementObj: object) => void;
101
+ commentFn?: (value: string, currentElementName: string, currentElementObj: object) => void;
102
+ textFn?: (value: string, currentElementName: string, currentElementObj: object) => void;
103
+ instructionNameFn?: (
104
+ instructionName: string,
105
+ instructionValue: string,
106
+ currentElementName: string,
107
+ currentElementObj: object
108
+ ) => void;
109
+ elementNameFn?: (value: string, currentElementName: string, currentElementObj: object) => void;
110
+ attributeNameFn?: (
111
+ attributeName: string,
112
+ attributeValue: string,
113
+ currentElementName: string,
114
+ currentElementObj: object
115
+ ) => void;
116
+ attributeValueFn?: (
117
+ attributeValue: string,
118
+ attributeName: string,
119
+ currentElementName: string,
120
+ currentElementObj: object
121
+ ) => void;
122
+ attributesFn?: (value: string, currentElementName: string, currentElementObj: object) => void;
123
+ fullTagEmptyElementFn?: (currentElementName: string, currentElementObj: object) => void;
124
+ }
125
+
126
+ interface IgnoreOptions {
127
+ ignoreDeclaration?: boolean
128
+ ignoreInstruction?: boolean
129
+ ignoreAttributes?: boolean
130
+ ignoreComment?: boolean
131
+ ignoreCdata?: boolean
132
+ ignoreDoctype?: boolean
133
+ ignoreText?: boolean
134
+ }
135
+
136
+ interface ChangingKeyNames {
137
+ declarationKey?: string
138
+ instructionKey?: string
139
+ attributesKey?: string
140
+ textKey?: string
141
+ cdataKey?: string
142
+ doctypeKey?: string
143
+ commentKey?: string
144
+ parentKey?: string
145
+ typeKey?: string
146
+ nameKey?: string
147
+ elementsKey?: string
148
+ }
149
+ }
150
+
151
+ export function js2xml(obj: Element | ElementCompact, options?: Options.JS2XML): string;
152
+ export function json2xml(json: string, options?: Options.JS2XML): string;
153
+ export function xml2json(xml: string, options?: Options.XML2JSON): string;
154
+ export function xml2js(xml: string, options?: Options.XML2JS): Element | ElementCompact;