@hexpro/qr-code-studio 0.0.0-stage → 0.1.1
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/CHANGELOG.md +53 -0
- package/LICENSE +21 -0
- package/README.md +62 -2
- package/dist/app/bulk.d.ts +21 -0
- package/dist/app/bulk.d.ts.map +1 -0
- package/dist/app/bulk.js +564 -0
- package/dist/app/bulk.js.map +1 -0
- package/dist/app/check.d.ts +23 -0
- package/dist/app/check.d.ts.map +1 -0
- package/dist/app/check.js +306 -0
- package/dist/app/check.js.map +1 -0
- package/dist/app/content.d.ts +19 -0
- package/dist/app/content.d.ts.map +1 -0
- package/dist/app/content.js +634 -0
- package/dist/app/content.js.map +1 -0
- package/dist/app/context.d.ts +25 -0
- package/dist/app/context.d.ts.map +1 -0
- package/dist/app/context.js +11 -0
- package/dist/app/context.js.map +1 -0
- package/dist/app/controls.d.ts +95 -0
- package/dist/app/controls.d.ts.map +1 -0
- package/dist/app/controls.js +278 -0
- package/dist/app/controls.js.map +1 -0
- package/dist/app/design-panels.d.ts +27 -0
- package/dist/app/design-panels.d.ts.map +1 -0
- package/dist/app/design-panels.js +1196 -0
- package/dist/app/design-panels.js.map +1 -0
- package/dist/app/dom.d.ts +74 -0
- package/dist/app/dom.d.ts.map +1 -0
- package/dist/app/dom.js +129 -0
- package/dist/app/dom.js.map +1 -0
- package/dist/app/images.d.ts +22 -0
- package/dist/app/images.d.ts.map +1 -0
- package/dist/app/images.js +50 -0
- package/dist/app/images.js.map +1 -0
- package/dist/app/library-view.d.ts +24 -0
- package/dist/app/library-view.d.ts.map +1 -0
- package/dist/app/library-view.js +260 -0
- package/dist/app/library-view.js.map +1 -0
- package/dist/app/main.d.ts +17 -0
- package/dist/app/main.d.ts.map +1 -0
- package/dist/app/main.js +518 -0
- package/dist/app/main.js.map +1 -0
- package/dist/app/measure.d.ts +26 -0
- package/dist/app/measure.d.ts.map +1 -0
- package/dist/app/measure.js +53 -0
- package/dist/app/measure.js.map +1 -0
- package/dist/app/proof.d.ts +30 -0
- package/dist/app/proof.d.ts.map +1 -0
- package/dist/app/proof.js +378 -0
- package/dist/app/proof.js.map +1 -0
- package/dist/app/save.d.ts +27 -0
- package/dist/app/save.d.ts.map +1 -0
- package/dist/app/save.js +331 -0
- package/dist/app/save.js.map +1 -0
- package/dist/app/scan.d.ts +25 -0
- package/dist/app/scan.d.ts.map +1 -0
- package/dist/app/scan.js +421 -0
- package/dist/app/scan.js.map +1 -0
- package/dist/app/shortcuts.d.ts +12 -0
- package/dist/app/shortcuts.d.ts.map +1 -0
- package/dist/app/shortcuts.js +17 -0
- package/dist/app/shortcuts.js.map +1 -0
- package/dist/app/text.d.ts +22 -0
- package/dist/app/text.d.ts.map +1 -0
- package/dist/app/text.js +50 -0
- package/dist/app/text.js.map +1 -0
- package/dist/batch/csv.d.ts +56 -0
- package/dist/batch/csv.d.ts.map +1 -0
- package/dist/batch/csv.js +327 -0
- package/dist/batch/csv.js.map +1 -0
- package/dist/batch/errors.d.ts +60 -0
- package/dist/batch/errors.d.ts.map +1 -0
- package/dist/batch/errors.js +60 -0
- package/dist/batch/errors.js.map +1 -0
- package/dist/batch/filename.d.ts +65 -0
- package/dist/batch/filename.d.ts.map +1 -0
- package/dist/batch/filename.js +205 -0
- package/dist/batch/filename.js.map +1 -0
- package/dist/batch/index.d.ts +17 -0
- package/dist/batch/index.d.ts.map +1 -0
- package/dist/batch/index.js +11 -0
- package/dist/batch/index.js.map +1 -0
- package/dist/batch/issues.d.ts +45 -0
- package/dist/batch/issues.d.ts.map +1 -0
- package/dist/batch/issues.js +47 -0
- package/dist/batch/issues.js.map +1 -0
- package/dist/batch/manifest.d.ts +43 -0
- package/dist/batch/manifest.d.ts.map +1 -0
- package/dist/batch/manifest.js +82 -0
- package/dist/batch/manifest.js.map +1 -0
- package/dist/batch/plan.d.ts +33 -0
- package/dist/batch/plan.d.ts.map +1 -0
- package/dist/batch/plan.js +254 -0
- package/dist/batch/plan.js.map +1 -0
- package/dist/batch/run.d.ts +68 -0
- package/dist/batch/run.d.ts.map +1 -0
- package/dist/batch/run.js +548 -0
- package/dist/batch/run.js.map +1 -0
- package/dist/batch/template.d.ts +54 -0
- package/dist/batch/template.d.ts.map +1 -0
- package/dist/batch/template.js +119 -0
- package/dist/batch/template.js.map +1 -0
- package/dist/batch/text-decoding.d.ts +49 -0
- package/dist/batch/text-decoding.d.ts.map +1 -0
- package/dist/batch/text-decoding.js +160 -0
- package/dist/batch/text-decoding.js.map +1 -0
- package/dist/batch/types.d.ts +240 -0
- package/dist/batch/types.d.ts.map +1 -0
- package/dist/batch/types.js +35 -0
- package/dist/batch/types.js.map +1 -0
- package/dist/batch/verify.d.ts +45 -0
- package/dist/batch/verify.d.ts.map +1 -0
- package/dist/batch/verify.js +72 -0
- package/dist/batch/verify.js.map +1 -0
- package/dist/batch/zip.d.ts +39 -0
- package/dist/batch/zip.d.ts.map +1 -0
- package/dist/batch/zip.js +201 -0
- package/dist/batch/zip.js.map +1 -0
- package/dist/conformance/finder.d.ts +67 -0
- package/dist/conformance/finder.d.ts.map +1 -0
- package/dist/conformance/finder.js +125 -0
- package/dist/conformance/finder.js.map +1 -0
- package/dist/conformance/frame.d.ts +28 -0
- package/dist/conformance/frame.d.ts.map +1 -0
- package/dist/conformance/frame.js +134 -0
- package/dist/conformance/frame.js.map +1 -0
- package/dist/conformance/index.d.ts +15 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +8 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/conformance/module-shape.d.ts +35 -0
- package/dist/conformance/module-shape.d.ts.map +1 -0
- package/dist/conformance/module-shape.js +139 -0
- package/dist/conformance/module-shape.js.map +1 -0
- package/dist/conformance/payload-type.d.ts +48 -0
- package/dist/conformance/payload-type.d.ts.map +1 -0
- package/dist/conformance/payload-type.js +113 -0
- package/dist/conformance/payload-type.js.map +1 -0
- package/dist/conformance/preset.d.ts +37 -0
- package/dist/conformance/preset.d.ts.map +1 -0
- package/dist/conformance/preset.js +171 -0
- package/dist/conformance/preset.js.map +1 -0
- package/dist/conformance/region-captures.d.ts +41 -0
- package/dist/conformance/region-captures.d.ts.map +1 -0
- package/dist/conformance/region-captures.js +69 -0
- package/dist/conformance/region-captures.js.map +1 -0
- package/dist/conformance/region-shape.d.ts +43 -0
- package/dist/conformance/region-shape.d.ts.map +1 -0
- package/dist/conformance/region-shape.js +214 -0
- package/dist/conformance/region-shape.js.map +1 -0
- package/dist/conformance/sample.d.ts +13 -0
- package/dist/conformance/sample.d.ts.map +1 -0
- package/dist/conformance/sample.js +75 -0
- package/dist/conformance/sample.js.map +1 -0
- package/dist/conformance/types.d.ts +16 -0
- package/dist/conformance/types.d.ts.map +1 -0
- package/dist/conformance/types.js +10 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/core/bch.d.ts +36 -0
- package/dist/core/bch.d.ts.map +1 -0
- package/dist/core/bch.js +92 -0
- package/dist/core/bch.js.map +1 -0
- package/dist/core/bit-matrix.d.ts +56 -0
- package/dist/core/bit-matrix.d.ts.map +1 -0
- package/dist/core/bit-matrix.js +150 -0
- package/dist/core/bit-matrix.js.map +1 -0
- package/dist/core/bits.d.ts +53 -0
- package/dist/core/bits.d.ts.map +1 -0
- package/dist/core/bits.js +128 -0
- package/dist/core/bits.js.map +1 -0
- package/dist/core/checksums.d.ts +22 -0
- package/dist/core/checksums.d.ts.map +1 -0
- package/dist/core/checksums.js +64 -0
- package/dist/core/checksums.js.map +1 -0
- package/dist/core/deflate.d.ts +51 -0
- package/dist/core/deflate.d.ts.map +1 -0
- package/dist/core/deflate.js +851 -0
- package/dist/core/deflate.js.map +1 -0
- package/dist/core/errors.d.ts +123 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +168 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/field.d.ts +58 -0
- package/dist/core/field.d.ts.map +1 -0
- package/dist/core/field.js +184 -0
- package/dist/core/field.js.map +1 -0
- package/dist/core/huffman.d.ts +31 -0
- package/dist/core/huffman.d.ts.map +1 -0
- package/dist/core/huffman.js +131 -0
- package/dist/core/huffman.js.map +1 -0
- package/dist/core/image.d.ts +18 -0
- package/dist/core/image.d.ts.map +1 -0
- package/dist/core/image.js +2 -0
- package/dist/core/image.js.map +1 -0
- package/dist/core/index.d.ts +25 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +15 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/issue.d.ts +39 -0
- package/dist/core/issue.d.ts.map +1 -0
- package/dist/core/issue.js +24 -0
- package/dist/core/issue.js.map +1 -0
- package/dist/core/math.d.ts +56 -0
- package/dist/core/math.d.ts.map +1 -0
- package/dist/core/math.js +609 -0
- package/dist/core/math.js.map +1 -0
- package/dist/core/prng.d.ts +27 -0
- package/dist/core/prng.d.ts.map +1 -0
- package/dist/core/prng.js +111 -0
- package/dist/core/prng.js.map +1 -0
- package/dist/core/reed-solomon.d.ts +69 -0
- package/dist/core/reed-solomon.d.ts.map +1 -0
- package/dist/core/reed-solomon.js +308 -0
- package/dist/core/reed-solomon.js.map +1 -0
- package/dist/core/registry.d.ts +45 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +80 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/result.d.ts +33 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/result.js +52 -0
- package/dist/core/result.js.map +1 -0
- package/dist/core/zip.d.ts +36 -0
- package/dist/core/zip.d.ts.map +1 -0
- package/dist/core/zip.js +234 -0
- package/dist/core/zip.js.map +1 -0
- package/dist/decode/alignment.d.ts +34 -0
- package/dist/decode/alignment.d.ts.map +1 -0
- package/dist/decode/alignment.js +179 -0
- package/dist/decode/alignment.js.map +1 -0
- package/dist/decode/binarise.d.ts +95 -0
- package/dist/decode/binarise.d.ts.map +1 -0
- package/dist/decode/binarise.js +399 -0
- package/dist/decode/binarise.js.map +1 -0
- package/dist/decode/decoder.d.ts +75 -0
- package/dist/decode/decoder.d.ts.map +1 -0
- package/dist/decode/decoder.js +773 -0
- package/dist/decode/decoder.js.map +1 -0
- package/dist/decode/erasures.d.ts +26 -0
- package/dist/decode/erasures.d.ts.map +1 -0
- package/dist/decode/erasures.js +34 -0
- package/dist/decode/erasures.js.map +1 -0
- package/dist/decode/failure.d.ts +15 -0
- package/dist/decode/failure.d.ts.map +1 -0
- package/dist/decode/failure.js +22 -0
- package/dist/decode/failure.js.map +1 -0
- package/dist/decode/finder.d.ts +114 -0
- package/dist/decode/finder.d.ts.map +1 -0
- package/dist/decode/finder.js +441 -0
- package/dist/decode/finder.js.map +1 -0
- package/dist/decode/frame.d.ts +49 -0
- package/dist/decode/frame.d.ts.map +1 -0
- package/dist/decode/frame.js +228 -0
- package/dist/decode/frame.js.map +1 -0
- package/dist/decode/grey.d.ts +87 -0
- package/dist/decode/grey.d.ts.map +1 -0
- package/dist/decode/grey.js +226 -0
- package/dist/decode/grey.js.map +1 -0
- package/dist/decode/index.d.ts +4 -0
- package/dist/decode/index.d.ts.map +1 -0
- package/dist/decode/index.js +3 -0
- package/dist/decode/index.js.map +1 -0
- package/dist/decode/locate-qr.d.ts +80 -0
- package/dist/decode/locate-qr.d.ts.map +1 -0
- package/dist/decode/locate-qr.js +295 -0
- package/dist/decode/locate-qr.js.map +1 -0
- package/dist/decode/locate-single.d.ts +47 -0
- package/dist/decode/locate-single.d.ts.map +1 -0
- package/dist/decode/locate-single.js +169 -0
- package/dist/decode/locate-single.js.map +1 -0
- package/dist/decode/plain.d.ts +70 -0
- package/dist/decode/plain.d.ts.map +1 -0
- package/dist/decode/plain.js +460 -0
- package/dist/decode/plain.js.map +1 -0
- package/dist/decode/sample.d.ts +56 -0
- package/dist/decode/sample.d.ts.map +1 -0
- package/dist/decode/sample.js +154 -0
- package/dist/decode/sample.js.map +1 -0
- package/dist/decode/strict.d.ts +255 -0
- package/dist/decode/strict.d.ts.map +1 -0
- package/dist/decode/strict.js +597 -0
- package/dist/decode/strict.js.map +1 -0
- package/dist/decode/tiled.d.ts +137 -0
- package/dist/decode/tiled.d.ts.map +1 -0
- package/dist/decode/tiled.js +452 -0
- package/dist/decode/tiled.js.map +1 -0
- package/dist/decode/transform.d.ts +48 -0
- package/dist/decode/transform.d.ts.map +1 -0
- package/dist/decode/transform.js +180 -0
- package/dist/decode/transform.js.map +1 -0
- package/dist/decode/types.d.ts +163 -0
- package/dist/decode/types.d.ts.map +1 -0
- package/dist/decode/types.js +10 -0
- package/dist/decode/types.js.map +1 -0
- package/dist/design/base64.d.ts +16 -0
- package/dist/design/base64.d.ts.map +1 -0
- package/dist/design/base64.js +97 -0
- package/dist/design/base64.js.map +1 -0
- package/dist/design/canonical.d.ts +13 -0
- package/dist/design/canonical.d.ts.map +1 -0
- package/dist/design/canonical.js +100 -0
- package/dist/design/canonical.js.map +1 -0
- package/dist/design/caption.d.ts +54 -0
- package/dist/design/caption.d.ts.map +1 -0
- package/dist/design/caption.js +175 -0
- package/dist/design/caption.js.map +1 -0
- package/dist/design/catalogue/draw.d.ts +77 -0
- package/dist/design/catalogue/draw.d.ts.map +1 -0
- package/dist/design/catalogue/draw.js +260 -0
- package/dist/design/catalogue/draw.js.map +1 -0
- package/dist/design/catalogue/fills.d.ts +9 -0
- package/dist/design/catalogue/fills.d.ts.map +1 -0
- package/dist/design/catalogue/fills.js +64 -0
- package/dist/design/catalogue/fills.js.map +1 -0
- package/dist/design/catalogue/frames.d.ts +18 -0
- package/dist/design/catalogue/frames.d.ts.map +1 -0
- package/dist/design/catalogue/frames.js +451 -0
- package/dist/design/catalogue/frames.js.map +1 -0
- package/dist/design/catalogue/icons.d.ts +21 -0
- package/dist/design/catalogue/icons.d.ts.map +1 -0
- package/dist/design/catalogue/icons.js +293 -0
- package/dist/design/catalogue/icons.js.map +1 -0
- package/dist/design/catalogue/module-shapes.d.ts +21 -0
- package/dist/design/catalogue/module-shapes.d.ts.map +1 -0
- package/dist/design/catalogue/module-shapes.js +266 -0
- package/dist/design/catalogue/module-shapes.js.map +1 -0
- package/dist/design/catalogue/presets.d.ts +31 -0
- package/dist/design/catalogue/presets.d.ts.map +1 -0
- package/dist/design/catalogue/presets.js +696 -0
- package/dist/design/catalogue/presets.js.map +1 -0
- package/dist/design/catalogue/region-shapes.d.ts +41 -0
- package/dist/design/catalogue/region-shapes.d.ts.map +1 -0
- package/dist/design/catalogue/region-shapes.js +399 -0
- package/dist/design/catalogue/region-shapes.js.map +1 -0
- package/dist/design/catalogue/schema.d.ts +14 -0
- package/dist/design/catalogue/schema.d.ts.map +1 -0
- package/dist/design/catalogue/schema.js +58 -0
- package/dist/design/catalogue/schema.js.map +1 -0
- package/dist/design/constraints.d.ts +25 -0
- package/dist/design/constraints.d.ts.map +1 -0
- package/dist/design/constraints.js +194 -0
- package/dist/design/constraints.js.map +1 -0
- package/dist/design/document.d.ts +64 -0
- package/dist/design/document.d.ts.map +1 -0
- package/dist/design/document.js +66 -0
- package/dist/design/document.js.map +1 -0
- package/dist/design/finder.d.ts +79 -0
- package/dist/design/finder.d.ts.map +1 -0
- package/dist/design/finder.js +270 -0
- package/dist/design/finder.js.map +1 -0
- package/dist/design/index.d.ts +18 -0
- package/dist/design/index.d.ts.map +1 -0
- package/dist/design/index.js +15 -0
- package/dist/design/index.js.map +1 -0
- package/dist/design/link.d.ts +41 -0
- package/dist/design/link.d.ts.map +1 -0
- package/dist/design/link.js +131 -0
- package/dist/design/link.js.map +1 -0
- package/dist/design/logo.d.ts +57 -0
- package/dist/design/logo.d.ts.map +1 -0
- package/dist/design/logo.js +376 -0
- package/dist/design/logo.js.map +1 -0
- package/dist/design/migrate.d.ts +31 -0
- package/dist/design/migrate.d.ts.map +1 -0
- package/dist/design/migrate.js +87 -0
- package/dist/design/migrate.js.map +1 -0
- package/dist/design/neighbours.d.ts +24 -0
- package/dist/design/neighbours.d.ts.map +1 -0
- package/dist/design/neighbours.js +50 -0
- package/dist/design/neighbours.js.map +1 -0
- package/dist/design/paint.d.ts +47 -0
- package/dist/design/paint.d.ts.map +1 -0
- package/dist/design/paint.js +115 -0
- package/dist/design/paint.js.map +1 -0
- package/dist/design/params.d.ts +30 -0
- package/dist/design/params.d.ts.map +1 -0
- package/dist/design/params.js +85 -0
- package/dist/design/params.js.map +1 -0
- package/dist/design/preset-size.d.ts +14 -0
- package/dist/design/preset-size.d.ts.map +1 -0
- package/dist/design/preset-size.js +14 -0
- package/dist/design/preset-size.js.map +1 -0
- package/dist/design/registries.d.ts +9 -0
- package/dist/design/registries.d.ts.map +1 -0
- package/dist/design/registries.js +24 -0
- package/dist/design/registries.js.map +1 -0
- package/dist/design/scene.d.ts +38 -0
- package/dist/design/scene.d.ts.map +1 -0
- package/dist/design/scene.js +694 -0
- package/dist/design/scene.js.map +1 -0
- package/dist/design/swiss-cross.d.ts +54 -0
- package/dist/design/swiss-cross.d.ts.map +1 -0
- package/dist/design/swiss-cross.js +95 -0
- package/dist/design/swiss-cross.js.map +1 -0
- package/dist/design/types.d.ts +389 -0
- package/dist/design/types.d.ts.map +1 -0
- package/dist/design/types.js +29 -0
- package/dist/design/types.js.map +1 -0
- package/dist/design/validate.d.ts +48 -0
- package/dist/design/validate.d.ts.map +1 -0
- package/dist/design/validate.js +986 -0
- package/dist/design/validate.js.map +1 -0
- package/dist/dom/camera.d.ts +94 -0
- package/dist/dom/camera.d.ts.map +1 -0
- package/dist/dom/camera.js +288 -0
- package/dist/dom/camera.js.map +1 -0
- package/dist/dom/file-library.d.ts +297 -0
- package/dist/dom/file-library.d.ts.map +1 -0
- package/dist/dom/file-library.js +703 -0
- package/dist/dom/file-library.js.map +1 -0
- package/dist/dom/image.d.ts +77 -0
- package/dist/dom/image.d.ts.map +1 -0
- package/dist/dom/image.js +253 -0
- package/dist/dom/image.js.map +1 -0
- package/dist/dom/index.d.ts +19 -0
- package/dist/dom/index.d.ts.map +1 -0
- package/dist/dom/index.js +10 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/dom/library/index.d.ts +4 -0
- package/dist/dom/library/index.d.ts.map +1 -0
- package/dist/dom/library/index.js +2 -0
- package/dist/dom/library/index.js.map +1 -0
- package/dist/dom/library/indexeddb.d.ts +71 -0
- package/dist/dom/library/indexeddb.d.ts.map +1 -0
- package/dist/dom/library/indexeddb.js +365 -0
- package/dist/dom/library/indexeddb.js.map +1 -0
- package/dist/dom/logo.d.ts +36 -0
- package/dist/dom/logo.d.ts.map +1 -0
- package/dist/dom/logo.js +99 -0
- package/dist/dom/logo.js.map +1 -0
- package/dist/dom/orientation.d.ts +32 -0
- package/dist/dom/orientation.d.ts.map +1 -0
- package/dist/dom/orientation.js +152 -0
- package/dist/dom/orientation.js.map +1 -0
- package/dist/dom/output.d.ts +58 -0
- package/dist/dom/output.d.ts.map +1 -0
- package/dist/dom/output.js +93 -0
- package/dist/dom/output.js.map +1 -0
- package/dist/dom/print.d.ts +52 -0
- package/dist/dom/print.d.ts.map +1 -0
- package/dist/dom/print.js +101 -0
- package/dist/dom/print.js.map +1 -0
- package/dist/dom/raster-encoder.d.ts +43 -0
- package/dist/dom/raster-encoder.d.ts.map +1 -0
- package/dist/dom/raster-encoder.js +102 -0
- package/dist/dom/raster-encoder.js.map +1 -0
- package/dist/dom/resample.d.ts +20 -0
- package/dist/dom/resample.d.ts.map +1 -0
- package/dist/dom/resample.js +107 -0
- package/dist/dom/resample.js.map +1 -0
- package/dist/dom/types.d.ts +54 -0
- package/dist/dom/types.d.ts.map +1 -0
- package/dist/dom/types.js +13 -0
- package/dist/dom/types.js.map +1 -0
- package/dist/encode/bitstream.d.ts +14 -0
- package/dist/encode/bitstream.d.ts.map +1 -0
- package/dist/encode/bitstream.js +31 -0
- package/dist/encode/bitstream.js.map +1 -0
- package/dist/encode/encode.d.ts +21 -0
- package/dist/encode/encode.d.ts.map +1 -0
- package/dist/encode/encode.js +65 -0
- package/dist/encode/encode.js.map +1 -0
- package/dist/encode/index.d.ts +5 -0
- package/dist/encode/index.d.ts.map +1 -0
- package/dist/encode/index.js +4 -0
- package/dist/encode/index.js.map +1 -0
- package/dist/encode/plan.d.ts +61 -0
- package/dist/encode/plan.d.ts.map +1 -0
- package/dist/encode/plan.js +177 -0
- package/dist/encode/plan.js.map +1 -0
- package/dist/encode/structured-append.d.ts +35 -0
- package/dist/encode/structured-append.d.ts.map +1 -0
- package/dist/encode/structured-append.js +153 -0
- package/dist/encode/structured-append.js.map +1 -0
- package/dist/fonts/latin.d.ts +118 -0
- package/dist/fonts/latin.d.ts.map +1 -0
- package/dist/fonts/latin.js +137 -0
- package/dist/fonts/latin.js.map +1 -0
- package/dist/geometry/flatten.d.ts +60 -0
- package/dist/geometry/flatten.d.ts.map +1 -0
- package/dist/geometry/flatten.js +177 -0
- package/dist/geometry/flatten.js.map +1 -0
- package/dist/geometry/index.d.ts +10 -0
- package/dist/geometry/index.d.ts.map +1 -0
- package/dist/geometry/index.js +6 -0
- package/dist/geometry/index.js.map +1 -0
- package/dist/geometry/matrix.d.ts +50 -0
- package/dist/geometry/matrix.d.ts.map +1 -0
- package/dist/geometry/matrix.js +113 -0
- package/dist/geometry/matrix.js.map +1 -0
- package/dist/geometry/measure.d.ts +35 -0
- package/dist/geometry/measure.d.ts.map +1 -0
- package/dist/geometry/measure.js +206 -0
- package/dist/geometry/measure.js.map +1 -0
- package/dist/geometry/path.d.ts +137 -0
- package/dist/geometry/path.d.ts.map +1 -0
- package/dist/geometry/path.js +401 -0
- package/dist/geometry/path.js.map +1 -0
- package/dist/geometry/trace.d.ts +29 -0
- package/dist/geometry/trace.d.ts.map +1 -0
- package/dist/geometry/trace.js +166 -0
- package/dist/geometry/trace.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/inspect/explain.d.ts +32 -0
- package/dist/inspect/explain.d.ts.map +1 -0
- package/dist/inspect/explain.js +99 -0
- package/dist/inspect/explain.js.map +1 -0
- package/dist/inspect/gs1.d.ts +38 -0
- package/dist/inspect/gs1.d.ts.map +1 -0
- package/dist/inspect/gs1.js +130 -0
- package/dist/inspect/gs1.js.map +1 -0
- package/dist/inspect/index.d.ts +9 -0
- package/dist/inspect/index.d.ts.map +1 -0
- package/dist/inspect/index.js +6 -0
- package/dist/inspect/index.js.map +1 -0
- package/dist/inspect/inspect.d.ts +29 -0
- package/dist/inspect/inspect.d.ts.map +1 -0
- package/dist/inspect/inspect.js +98 -0
- package/dist/inspect/inspect.js.map +1 -0
- package/dist/inspect/keys.d.ts +54 -0
- package/dist/inspect/keys.d.ts.map +1 -0
- package/dist/inspect/keys.js +63 -0
- package/dist/inspect/keys.js.map +1 -0
- package/dist/inspect/sets.d.ts +27 -0
- package/dist/inspect/sets.d.ts.map +1 -0
- package/dist/inspect/sets.js +67 -0
- package/dist/inspect/sets.js.map +1 -0
- package/dist/inspect/types.d.ts +81 -0
- package/dist/inspect/types.d.ts.map +1 -0
- package/dist/inspect/types.js +16 -0
- package/dist/inspect/types.js.map +1 -0
- package/dist/messages/en/app.d.ts +11 -0
- package/dist/messages/en/app.d.ts.map +1 -0
- package/dist/messages/en/app.js +395 -0
- package/dist/messages/en/app.js.map +1 -0
- package/dist/messages/en/batch.d.ts +18 -0
- package/dist/messages/en/batch.d.ts.map +1 -0
- package/dist/messages/en/batch.js +42 -0
- package/dist/messages/en/batch.js.map +1 -0
- package/dist/messages/en/decode.d.ts +9 -0
- package/dist/messages/en/decode.d.ts.map +1 -0
- package/dist/messages/en/decode.js +21 -0
- package/dist/messages/en/decode.js.map +1 -0
- package/dist/messages/en/design.d.ts +13 -0
- package/dist/messages/en/design.d.ts.map +1 -0
- package/dist/messages/en/design.js +228 -0
- package/dist/messages/en/design.js.map +1 -0
- package/dist/messages/en/dom.d.ts +11 -0
- package/dist/messages/en/dom.d.ts.map +1 -0
- package/dist/messages/en/dom.js +14 -0
- package/dist/messages/en/dom.js.map +1 -0
- package/dist/messages/en/encode.d.ts +13 -0
- package/dist/messages/en/encode.d.ts.map +1 -0
- package/dist/messages/en/encode.js +20 -0
- package/dist/messages/en/encode.js.map +1 -0
- package/dist/messages/en/index.d.ts +48 -0
- package/dist/messages/en/index.d.ts.map +1 -0
- package/dist/messages/en/index.js +73 -0
- package/dist/messages/en/index.js.map +1 -0
- package/dist/messages/en/inspect.d.ts +13 -0
- package/dist/messages/en/inspect.d.ts.map +1 -0
- package/dist/messages/en/inspect.js +84 -0
- package/dist/messages/en/inspect.js.map +1 -0
- package/dist/messages/en/library.d.ts +12 -0
- package/dist/messages/en/library.d.ts.map +1 -0
- package/dist/messages/en/library.js +27 -0
- package/dist/messages/en/library.js.map +1 -0
- package/dist/messages/en/micro.d.ts +9 -0
- package/dist/messages/en/micro.d.ts.map +1 -0
- package/dist/messages/en/micro.js +13 -0
- package/dist/messages/en/micro.js.map +1 -0
- package/dist/messages/en/own-link.d.ts +7 -0
- package/dist/messages/en/own-link.d.ts.map +1 -0
- package/dist/messages/en/own-link.js +29 -0
- package/dist/messages/en/own-link.js.map +1 -0
- package/dist/messages/en/payload.d.ts +13 -0
- package/dist/messages/en/payload.d.ts.map +1 -0
- package/dist/messages/en/payload.js +427 -0
- package/dist/messages/en/payload.js.map +1 -0
- package/dist/messages/en/rmqr.d.ts +9 -0
- package/dist/messages/en/rmqr.d.ts.map +1 -0
- package/dist/messages/en/rmqr.js +12 -0
- package/dist/messages/en/rmqr.js.map +1 -0
- package/dist/messages/en/studio.d.ts +18 -0
- package/dist/messages/en/studio.d.ts.map +1 -0
- package/dist/messages/en/studio.js +117 -0
- package/dist/messages/en/studio.js.map +1 -0
- package/dist/messages/en/symbology.d.ts +13 -0
- package/dist/messages/en/symbology.d.ts.map +1 -0
- package/dist/messages/en/symbology.js +21 -0
- package/dist/messages/en/symbology.js.map +1 -0
- package/dist/messages/en/text.d.ts +23 -0
- package/dist/messages/en/text.d.ts.map +1 -0
- package/dist/messages/en/text.js +47 -0
- package/dist/messages/en/text.js.map +1 -0
- package/dist/messages/en/verify.d.ts +13 -0
- package/dist/messages/en/verify.d.ts.map +1 -0
- package/dist/messages/en/verify.js +117 -0
- package/dist/messages/en/verify.js.map +1 -0
- package/dist/messages/format.d.ts +30 -0
- package/dist/messages/format.d.ts.map +1 -0
- package/dist/messages/format.js +170 -0
- package/dist/messages/format.js.map +1 -0
- package/dist/own-link/index.d.ts +5 -0
- package/dist/own-link/index.d.ts.map +1 -0
- package/dist/own-link/index.js +3 -0
- package/dist/own-link/index.js.map +1 -0
- package/dist/own-link/query.d.ts +10 -0
- package/dist/own-link/query.d.ts.map +1 -0
- package/dist/own-link/query.js +33 -0
- package/dist/own-link/query.js.map +1 -0
- package/dist/own-link/redirects.d.ts +54 -0
- package/dist/own-link/redirects.d.ts.map +1 -0
- package/dist/own-link/redirects.js +271 -0
- package/dist/own-link/redirects.js.map +1 -0
- package/dist/own-link/utm.d.ts +24 -0
- package/dist/own-link/utm.d.ts.map +1 -0
- package/dist/own-link/utm.js +82 -0
- package/dist/own-link/utm.js.map +1 -0
- package/dist/payload/banking.d.ts +39 -0
- package/dist/payload/banking.d.ts.map +1 -0
- package/dist/payload/banking.js +87 -0
- package/dist/payload/banking.js.map +1 -0
- package/dist/payload/base58.d.ts +21 -0
- package/dist/payload/base58.d.ts.map +1 -0
- package/dist/payload/base58.js +75 -0
- package/dist/payload/base58.js.map +1 -0
- package/dist/payload/bech32.d.ts +59 -0
- package/dist/payload/bech32.d.ts.map +1 -0
- package/dist/payload/bech32.js +137 -0
- package/dist/payload/bech32.js.map +1 -0
- package/dist/payload/check-digits.d.ts +49 -0
- package/dist/payload/check-digits.d.ts.map +1 -0
- package/dist/payload/check-digits.js +101 -0
- package/dist/payload/check-digits.js.map +1 -0
- package/dist/payload/content/bitcoin.d.ts +34 -0
- package/dist/payload/content/bitcoin.d.ts.map +1 -0
- package/dist/payload/content/bitcoin.js +137 -0
- package/dist/payload/content/bitcoin.js.map +1 -0
- package/dist/payload/content/email.d.ts +19 -0
- package/dist/payload/content/email.d.ts.map +1 -0
- package/dist/payload/content/email.js +137 -0
- package/dist/payload/content/email.js.map +1 -0
- package/dist/payload/content/epc.d.ts +32 -0
- package/dist/payload/content/epc.d.ts.map +1 -0
- package/dist/payload/content/epc.js +160 -0
- package/dist/payload/content/epc.js.map +1 -0
- package/dist/payload/content/event.d.ts +35 -0
- package/dist/payload/content/event.d.ts.map +1 -0
- package/dist/payload/content/event.js +242 -0
- package/dist/payload/content/event.js.map +1 -0
- package/dist/payload/content/facetime.d.ts +14 -0
- package/dist/payload/content/facetime.d.ts.map +1 -0
- package/dist/payload/content/facetime.js +56 -0
- package/dist/payload/content/facetime.js.map +1 -0
- package/dist/payload/content/geo.d.ts +24 -0
- package/dist/payload/content/geo.d.ts.map +1 -0
- package/dist/payload/content/geo.js +139 -0
- package/dist/payload/content/geo.js.map +1 -0
- package/dist/payload/content/gs1-digital-link.d.ts +34 -0
- package/dist/payload/content/gs1-digital-link.d.ts.map +1 -0
- package/dist/payload/content/gs1-digital-link.js +171 -0
- package/dist/payload/content/gs1-digital-link.js.map +1 -0
- package/dist/payload/content/lightning.d.ts +22 -0
- package/dist/payload/content/lightning.d.ts.map +1 -0
- package/dist/payload/content/lightning.js +90 -0
- package/dist/payload/content/lightning.js.map +1 -0
- package/dist/payload/content/mecard.d.ts +23 -0
- package/dist/payload/content/mecard.d.ts.map +1 -0
- package/dist/payload/content/mecard.js +111 -0
- package/dist/payload/content/mecard.js.map +1 -0
- package/dist/payload/content/phone.d.ts +17 -0
- package/dist/payload/content/phone.d.ts.map +1 -0
- package/dist/payload/content/phone.js +39 -0
- package/dist/payload/content/phone.js.map +1 -0
- package/dist/payload/content/pix.d.ts +36 -0
- package/dist/payload/content/pix.d.ts.map +1 -0
- package/dist/payload/content/pix.js +191 -0
- package/dist/payload/content/pix.js.map +1 -0
- package/dist/payload/content/signal.d.ts +17 -0
- package/dist/payload/content/signal.d.ts.map +1 -0
- package/dist/payload/content/signal.js +43 -0
- package/dist/payload/content/signal.js.map +1 -0
- package/dist/payload/content/sms.d.ts +18 -0
- package/dist/payload/content/sms.d.ts.map +1 -0
- package/dist/payload/content/sms.js +64 -0
- package/dist/payload/content/sms.js.map +1 -0
- package/dist/payload/content/swiss-qr-bill.d.ts +61 -0
- package/dist/payload/content/swiss-qr-bill.d.ts.map +1 -0
- package/dist/payload/content/swiss-qr-bill.js +325 -0
- package/dist/payload/content/swiss-qr-bill.js.map +1 -0
- package/dist/payload/content/telegram.d.ts +18 -0
- package/dist/payload/content/telegram.d.ts.map +1 -0
- package/dist/payload/content/telegram.js +105 -0
- package/dist/payload/content/telegram.js.map +1 -0
- package/dist/payload/content/text.d.ts +9 -0
- package/dist/payload/content/text.d.ts.map +1 -0
- package/dist/payload/content/text.js +18 -0
- package/dist/payload/content/text.js.map +1 -0
- package/dist/payload/content/upi.d.ts +21 -0
- package/dist/payload/content/upi.d.ts.map +1 -0
- package/dist/payload/content/upi.js +89 -0
- package/dist/payload/content/upi.js.map +1 -0
- package/dist/payload/content/url.d.ts +31 -0
- package/dist/payload/content/url.d.ts.map +1 -0
- package/dist/payload/content/url.js +120 -0
- package/dist/payload/content/url.js.map +1 -0
- package/dist/payload/content/vcard.d.ts +42 -0
- package/dist/payload/content/vcard.d.ts.map +1 -0
- package/dist/payload/content/vcard.js +302 -0
- package/dist/payload/content/vcard.js.map +1 -0
- package/dist/payload/content/whatsapp.d.ts +17 -0
- package/dist/payload/content/whatsapp.d.ts.map +1 -0
- package/dist/payload/content/whatsapp.js +72 -0
- package/dist/payload/content/whatsapp.js.map +1 -0
- package/dist/payload/content/wifi.d.ts +48 -0
- package/dist/payload/content/wifi.d.ts.map +1 -0
- package/dist/payload/content/wifi.js +240 -0
- package/dist/payload/content/wifi.js.map +1 -0
- package/dist/payload/content/zatca.d.ts +35 -0
- package/dist/payload/content/zatca.d.ts.map +1 -0
- package/dist/payload/content/zatca.js +156 -0
- package/dist/payload/content/zatca.js.map +1 -0
- package/dist/payload/data/hosts.d.ts +39 -0
- package/dist/payload/data/hosts.d.ts.map +1 -0
- package/dist/payload/data/hosts.js +74 -0
- package/dist/payload/data/hosts.js.map +1 -0
- package/dist/payload/define.d.ts +57 -0
- package/dist/payload/define.d.ts.map +1 -0
- package/dist/payload/define.js +87 -0
- package/dist/payload/define.js.map +1 -0
- package/dist/payload/detect.d.ts +13 -0
- package/dist/payload/detect.d.ts.map +1 -0
- package/dist/payload/detect.js +32 -0
- package/dist/payload/detect.js.map +1 -0
- package/dist/payload/emv.d.ts +41 -0
- package/dist/payload/emv.d.ts.map +1 -0
- package/dist/payload/emv.js +73 -0
- package/dist/payload/emv.js.map +1 -0
- package/dist/payload/escape.d.ts +66 -0
- package/dist/payload/escape.d.ts.map +1 -0
- package/dist/payload/escape.js +225 -0
- package/dist/payload/escape.js.map +1 -0
- package/dist/payload/fields.d.ts +86 -0
- package/dist/payload/fields.d.ts.map +1 -0
- package/dist/payload/fields.js +368 -0
- package/dist/payload/fields.js.map +1 -0
- package/dist/payload/hash.d.ts +11 -0
- package/dist/payload/hash.d.ts.map +1 -0
- package/dist/payload/hash.js +82 -0
- package/dist/payload/hash.js.map +1 -0
- package/dist/payload/index.d.ts +58 -0
- package/dist/payload/index.d.ts.map +1 -0
- package/dist/payload/index.js +32 -0
- package/dist/payload/index.js.map +1 -0
- package/dist/payload/punycode.d.ts +18 -0
- package/dist/payload/punycode.d.ts.map +1 -0
- package/dist/payload/punycode.js +99 -0
- package/dist/payload/punycode.js.map +1 -0
- package/dist/payload/registry.d.ts +20 -0
- package/dist/payload/registry.d.ts.map +1 -0
- package/dist/payload/registry.js +64 -0
- package/dist/payload/registry.js.map +1 -0
- package/dist/payload/safety.d.ts +13 -0
- package/dist/payload/safety.d.ts.map +1 -0
- package/dist/payload/safety.js +30 -0
- package/dist/payload/safety.js.map +1 -0
- package/dist/payload/scripts.d.ts +25 -0
- package/dist/payload/scripts.d.ts.map +1 -0
- package/dist/payload/scripts.js +90 -0
- package/dist/payload/scripts.js.map +1 -0
- package/dist/payload/types.d.ts +138 -0
- package/dist/payload/types.d.ts.map +1 -0
- package/dist/payload/types.js +28 -0
- package/dist/payload/types.js.map +1 -0
- package/dist/payload/uri.d.ts +24 -0
- package/dist/payload/uri.d.ts.map +1 -0
- package/dist/payload/uri.js +69 -0
- package/dist/payload/uri.js.map +1 -0
- package/dist/payload/url-safety.d.ts +31 -0
- package/dist/payload/url-safety.d.ts.map +1 -0
- package/dist/payload/url-safety.js +221 -0
- package/dist/payload/url-safety.js.map +1 -0
- package/dist/payload/vectors/bitcoin.d.ts +13 -0
- package/dist/payload/vectors/bitcoin.d.ts.map +1 -0
- package/dist/payload/vectors/bitcoin.js +83 -0
- package/dist/payload/vectors/bitcoin.js.map +1 -0
- package/dist/payload/vectors/built-in.d.ts +15 -0
- package/dist/payload/vectors/built-in.d.ts.map +1 -0
- package/dist/payload/vectors/built-in.js +59 -0
- package/dist/payload/vectors/built-in.js.map +1 -0
- package/dist/payload/vectors/email.d.ts +8 -0
- package/dist/payload/vectors/email.d.ts.map +1 -0
- package/dist/payload/vectors/email.js +60 -0
- package/dist/payload/vectors/email.js.map +1 -0
- package/dist/payload/vectors/epc.d.ts +9 -0
- package/dist/payload/vectors/epc.d.ts.map +1 -0
- package/dist/payload/vectors/epc.js +38 -0
- package/dist/payload/vectors/epc.js.map +1 -0
- package/dist/payload/vectors/event.d.ts +9 -0
- package/dist/payload/vectors/event.d.ts.map +1 -0
- package/dist/payload/vectors/event.js +57 -0
- package/dist/payload/vectors/event.js.map +1 -0
- package/dist/payload/vectors/facetime.d.ts +9 -0
- package/dist/payload/vectors/facetime.d.ts.map +1 -0
- package/dist/payload/vectors/facetime.js +19 -0
- package/dist/payload/vectors/facetime.js.map +1 -0
- package/dist/payload/vectors/geo.d.ts +8 -0
- package/dist/payload/vectors/geo.d.ts.map +1 -0
- package/dist/payload/vectors/geo.js +22 -0
- package/dist/payload/vectors/geo.js.map +1 -0
- package/dist/payload/vectors/gs1-digital-link.d.ts +9 -0
- package/dist/payload/vectors/gs1-digital-link.d.ts.map +1 -0
- package/dist/payload/vectors/gs1-digital-link.js +21 -0
- package/dist/payload/vectors/gs1-digital-link.js.map +1 -0
- package/dist/payload/vectors/hosts.d.ts +12 -0
- package/dist/payload/vectors/hosts.d.ts.map +1 -0
- package/dist/payload/vectors/hosts.js +50 -0
- package/dist/payload/vectors/hosts.js.map +1 -0
- package/dist/payload/vectors/index.d.ts +10 -0
- package/dist/payload/vectors/index.d.ts.map +1 -0
- package/dist/payload/vectors/index.js +9 -0
- package/dist/payload/vectors/index.js.map +1 -0
- package/dist/payload/vectors/lightning.d.ts +9 -0
- package/dist/payload/vectors/lightning.d.ts.map +1 -0
- package/dist/payload/vectors/lightning.js +23 -0
- package/dist/payload/vectors/lightning.js.map +1 -0
- package/dist/payload/vectors/mecard.d.ts +9 -0
- package/dist/payload/vectors/mecard.d.ts.map +1 -0
- package/dist/payload/vectors/mecard.js +25 -0
- package/dist/payload/vectors/mecard.js.map +1 -0
- package/dist/payload/vectors/phone.d.ts +9 -0
- package/dist/payload/vectors/phone.d.ts.map +1 -0
- package/dist/payload/vectors/phone.js +13 -0
- package/dist/payload/vectors/phone.js.map +1 -0
- package/dist/payload/vectors/pix.d.ts +9 -0
- package/dist/payload/vectors/pix.d.ts.map +1 -0
- package/dist/payload/vectors/pix.js +21 -0
- package/dist/payload/vectors/pix.js.map +1 -0
- package/dist/payload/vectors/signal.d.ts +9 -0
- package/dist/payload/vectors/signal.d.ts.map +1 -0
- package/dist/payload/vectors/signal.js +14 -0
- package/dist/payload/vectors/signal.js.map +1 -0
- package/dist/payload/vectors/sms.d.ts +9 -0
- package/dist/payload/vectors/sms.d.ts.map +1 -0
- package/dist/payload/vectors/sms.js +18 -0
- package/dist/payload/vectors/sms.js.map +1 -0
- package/dist/payload/vectors/swiss-qr-bill.d.ts +9 -0
- package/dist/payload/vectors/swiss-qr-bill.d.ts.map +1 -0
- package/dist/payload/vectors/swiss-qr-bill.js +72 -0
- package/dist/payload/vectors/swiss-qr-bill.js.map +1 -0
- package/dist/payload/vectors/telegram.d.ts +9 -0
- package/dist/payload/vectors/telegram.d.ts.map +1 -0
- package/dist/payload/vectors/telegram.js +19 -0
- package/dist/payload/vectors/telegram.js.map +1 -0
- package/dist/payload/vectors/text.d.ts +9 -0
- package/dist/payload/vectors/text.d.ts.map +1 -0
- package/dist/payload/vectors/text.js +13 -0
- package/dist/payload/vectors/text.js.map +1 -0
- package/dist/payload/vectors/upi.d.ts +9 -0
- package/dist/payload/vectors/upi.d.ts.map +1 -0
- package/dist/payload/vectors/upi.js +14 -0
- package/dist/payload/vectors/upi.js.map +1 -0
- package/dist/payload/vectors/url.d.ts +8 -0
- package/dist/payload/vectors/url.d.ts.map +1 -0
- package/dist/payload/vectors/url.js +30 -0
- package/dist/payload/vectors/url.js.map +1 -0
- package/dist/payload/vectors/vcard.d.ts +9 -0
- package/dist/payload/vectors/vcard.d.ts.map +1 -0
- package/dist/payload/vectors/vcard.js +47 -0
- package/dist/payload/vectors/vcard.js.map +1 -0
- package/dist/payload/vectors/whatsapp.d.ts +9 -0
- package/dist/payload/vectors/whatsapp.d.ts.map +1 -0
- package/dist/payload/vectors/whatsapp.js +19 -0
- package/dist/payload/vectors/whatsapp.js.map +1 -0
- package/dist/payload/vectors/wifi.d.ts +13 -0
- package/dist/payload/vectors/wifi.d.ts.map +1 -0
- package/dist/payload/vectors/wifi.js +40 -0
- package/dist/payload/vectors/wifi.js.map +1 -0
- package/dist/payload/vectors/zatca.d.ts +12 -0
- package/dist/payload/vectors/zatca.d.ts.map +1 -0
- package/dist/payload/vectors/zatca.js +28 -0
- package/dist/payload/vectors/zatca.js.map +1 -0
- package/dist/qr-code-studio.html +190 -0
- package/dist/registries.d.ts +24 -0
- package/dist/registries.d.ts.map +1 -0
- package/dist/registries.js +23 -0
- package/dist/registries.js.map +1 -0
- package/dist/render/base64.d.ts +11 -0
- package/dist/render/base64.d.ts.map +1 -0
- package/dist/render/base64.js +40 -0
- package/dist/render/base64.js.map +1 -0
- package/dist/render/colour.d.ts +28 -0
- package/dist/render/colour.d.ts.map +1 -0
- package/dist/render/colour.js +72 -0
- package/dist/render/colour.js.map +1 -0
- package/dist/render/conic.d.ts +68 -0
- package/dist/render/conic.d.ts.map +1 -0
- package/dist/render/conic.js +205 -0
- package/dist/render/conic.js.map +1 -0
- package/dist/render/coverage.d.ts +154 -0
- package/dist/render/coverage.d.ts.map +1 -0
- package/dist/render/coverage.js +613 -0
- package/dist/render/coverage.js.map +1 -0
- package/dist/render/eps.d.ts +41 -0
- package/dist/render/eps.d.ts.map +1 -0
- package/dist/render/eps.js +377 -0
- package/dist/render/eps.js.map +1 -0
- package/dist/render/impose.d.ts +130 -0
- package/dist/render/impose.d.ts.map +1 -0
- package/dist/render/impose.js +288 -0
- package/dist/render/impose.js.map +1 -0
- package/dist/render/index.d.ts +22 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +13 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/paint.d.ts +62 -0
- package/dist/render/paint.d.ts.map +1 -0
- package/dist/render/paint.js +169 -0
- package/dist/render/paint.js.map +1 -0
- package/dist/render/pdf-colour.d.ts +34 -0
- package/dist/render/pdf-colour.d.ts.map +1 -0
- package/dist/render/pdf-colour.js +64 -0
- package/dist/render/pdf-colour.js.map +1 -0
- package/dist/render/pdf-content.d.ts +90 -0
- package/dist/render/pdf-content.d.ts.map +1 -0
- package/dist/render/pdf-content.js +367 -0
- package/dist/render/pdf-content.js.map +1 -0
- package/dist/render/pdf-document.d.ts +38 -0
- package/dist/render/pdf-document.d.ts.map +1 -0
- package/dist/render/pdf-document.js +110 -0
- package/dist/render/pdf-document.js.map +1 -0
- package/dist/render/pdf-hash.d.ts +14 -0
- package/dist/render/pdf-hash.d.ts.map +1 -0
- package/dist/render/pdf-hash.js +71 -0
- package/dist/render/pdf-hash.js.map +1 -0
- package/dist/render/pdf-syntax.d.ts +45 -0
- package/dist/render/pdf-syntax.d.ts.map +1 -0
- package/dist/render/pdf-syntax.js +100 -0
- package/dist/render/pdf-syntax.js.map +1 -0
- package/dist/render/pdf.d.ts +59 -0
- package/dist/render/pdf.d.ts.map +1 -0
- package/dist/render/pdf.js +267 -0
- package/dist/render/pdf.js.map +1 -0
- package/dist/render/png-decode.d.ts +33 -0
- package/dist/render/png-decode.d.ts.map +1 -0
- package/dist/render/png-decode.js +345 -0
- package/dist/render/png-decode.js.map +1 -0
- package/dist/render/png.d.ts +37 -0
- package/dist/render/png.d.ts.map +1 -0
- package/dist/render/png.js +350 -0
- package/dist/render/png.js.map +1 -0
- package/dist/render/raster.d.ts +40 -0
- package/dist/render/raster.d.ts.map +1 -0
- package/dist/render/raster.js +245 -0
- package/dist/render/raster.js.map +1 -0
- package/dist/render/scene.d.ts +84 -0
- package/dist/render/scene.d.ts.map +1 -0
- package/dist/render/scene.js +216 -0
- package/dist/render/scene.js.map +1 -0
- package/dist/render/sheets.d.ts +26 -0
- package/dist/render/sheets.d.ts.map +1 -0
- package/dist/render/sheets.js +83 -0
- package/dist/render/sheets.js.map +1 -0
- package/dist/render/svg.d.ts +54 -0
- package/dist/render/svg.d.ts.map +1 -0
- package/dist/render/svg.js +324 -0
- package/dist/render/svg.js.map +1 -0
- package/dist/render/types.d.ts +95 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/render/types.js +9 -0
- package/dist/render/types.js.map +1 -0
- package/dist/segment/alphanumeric.d.ts +15 -0
- package/dist/segment/alphanumeric.d.ts.map +1 -0
- package/dist/segment/alphanumeric.js +23 -0
- package/dist/segment/alphanumeric.js.map +1 -0
- package/dist/segment/eci.d.ts +41 -0
- package/dist/segment/eci.d.ts.map +1 -0
- package/dist/segment/eci.js +194 -0
- package/dist/segment/eci.js.map +1 -0
- package/dist/segment/index.d.ts +10 -0
- package/dist/segment/index.d.ts.map +1 -0
- package/dist/segment/index.js +8 -0
- package/dist/segment/index.js.map +1 -0
- package/dist/segment/kanji.d.ts +57 -0
- package/dist/segment/kanji.d.ts.map +1 -0
- package/dist/segment/kanji.js +135 -0
- package/dist/segment/kanji.js.map +1 -0
- package/dist/segment/profile.d.ts +21 -0
- package/dist/segment/profile.d.ts.map +1 -0
- package/dist/segment/profile.js +66 -0
- package/dist/segment/profile.js.map +1 -0
- package/dist/segment/read.d.ts +29 -0
- package/dist/segment/read.d.ts.map +1 -0
- package/dist/segment/read.js +360 -0
- package/dist/segment/read.js.map +1 -0
- package/dist/segment/segment-text.d.ts +88 -0
- package/dist/segment/segment-text.d.ts.map +1 -0
- package/dist/segment/segment-text.js +422 -0
- package/dist/segment/segment-text.js.map +1 -0
- package/dist/segment/types.d.ts +89 -0
- package/dist/segment/types.d.ts.map +1 -0
- package/dist/segment/types.js +13 -0
- package/dist/segment/types.js.map +1 -0
- package/dist/segment/write.d.ts +36 -0
- package/dist/segment/write.d.ts.map +1 -0
- package/dist/segment/write.js +226 -0
- package/dist/segment/write.js.map +1 -0
- package/dist/studio/assets.d.ts +22 -0
- package/dist/studio/assets.d.ts.map +1 -0
- package/dist/studio/assets.js +66 -0
- package/dist/studio/assets.js.map +1 -0
- package/dist/studio/catalogue.d.ts +34 -0
- package/dist/studio/catalogue.d.ts.map +1 -0
- package/dist/studio/catalogue.js +359 -0
- package/dist/studio/catalogue.js.map +1 -0
- package/dist/studio/contrast.d.ts +16 -0
- package/dist/studio/contrast.d.ts.map +1 -0
- package/dist/studio/contrast.js +28 -0
- package/dist/studio/contrast.js.map +1 -0
- package/dist/studio/document.d.ts +61 -0
- package/dist/studio/document.d.ts.map +1 -0
- package/dist/studio/document.js +208 -0
- package/dist/studio/document.js.map +1 -0
- package/dist/studio/export.d.ts +52 -0
- package/dist/studio/export.d.ts.map +1 -0
- package/dist/studio/export.js +269 -0
- package/dist/studio/export.js.map +1 -0
- package/dist/studio/form.d.ts +15 -0
- package/dist/studio/form.d.ts.map +1 -0
- package/dist/studio/form.js +91 -0
- package/dist/studio/form.js.map +1 -0
- package/dist/studio/history.d.ts +66 -0
- package/dist/studio/history.d.ts.map +1 -0
- package/dist/studio/history.js +109 -0
- package/dist/studio/history.js.map +1 -0
- package/dist/studio/index.d.ts +16 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.js +12 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/keys.d.ts +86 -0
- package/dist/studio/keys.d.ts.map +1 -0
- package/dist/studio/keys.js +165 -0
- package/dist/studio/keys.js.map +1 -0
- package/dist/studio/kit.d.ts +44 -0
- package/dist/studio/kit.d.ts.map +1 -0
- package/dist/studio/kit.js +114 -0
- package/dist/studio/kit.js.map +1 -0
- package/dist/studio/logo.d.ts +25 -0
- package/dist/studio/logo.d.ts.map +1 -0
- package/dist/studio/logo.js +49 -0
- package/dist/studio/logo.js.map +1 -0
- package/dist/studio/names.d.ts +18 -0
- package/dist/studio/names.d.ts.map +1 -0
- package/dist/studio/names.js +36 -0
- package/dist/studio/names.js.map +1 -0
- package/dist/studio/patch.d.ts +17 -0
- package/dist/studio/patch.d.ts.map +1 -0
- package/dist/studio/patch.js +64 -0
- package/dist/studio/patch.js.map +1 -0
- package/dist/studio/seams.d.ts +44 -0
- package/dist/studio/seams.d.ts.map +1 -0
- package/dist/studio/seams.js +36 -0
- package/dist/studio/seams.js.map +1 -0
- package/dist/studio/share.d.ts +16 -0
- package/dist/studio/share.d.ts.map +1 -0
- package/dist/studio/share.js +57 -0
- package/dist/studio/share.js.map +1 -0
- package/dist/studio/shuffle.d.ts +38 -0
- package/dist/studio/shuffle.d.ts.map +1 -0
- package/dist/studio/shuffle.js +181 -0
- package/dist/studio/shuffle.js.map +1 -0
- package/dist/studio/slices.d.ts +29 -0
- package/dist/studio/slices.d.ts.map +1 -0
- package/dist/studio/slices.js +84 -0
- package/dist/studio/slices.js.map +1 -0
- package/dist/studio/studio.d.ts +29 -0
- package/dist/studio/studio.d.ts.map +1 -0
- package/dist/studio/studio.js +1298 -0
- package/dist/studio/studio.js.map +1 -0
- package/dist/studio/symbol.d.ts +47 -0
- package/dist/studio/symbol.d.ts.map +1 -0
- package/dist/studio/symbol.js +159 -0
- package/dist/studio/symbol.js.map +1 -0
- package/dist/studio/timers.d.ts +18 -0
- package/dist/studio/timers.d.ts.map +1 -0
- package/dist/studio/timers.js +36 -0
- package/dist/studio/timers.js.map +1 -0
- package/dist/studio/types.d.ts +693 -0
- package/dist/studio/types.d.ts.map +1 -0
- package/dist/studio/types.js +26 -0
- package/dist/studio/types.js.map +1 -0
- package/dist/studio/verify.d.ts +47 -0
- package/dist/studio/verify.d.ts.map +1 -0
- package/dist/studio/verify.js +63 -0
- package/dist/studio/verify.js.map +1 -0
- package/dist/symbology/index.d.ts +8 -0
- package/dist/symbology/index.d.ts.map +1 -0
- package/dist/symbology/index.js +6 -0
- package/dist/symbology/index.js.map +1 -0
- package/dist/symbology/micro/blocks.d.ts +34 -0
- package/dist/symbology/micro/blocks.d.ts.map +1 -0
- package/dist/symbology/micro/blocks.js +63 -0
- package/dist/symbology/micro/blocks.js.map +1 -0
- package/dist/symbology/micro/entry.d.ts +70 -0
- package/dist/symbology/micro/entry.d.ts.map +1 -0
- package/dist/symbology/micro/entry.js +181 -0
- package/dist/symbology/micro/entry.js.map +1 -0
- package/dist/symbology/micro/format.d.ts +31 -0
- package/dist/symbology/micro/format.d.ts.map +1 -0
- package/dist/symbology/micro/format.js +48 -0
- package/dist/symbology/micro/format.js.map +1 -0
- package/dist/symbology/micro/index.d.ts +7 -0
- package/dist/symbology/micro/index.d.ts.map +1 -0
- package/dist/symbology/micro/index.js +5 -0
- package/dist/symbology/micro/index.js.map +1 -0
- package/dist/symbology/micro/layout.d.ts +40 -0
- package/dist/symbology/micro/layout.d.ts.map +1 -0
- package/dist/symbology/micro/layout.js +106 -0
- package/dist/symbology/micro/layout.js.map +1 -0
- package/dist/symbology/micro/mask.d.ts +25 -0
- package/dist/symbology/micro/mask.d.ts.map +1 -0
- package/dist/symbology/micro/mask.js +41 -0
- package/dist/symbology/micro/mask.js.map +1 -0
- package/dist/symbology/micro/modules.d.ts +76 -0
- package/dist/symbology/micro/modules.d.ts.map +1 -0
- package/dist/symbology/micro/modules.js +156 -0
- package/dist/symbology/micro/modules.js.map +1 -0
- package/dist/symbology/micro/profile.d.ts +16 -0
- package/dist/symbology/micro/profile.d.ts.map +1 -0
- package/dist/symbology/micro/profile.js +45 -0
- package/dist/symbology/micro/profile.js.map +1 -0
- package/dist/symbology/micro/read-helpers.d.ts +31 -0
- package/dist/symbology/micro/read-helpers.d.ts.map +1 -0
- package/dist/symbology/micro/read-helpers.js +66 -0
- package/dist/symbology/micro/read-helpers.js.map +1 -0
- package/dist/symbology/micro/tables.d.ts +63 -0
- package/dist/symbology/micro/tables.d.ts.map +1 -0
- package/dist/symbology/micro/tables.js +163 -0
- package/dist/symbology/micro/tables.js.map +1 -0
- package/dist/symbology/qr/blocks.d.ts +58 -0
- package/dist/symbology/qr/blocks.d.ts.map +1 -0
- package/dist/symbology/qr/blocks.js +176 -0
- package/dist/symbology/qr/blocks.js.map +1 -0
- package/dist/symbology/qr/build.d.ts +20 -0
- package/dist/symbology/qr/build.d.ts.map +1 -0
- package/dist/symbology/qr/build.js +91 -0
- package/dist/symbology/qr/build.js.map +1 -0
- package/dist/symbology/qr/entry.d.ts +13 -0
- package/dist/symbology/qr/entry.d.ts.map +1 -0
- package/dist/symbology/qr/entry.js +56 -0
- package/dist/symbology/qr/entry.js.map +1 -0
- package/dist/symbology/qr/index.d.ts +13 -0
- package/dist/symbology/qr/index.d.ts.map +1 -0
- package/dist/symbology/qr/index.js +9 -0
- package/dist/symbology/qr/index.js.map +1 -0
- package/dist/symbology/qr/info.d.ts +29 -0
- package/dist/symbology/qr/info.d.ts.map +1 -0
- package/dist/symbology/qr/info.js +53 -0
- package/dist/symbology/qr/info.js.map +1 -0
- package/dist/symbology/qr/layout.d.ts +37 -0
- package/dist/symbology/qr/layout.d.ts.map +1 -0
- package/dist/symbology/qr/layout.js +174 -0
- package/dist/symbology/qr/layout.js.map +1 -0
- package/dist/symbology/qr/mask.d.ts +35 -0
- package/dist/symbology/qr/mask.d.ts.map +1 -0
- package/dist/symbology/qr/mask.js +113 -0
- package/dist/symbology/qr/mask.js.map +1 -0
- package/dist/symbology/qr/read.d.ts +43 -0
- package/dist/symbology/qr/read.d.ts.map +1 -0
- package/dist/symbology/qr/read.js +219 -0
- package/dist/symbology/qr/read.js.map +1 -0
- package/dist/symbology/qr/tables.d.ts +62 -0
- package/dist/symbology/qr/tables.d.ts.map +1 -0
- package/dist/symbology/qr/tables.js +337 -0
- package/dist/symbology/qr/tables.js.map +1 -0
- package/dist/symbology/registry.d.ts +11 -0
- package/dist/symbology/registry.d.ts.map +1 -0
- package/dist/symbology/registry.js +19 -0
- package/dist/symbology/registry.js.map +1 -0
- package/dist/symbology/rmqr/entry.d.ts +56 -0
- package/dist/symbology/rmqr/entry.d.ts.map +1 -0
- package/dist/symbology/rmqr/entry.js +165 -0
- package/dist/symbology/rmqr/entry.js.map +1 -0
- package/dist/symbology/rmqr/format.d.ts +45 -0
- package/dist/symbology/rmqr/format.d.ts.map +1 -0
- package/dist/symbology/rmqr/format.js +72 -0
- package/dist/symbology/rmqr/format.js.map +1 -0
- package/dist/symbology/rmqr/index.d.ts +5 -0
- package/dist/symbology/rmqr/index.d.ts.map +1 -0
- package/dist/symbology/rmqr/index.js +5 -0
- package/dist/symbology/rmqr/index.js.map +1 -0
- package/dist/symbology/rmqr/layout.d.ts +46 -0
- package/dist/symbology/rmqr/layout.d.ts.map +1 -0
- package/dist/symbology/rmqr/layout.js +196 -0
- package/dist/symbology/rmqr/layout.js.map +1 -0
- package/dist/symbology/rmqr/profile.d.ts +15 -0
- package/dist/symbology/rmqr/profile.d.ts.map +1 -0
- package/dist/symbology/rmqr/profile.js +52 -0
- package/dist/symbology/rmqr/profile.js.map +1 -0
- package/dist/symbology/rmqr/tables.d.ts +62 -0
- package/dist/symbology/rmqr/tables.d.ts.map +1 -0
- package/dist/symbology/rmqr/tables.js +194 -0
- package/dist/symbology/rmqr/tables.js.map +1 -0
- package/dist/symbology/roles.d.ts +19 -0
- package/dist/symbology/roles.d.ts.map +1 -0
- package/dist/symbology/roles.js +35 -0
- package/dist/symbology/roles.js.map +1 -0
- package/dist/symbology/types.d.ts +126 -0
- package/dist/symbology/types.d.ts.map +1 -0
- package/dist/symbology/types.js +11 -0
- package/dist/symbology/types.js.map +1 -0
- package/dist/text/base64.d.ts +11 -0
- package/dist/text/base64.d.ts.map +1 -0
- package/dist/text/base64.js +49 -0
- package/dist/text/base64.js.map +1 -0
- package/dist/text/cmap.d.ts +17 -0
- package/dist/text/cmap.d.ts.map +1 -0
- package/dist/text/cmap.js +161 -0
- package/dist/text/cmap.js.map +1 -0
- package/dist/text/compiled.d.ts +52 -0
- package/dist/text/compiled.d.ts.map +1 -0
- package/dist/text/compiled.js +220 -0
- package/dist/text/compiled.js.map +1 -0
- package/dist/text/errors.d.ts +34 -0
- package/dist/text/errors.d.ts.map +1 -0
- package/dist/text/errors.js +26 -0
- package/dist/text/errors.js.map +1 -0
- package/dist/text/font.d.ts +29 -0
- package/dist/text/font.d.ts.map +1 -0
- package/dist/text/font.js +67 -0
- package/dist/text/font.js.map +1 -0
- package/dist/text/glyf.d.ts +62 -0
- package/dist/text/glyf.d.ts.map +1 -0
- package/dist/text/glyf.js +276 -0
- package/dist/text/glyf.js.map +1 -0
- package/dist/text/index.d.ts +13 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/index.js +9 -0
- package/dist/text/index.js.map +1 -0
- package/dist/text/kerning.d.ts +36 -0
- package/dist/text/kerning.d.ts.map +1 -0
- package/dist/text/kerning.js +382 -0
- package/dist/text/kerning.js.map +1 -0
- package/dist/text/layout.d.ts +35 -0
- package/dist/text/layout.d.ts.map +1 -0
- package/dist/text/layout.js +287 -0
- package/dist/text/layout.js.map +1 -0
- package/dist/text/outline.d.ts +22 -0
- package/dist/text/outline.d.ts.map +1 -0
- package/dist/text/outline.js +79 -0
- package/dist/text/outline.js.map +1 -0
- package/dist/text/reader.d.ts +43 -0
- package/dist/text/reader.d.ts.map +1 -0
- package/dist/text/reader.js +83 -0
- package/dist/text/reader.js.map +1 -0
- package/dist/text/registry.d.ts +21 -0
- package/dist/text/registry.d.ts.map +1 -0
- package/dist/text/registry.js +32 -0
- package/dist/text/registry.js.map +1 -0
- package/dist/text/truetype.d.ts +44 -0
- package/dist/text/truetype.d.ts.map +1 -0
- package/dist/text/truetype.js +127 -0
- package/dist/text/truetype.js.map +1 -0
- package/dist/text/types.d.ts +106 -0
- package/dist/text/types.d.ts.map +1 -0
- package/dist/text/types.js +11 -0
- package/dist/text/types.js.map +1 -0
- package/dist/verify/camera.d.ts +59 -0
- package/dist/verify/camera.d.ts.map +1 -0
- package/dist/verify/camera.js +76 -0
- package/dist/verify/camera.js.map +1 -0
- package/dist/verify/capture.d.ts +40 -0
- package/dist/verify/capture.d.ts.map +1 -0
- package/dist/verify/capture.js +118 -0
- package/dist/verify/capture.js.map +1 -0
- package/dist/verify/coverage.d.ts +61 -0
- package/dist/verify/coverage.d.ts.map +1 -0
- package/dist/verify/coverage.js +90 -0
- package/dist/verify/coverage.js.map +1 -0
- package/dist/verify/degrade.d.ts +143 -0
- package/dist/verify/degrade.d.ts.map +1 -0
- package/dist/verify/degrade.js +503 -0
- package/dist/verify/degrade.js.map +1 -0
- package/dist/verify/fixes.d.ts +28 -0
- package/dist/verify/fixes.d.ts.map +1 -0
- package/dist/verify/fixes.js +277 -0
- package/dist/verify/fixes.js.map +1 -0
- package/dist/verify/homography.d.ts +32 -0
- package/dist/verify/homography.d.ts.map +1 -0
- package/dist/verify/homography.js +79 -0
- package/dist/verify/homography.js.map +1 -0
- package/dist/verify/index.d.ts +17 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +11 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/inks.d.ts +39 -0
- package/dist/verify/inks.d.ts.map +1 -0
- package/dist/verify/inks.js +101 -0
- package/dist/verify/inks.js.map +1 -0
- package/dist/verify/job.d.ts +89 -0
- package/dist/verify/job.d.ts.map +1 -0
- package/dist/verify/job.js +314 -0
- package/dist/verify/job.js.map +1 -0
- package/dist/verify/keys.d.ts +92 -0
- package/dist/verify/keys.d.ts.map +1 -0
- package/dist/verify/keys.js +95 -0
- package/dist/verify/keys.js.map +1 -0
- package/dist/verify/ladders.d.ts +68 -0
- package/dist/verify/ladders.d.ts.map +1 -0
- package/dist/verify/ladders.js +154 -0
- package/dist/verify/ladders.js.map +1 -0
- package/dist/verify/prepare.d.ts +78 -0
- package/dist/verify/prepare.d.ts.map +1 -0
- package/dist/verify/prepare.js +307 -0
- package/dist/verify/prepare.js.map +1 -0
- package/dist/verify/preset.d.ts +111 -0
- package/dist/verify/preset.d.ts.map +1 -0
- package/dist/verify/preset.js +200 -0
- package/dist/verify/preset.js.map +1 -0
- package/dist/verify/read.d.ts +23 -0
- package/dist/verify/read.d.ts.map +1 -0
- package/dist/verify/read.js +55 -0
- package/dist/verify/read.js.map +1 -0
- package/dist/verify/region.d.ts +37 -0
- package/dist/verify/region.d.ts.map +1 -0
- package/dist/verify/region.js +80 -0
- package/dist/verify/region.js.map +1 -0
- package/dist/verify/static.d.ts +56 -0
- package/dist/verify/static.d.ts.map +1 -0
- package/dist/verify/static.js +277 -0
- package/dist/verify/static.js.map +1 -0
- package/dist/verify/types.d.ts +173 -0
- package/dist/verify/types.d.ts.map +1 -0
- package/dist/verify/types.js +36 -0
- package/dist/verify/types.js.map +1 -0
- package/package.json +191 -5
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File names for the codes in a batch, built from a person's spreadsheet.
|
|
3
|
+
*
|
|
4
|
+
* A file name template such as `label-{sku}` fills in cells somebody else
|
|
5
|
+
* typed, and the ZIP is opened on Windows, macOS and Linux by extractors of
|
|
6
|
+
* every age. So each name is cleaned until it means the same everywhere and
|
|
7
|
+
* can only land in the folder it was extracted into:
|
|
8
|
+
*
|
|
9
|
+
* - Unicode NFC, so a name typed on a Mac (which once stored decomposed
|
|
10
|
+
* accents) and the same name typed elsewhere are one name, for duplicates
|
|
11
|
+
* as well as for display.
|
|
12
|
+
* - No path at all: `/` and `\` and the other characters Windows reserves
|
|
13
|
+
* (`< > : " | ? *`) become hyphens, and runs of dots become one, so no
|
|
14
|
+
* `..` survives anywhere in a name, let alone as a folder.
|
|
15
|
+
* - No control characters, and none of the invisible ones that reorder or
|
|
16
|
+
* hide text: "invoice", a right-to-left override (U+202E) and "gpj.exe"
|
|
17
|
+
* display as "invoiceexe.jpg", which is why they are removed rather than
|
|
18
|
+
* kept.
|
|
19
|
+
* - Nothing at either end that a system treats specially: a leading dot
|
|
20
|
+
* hides a file on Unix, a leading hyphen reads as an option to a shell
|
|
21
|
+
* command, and Windows drops trailing dots and spaces, so "a." and "a"
|
|
22
|
+
* would be one file there.
|
|
23
|
+
* - Not one of Windows' device names (CON, PRN, AUX, NUL, COM0 to COM9, LPT0
|
|
24
|
+
* to LPT9 and the superscript forms), with or without an extension, which
|
|
25
|
+
* Windows will not create as files. These get a leading underscore.
|
|
26
|
+
* - At most 120 bytes of UTF-8, cut at a character boundary, leaving room
|
|
27
|
+
* under every file system's 255 for a number and an extension.
|
|
28
|
+
* - An extension this layer adds itself is taken off the end, so a template
|
|
29
|
+
* of `{sku}.png` does not give `ABC.png.png`.
|
|
30
|
+
*
|
|
31
|
+
* Every rule is applied until nothing changes, so cleaning a clean name gives
|
|
32
|
+
* it back unchanged: `runBatch` cleans the names it is given again, in case
|
|
33
|
+
* they did not come from `planBatch`, and must not rename anything that did.
|
|
34
|
+
*/
|
|
35
|
+
/** The most bytes of UTF-8 in a name before its number and extension. */
|
|
36
|
+
export const MAX_NAME_BYTES = 120;
|
|
37
|
+
/** The extensions `runBatch` writes, which a template need not and should not give. */
|
|
38
|
+
const OWN_EXTENSION = /\.(?:svg|png|pdf|eps)$/i;
|
|
39
|
+
/**
|
|
40
|
+
* Whether a code point is removed outright: the C0 and C1 controls other
|
|
41
|
+
* than the whitespace ones (which become spaces), DEL, the soft hyphen, the
|
|
42
|
+
* zero width space and word joiner, the byte order mark, and every
|
|
43
|
+
* bidirectional control: the Arabic letter mark, the left-to-right and
|
|
44
|
+
* right-to-left marks, embeddings, overrides and isolates. Joiners stay,
|
|
45
|
+
* because Persian and the Indic scripts need them, and so do emoji.
|
|
46
|
+
*/
|
|
47
|
+
function removed(code) {
|
|
48
|
+
if (code <= 0x08 || (code >= 0x0e && code <= 0x1f))
|
|
49
|
+
return true;
|
|
50
|
+
if (code >= 0x7f && code <= 0x9f)
|
|
51
|
+
return code !== 0x85;
|
|
52
|
+
return (code === 0xad ||
|
|
53
|
+
code === 0x061c ||
|
|
54
|
+
code === 0x200b ||
|
|
55
|
+
code === 0x200e ||
|
|
56
|
+
code === 0x200f ||
|
|
57
|
+
(code >= 0x202a && code <= 0x202e) ||
|
|
58
|
+
code === 0x2060 ||
|
|
59
|
+
(code >= 0x2066 && code <= 0x2069) ||
|
|
60
|
+
code === 0xfeff);
|
|
61
|
+
}
|
|
62
|
+
/** The text without removed characters or unpaired surrogates, which a ZIP name cannot hold. */
|
|
63
|
+
function withoutInvisible(text) {
|
|
64
|
+
let out = '';
|
|
65
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
66
|
+
const code = text.charCodeAt(i);
|
|
67
|
+
if (code >= 0xd800 && code <= 0xdbff) {
|
|
68
|
+
const low = text.charCodeAt(i + 1);
|
|
69
|
+
if (low >= 0xdc00 && low <= 0xdfff) {
|
|
70
|
+
out += text.slice(i, i + 2);
|
|
71
|
+
i += 1;
|
|
72
|
+
}
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if ((code >= 0xdc00 && code <= 0xdfff) || removed(code))
|
|
76
|
+
continue;
|
|
77
|
+
out += text[i];
|
|
78
|
+
}
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
/** Whitespace of every kind, the line and paragraph separators and NEL included, becomes one space. */
|
|
82
|
+
const SPACES = /[\s\u0085]+/g;
|
|
83
|
+
/** What Windows reserves in a name, and the path separators everywhere. */
|
|
84
|
+
const RESERVED_CHARACTERS = /[<>:"/\\|?*]/g;
|
|
85
|
+
/** Windows device names, matched against the part of a name before its first dot. */
|
|
86
|
+
const DEVICE = /^(?:con|prn|aux|nul|conin\$|conout\$|com[0-9\u00b9\u00b2\u00b3]|lpt[0-9\u00b9\u00b2\u00b3])$/i;
|
|
87
|
+
function utf8Length(text) {
|
|
88
|
+
let bytes = 0;
|
|
89
|
+
for (const char of text) {
|
|
90
|
+
const code = char.codePointAt(0);
|
|
91
|
+
bytes += code < 0x80 ? 1 : code < 0x800 ? 2 : code < 0x10000 ? 3 : 4;
|
|
92
|
+
}
|
|
93
|
+
return bytes;
|
|
94
|
+
}
|
|
95
|
+
/** The longest prefix of whole characters within `max` bytes of UTF-8. */
|
|
96
|
+
function truncate(text, max) {
|
|
97
|
+
if (utf8Length(text) <= max)
|
|
98
|
+
return text;
|
|
99
|
+
let out = '';
|
|
100
|
+
let bytes = 0;
|
|
101
|
+
for (const char of text) {
|
|
102
|
+
const code = char.codePointAt(0);
|
|
103
|
+
const size = code < 0x80 ? 1 : code < 0x800 ? 2 : code < 0x10000 ? 3 : 4;
|
|
104
|
+
if (bytes + size > max)
|
|
105
|
+
break;
|
|
106
|
+
out += char;
|
|
107
|
+
bytes += size;
|
|
108
|
+
}
|
|
109
|
+
return out;
|
|
110
|
+
}
|
|
111
|
+
/** Leading dots, hyphens and spaces, and trailing ones with this layer's own extensions. */
|
|
112
|
+
function trimEnds(text) {
|
|
113
|
+
let out = text;
|
|
114
|
+
for (;;) {
|
|
115
|
+
const next = out
|
|
116
|
+
.replace(OWN_EXTENSION, '')
|
|
117
|
+
.replace(/^[ .-]+/, '')
|
|
118
|
+
.replace(/[ .-]+$/, '');
|
|
119
|
+
if (next === out)
|
|
120
|
+
return out;
|
|
121
|
+
out = next;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function isDevice(name) {
|
|
125
|
+
const dot = name.indexOf('.');
|
|
126
|
+
return DEVICE.test((dot === -1 ? name : name.slice(0, dot)).trim());
|
|
127
|
+
}
|
|
128
|
+
/** One pass of every rule. */
|
|
129
|
+
function clean(text, max) {
|
|
130
|
+
let out = withoutInvisible(text.normalize('NFC'))
|
|
131
|
+
.replace(SPACES, ' ')
|
|
132
|
+
.replace(RESERVED_CHARACTERS, '-')
|
|
133
|
+
.replace(/-{2,}/g, '-')
|
|
134
|
+
.replace(/\.{2,}/g, '.');
|
|
135
|
+
out = trimEnds(out);
|
|
136
|
+
if (isDevice(out))
|
|
137
|
+
out = `_${out}`;
|
|
138
|
+
return trimEnds(truncate(out, max));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* A name safe to write into a ZIP on every system, without an extension, or
|
|
142
|
+
* '' when nothing usable is left. The same name cleaned twice is unchanged.
|
|
143
|
+
*/
|
|
144
|
+
export function sanitiseFilename(text, max = MAX_NAME_BYTES) {
|
|
145
|
+
if (typeof text !== 'string')
|
|
146
|
+
throw new TypeError('sanitiseFilename: text is a string.');
|
|
147
|
+
if (!Number.isInteger(max) || max < 8 || max > 200) {
|
|
148
|
+
throw new TypeError('sanitiseFilename: max is a whole number of bytes from 8 to 200.');
|
|
149
|
+
}
|
|
150
|
+
let out = text;
|
|
151
|
+
// Each pass can only shorten the name or add the one underscore a device
|
|
152
|
+
// name gets, which no later pass takes away, so this settles within a few.
|
|
153
|
+
for (;;) {
|
|
154
|
+
const next = clean(out, max);
|
|
155
|
+
if (next === out)
|
|
156
|
+
return out;
|
|
157
|
+
out = next;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/** How two names are compared for being the same file: NFC already, and case-folded as macOS and Windows extract. */
|
|
161
|
+
export function filenameKey(name) {
|
|
162
|
+
return name.toLowerCase();
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* One name per row, unique under case folding, in the order given.
|
|
166
|
+
*
|
|
167
|
+
* The first row with a name keeps it; a later row with the same one becomes
|
|
168
|
+
* `name-2`, then `name-3`, skipping any number another row already has as its
|
|
169
|
+
* own name, so a row that is really called `label-2` keeps that and the
|
|
170
|
+
* second `label` becomes `label-3`. A numbered name is cut short first if it
|
|
171
|
+
* would pass the length limit, so cleaning it again leaves it alone.
|
|
172
|
+
*/
|
|
173
|
+
export function uniqueFilenames(rows, max = MAX_NAME_BYTES) {
|
|
174
|
+
const wanted = rows.map((row) => (row.name === '' ? row.fallback : row.name));
|
|
175
|
+
const taken = new Set();
|
|
176
|
+
const firstOf = new Map();
|
|
177
|
+
wanted.forEach((name, index) => {
|
|
178
|
+
const key = filenameKey(name);
|
|
179
|
+
if (!firstOf.has(key))
|
|
180
|
+
firstOf.set(key, index);
|
|
181
|
+
taken.add(key);
|
|
182
|
+
});
|
|
183
|
+
// Where each name's numbering got to, so a thousand rows with one name
|
|
184
|
+
// cost a thousand tries and not half a million.
|
|
185
|
+
const next = new Map();
|
|
186
|
+
return wanted.map((name, index) => {
|
|
187
|
+
const key = filenameKey(name);
|
|
188
|
+
if (firstOf.get(key) === index)
|
|
189
|
+
return { name, number: null };
|
|
190
|
+
const numbered = (number) => {
|
|
191
|
+
const suffix = `-${number}`;
|
|
192
|
+
return sanitiseFilename(`${trimEnds(truncate(name, max - suffix.length))}${suffix}`, max);
|
|
193
|
+
};
|
|
194
|
+
let number = next.get(key) ?? 2;
|
|
195
|
+
let candidate = numbered(number);
|
|
196
|
+
while (taken.has(filenameKey(candidate))) {
|
|
197
|
+
number += 1;
|
|
198
|
+
candidate = numbered(number);
|
|
199
|
+
}
|
|
200
|
+
taken.add(filenameKey(candidate));
|
|
201
|
+
next.set(key, number + 1);
|
|
202
|
+
return { name: candidate, number };
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=filename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filename.js","sourceRoot":"","sources":["../../src/batch/filename.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { DEFAULT_MAX_ROWS, MAX_ROWS_LIMIT, parseCsv, sniffDelimiter } from './csv.js';
|
|
2
|
+
export { CSV_FALLBACK_ENCODINGS, DEFAULT_CSV_FALLBACK, decodeCsvBytes, decodeWindows1252, isCsvFallbackEncoding, } from './text-decoding.js';
|
|
3
|
+
export { EncodingUnavailableError, MalformedCsvError, TooManyRowsError, UnknownColumnError, } from './errors.js';
|
|
4
|
+
export type { CsvFailure } from './errors.js';
|
|
5
|
+
export { BATCH_ISSUES } from './issues.js';
|
|
6
|
+
export type { BatchIssueCode } from './issues.js';
|
|
7
|
+
export { MAX_NAME_BYTES, sanitiseFilename, uniqueFilenames } from './filename.js';
|
|
8
|
+
export { compileTemplate, fillTemplate, findColumn, parseTemplate } from './template.js';
|
|
9
|
+
export type { CompiledTemplate, TemplatePart } from './template.js';
|
|
10
|
+
export { planBatch } from './plan.js';
|
|
11
|
+
export { MANIFEST_NAME, batchManifest, neutraliseFormula, writeCsv } from './manifest.js';
|
|
12
|
+
export type { ManifestOptions } from './manifest.js';
|
|
13
|
+
export { DEFAULT_PRINT_SIZE_MM, DEFAULT_VERIFY_EVERY, DEFAULT_WIDTH_PX, MAX_SAMPLES, MAX_WIDTH_PX, SEEDS_ALL, SEEDS_SAMPLED, SMALL_BATCH, errorIssue, runBatch, } from './run.js';
|
|
14
|
+
export { reportResult, scanCheckJob, scanCheckVerifier } from './verify.js';
|
|
15
|
+
export type { ScanCheckGenerator } from './verify.js';
|
|
16
|
+
export type { BatchMapping, BatchOutcome, BatchOutput, BatchProgress, BatchRegistries, BatchRow, BatchSheetOutput, BatchStatus, BatchVerifier, BatchVerifyMode, BatchVerifyRequest, BatchVerifyResult, BatchZipOutput, CsvDelimiter, CsvTable, CsvFallbackEncoding, DecodeCsvOptions, DecodedText, FieldSource, ParseCsvOptions, RunBatchOptions, TextEncodingName, } from './types.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACzF,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1F,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { DEFAULT_MAX_ROWS, MAX_ROWS_LIMIT, parseCsv, sniffDelimiter } from './csv.js';
|
|
2
|
+
export { CSV_FALLBACK_ENCODINGS, DEFAULT_CSV_FALLBACK, decodeCsvBytes, decodeWindows1252, isCsvFallbackEncoding, } from './text-decoding.js';
|
|
3
|
+
export { EncodingUnavailableError, MalformedCsvError, TooManyRowsError, UnknownColumnError, } from './errors.js';
|
|
4
|
+
export { BATCH_ISSUES } from './issues.js';
|
|
5
|
+
export { MAX_NAME_BYTES, sanitiseFilename, uniqueFilenames } from './filename.js';
|
|
6
|
+
export { compileTemplate, fillTemplate, findColumn, parseTemplate } from './template.js';
|
|
7
|
+
export { planBatch } from './plan.js';
|
|
8
|
+
export { MANIFEST_NAME, batchManifest, neutraliseFormula, writeCsv } from './manifest.js';
|
|
9
|
+
export { DEFAULT_PRINT_SIZE_MM, DEFAULT_VERIFY_EVERY, DEFAULT_WIDTH_PX, MAX_SAMPLES, MAX_WIDTH_PX, SEEDS_ALL, SEEDS_SAMPLED, SMALL_BATCH, errorIssue, runBatch, } from './run.js';
|
|
10
|
+
export { reportResult, scanCheckJob, scanCheckVerifier } from './verify.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/batch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1F,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The issue codes the batch layer raises, in one place so the message
|
|
3
|
+
* catalogue and its test can be checked against them in both directions.
|
|
4
|
+
*
|
|
5
|
+
* Severity is part of the meaning. An error skips the row; a warning is
|
|
6
|
+
* written into the manifest beside a row that was still made; an info issue
|
|
7
|
+
* is for a view and is left out of the manifest, where it would repeat on
|
|
8
|
+
* every line.
|
|
9
|
+
*/
|
|
10
|
+
export declare const BATCH_ISSUES: {
|
|
11
|
+
/** Warning, path ['rows', i]: fewer cells than the header, padded with empty ones. */
|
|
12
|
+
readonly shortRow: "batch.csv.short-row";
|
|
13
|
+
/** Warning, path ['rows', i]: more cells than the header; the extra ones have no column to map. */
|
|
14
|
+
readonly longRow: "batch.csv.long-row";
|
|
15
|
+
/** Warning, path ['headers', i]: a header used before; a mapping finds the first. */
|
|
16
|
+
readonly duplicateHeader: "batch.csv.duplicate-header";
|
|
17
|
+
/** Warning, params { encoding }: the bytes were not UTF-8, and were read as the fallback, by its WHATWG label. */
|
|
18
|
+
readonly fallbackEncoding: "batch.csv.fallback-encoding";
|
|
19
|
+
/** Info: the bytes started with a UTF-16 byte order mark and were read as UTF-16. */
|
|
20
|
+
readonly utf16: "batch.csv.utf-16";
|
|
21
|
+
/** Warning: a UTF-16 file with an odd number of bytes; the last byte was dropped. */
|
|
22
|
+
readonly oddLength: "batch.csv.odd-length";
|
|
23
|
+
/** Warning: every mapped cell in the row is empty, so it is skipped. */
|
|
24
|
+
readonly emptyRow: "batch.issue.empty-row";
|
|
25
|
+
/** Error, path ['fields', key]: a number with a decimal comma or thousands separators, which is ambiguous. */
|
|
26
|
+
readonly numberFormat: "batch.issue.number-format";
|
|
27
|
+
/** Info: the file name template gave nothing usable, so the row number was used. */
|
|
28
|
+
readonly filenameFallback: "batch.issue.filename-fallback";
|
|
29
|
+
/** Info: characters a file name cannot hold were removed or replaced. */
|
|
30
|
+
readonly filenameCleaned: "batch.issue.filename-cleaned";
|
|
31
|
+
/** Info, params { number }: another row has the same file name, so this one is numbered. */
|
|
32
|
+
readonly filenameNumbered: "batch.issue.filename-numbered";
|
|
33
|
+
/** Warning: EPS cannot carry this design's transparency, so the row was written as a PDF. */
|
|
34
|
+
readonly epsFallback: "batch.issue.eps-fallback";
|
|
35
|
+
/** Error, params { code }: drawing the row failed for a reason this layer has no sentence for. */
|
|
36
|
+
readonly failed: "batch.issue.failed";
|
|
37
|
+
/** Warning: the scan check failed for this row. */
|
|
38
|
+
readonly checkFailed: "batch.issue.check-failed";
|
|
39
|
+
/** Info: the scan check passed with warnings. */
|
|
40
|
+
readonly checkWarned: "batch.issue.check-warned";
|
|
41
|
+
/** Warning, params { code }: the scan check could not be run for this row. */
|
|
42
|
+
readonly checkUnavailable: "batch.issue.check-unavailable";
|
|
43
|
+
};
|
|
44
|
+
export type BatchIssueCode = (typeof BATCH_ISSUES)[keyof typeof BATCH_ISSUES];
|
|
45
|
+
//# sourceMappingURL=issues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/batch/issues.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,YAAY;IAExB,sFAAsF;;IAEtF,mGAAmG;;IAEnG,qFAAqF;;IAErF,kHAAkH;;IAElH,qFAAqF;;IAErF,qFAAqF;;IAIrF,wEAAwE;;IAExE,8GAA8G;;IAE9G,oFAAoF;;IAEpF,yEAAyE;;IAEzE,4FAA4F;;IAI5F,6FAA6F;;IAE7F,kGAAkG;;IAElG,mDAAmD;;IAEnD,iDAAiD;;IAEjD,8EAA8E;;CAErE,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The issue codes the batch layer raises, in one place so the message
|
|
3
|
+
* catalogue and its test can be checked against them in both directions.
|
|
4
|
+
*
|
|
5
|
+
* Severity is part of the meaning. An error skips the row; a warning is
|
|
6
|
+
* written into the manifest beside a row that was still made; an info issue
|
|
7
|
+
* is for a view and is left out of the manifest, where it would repeat on
|
|
8
|
+
* every line.
|
|
9
|
+
*/
|
|
10
|
+
export const BATCH_ISSUES = {
|
|
11
|
+
// Reading the file.
|
|
12
|
+
/** Warning, path ['rows', i]: fewer cells than the header, padded with empty ones. */
|
|
13
|
+
shortRow: 'batch.csv.short-row',
|
|
14
|
+
/** Warning, path ['rows', i]: more cells than the header; the extra ones have no column to map. */
|
|
15
|
+
longRow: 'batch.csv.long-row',
|
|
16
|
+
/** Warning, path ['headers', i]: a header used before; a mapping finds the first. */
|
|
17
|
+
duplicateHeader: 'batch.csv.duplicate-header',
|
|
18
|
+
/** Warning, params { encoding }: the bytes were not UTF-8, and were read as the fallback, by its WHATWG label. */
|
|
19
|
+
fallbackEncoding: 'batch.csv.fallback-encoding',
|
|
20
|
+
/** Info: the bytes started with a UTF-16 byte order mark and were read as UTF-16. */
|
|
21
|
+
utf16: 'batch.csv.utf-16',
|
|
22
|
+
/** Warning: a UTF-16 file with an odd number of bytes; the last byte was dropped. */
|
|
23
|
+
oddLength: 'batch.csv.odd-length',
|
|
24
|
+
// Making each row's content.
|
|
25
|
+
/** Warning: every mapped cell in the row is empty, so it is skipped. */
|
|
26
|
+
emptyRow: 'batch.issue.empty-row',
|
|
27
|
+
/** Error, path ['fields', key]: a number with a decimal comma or thousands separators, which is ambiguous. */
|
|
28
|
+
numberFormat: 'batch.issue.number-format',
|
|
29
|
+
/** Info: the file name template gave nothing usable, so the row number was used. */
|
|
30
|
+
filenameFallback: 'batch.issue.filename-fallback',
|
|
31
|
+
/** Info: characters a file name cannot hold were removed or replaced. */
|
|
32
|
+
filenameCleaned: 'batch.issue.filename-cleaned',
|
|
33
|
+
/** Info, params { number }: another row has the same file name, so this one is numbered. */
|
|
34
|
+
filenameNumbered: 'batch.issue.filename-numbered',
|
|
35
|
+
// Drawing and writing each file.
|
|
36
|
+
/** Warning: EPS cannot carry this design's transparency, so the row was written as a PDF. */
|
|
37
|
+
epsFallback: 'batch.issue.eps-fallback',
|
|
38
|
+
/** Error, params { code }: drawing the row failed for a reason this layer has no sentence for. */
|
|
39
|
+
failed: 'batch.issue.failed',
|
|
40
|
+
/** Warning: the scan check failed for this row. */
|
|
41
|
+
checkFailed: 'batch.issue.check-failed',
|
|
42
|
+
/** Info: the scan check passed with warnings. */
|
|
43
|
+
checkWarned: 'batch.issue.check-warned',
|
|
44
|
+
/** Warning, params { code }: the scan check could not be run for this row. */
|
|
45
|
+
checkUnavailable: 'batch.issue.check-unavailable',
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=issues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/batch/issues.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,oBAAoB;IACpB,sFAAsF;IACtF,QAAQ,EAAE,qBAAqB;IAC/B,mGAAmG;IACnG,OAAO,EAAE,oBAAoB;IAC7B,qFAAqF;IACrF,eAAe,EAAE,4BAA4B;IAC7C,kHAAkH;IAClH,gBAAgB,EAAE,6BAA6B;IAC/C,qFAAqF;IACrF,KAAK,EAAE,kBAAkB;IACzB,qFAAqF;IACrF,SAAS,EAAE,sBAAsB;IAEjC,6BAA6B;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,uBAAuB;IACjC,8GAA8G;IAC9G,YAAY,EAAE,2BAA2B;IACzC,oFAAoF;IACpF,gBAAgB,EAAE,+BAA+B;IACjD,yEAAyE;IACzE,eAAe,EAAE,8BAA8B;IAC/C,4FAA4F;IAC5F,gBAAgB,EAAE,+BAA+B;IAEjD,iCAAiC;IACjC,6FAA6F;IAC7F,WAAW,EAAE,0BAA0B;IACvC,kGAAkG;IAClG,MAAM,EAAE,oBAAoB;IAC5B,mDAAmD;IACnD,WAAW,EAAE,0BAA0B;IACvC,iDAAiD;IACjD,WAAW,EAAE,0BAA0B;IACvC,8EAA8E;IAC9E,gBAAgB,EAAE,+BAA+B;CACxC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The manifest: one line per row of the batch, saying what became of it.
|
|
3
|
+
*
|
|
4
|
+
* Columns, in this order: `row` (the spreadsheet row number), `file` (the
|
|
5
|
+
* entry's name in the ZIP, empty for a skipped row), `type` (the content
|
|
6
|
+
* type), `status` ('written' or 'skipped'), `check` (the scan check's
|
|
7
|
+
* verdict, empty when it did not run), `issues` (the codes of every warning
|
|
8
|
+
* and error on the row, separated by spaces), then `page` and `label` for a
|
|
9
|
+
* sheet, and `content` only when asked for.
|
|
10
|
+
*
|
|
11
|
+
* The content is left out unless the caller opts in. A manifest is the file
|
|
12
|
+
* that gets attached to an email or dropped into a shared drive to say a run
|
|
13
|
+
* went well, and the content of a batch is a customer list or a set of Wi-Fi
|
|
14
|
+
* passwords.
|
|
15
|
+
*
|
|
16
|
+
* Whatever is in it, it is opened in a spreadsheet, and a spreadsheet runs a
|
|
17
|
+
* cell that starts with `=`, `+`, `-` or `@` as a formula, so a product name
|
|
18
|
+
* of `=HYPERLINK(...)` would become a link on the person's own machine (CSV
|
|
19
|
+
* injection; OWASP lists these four, a tab and a carriage return). Every
|
|
20
|
+
* cell starting with one gets a leading apostrophe, which a spreadsheet
|
|
21
|
+
* reads as "this is text". File names need it as much as content does: they
|
|
22
|
+
* are built from the same cells.
|
|
23
|
+
*
|
|
24
|
+
* RFC 4180 throughout: commas, CRLF, a cell quoted when it holds a comma, a
|
|
25
|
+
* quote or a line break. UTF-8 with a byte order mark, without which Excel
|
|
26
|
+
* reads the file as the machine's code page and mangles every accent.
|
|
27
|
+
*/
|
|
28
|
+
import type { Issue } from '../core/issue.js';
|
|
29
|
+
import type { BatchOutcome } from './types.js';
|
|
30
|
+
export declare const MANIFEST_NAME = "manifest.csv";
|
|
31
|
+
/** A cell a spreadsheet will show as text: a leading apostrophe on anything it would run as a formula. */
|
|
32
|
+
export declare function neutraliseFormula(cell: string): string;
|
|
33
|
+
/** Rows as RFC 4180 CSV, every cell neutralised, each line ended with CRLF. */
|
|
34
|
+
export declare function writeCsv(rows: readonly (readonly string[])[]): string;
|
|
35
|
+
/** The codes of a row's warnings and errors, each once, in the order they were raised. */
|
|
36
|
+
export declare function manifestIssues(issues: readonly Issue[]): string;
|
|
37
|
+
export interface ManifestOptions {
|
|
38
|
+
/** Each row's content by its index, for the `content` column. Without it there is no such column. */
|
|
39
|
+
readonly content?: (index: number) => string | null;
|
|
40
|
+
}
|
|
41
|
+
/** The manifest for a batch's outcomes, as the bytes of a UTF-8 CSV file. */
|
|
42
|
+
export declare function batchManifest(outcomes: readonly BatchOutcome[], options?: ManifestOptions): Uint8Array;
|
|
43
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/batch/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAI5C,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAKrE;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAO/D;AAED,MAAM,WAAW,eAAe;IAC/B,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACpD;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,OAAO,GAAE,eAAoB,GAC3B,UAAU,CA0BZ"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The manifest: one line per row of the batch, saying what became of it.
|
|
3
|
+
*
|
|
4
|
+
* Columns, in this order: `row` (the spreadsheet row number), `file` (the
|
|
5
|
+
* entry's name in the ZIP, empty for a skipped row), `type` (the content
|
|
6
|
+
* type), `status` ('written' or 'skipped'), `check` (the scan check's
|
|
7
|
+
* verdict, empty when it did not run), `issues` (the codes of every warning
|
|
8
|
+
* and error on the row, separated by spaces), then `page` and `label` for a
|
|
9
|
+
* sheet, and `content` only when asked for.
|
|
10
|
+
*
|
|
11
|
+
* The content is left out unless the caller opts in. A manifest is the file
|
|
12
|
+
* that gets attached to an email or dropped into a shared drive to say a run
|
|
13
|
+
* went well, and the content of a batch is a customer list or a set of Wi-Fi
|
|
14
|
+
* passwords.
|
|
15
|
+
*
|
|
16
|
+
* Whatever is in it, it is opened in a spreadsheet, and a spreadsheet runs a
|
|
17
|
+
* cell that starts with `=`, `+`, `-` or `@` as a formula, so a product name
|
|
18
|
+
* of `=HYPERLINK(...)` would become a link on the person's own machine (CSV
|
|
19
|
+
* injection; OWASP lists these four, a tab and a carriage return). Every
|
|
20
|
+
* cell starting with one gets a leading apostrophe, which a spreadsheet
|
|
21
|
+
* reads as "this is text". File names need it as much as content does: they
|
|
22
|
+
* are built from the same cells.
|
|
23
|
+
*
|
|
24
|
+
* RFC 4180 throughout: commas, CRLF, a cell quoted when it holds a comma, a
|
|
25
|
+
* quote or a line break. UTF-8 with a byte order mark, without which Excel
|
|
26
|
+
* reads the file as the machine's code page and mangles every accent.
|
|
27
|
+
*/
|
|
28
|
+
export const MANIFEST_NAME = 'manifest.csv';
|
|
29
|
+
const FORMULA_START = /^[=+\-@\t\r]/;
|
|
30
|
+
/** A cell a spreadsheet will show as text: a leading apostrophe on anything it would run as a formula. */
|
|
31
|
+
export function neutraliseFormula(cell) {
|
|
32
|
+
return FORMULA_START.test(cell) ? `'${cell}` : cell;
|
|
33
|
+
}
|
|
34
|
+
function quote(cell) {
|
|
35
|
+
return /[",\r\n]/.test(cell) ? `"${cell.replace(/"/g, '""')}"` : cell;
|
|
36
|
+
}
|
|
37
|
+
/** Rows as RFC 4180 CSV, every cell neutralised, each line ended with CRLF. */
|
|
38
|
+
export function writeCsv(rows) {
|
|
39
|
+
let out = '';
|
|
40
|
+
for (const row of rows)
|
|
41
|
+
out += `${row.map((cell) => quote(neutraliseFormula(cell))).join(',')}\r\n`;
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
/** The codes of a row's warnings and errors, each once, in the order they were raised. */
|
|
45
|
+
export function manifestIssues(issues) {
|
|
46
|
+
const codes = [];
|
|
47
|
+
for (const found of issues) {
|
|
48
|
+
if (found.severity === 'info' || codes.includes(found.code))
|
|
49
|
+
continue;
|
|
50
|
+
codes.push(found.code);
|
|
51
|
+
}
|
|
52
|
+
return codes.join(' ');
|
|
53
|
+
}
|
|
54
|
+
/** The manifest for a batch's outcomes, as the bytes of a UTF-8 CSV file. */
|
|
55
|
+
export function batchManifest(outcomes, options = {}) {
|
|
56
|
+
const sheet = outcomes.some((outcome) => outcome.sheet !== null);
|
|
57
|
+
const content = options.content;
|
|
58
|
+
const header = ['row', 'file', 'type', 'status', 'check', 'issues'];
|
|
59
|
+
if (sheet)
|
|
60
|
+
header.push('page', 'label');
|
|
61
|
+
if (content !== undefined)
|
|
62
|
+
header.push('content');
|
|
63
|
+
const lines = [header];
|
|
64
|
+
for (const outcome of outcomes) {
|
|
65
|
+
const line = [
|
|
66
|
+
String(outcome.rowNumber),
|
|
67
|
+
outcome.filename ?? '',
|
|
68
|
+
outcome.typeId,
|
|
69
|
+
outcome.status,
|
|
70
|
+
outcome.check ?? '',
|
|
71
|
+
manifestIssues(outcome.issues),
|
|
72
|
+
];
|
|
73
|
+
if (sheet) {
|
|
74
|
+
line.push(outcome.sheet === null ? '' : String(outcome.sheet.page), outcome.sheet === null ? '' : String(outcome.sheet.label));
|
|
75
|
+
}
|
|
76
|
+
if (content !== undefined)
|
|
77
|
+
line.push(content(outcome.index) ?? '');
|
|
78
|
+
lines.push(line);
|
|
79
|
+
}
|
|
80
|
+
return new TextEncoder().encode(`\ufeff${writeCsv(lines)}`);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/batch/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAE5C,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,0GAA0G;AAC1G,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC7C,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CAAC,IAAoC;IAC5D,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,IAAI;QACrB,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAC7E,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,cAAc,CAAC,MAAwB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAOD,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC5B,QAAiC,EACjC,UAA2B,EAAE;IAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,KAAK,GAAe,CAAC,MAAM,CAAC,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG;YACZ,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACzB,OAAO,CAAC,QAAQ,IAAI,EAAE;YACtB,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,KAAK,IAAI,EAAE;YACnB,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;SAC9B,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CACR,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACxD,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CACzD,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* From a table and a mapping to the rows a batch will make: each row's
|
|
3
|
+
* content, built and validated by its content type, and its file name.
|
|
4
|
+
*
|
|
5
|
+
* A cell is text, and a content type's fields are text, numbers, yes or no
|
|
6
|
+
* and lists, so each cell is read as its field's kind:
|
|
7
|
+
*
|
|
8
|
+
* - Text, multi-line text and secrets exactly as written, spaces and all; a
|
|
9
|
+
* Wi-Fi password can start with a space.
|
|
10
|
+
* - Other text kinds (links, addresses, numbers to dial, dates, codes) with
|
|
11
|
+
* the spaces round them dropped, which a spreadsheet adds and a reader
|
|
12
|
+
* does not want. Currency, country and BIC codes in capitals; a choice
|
|
13
|
+
* matched to its option ignoring case.
|
|
14
|
+
* - Numbers only as a plain decimal with a full stop, as CSV writes them in
|
|
15
|
+
* English. A comma or a thousands separator is refused with its own issue
|
|
16
|
+
* rather than guessed at: "1,250" is a thousand and a quarter in one
|
|
17
|
+
* country and one and a quarter in the next, and this may be an amount of
|
|
18
|
+
* money.
|
|
19
|
+
* - Yes or no from true, false, yes, no, y, n, 1, 0, on and off, in any case,
|
|
20
|
+
* which covers what Excel, Sheets and people write.
|
|
21
|
+
* - A list (a contact card's phone numbers, an email's recipients) split at
|
|
22
|
+
* line breaks, and also at semicolons and commas for addresses and numbers
|
|
23
|
+
* (neither can contain one) and at spaces for links (which cannot either).
|
|
24
|
+
*
|
|
25
|
+
* An empty cell takes the field's default, as an untouched form would show
|
|
26
|
+
* it, and a field the mapping leaves out does too. Every row is then checked
|
|
27
|
+
* by the content type exactly as the form is, so a batch never makes a code
|
|
28
|
+
* the studio would refuse to.
|
|
29
|
+
*/
|
|
30
|
+
import type { BatchMapping, BatchRegistries, BatchRow, CsvTable } from './types.js';
|
|
31
|
+
/** The rows of a batch: content and file name for each, every problem as an issue on its row. */
|
|
32
|
+
export declare function planBatch(table: CsvTable, mapping: BatchMapping, registries: BatchRegistries): readonly BatchRow[];
|
|
33
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/batch/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAe,MAAM,YAAY,CAAC;AAuJjG,iGAAiG;AACjG,wBAAgB,SAAS,CACxB,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,eAAe,GACzB,SAAS,QAAQ,EAAE,CAsFrB"}
|