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.
- package/.adspecs/scripts/powershell/check-prerequisites.ps1 +3 -3
- package/.adspecs/scripts/powershell/setup-tasks.ps1 +2 -2
- 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
- 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
- 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
- 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
- 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
- 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
- package/.claude-plugin/marketplace.json +23 -23
- package/.claude-plugin/plugin.json +18 -18
- package/.codebuddy-plugin/plugin.json +24 -24
- package/.qoder-plugin/plugin.json +30 -30
- package/.workbuddy-plugin/plugin.json +24 -24
- package/CHANGELOG.md +10 -0
- package/CLAUDE.md +45 -45
- package/README.md +51 -51
- package/hooks/commit-queue.js +245 -245
- package/hooks/hooks.json +2 -9
- package/hooks/session-logger.js +346 -346
- package/package.json +65 -65
- package/skills/{adspecs-adversarial-review → ads-adversarial-review}/SKILL.md +8 -8
- package/skills/{adspecs-analyze → ads-analyze}/SKILL.md +564 -564
- package/skills/{adspecs-architecture-planning → ads-architecture-planning}/SKILL.md +9 -9
- package/skills/{adspecs-biz-blueprint → ads-biz-blueprint}/SKILL.md +18 -18
- package/skills/{adspecs-clarify → ads-clarify}/SKILL.md +7 -7
- package/skills/{adspecs-constitution → ads-constitution}/SKILL.md +3 -3
- package/skills/{adspecs-export-word → ads-export-word}/SKILL.md +9 -9
- package/skills/{adspecs-export-word → ads-export-word}/references/md-to-docx.js +862 -862
- package/skills/ads-export-word/references/package-lock.json +220 -0
- package/skills/{adspecs-export-word → ads-export-word}/references/package.json +10 -10
- package/skills/{adspecs-front-prototype → ads-front-prototype}/SKILL.md +8 -8
- package/skills/{adspecs-front-spec → ads-front-spec}/SKILL.md +12 -12
- package/skills/{adspecs-front-tasks → ads-front-tasks}/SKILL.md +5 -5
- package/skills/{adspecs-git-commit → ads-git-commit}/SKILL.md +1 -1
- package/skills/{adspecs-git-initialize → ads-git-initialize}/SKILL.md +1 -1
- package/skills/{adspecs-new-requirement → ads-new-requirement}/SKILL.md +11 -11
- package/skills/{adspecs-plan → ads-plan}/SKILL.md +6 -6
- package/skills/{adspecs-prd → ads-prd}/SKILL.md +9 -9
- package/skills/{adspecs-prd-to-demo → ads-prd-to-demo}/SKILL.md +19 -19
- package/skills/{adspecs-requirement-research → ads-requirement-research}/SKILL.md +15 -3
- package/skills/{adspecs-save-session → ads-save-session}/SKILL.md +1 -1
- package/skills/{adspecs-tasks → ads-tasks}/SKILL.md +5 -5
- package/skills/{adspecs-update-status → ads-update-status}/SKILL.md +7 -7
- package/skills/{adspecs-utest → ads-utest}/SKILL.md +7 -7
- package/skills/{adspecs-write-planning-report → ads-write-planning-report}/SKILL.md +2 -2
- package/skills/{adspecs-write-roadmap → ads-write-roadmap}/SKILL.md +2 -2
- package/skills/{adspecs-write-sow → ads-write-sow}/SKILL.md +5 -5
- package/skills/adspecs-export-word/references/node_modules/.bin/marked +16 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/marked.cmd +17 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/marked.ps1 +28 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/nanoid +16 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/nanoid.cmd +17 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/nanoid.ps1 +28 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/xml-js +16 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/xml-js.cmd +17 -0
- package/skills/adspecs-export-word/references/node_modules/.bin/xml-js.ps1 +28 -0
- package/skills/adspecs-export-word/references/{package-lock.json → node_modules/.package-lock.json} +0 -8
- package/skills/adspecs-export-word/references/node_modules/@types/node/LICENSE +21 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/README.md +15 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/assert/strict.d.ts +59 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/assert.d.ts +950 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/async_hooks.d.ts +711 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/buffer.d.ts +1765 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/child_process.d.ts +1366 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/cluster.d.ts +432 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/console.d.ts +93 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/constants.d.ts +14 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/crypto.d.ts +4058 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/dgram.d.ts +537 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/diagnostics_channel.d.ts +552 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/dns/promises.d.ts +497 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/dns.d.ts +876 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/domain.d.ts +150 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/events.d.ts +1008 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/fs/promises.d.ts +1468 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/fs.d.ts +4780 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/globals.d.ts +150 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/http.d.ts +2147 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/http2.d.ts +2489 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/https.d.ts +400 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/index.d.ts +117 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/inspector/promises.d.ts +35 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/inspector.d.ts +264 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/inspector.generated.d.ts +4406 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/module.d.ts +755 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/net.d.ts +970 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/os.d.ts +498 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/package.json +155 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/path/posix.d.ts +8 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/path/win32.d.ts +8 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/path.d.ts +178 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/perf_hooks.d.ts +612 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/process.d.ts +2206 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/punycode.d.ts +89 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/querystring.d.ts +139 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/quic.d.ts +897 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/readline/promises.d.ts +158 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/readline.d.ts +507 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/repl.d.ts +420 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/sea.d.ts +47 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/sqlite.d.ts +1068 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/stream/consumers.d.ts +114 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/stream/iter.d.ts +301 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/stream/web.d.ts +300 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/stream.d.ts +1774 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/string_decoder.d.ts +27 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/test/reporters.d.ts +59 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/test.d.ts +2279 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/timers.d.ts +149 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/tls.d.ts +1193 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/trace_events.d.ts +103 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.6/index.d.ts +119 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/ts5.7/index.d.ts +119 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/tty.d.ts +225 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/url.d.ts +556 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/util/types.d.ts +558 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/util.d.ts +1677 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/v8.d.ts +980 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/vm.d.ts +1136 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/wasi.d.ts +131 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/worker_threads.d.ts +671 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/zlib/iter.d.ts +131 -0
- package/skills/adspecs-export-word/references/node_modules/@types/node/zlib.d.ts +589 -0
- package/skills/adspecs-export-word/references/node_modules/core-util-is/LICENSE +19 -0
- package/skills/adspecs-export-word/references/node_modules/core-util-is/README.md +3 -0
- package/skills/adspecs-export-word/references/node_modules/core-util-is/lib/util.js +107 -0
- package/skills/adspecs-export-word/references/node_modules/core-util-is/package.json +38 -0
- package/skills/adspecs-export-word/references/node_modules/docx/LICENSE +21 -0
- package/skills/adspecs-export-word/references/node_modules/docx/README.md +124 -0
- package/skills/adspecs-export-word/references/node_modules/docx/dist/index.cjs +33170 -0
- package/skills/adspecs-export-word/references/node_modules/docx/dist/index.d.cts +3214 -0
- package/skills/adspecs-export-word/references/node_modules/docx/dist/index.d.ts +3214 -0
- package/skills/adspecs-export-word/references/node_modules/docx/dist/index.iife.js +33173 -0
- package/skills/adspecs-export-word/references/node_modules/docx/dist/index.mjs +32868 -0
- package/skills/adspecs-export-word/references/node_modules/docx/dist/index.umd.cjs +33174 -0
- package/skills/adspecs-export-word/references/node_modules/docx/package.json +114 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/.eslintrc.js +41 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/.travis.yml +10 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/README.md +48 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/common.js +92 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/hmac.js +47 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/ripemd.js +146 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/1.js +74 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/224.js +30 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/256.js +105 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/384.js +35 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/512.js +330 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha/common.js +49 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/sha.js +7 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash/utils.js +278 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash.d.ts +106 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/lib/hash.js +15 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/package.json +35 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/test/hash-test.js +140 -0
- package/skills/adspecs-export-word/references/node_modules/hash.js/test/hmac-test.js +62 -0
- package/skills/adspecs-export-word/references/node_modules/immediate/LICENSE.txt +20 -0
- package/skills/adspecs-export-word/references/node_modules/immediate/README.md +93 -0
- package/skills/adspecs-export-word/references/node_modules/immediate/dist/immediate.js +75 -0
- package/skills/adspecs-export-word/references/node_modules/immediate/dist/immediate.min.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/immediate/lib/browser.js +69 -0
- package/skills/adspecs-export-word/references/node_modules/immediate/lib/index.js +73 -0
- package/skills/adspecs-export-word/references/node_modules/immediate/package.json +42 -0
- package/skills/adspecs-export-word/references/node_modules/inherits/LICENSE +16 -0
- package/skills/adspecs-export-word/references/node_modules/inherits/README.md +42 -0
- package/skills/adspecs-export-word/references/node_modules/inherits/inherits.js +9 -0
- package/skills/adspecs-export-word/references/node_modules/inherits/inherits_browser.js +27 -0
- package/skills/adspecs-export-word/references/node_modules/inherits/package.json +29 -0
- package/skills/adspecs-export-word/references/node_modules/isarray/.travis.yml +4 -0
- package/skills/adspecs-export-word/references/node_modules/isarray/Makefile +6 -0
- package/skills/adspecs-export-word/references/node_modules/isarray/README.md +60 -0
- package/skills/adspecs-export-word/references/node_modules/isarray/component.json +19 -0
- package/skills/adspecs-export-word/references/node_modules/isarray/index.js +5 -0
- package/skills/adspecs-export-word/references/node_modules/isarray/package.json +45 -0
- package/skills/adspecs-export-word/references/node_modules/isarray/test.js +20 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/.codeclimate.yml +16 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/.editorconfig +8 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/.eslintrc.js +43 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/.github/workflows/pr.yaml +58 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/.jekyll-metadata +0 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/.travis.yml +17 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/CHANGES.md +204 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/LICENSE.markdown +651 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/README.markdown +33 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/deps.js +37 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/dist/jszip.js +11577 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/dist/jszip.min.js +13 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/graph.svg +601 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/index.d.ts +330 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/base64.js +106 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/compressedObject.js +74 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/compressions.js +14 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/crc32.js +77 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/defaults.js +11 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/external.js +18 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/flate.js +85 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/generate/index.js +57 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/index.js +55 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/license_header.js +11 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/load.js +88 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/nodejsUtils.js +57 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/object.js +384 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/readable-stream-browser.js +10 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/DataReader.js +116 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/StringReader.js +38 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/reader/readerFor.js +28 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/signature.js +7 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/DataWorker.js +116 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/support.js +38 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/utf8.js +275 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/utils.js +501 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/zipEntries.js +261 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/zipEntry.js +293 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/lib/zipObject.js +133 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/package.json +67 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/sponsors.md +21 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/tsconfig.json +101 -0
- package/skills/adspecs-export-word/references/node_modules/jszip/vendor/FileSaver.js +247 -0
- package/skills/adspecs-export-word/references/node_modules/lie/README.md +62 -0
- package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.js +350 -0
- package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.min.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.polyfill.js +358 -0
- package/skills/adspecs-export-word/references/node_modules/lie/dist/lie.polyfill.min.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/lie/lib/browser.js +273 -0
- package/skills/adspecs-export-word/references/node_modules/lie/lib/index.js +298 -0
- package/skills/adspecs-export-word/references/node_modules/lie/license.md +7 -0
- package/skills/adspecs-export-word/references/node_modules/lie/lie.d.ts +244 -0
- package/skills/adspecs-export-word/references/node_modules/lie/package.json +69 -0
- package/skills/adspecs-export-word/references/node_modules/lie/polyfill.js +4 -0
- package/skills/adspecs-export-word/references/node_modules/marked/LICENSE.md +44 -0
- package/skills/adspecs-export-word/references/node_modules/marked/README.md +106 -0
- package/skills/adspecs-export-word/references/node_modules/marked/bin/main.js +282 -0
- package/skills/adspecs-export-word/references/node_modules/marked/bin/marked.js +15 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.cjs +2211 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.cjs.map +7 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.d.cts +728 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.d.ts +728 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.esm.js +2189 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.esm.js.map +7 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.umd.js +2213 -0
- package/skills/adspecs-export-word/references/node_modules/marked/lib/marked.umd.js.map +7 -0
- package/skills/adspecs-export-word/references/node_modules/marked/man/marked.1 +111 -0
- package/skills/adspecs-export-word/references/node_modules/marked/man/marked.1.md +92 -0
- package/skills/adspecs-export-word/references/node_modules/marked/marked.min.js +69 -0
- package/skills/adspecs-export-word/references/node_modules/marked/package.json +111 -0
- package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/LICENSE +13 -0
- package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/index.js +11 -0
- package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/package.json +19 -0
- package/skills/adspecs-export-word/references/node_modules/minimalistic-assert/readme.md +4 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/LICENSE +20 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/README.md +34 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/bin/nanoid.js +66 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/index.browser.js +57 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/index.d.ts +106 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/index.js +83 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/nanoid.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/non-secure/index.d.ts +48 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/non-secure/index.js +23 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/package.json +46 -0
- package/skills/adspecs-export-word/references/node_modules/nanoid/url-alphabet/index.js +2 -0
- package/skills/adspecs-export-word/references/node_modules/pako/CHANGELOG.md +164 -0
- package/skills/adspecs-export-word/references/node_modules/pako/LICENSE +21 -0
- package/skills/adspecs-export-word/references/node_modules/pako/README.md +191 -0
- package/skills/adspecs-export-word/references/node_modules/pako/dist/pako.js +6818 -0
- package/skills/adspecs-export-word/references/node_modules/pako/dist/pako.min.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_deflate.js +3997 -0
- package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_deflate.min.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_inflate.js +3300 -0
- package/skills/adspecs-export-word/references/node_modules/pako/dist/pako_inflate.min.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/pako/index.js +14 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/deflate.js +400 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/inflate.js +423 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/utils/common.js +105 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/utils/strings.js +187 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/README +59 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/adler32.js +51 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/constants.js +68 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/crc32.js +59 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/deflate.js +1874 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/gzheader.js +58 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/inffast.js +345 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/inflate.js +1556 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/inftrees.js +343 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/messages.js +32 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/trees.js +1222 -0
- package/skills/adspecs-export-word/references/node_modules/pako/lib/zlib/zstream.js +47 -0
- package/skills/adspecs-export-word/references/node_modules/pako/package.json +44 -0
- package/skills/adspecs-export-word/references/node_modules/process-nextick-args/index.js +45 -0
- package/skills/adspecs-export-word/references/node_modules/process-nextick-args/license.md +19 -0
- package/skills/adspecs-export-word/references/node_modules/process-nextick-args/package.json +25 -0
- package/skills/adspecs-export-word/references/node_modules/process-nextick-args/readme.md +18 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/.travis.yml +34 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/GOVERNANCE.md +136 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/LICENSE +47 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/README.md +58 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/duplex-browser.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/duplex.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_transform.js +214 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/_stream_writable.js +685 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/package.json +52 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/passthrough.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/readable-browser.js +7 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/readable.js +19 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/transform.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/writable-browser.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/readable-stream/writable.js +8 -0
- package/skills/adspecs-export-word/references/node_modules/safe-buffer/LICENSE +21 -0
- package/skills/adspecs-export-word/references/node_modules/safe-buffer/README.md +584 -0
- package/skills/adspecs-export-word/references/node_modules/safe-buffer/index.d.ts +187 -0
- package/skills/adspecs-export-word/references/node_modules/safe-buffer/index.js +62 -0
- package/skills/adspecs-export-word/references/node_modules/safe-buffer/package.json +37 -0
- package/skills/adspecs-export-word/references/node_modules/sax/LICENSE.md +55 -0
- package/skills/adspecs-export-word/references/node_modules/sax/README.md +227 -0
- package/skills/adspecs-export-word/references/node_modules/sax/lib/sax.js +1848 -0
- package/skills/adspecs-export-word/references/node_modules/sax/package.json +34 -0
- package/skills/adspecs-export-word/references/node_modules/setimmediate/LICENSE.txt +20 -0
- package/skills/adspecs-export-word/references/node_modules/setimmediate/package.json +30 -0
- package/skills/adspecs-export-word/references/node_modules/setimmediate/setImmediate.js +186 -0
- package/skills/adspecs-export-word/references/node_modules/string_decoder/.travis.yml +50 -0
- package/skills/adspecs-export-word/references/node_modules/string_decoder/LICENSE +48 -0
- package/skills/adspecs-export-word/references/node_modules/string_decoder/README.md +47 -0
- package/skills/adspecs-export-word/references/node_modules/string_decoder/lib/string_decoder.js +296 -0
- package/skills/adspecs-export-word/references/node_modules/string_decoder/package.json +31 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/LICENSE +21 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/README.md +6 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/agent.d.ts +32 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/api.d.ts +43 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/cache-interceptor.d.ts +179 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/cache.d.ts +36 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/client-stats.d.ts +15 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/client.d.ts +123 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/connector.d.ts +36 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/content-type.d.ts +21 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/cookies.d.ts +30 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/dispatcher.d.ts +279 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/errors.d.ts +177 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/eventsource.d.ts +66 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/fetch.d.ts +211 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/formdata.d.ts +108 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/global-origin.d.ts +7 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/handlers.d.ts +15 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/header.d.ts +160 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/index.d.ts +91 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/interceptors.d.ts +80 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/mock-client.d.ts +27 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/package.json +55 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/patch.d.ts +29 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/pool.d.ts +41 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/readable.d.ts +68 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/util.d.ts +18 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/utility.d.ts +7 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/webidl.d.ts +347 -0
- package/skills/adspecs-export-word/references/node_modules/undici-types/websocket.d.ts +188 -0
- package/skills/adspecs-export-word/references/node_modules/util-deprecate/History.md +16 -0
- package/skills/adspecs-export-word/references/node_modules/util-deprecate/LICENSE +24 -0
- package/skills/adspecs-export-word/references/node_modules/util-deprecate/README.md +53 -0
- package/skills/adspecs-export-word/references/node_modules/util-deprecate/browser.js +67 -0
- package/skills/adspecs-export-word/references/node_modules/util-deprecate/node.js +6 -0
- package/skills/adspecs-export-word/references/node_modules/util-deprecate/package.json +27 -0
- package/skills/adspecs-export-word/references/node_modules/xml/.travis.yml +8 -0
- package/skills/adspecs-export-word/references/node_modules/xml/LICENSE +22 -0
- package/skills/adspecs-export-word/references/node_modules/xml/examples/examples.js +81 -0
- package/skills/adspecs-export-word/references/node_modules/xml/examples/server.js +24 -0
- package/skills/adspecs-export-word/references/node_modules/xml/lib/escapeForXML.js +18 -0
- package/skills/adspecs-export-word/references/node_modules/xml/lib/xml.js +282 -0
- package/skills/adspecs-export-word/references/node_modules/xml/package.json +38 -0
- package/skills/adspecs-export-word/references/node_modules/xml/readme.md +184 -0
- package/skills/adspecs-export-word/references/node_modules/xml/test/xml.test.js +150 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/LICENSE +21 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/README.md +390 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/bin/cli-helper.js +47 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/bin/cli.js +83 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/bin/test.json +23 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/bin/test.xml +3 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/dist/xml-js.js +8310 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/dist/xml-js.min.js +8 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/index.js +1 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/lib/array-helper.js +11 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/lib/index.js +13 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/lib/js2xml.js +320 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/lib/json2xml.js +18 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/lib/options-helper.js +43 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/lib/xml2js.js +362 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/lib/xml2json.js +22 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/package.json +111 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/types/index.d.ts +154 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/types/tsconfig.json +14 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/types/typings.json +4 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/types/xml-js-tests.ts +60 -0
- package/skills/adspecs-export-word/references/node_modules/xml-js/webpack.config.js +28 -0
- package/skills/project-init/SKILL.md +10 -10
- package/src/commands/plugin.js +4 -4
- package/src/lib/readme-gen.js +1 -1
- package/src/lib/scaffolder.js +4 -3
- /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,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "util-deprecate",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "The Node.js `util.deprecate()` function with browser support",
|
|
5
|
+
"main": "node.js",
|
|
6
|
+
"browser": "browser.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git://github.com/TooTallNate/util-deprecate.git"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"util",
|
|
16
|
+
"deprecate",
|
|
17
|
+
"browserify",
|
|
18
|
+
"browser",
|
|
19
|
+
"node"
|
|
20
|
+
],
|
|
21
|
+
"author": "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io/)",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"bugs": {
|
|
24
|
+
"url": "https://github.com/TooTallNate/util-deprecate/issues"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/TooTallNate/util-deprecate"
|
|
27
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
(The MIT License)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2011-2016 Dylan Greene <dylang@gmail.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
'Software'), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
19
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
21
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var xml = require('../lib/xml');
|
|
2
|
+
|
|
3
|
+
console.log('===== Example 1 ====');
|
|
4
|
+
var example1 = { url: 'http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower' };
|
|
5
|
+
console.log(xml(example1));
|
|
6
|
+
//<url>http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower</url>
|
|
7
|
+
|
|
8
|
+
console.log('\n===== Example 2 ====');
|
|
9
|
+
var example2 = [ { url: { _attr: { hostname: 'www.google.com', path: '/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower' } } } ];
|
|
10
|
+
console.log(xml(example2));
|
|
11
|
+
//<url hostname="www.google.com" path="/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower"/>
|
|
12
|
+
|
|
13
|
+
console.log('\n===== Example 3 ====');
|
|
14
|
+
var example3 = [ { toys: [ { toy: 'Transformers' } , { toy: 'GI Joe' }, { toy: 'He-man' } ] } ];
|
|
15
|
+
console.log(xml(example3));
|
|
16
|
+
//<toys><toy>Transformers</toy><toy>GI Joe</toy><toy>He-man</toy></toys>
|
|
17
|
+
console.log(xml(example3, { indent: true }));
|
|
18
|
+
/*
|
|
19
|
+
<toys>
|
|
20
|
+
<toy>Transformers</toy>
|
|
21
|
+
<toy>GI Joe</toy>
|
|
22
|
+
<toy>He-man</toy>
|
|
23
|
+
</toys>
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
console.log('\n===== Example 4 ====');
|
|
27
|
+
var example4 = [ { toys: [ { _attr: { decade: '80s', locale: 'US'} }, { toy: 'Transformers' } , { toy: 'GI Joe' }, { toy: 'He-man' } ] } ];
|
|
28
|
+
console.log(xml(example4, { indent: true }));
|
|
29
|
+
/*
|
|
30
|
+
<toys decade="80s" locale="US">
|
|
31
|
+
<toy>Transformers</toy>
|
|
32
|
+
<toy>GI Joe</toy>
|
|
33
|
+
<toy>He-man</toy>
|
|
34
|
+
</toys>
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
console.log('\n===== Example 5 ====');
|
|
38
|
+
var example5 = [ { toys: [ { _attr: { decade: '80s', locale: 'US'} }, { toy: 'Transformers' } , { toy: [ { _attr: { knowing: 'half the battle' } }, 'GI Joe'] }, { toy: [ { name: 'He-man' }, { description: { _cdata: '<strong>Master of the Universe!</strong>'} } ] } ] } ];
|
|
39
|
+
console.log(xml(example5, { indent: true, declaration: true }));
|
|
40
|
+
/*
|
|
41
|
+
<toys><toy>Transformers</toy><toy>GI Joe</toy><toy>He-man</toy></toys>
|
|
42
|
+
<toys>
|
|
43
|
+
<toy>Transformers</toy>
|
|
44
|
+
<toy>GI Joe</toy>
|
|
45
|
+
<toy>He-man</toy>
|
|
46
|
+
</toys>
|
|
47
|
+
<toys decade="80s" locale="US">
|
|
48
|
+
<toy>Transformers</toy>
|
|
49
|
+
<toy>GI Joe</toy>
|
|
50
|
+
<toy>He-man</toy>
|
|
51
|
+
</toys>
|
|
52
|
+
<toys decade="80s" locale="US">
|
|
53
|
+
<toy>Transformers</toy>
|
|
54
|
+
<toy knowing="half the battle">
|
|
55
|
+
GI Joe
|
|
56
|
+
</toy>
|
|
57
|
+
<toy>
|
|
58
|
+
<name>He-man</name>
|
|
59
|
+
<description><![CDATA[<strong>Master of the Universe!</strong>]]></description>
|
|
60
|
+
</toy>
|
|
61
|
+
</toys>
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
console.log('\n===== Example 6 ====');
|
|
65
|
+
var elem = xml.Element({ _attr: { decade: '80s', locale: 'US'} });
|
|
66
|
+
var xmlStream = xml({ toys: elem }, { indent: true } );
|
|
67
|
+
xmlStream.on('data', function (chunk) {console.log("data:", chunk)});
|
|
68
|
+
elem.push({ toy: 'Transformers' });
|
|
69
|
+
elem.push({ toy: 'GI Joe' });
|
|
70
|
+
elem.push({ toy: [{name:'He-man'}] });
|
|
71
|
+
elem.close();
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
data: <toys decade="80s" locale="US">
|
|
75
|
+
data: <toy>Transformers</toy>
|
|
76
|
+
data: <toy>GI Joe</toy>
|
|
77
|
+
data: <toy>
|
|
78
|
+
<name>He-man</name>
|
|
79
|
+
</toy>
|
|
80
|
+
data: </toys>
|
|
81
|
+
*/
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var http = require('http'),
|
|
2
|
+
XML = require('../lib/xml');
|
|
3
|
+
|
|
4
|
+
var server = http.createServer(function(req, res) {
|
|
5
|
+
res.writeHead(200, {"Content-Type": "text/xml"});
|
|
6
|
+
|
|
7
|
+
var elem = XML.Element({ _attr: { decade: '80s', locale: 'US'} });
|
|
8
|
+
var xml = XML({ toys: elem }, {indent:true, stream:true});
|
|
9
|
+
|
|
10
|
+
res.write('<?xml version="1.0" encoding="utf-8"?>\n');
|
|
11
|
+
|
|
12
|
+
xml.pipe(res);
|
|
13
|
+
|
|
14
|
+
process.nextTick(function () {
|
|
15
|
+
elem.push({ toy: 'Transformers' });
|
|
16
|
+
elem.push({ toy: 'GI Joe' });
|
|
17
|
+
elem.push({ toy: [{name:'He-man'}] });
|
|
18
|
+
elem.close();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
server.listen(parseInt(process.env.PORT) || 3000);
|
|
24
|
+
console.log("server listening on port %d …", server.address().port);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
var XML_CHARACTER_MAP = {
|
|
3
|
+
'&': '&',
|
|
4
|
+
'"': '"',
|
|
5
|
+
"'": ''',
|
|
6
|
+
'<': '<',
|
|
7
|
+
'>': '>'
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
function escapeForXML(string) {
|
|
11
|
+
return string && string.replace
|
|
12
|
+
? string.replace(/([&"<>'])/g, function(str, item) {
|
|
13
|
+
return XML_CHARACTER_MAP[item];
|
|
14
|
+
})
|
|
15
|
+
: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = escapeForXML;
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
var escapeForXML = require('./escapeForXML');
|
|
2
|
+
var Stream = require('stream').Stream;
|
|
3
|
+
|
|
4
|
+
var DEFAULT_INDENT = ' ';
|
|
5
|
+
|
|
6
|
+
function xml(input, options) {
|
|
7
|
+
|
|
8
|
+
if (typeof options !== 'object') {
|
|
9
|
+
options = {
|
|
10
|
+
indent: options
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
var stream = options.stream ? new Stream() : null,
|
|
15
|
+
output = "",
|
|
16
|
+
interrupted = false,
|
|
17
|
+
indent = !options.indent ? ''
|
|
18
|
+
: options.indent === true ? DEFAULT_INDENT
|
|
19
|
+
: options.indent,
|
|
20
|
+
instant = true;
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
function delay (func) {
|
|
24
|
+
if (!instant) {
|
|
25
|
+
func();
|
|
26
|
+
} else {
|
|
27
|
+
process.nextTick(func);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function append (interrupt, out) {
|
|
32
|
+
if (out !== undefined) {
|
|
33
|
+
output += out;
|
|
34
|
+
}
|
|
35
|
+
if (interrupt && !interrupted) {
|
|
36
|
+
stream = stream || new Stream();
|
|
37
|
+
interrupted = true;
|
|
38
|
+
}
|
|
39
|
+
if (interrupt && interrupted) {
|
|
40
|
+
var data = output;
|
|
41
|
+
delay(function () { stream.emit('data', data) });
|
|
42
|
+
output = "";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function add (value, last) {
|
|
47
|
+
format(append, resolve(value, indent, indent ? 1 : 0), last);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function end() {
|
|
51
|
+
if (stream) {
|
|
52
|
+
var data = output;
|
|
53
|
+
delay(function () {
|
|
54
|
+
stream.emit('data', data);
|
|
55
|
+
stream.emit('end');
|
|
56
|
+
stream.readable = false;
|
|
57
|
+
stream.emit('close');
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function addXmlDeclaration(declaration) {
|
|
63
|
+
var encoding = declaration.encoding || 'UTF-8',
|
|
64
|
+
attr = { version: '1.0', encoding: encoding };
|
|
65
|
+
|
|
66
|
+
if (declaration.standalone) {
|
|
67
|
+
attr.standalone = declaration.standalone
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
add({'?xml': { _attr: attr } });
|
|
71
|
+
output = output.replace('/>', '?>');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// disable delay delayed
|
|
75
|
+
delay(function () { instant = false });
|
|
76
|
+
|
|
77
|
+
if (options.declaration) {
|
|
78
|
+
addXmlDeclaration(options.declaration);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (input && input.forEach) {
|
|
82
|
+
input.forEach(function (value, i) {
|
|
83
|
+
var last;
|
|
84
|
+
if (i + 1 === input.length)
|
|
85
|
+
last = end;
|
|
86
|
+
add(value, last);
|
|
87
|
+
});
|
|
88
|
+
} else {
|
|
89
|
+
add(input, end);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (stream) {
|
|
93
|
+
stream.readable = true;
|
|
94
|
+
return stream;
|
|
95
|
+
}
|
|
96
|
+
return output;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function element (/*input, …*/) {
|
|
100
|
+
var input = Array.prototype.slice.call(arguments),
|
|
101
|
+
self = {
|
|
102
|
+
_elem: resolve(input)
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
self.push = function (input) {
|
|
106
|
+
if (!this.append) {
|
|
107
|
+
throw new Error("not assigned to a parent!");
|
|
108
|
+
}
|
|
109
|
+
var that = this;
|
|
110
|
+
var indent = this._elem.indent;
|
|
111
|
+
format(this.append, resolve(
|
|
112
|
+
input, indent, this._elem.icount + (indent ? 1 : 0)),
|
|
113
|
+
function () { that.append(true) });
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
self.close = function (input) {
|
|
117
|
+
if (input !== undefined) {
|
|
118
|
+
this.push(input);
|
|
119
|
+
}
|
|
120
|
+
if (this.end) {
|
|
121
|
+
this.end();
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
return self;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function create_indent(character, count) {
|
|
129
|
+
return (new Array(count || 0).join(character || ''))
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function resolve(data, indent, indent_count) {
|
|
133
|
+
indent_count = indent_count || 0;
|
|
134
|
+
var indent_spaces = create_indent(indent, indent_count);
|
|
135
|
+
var name;
|
|
136
|
+
var values = data;
|
|
137
|
+
var interrupt = false;
|
|
138
|
+
|
|
139
|
+
if (typeof data === 'object') {
|
|
140
|
+
var keys = Object.keys(data);
|
|
141
|
+
name = keys[0];
|
|
142
|
+
values = data[name];
|
|
143
|
+
|
|
144
|
+
if (values && values._elem) {
|
|
145
|
+
values._elem.name = name;
|
|
146
|
+
values._elem.icount = indent_count;
|
|
147
|
+
values._elem.indent = indent;
|
|
148
|
+
values._elem.indents = indent_spaces;
|
|
149
|
+
values._elem.interrupt = values;
|
|
150
|
+
return values._elem;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
var attributes = [],
|
|
155
|
+
content = [];
|
|
156
|
+
|
|
157
|
+
var isStringContent;
|
|
158
|
+
|
|
159
|
+
function get_attributes(obj){
|
|
160
|
+
var keys = Object.keys(obj);
|
|
161
|
+
keys.forEach(function(key){
|
|
162
|
+
attributes.push(attribute(key, obj[key]));
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
switch(typeof values) {
|
|
167
|
+
case 'object':
|
|
168
|
+
if (values === null) break;
|
|
169
|
+
|
|
170
|
+
if (values._attr) {
|
|
171
|
+
get_attributes(values._attr);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (values._cdata) {
|
|
175
|
+
content.push(
|
|
176
|
+
('<![CDATA[' + values._cdata).replace(/\]\]>/g, ']]]]><![CDATA[>') + ']]>'
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (values.forEach) {
|
|
181
|
+
isStringContent = false;
|
|
182
|
+
content.push('');
|
|
183
|
+
values.forEach(function(value) {
|
|
184
|
+
if (typeof value == 'object') {
|
|
185
|
+
var _name = Object.keys(value)[0];
|
|
186
|
+
|
|
187
|
+
if (_name == '_attr') {
|
|
188
|
+
get_attributes(value._attr);
|
|
189
|
+
} else {
|
|
190
|
+
content.push(resolve(
|
|
191
|
+
value, indent, indent_count + 1));
|
|
192
|
+
}
|
|
193
|
+
} else {
|
|
194
|
+
//string
|
|
195
|
+
content.pop();
|
|
196
|
+
isStringContent=true;
|
|
197
|
+
content.push(escapeForXML(value));
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
});
|
|
201
|
+
if (!isStringContent) {
|
|
202
|
+
content.push('');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
break;
|
|
206
|
+
|
|
207
|
+
default:
|
|
208
|
+
//string
|
|
209
|
+
content.push(escapeForXML(values));
|
|
210
|
+
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
return {
|
|
214
|
+
name: name,
|
|
215
|
+
interrupt: interrupt,
|
|
216
|
+
attributes: attributes,
|
|
217
|
+
content: content,
|
|
218
|
+
icount: indent_count,
|
|
219
|
+
indents: indent_spaces,
|
|
220
|
+
indent: indent
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function format(append, elem, end) {
|
|
225
|
+
|
|
226
|
+
if (typeof elem != 'object') {
|
|
227
|
+
return append(false, elem);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
var len = elem.interrupt ? 1 : elem.content.length;
|
|
231
|
+
|
|
232
|
+
function proceed () {
|
|
233
|
+
while (elem.content.length) {
|
|
234
|
+
var value = elem.content.shift();
|
|
235
|
+
|
|
236
|
+
if (value === undefined) continue;
|
|
237
|
+
if (interrupt(value)) return;
|
|
238
|
+
|
|
239
|
+
format(append, value);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
append(false, (len > 1 ? elem.indents : '')
|
|
243
|
+
+ (elem.name ? '</' + elem.name + '>' : '')
|
|
244
|
+
+ (elem.indent && !end ? '\n' : ''));
|
|
245
|
+
|
|
246
|
+
if (end) {
|
|
247
|
+
end();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
function interrupt(value) {
|
|
252
|
+
if (value.interrupt) {
|
|
253
|
+
value.interrupt.append = append;
|
|
254
|
+
value.interrupt.end = proceed;
|
|
255
|
+
value.interrupt = false;
|
|
256
|
+
append(true);
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
append(false, elem.indents
|
|
263
|
+
+ (elem.name ? '<' + elem.name : '')
|
|
264
|
+
+ (elem.attributes.length ? ' ' + elem.attributes.join(' ') : '')
|
|
265
|
+
+ (len ? (elem.name ? '>' : '') : (elem.name ? '/>' : ''))
|
|
266
|
+
+ (elem.indent && len > 1 ? '\n' : ''));
|
|
267
|
+
|
|
268
|
+
if (!len) {
|
|
269
|
+
return append(false, elem.indent ? '\n' : '');
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
if (!interrupt(elem)) {
|
|
273
|
+
proceed();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
function attribute(key, value) {
|
|
278
|
+
return key + '=' + '"' + escapeForXML(value) + '"';
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
module.exports = xml;
|
|
282
|
+
module.exports.element = module.exports.Element = element;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "xml",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Fast and simple xml generator. Supports attributes, CDATA, etc. Includes tests and examples.",
|
|
5
|
+
"homepage": "http://github.com/dylang/node-xml",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"xml",
|
|
8
|
+
"create",
|
|
9
|
+
"builder",
|
|
10
|
+
"json",
|
|
11
|
+
"simple"
|
|
12
|
+
],
|
|
13
|
+
"author": "Dylan Greene (https://github.com/dylang)",
|
|
14
|
+
"contributors": [
|
|
15
|
+
"Dylan Greene (https://github.com/dylang)",
|
|
16
|
+
"Dodo (https://github.com/dodo)",
|
|
17
|
+
"Felix Geisendrfer (felix@debuggable.com)",
|
|
18
|
+
"Mithgol",
|
|
19
|
+
"carolineBda (https://github.com/carolineBda)",
|
|
20
|
+
"Eric Vantillard https://github.com/evantill",
|
|
21
|
+
"Sean Dwyer https://github.com/reywood"
|
|
22
|
+
],
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "http://github.com/dylang/node-xml"
|
|
26
|
+
},
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "http://github.com/dylang/node-xml/issues"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"ava": "^0.11.0"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"test": "ava"
|
|
35
|
+
},
|
|
36
|
+
"main": "lib/xml.js",
|
|
37
|
+
"license": "MIT"
|
|
38
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# xml [](http://travis-ci.org/dylang/node-xml)
|
|
2
|
+
|
|
3
|
+
[](https://nodei.co/npm/xml/)
|
|
4
|
+
|
|
5
|
+
> Fast and simple Javascript-based XML generator/builder for Node projects.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
$ npm install xml
|
|
10
|
+
|
|
11
|
+
## API
|
|
12
|
+
|
|
13
|
+
### `xml(xmlObject, options)`
|
|
14
|
+
|
|
15
|
+
Returns a `XML` string.
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
var xml = require('xml');
|
|
19
|
+
var xmlString = xml(xmlObject, options);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
#### `xmlObject`
|
|
23
|
+
|
|
24
|
+
`xmlObject` is a normal JavaScript Object/JSON object that defines the data for the XML string.
|
|
25
|
+
|
|
26
|
+
Keys will become tag names.
|
|
27
|
+
Values can be an `array of xmlObjects` or a value such as a `string` or `number`.
|
|
28
|
+
|
|
29
|
+
```js
|
|
30
|
+
xml({a: 1}) === '<a>1</a>'
|
|
31
|
+
xml({nested: [{ keys: [{ fun: 'hi' }]}]}) === '<nested><keys><fun>hi</fun></keys></nested>'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
There are two special keys:
|
|
35
|
+
|
|
36
|
+
`_attr`
|
|
37
|
+
|
|
38
|
+
Set attributes using a hash of key/value pairs.
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
xml({a: [{ _attr: { attributes: 'are fun', too: '!' }}, 1]}) === '<a attributes="are fun" too="!">1</a>'
|
|
42
|
+
````
|
|
43
|
+
`_cdata`
|
|
44
|
+
|
|
45
|
+
Value of `_cdata` is wrapped in xml `![CDATA[]]` so the data does not need to be escaped.
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
xml({a: { _cdata: "i'm not escaped: <xml>!"}}) === '<a><![CDATA[i\'m not escaped: <xml>!]]></a>'
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Mixed together:
|
|
52
|
+
```js
|
|
53
|
+
xml({a: { _attr: { attr:'hi'}, _cdata: "I'm not escaped" }}) === '<a attr="hi"><![CDATA[I\'m not escaped]]></a>'
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
#### `options`
|
|
57
|
+
|
|
58
|
+
`indent` _optional_ **string** What to use as a tab. Defaults to no tabs (compressed).
|
|
59
|
+
For example you can use `'\t'` for tab character, or `' '` for two-space tabs.
|
|
60
|
+
|
|
61
|
+
`stream` Return the result as a `stream`.
|
|
62
|
+
|
|
63
|
+
**Stream Example**
|
|
64
|
+
|
|
65
|
+
```js
|
|
66
|
+
var elem = xml.element({ _attr: { decade: '80s', locale: 'US'} });
|
|
67
|
+
var stream = xml({ toys: elem }, { stream: true });
|
|
68
|
+
stream.on('data', function (chunk) {console.log("data:", chunk)});
|
|
69
|
+
elem.push({ toy: 'Transformers' });
|
|
70
|
+
elem.push({ toy: 'GI Joe' });
|
|
71
|
+
elem.push({ toy: [{name:'He-man'}] });
|
|
72
|
+
elem.close();
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
result:
|
|
76
|
+
data: <toys decade="80s" locale="US">
|
|
77
|
+
data: <toy>Transformers</toy>
|
|
78
|
+
data: <toy>GI Joe</toy>
|
|
79
|
+
data: <toy>
|
|
80
|
+
<name>He-man</name>
|
|
81
|
+
</toy>
|
|
82
|
+
data: </toys>
|
|
83
|
+
*/
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
`Declaration` _optional_ Add default xml declaration as first node.
|
|
87
|
+
|
|
88
|
+
_options_ are:
|
|
89
|
+
* encoding: 'value'
|
|
90
|
+
* standalone: 'value'
|
|
91
|
+
|
|
92
|
+
**Declaration Example**
|
|
93
|
+
|
|
94
|
+
```js
|
|
95
|
+
xml([ { a: 'test' }], { declaration: true })
|
|
96
|
+
//result: '<?xml version="1.0" encoding="UTF-8"?><a>test</a>'
|
|
97
|
+
|
|
98
|
+
xml([ { a: 'test' }], { declaration: { standalone: 'yes', encoding: 'UTF-16' }})
|
|
99
|
+
//result: '<?xml version="1.0" encoding="UTF-16" standalone="yes"?><a>test</a>'
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Examples
|
|
103
|
+
|
|
104
|
+
**Simple Example**
|
|
105
|
+
|
|
106
|
+
```js
|
|
107
|
+
var example1 = [ { url: 'http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower' } ];
|
|
108
|
+
console.log(XML(example1));
|
|
109
|
+
//<url>http://www.google.com/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower</url>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Example with attributes**
|
|
113
|
+
|
|
114
|
+
```js
|
|
115
|
+
var example2 = [ { url: { _attr: { hostname: 'www.google.com', path: '/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower' } } } ];
|
|
116
|
+
console.log(XML(example2));
|
|
117
|
+
//result: <url hostname="www.google.com" path="/search?aq=f&sourceid=chrome&ie=UTF-8&q=opower"/>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Example with array of same-named elements and nice formatting**
|
|
121
|
+
|
|
122
|
+
```js
|
|
123
|
+
var example3 = [ { toys: [ { toy: 'Transformers' } , { toy: 'GI Joe' }, { toy: 'He-man' } ] } ];
|
|
124
|
+
console.log(XML(example3));
|
|
125
|
+
//result: <toys><toy>Transformers</toy><toy>GI Joe</toy><toy>He-man</toy></toys>
|
|
126
|
+
console.log(XML(example3, true));
|
|
127
|
+
/*
|
|
128
|
+
result:
|
|
129
|
+
<toys>
|
|
130
|
+
<toy>Transformers</toy>
|
|
131
|
+
<toy>GI Joe</toy>
|
|
132
|
+
<toy>He-man</toy>
|
|
133
|
+
</toys>
|
|
134
|
+
*/
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**More complex example**
|
|
138
|
+
|
|
139
|
+
```js
|
|
140
|
+
var example4 = [ { toys: [ { _attr: { decade: '80s', locale: 'US'} }, { toy: 'Transformers' } , { toy: 'GI Joe' }, { toy: 'He-man' } ] } ];
|
|
141
|
+
console.log(XML(example4, true));
|
|
142
|
+
/*
|
|
143
|
+
result:
|
|
144
|
+
<toys decade="80s" locale="US">
|
|
145
|
+
<toy>Transformers</toy>
|
|
146
|
+
<toy>GI Joe</toy>
|
|
147
|
+
<toy>He-man</toy>
|
|
148
|
+
</toys>
|
|
149
|
+
*/
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Even more complex example**
|
|
153
|
+
|
|
154
|
+
```js
|
|
155
|
+
var example5 = [ { toys: [ { _attr: { decade: '80s', locale: 'US'} }, { toy: 'Transformers' } , { toy: [ { _attr: { knowing: 'half the battle' } }, 'GI Joe'] }, { toy: [ { name: 'He-man' }, { description: { _cdata: '<strong>Master of the Universe!</strong>'} } ] } ] } ];
|
|
156
|
+
console.log(XML(example5, true));
|
|
157
|
+
/*
|
|
158
|
+
result:
|
|
159
|
+
<toys decade="80s" locale="US">
|
|
160
|
+
<toy>Transformers</toy>
|
|
161
|
+
<toy knowing="half the battle">
|
|
162
|
+
GI Joe
|
|
163
|
+
</toy>
|
|
164
|
+
<toy>
|
|
165
|
+
<name>He-man</name>
|
|
166
|
+
<description><![CDATA[<strong>Master of the Universe!</strong>]]></description>
|
|
167
|
+
</toy>
|
|
168
|
+
</toys>
|
|
169
|
+
*/
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Tests
|
|
173
|
+
|
|
174
|
+
Tests included use [AVA](https://ava.li). Use `npm test` to run the tests.
|
|
175
|
+
|
|
176
|
+
$ npm test
|
|
177
|
+
|
|
178
|
+
## Examples
|
|
179
|
+
|
|
180
|
+
There are examples in the examples directory.
|
|
181
|
+
|
|
182
|
+
# Contributing
|
|
183
|
+
|
|
184
|
+
Contributions to the project are welcome. Feel free to fork and improve. I accept pull requests when tests are included.
|