From 822db9677759d0f793a2b436a30c591304a30d26 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jan 2022 19:40:48 +0000 Subject: [PATCH] ignoring tsconfig for npm --- build/context.d.ts | 6 + build/context.js | 56 + build/context.js.map | 1 + build/define.d.ts | 2 + build/define.js | 8 + build/define.js.map | 1 + build/encodings/index.d.ts | 4 + build/encodings/index.js | 17 + build/encodings/index.js.map | 1 + build/encodings/latin1.d.ts | 2 + build/encodings/latin1.js | 19 + build/encodings/latin1.js.map | 1 + build/encodings/ucs2.d.ts | 2 + build/encodings/ucs2.js | 22 + build/encodings/ucs2.js.map | 1 + build/encodings/utf8.d.ts | 2 + build/encodings/utf8.js | 13 + build/encodings/utf8.js.map | 1 + build/encodings/utf8js.d.ts | 2 + build/encodings/utf8js.js | 87 ++ build/encodings/utf8js.js.map | 1 + build/index.d.ts | 6 + build/index.js | 19 + build/index.js.map | 1 + build/node.d.ts | 6 + build/node.js | 19 + build/node.js.map | 1 + build/node_encodings/index.d.ts | 4 + build/node_encodings/index.js | 20 + build/node_encodings/index.js.map | 1 + build/node_encodings/latin1.d.ts | 2 + build/node_encodings/latin1.js | 11 + build/node_encodings/latin1.js.map | 1 + build/node_encodings/ucs2.d.ts | 2 + build/node_encodings/ucs2.js | 11 + build/node_encodings/ucs2.js.map | 1 + build/node_encodings/utf8.d.ts | 2 + build/node_encodings/utf8.js | 11 + build/node_encodings/utf8.js.map | 1 + build/node_noeval.d.ts | 7 + build/node_noeval.js | 27 + build/node_noeval.js.map | 1 + build/noeval.d.ts | 7 + build/noeval.js | 28 + build/noeval.js.map | 1 + build/noeval_serdes/index.d.ts | 2 + build/noeval_serdes/index.js | 15 + build/noeval_serdes/index.js.map | 1 + build/noeval_serdes/number.d.ts | 12 + build/noeval_serdes/number.js | 87 ++ build/noeval_serdes/number.js.map | 1 + build/noeval_serdes/struct.d.ts | 3 + build/noeval_serdes/struct.js | 23 + build/noeval_serdes/struct.js.map | 1 + build/serdes/array.d.ts | 2 + build/serdes/array.js | 20 + build/serdes/array.js.map | 1 + build/serdes/boolean.d.ts | 2 + build/serdes/boolean.js | 6 + build/serdes/boolean.js.map | 1 + build/serdes/bytes.d.ts | 2 + build/serdes/bytes.js | 15 + build/serdes/bytes.js.map | 1 + build/serdes/index.d.ts | 8 + build/serdes/index.js | 21 + build/serdes/index.js.map | 1 + build/serdes/map.d.ts | 2 + build/serdes/map.js | 21 + build/serdes/map.js.map | 1 + build/serdes/number.d.ts | 12 + build/serdes/number.js | 24 + build/serdes/number.js.map | 1 + build/serdes/optional.d.ts | 2 + build/serdes/optional.js | 15 + build/serdes/optional.js.map | 1 + build/serdes/string.d.ts | 2 + build/serdes/string.js | 17 + build/serdes/string.js.map | 1 + build/serdes/struct.d.ts | 3 + build/serdes/struct.js | 22 + build/serdes/struct.js.map | 1 + build/types/factories.d.ts | 27 + build/types/factories.js | 3 + build/types/factories.js.map | 1 + build/types/index.d.ts | 2 + build/types/index.js | 15 + build/types/index.js.map | 1 + build/types/serdes.d.ts | 21 + build/types/serdes.js | 3 + build/types/serdes.js.map | 1 + build/use.d.ts | 2 + build/use.js | 16 + build/use.js.map | 1 + deno_dist/LICENSE | 21 + deno_dist/README.md | 182 +++ deno_dist/context.ts | 61 + deno_dist/define.ts | 5 + deno_dist/encodings/index.ts | 4 + deno_dist/encodings/latin1.ts | 17 + deno_dist/encodings/ucs2.ts | 20 + deno_dist/encodings/utf8.ts | 13 + deno_dist/encodings/utf8js.ts | 82 + deno_dist/index.ts | 6 + deno_dist/mod.ts | 1 + deno_dist/node.ts | 6 + deno_dist/node_encodings/index.ts | 6 + deno_dist/node_encodings/latin1.ts | 12 + deno_dist/node_encodings/ucs2.ts | 12 + deno_dist/node_encodings/utf8.ts | 12 + deno_dist/node_noeval.ts | 14 + deno_dist/noeval.ts | 15 + deno_dist/noeval_serdes/index.ts | 2 + deno_dist/noeval_serdes/number.ts | 125 ++ deno_dist/noeval_serdes/struct.ts | 23 + deno_dist/serdes/array.ts | 21 + deno_dist/serdes/boolean.ts | 7 + deno_dist/serdes/bytes.ts | 16 + deno_dist/serdes/index.ts | 8 + deno_dist/serdes/map.ts | 22 + deno_dist/serdes/number.ts | 25 + deno_dist/serdes/optional.ts | 15 + deno_dist/serdes/string.ts | 18 + deno_dist/serdes/struct.ts | 31 + deno_dist/types/factories.ts | 56 + deno_dist/types/index.ts | 2 + deno_dist/types/serdes.ts | 26 + deno_dist/use.ts | 19 + dist/sirdez.es.js | 240 +++ dist/sirdez.noeval.es.js | 311 ++++ dist/sirdez.noeval.umd.js | 1 + dist/sirdez.umd.js | 1 + docs/404.html | 20 + docs/api/.nojekyll | 1 + docs/api/assets/highlight.css | 120 ++ docs/api/assets/icons.css | 1043 +++++++++++++ docs/api/assets/icons.png | Bin 0 -> 9615 bytes docs/api/assets/icons@2x.png | Bin 0 -> 28144 bytes docs/api/assets/main.js | 52 + docs/api/assets/search.js | 1 + docs/api/assets/style.css | 1388 +++++++++++++++++ docs/api/assets/widgets.png | Bin 0 -> 480 bytes docs/api/assets/widgets@2x.png | Bin 0 -> 855 bytes docs/api/index.html | 145 ++ docs/api/interfaces/Context.html | 1 + docs/api/interfaces/NumberFactory.html | 1 + docs/api/interfaces/Serdes.html | 1 + docs/api/interfaces/UsableSerdes.html | 1 + docs/api/modules.html | 1 + docs/assets/css/0.styles.9aa06acc.css | 1 + docs/assets/img/search.83621669.svg | 1 + docs/assets/js/10.aa2c1821.js | 1 + docs/assets/js/11.79f801dd.js | 1 + docs/assets/js/12.ff8e7ae9.js | 1 + docs/assets/js/13.3ad04ac5.js | 1 + docs/assets/js/14.db48e550.js | 1 + docs/assets/js/15.6d1e75e6.js | 1 + docs/assets/js/16.545a5f71.js | 1 + docs/assets/js/17.1b59257c.js | 1 + docs/assets/js/18.f1406b50.js | 1 + docs/assets/js/2.a5103cdb.js | 1 + docs/assets/js/3.016704f1.js | 1 + docs/assets/js/4.003b0fb7.js | 1 + docs/assets/js/5.10edfa56.js | 1 + docs/assets/js/6.6d30da22.js | 1 + docs/assets/js/7.301af573.js | 1 + docs/assets/js/8.bfaa41c0.js | 1 + docs/assets/js/9.1b2d8a96.js | 1 + docs/assets/js/app.b5c202d2.js | 15 + docs/badges/coverage.json | 1 + docs/badges/perf.json | 1 + docs/badges/report.json | 1 + docs/components.html | 55 + docs/coverage/coverage-final.json | 27 + docs/coverage/coverage-summary.json | 28 + docs/coverage/lcov-report/base.css | 224 +++ docs/coverage/lcov-report/block-navigation.js | 87 ++ docs/coverage/lcov-report/favicon.png | Bin 0 -> 540 bytes docs/coverage/lcov-report/index.html | 191 +++ docs/coverage/lcov-report/prettify.css | 1 + docs/coverage/lcov-report/prettify.js | 2 + .../lcov-report/sort-arrow-sprite.png | Bin 0 -> 209 bytes docs/coverage/lcov-report/sorter.js | 196 +++ docs/coverage/lcov-report/src/context.ts.html | 268 ++++ docs/coverage/lcov-report/src/define.ts.html | 100 ++ .../lcov-report/src/encodings/index.html | 176 +++ .../lcov-report/src/encodings/index.ts.html | 97 ++ .../lcov-report/src/encodings/latin1.ts.html | 136 ++ .../lcov-report/src/encodings/ucs2.ts.html | 145 ++ .../lcov-report/src/encodings/utf8.ts.html | 124 ++ .../lcov-report/src/encodings/utf8js.ts.html | 331 ++++ docs/coverage/lcov-report/src/index.html | 176 +++ docs/coverage/lcov-report/src/index.ts.html | 103 ++ docs/coverage/lcov-report/src/node.ts.html | 103 ++ .../lcov-report/src/node_encodings/index.html | 146 ++ .../src/node_encodings/latin1.ts.html | 118 ++ .../src/node_encodings/ucs2.ts.html | 118 ++ .../src/node_encodings/utf8.ts.html | 118 ++ .../lcov-report/src/noeval_serdes/index.html | 146 ++ .../src/noeval_serdes/index.ts.html | 91 ++ .../src/noeval_serdes/number.ts.html | 460 ++++++ .../src/noeval_serdes/struct.ts.html | 154 ++ .../lcov-report/src/serdes/array.ts.html | 148 ++ .../lcov-report/src/serdes/boolean.ts.html | 106 ++ .../lcov-report/src/serdes/bytes.ts.html | 133 ++ .../lcov-report/src/serdes/index.html | 236 +++ .../lcov-report/src/serdes/index.ts.html | 109 ++ .../lcov-report/src/serdes/map.ts.html | 151 ++ .../lcov-report/src/serdes/number.ts.html | 160 ++ .../lcov-report/src/serdes/optional.ts.html | 130 ++ .../lcov-report/src/serdes/string.ts.html | 139 ++ .../lcov-report/src/serdes/struct.ts.html | 178 +++ .../coverage/lcov-report/src/types/index.html | 116 ++ .../lcov-report/src/types/index.ts.html | 91 ++ docs/coverage/lcov-report/src/use.ts.html | 142 ++ docs/coverage/lcov.info | 730 +++++++++ docs/data_types/array.html | 46 + docs/data_types/boolean.html | 45 + docs/data_types/bytes.html | 40 + docs/data_types/map.html | 51 + docs/data_types/number.html | 44 + docs/data_types/optional.html | 45 + docs/data_types/string.html | 44 + docs/data_types/struct.html | 50 + docs/design.html | 42 + docs/extending.html | 79 + docs/index.html | 73 + docs/perf/main.json | 1 + docs/perf/main.png | Bin 0 -> 34297 bytes docs/report/index.html | 1 + docs/report/index.json | 1 + .../jest-html-reporters-attach/index/index.js | 58 + .../index/result.js | 1 + 232 files changed, 12263 insertions(+) create mode 100644 build/context.d.ts create mode 100644 build/context.js create mode 100644 build/context.js.map create mode 100644 build/define.d.ts create mode 100644 build/define.js create mode 100644 build/define.js.map create mode 100644 build/encodings/index.d.ts create mode 100644 build/encodings/index.js create mode 100644 build/encodings/index.js.map create mode 100644 build/encodings/latin1.d.ts create mode 100644 build/encodings/latin1.js create mode 100644 build/encodings/latin1.js.map create mode 100644 build/encodings/ucs2.d.ts create mode 100644 build/encodings/ucs2.js create mode 100644 build/encodings/ucs2.js.map create mode 100644 build/encodings/utf8.d.ts create mode 100644 build/encodings/utf8.js create mode 100644 build/encodings/utf8.js.map create mode 100644 build/encodings/utf8js.d.ts create mode 100644 build/encodings/utf8js.js create mode 100644 build/encodings/utf8js.js.map create mode 100644 build/index.d.ts create mode 100644 build/index.js create mode 100644 build/index.js.map create mode 100644 build/node.d.ts create mode 100644 build/node.js create mode 100644 build/node.js.map create mode 100644 build/node_encodings/index.d.ts create mode 100644 build/node_encodings/index.js create mode 100644 build/node_encodings/index.js.map create mode 100644 build/node_encodings/latin1.d.ts create mode 100644 build/node_encodings/latin1.js create mode 100644 build/node_encodings/latin1.js.map create mode 100644 build/node_encodings/ucs2.d.ts create mode 100644 build/node_encodings/ucs2.js create mode 100644 build/node_encodings/ucs2.js.map create mode 100644 build/node_encodings/utf8.d.ts create mode 100644 build/node_encodings/utf8.js create mode 100644 build/node_encodings/utf8.js.map create mode 100644 build/node_noeval.d.ts create mode 100644 build/node_noeval.js create mode 100644 build/node_noeval.js.map create mode 100644 build/noeval.d.ts create mode 100644 build/noeval.js create mode 100644 build/noeval.js.map create mode 100644 build/noeval_serdes/index.d.ts create mode 100644 build/noeval_serdes/index.js create mode 100644 build/noeval_serdes/index.js.map create mode 100644 build/noeval_serdes/number.d.ts create mode 100644 build/noeval_serdes/number.js create mode 100644 build/noeval_serdes/number.js.map create mode 100644 build/noeval_serdes/struct.d.ts create mode 100644 build/noeval_serdes/struct.js create mode 100644 build/noeval_serdes/struct.js.map create mode 100644 build/serdes/array.d.ts create mode 100644 build/serdes/array.js create mode 100644 build/serdes/array.js.map create mode 100644 build/serdes/boolean.d.ts create mode 100644 build/serdes/boolean.js create mode 100644 build/serdes/boolean.js.map create mode 100644 build/serdes/bytes.d.ts create mode 100644 build/serdes/bytes.js create mode 100644 build/serdes/bytes.js.map create mode 100644 build/serdes/index.d.ts create mode 100644 build/serdes/index.js create mode 100644 build/serdes/index.js.map create mode 100644 build/serdes/map.d.ts create mode 100644 build/serdes/map.js create mode 100644 build/serdes/map.js.map create mode 100644 build/serdes/number.d.ts create mode 100644 build/serdes/number.js create mode 100644 build/serdes/number.js.map create mode 100644 build/serdes/optional.d.ts create mode 100644 build/serdes/optional.js create mode 100644 build/serdes/optional.js.map create mode 100644 build/serdes/string.d.ts create mode 100644 build/serdes/string.js create mode 100644 build/serdes/string.js.map create mode 100644 build/serdes/struct.d.ts create mode 100644 build/serdes/struct.js create mode 100644 build/serdes/struct.js.map create mode 100644 build/types/factories.d.ts create mode 100644 build/types/factories.js create mode 100644 build/types/factories.js.map create mode 100644 build/types/index.d.ts create mode 100644 build/types/index.js create mode 100644 build/types/index.js.map create mode 100644 build/types/serdes.d.ts create mode 100644 build/types/serdes.js create mode 100644 build/types/serdes.js.map create mode 100644 build/use.d.ts create mode 100644 build/use.js create mode 100644 build/use.js.map create mode 100644 deno_dist/LICENSE create mode 100644 deno_dist/README.md create mode 100644 deno_dist/context.ts create mode 100644 deno_dist/define.ts create mode 100644 deno_dist/encodings/index.ts create mode 100644 deno_dist/encodings/latin1.ts create mode 100644 deno_dist/encodings/ucs2.ts create mode 100644 deno_dist/encodings/utf8.ts create mode 100644 deno_dist/encodings/utf8js.ts create mode 100644 deno_dist/index.ts create mode 100644 deno_dist/mod.ts create mode 100644 deno_dist/node.ts create mode 100644 deno_dist/node_encodings/index.ts create mode 100644 deno_dist/node_encodings/latin1.ts create mode 100644 deno_dist/node_encodings/ucs2.ts create mode 100644 deno_dist/node_encodings/utf8.ts create mode 100644 deno_dist/node_noeval.ts create mode 100644 deno_dist/noeval.ts create mode 100644 deno_dist/noeval_serdes/index.ts create mode 100644 deno_dist/noeval_serdes/number.ts create mode 100644 deno_dist/noeval_serdes/struct.ts create mode 100644 deno_dist/serdes/array.ts create mode 100644 deno_dist/serdes/boolean.ts create mode 100644 deno_dist/serdes/bytes.ts create mode 100644 deno_dist/serdes/index.ts create mode 100644 deno_dist/serdes/map.ts create mode 100644 deno_dist/serdes/number.ts create mode 100644 deno_dist/serdes/optional.ts create mode 100644 deno_dist/serdes/string.ts create mode 100644 deno_dist/serdes/struct.ts create mode 100644 deno_dist/types/factories.ts create mode 100644 deno_dist/types/index.ts create mode 100644 deno_dist/types/serdes.ts create mode 100644 deno_dist/use.ts create mode 100644 dist/sirdez.es.js create mode 100644 dist/sirdez.noeval.es.js create mode 100644 dist/sirdez.noeval.umd.js create mode 100644 dist/sirdez.umd.js create mode 100644 docs/404.html create mode 100644 docs/api/.nojekyll create mode 100644 docs/api/assets/highlight.css create mode 100644 docs/api/assets/icons.css create mode 100644 docs/api/assets/icons.png create mode 100644 docs/api/assets/icons@2x.png create mode 100644 docs/api/assets/main.js create mode 100644 docs/api/assets/search.js create mode 100644 docs/api/assets/style.css create mode 100644 docs/api/assets/widgets.png create mode 100644 docs/api/assets/widgets@2x.png create mode 100644 docs/api/index.html create mode 100644 docs/api/interfaces/Context.html create mode 100644 docs/api/interfaces/NumberFactory.html create mode 100644 docs/api/interfaces/Serdes.html create mode 100644 docs/api/interfaces/UsableSerdes.html create mode 100644 docs/api/modules.html create mode 100644 docs/assets/css/0.styles.9aa06acc.css create mode 100644 docs/assets/img/search.83621669.svg create mode 100644 docs/assets/js/10.aa2c1821.js create mode 100644 docs/assets/js/11.79f801dd.js create mode 100644 docs/assets/js/12.ff8e7ae9.js create mode 100644 docs/assets/js/13.3ad04ac5.js create mode 100644 docs/assets/js/14.db48e550.js create mode 100644 docs/assets/js/15.6d1e75e6.js create mode 100644 docs/assets/js/16.545a5f71.js create mode 100644 docs/assets/js/17.1b59257c.js create mode 100644 docs/assets/js/18.f1406b50.js create mode 100644 docs/assets/js/2.a5103cdb.js create mode 100644 docs/assets/js/3.016704f1.js create mode 100644 docs/assets/js/4.003b0fb7.js create mode 100644 docs/assets/js/5.10edfa56.js create mode 100644 docs/assets/js/6.6d30da22.js create mode 100644 docs/assets/js/7.301af573.js create mode 100644 docs/assets/js/8.bfaa41c0.js create mode 100644 docs/assets/js/9.1b2d8a96.js create mode 100644 docs/assets/js/app.b5c202d2.js create mode 100644 docs/badges/coverage.json create mode 100644 docs/badges/perf.json create mode 100644 docs/badges/report.json create mode 100644 docs/components.html create mode 100644 docs/coverage/coverage-final.json create mode 100644 docs/coverage/coverage-summary.json create mode 100644 docs/coverage/lcov-report/base.css create mode 100644 docs/coverage/lcov-report/block-navigation.js create mode 100644 docs/coverage/lcov-report/favicon.png create mode 100644 docs/coverage/lcov-report/index.html create mode 100644 docs/coverage/lcov-report/prettify.css create mode 100644 docs/coverage/lcov-report/prettify.js create mode 100644 docs/coverage/lcov-report/sort-arrow-sprite.png create mode 100644 docs/coverage/lcov-report/sorter.js create mode 100644 docs/coverage/lcov-report/src/context.ts.html create mode 100644 docs/coverage/lcov-report/src/define.ts.html create mode 100644 docs/coverage/lcov-report/src/encodings/index.html create mode 100644 docs/coverage/lcov-report/src/encodings/index.ts.html create mode 100644 docs/coverage/lcov-report/src/encodings/latin1.ts.html create mode 100644 docs/coverage/lcov-report/src/encodings/ucs2.ts.html create mode 100644 docs/coverage/lcov-report/src/encodings/utf8.ts.html create mode 100644 docs/coverage/lcov-report/src/encodings/utf8js.ts.html create mode 100644 docs/coverage/lcov-report/src/index.html create mode 100644 docs/coverage/lcov-report/src/index.ts.html create mode 100644 docs/coverage/lcov-report/src/node.ts.html create mode 100644 docs/coverage/lcov-report/src/node_encodings/index.html create mode 100644 docs/coverage/lcov-report/src/node_encodings/latin1.ts.html create mode 100644 docs/coverage/lcov-report/src/node_encodings/ucs2.ts.html create mode 100644 docs/coverage/lcov-report/src/node_encodings/utf8.ts.html create mode 100644 docs/coverage/lcov-report/src/noeval_serdes/index.html create mode 100644 docs/coverage/lcov-report/src/noeval_serdes/index.ts.html create mode 100644 docs/coverage/lcov-report/src/noeval_serdes/number.ts.html create mode 100644 docs/coverage/lcov-report/src/noeval_serdes/struct.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/array.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/boolean.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/bytes.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/index.html create mode 100644 docs/coverage/lcov-report/src/serdes/index.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/map.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/number.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/optional.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/string.ts.html create mode 100644 docs/coverage/lcov-report/src/serdes/struct.ts.html create mode 100644 docs/coverage/lcov-report/src/types/index.html create mode 100644 docs/coverage/lcov-report/src/types/index.ts.html create mode 100644 docs/coverage/lcov-report/src/use.ts.html create mode 100644 docs/coverage/lcov.info create mode 100644 docs/data_types/array.html create mode 100644 docs/data_types/boolean.html create mode 100644 docs/data_types/bytes.html create mode 100644 docs/data_types/map.html create mode 100644 docs/data_types/number.html create mode 100644 docs/data_types/optional.html create mode 100644 docs/data_types/string.html create mode 100644 docs/data_types/struct.html create mode 100644 docs/design.html create mode 100644 docs/extending.html create mode 100644 docs/index.html create mode 100644 docs/perf/main.json create mode 100644 docs/perf/main.png create mode 100644 docs/report/index.html create mode 100644 docs/report/index.json create mode 100644 docs/report/jest-html-reporters-attach/index/index.js create mode 100644 docs/report/jest-html-reporters-attach/index/result.js diff --git a/build/context.d.ts b/build/context.d.ts new file mode 100644 index 00000000..c5ce85b8 --- /dev/null +++ b/build/context.d.ts @@ -0,0 +1,6 @@ +import { Context, Des, Ser } from "./types"; +export declare function createContext(size?: number): Context; +export declare function growContext(ctx: Context): void; +export declare function contextSer(ctx: Context, ser: Ser, data: T): Uint8Array; +export declare function contextDes(ctx: Context, des: Des, bytes: Uint8Array): T; +export declare function contextFromBytes(array: Uint8Array): Context; diff --git a/build/context.js b/build/context.js new file mode 100644 index 00000000..f3dce06b --- /dev/null +++ b/build/context.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.contextFromBytes = exports.contextDes = exports.contextSer = exports.growContext = exports.createContext = void 0; +function createContext(size = 4096) { + const buffer = new ArrayBuffer(size); + return { + i: 0, + view: new DataView(buffer), + bytes: new Uint8Array(buffer) + }; +} +exports.createContext = createContext; +function growContext(ctx) { + ctx.bytes = new Uint8Array(ctx.bytes.length * 2); + ctx.view = new DataView(ctx.bytes.buffer); +} +exports.growContext = growContext; +function contextSer(ctx, ser, data) { + // eslint-disable-next-line no-constant-condition + while (true) { + const limit = ctx.bytes.length - 8; + ctx.i = 0; + try { + ser(ctx, data); + if (ctx.i < limit) + return ctx.bytes; + } + catch (error) { + if (ctx.i < limit) + throw error; + } + growContext(ctx); + } +} +exports.contextSer = contextSer; +function contextDes(ctx, des, bytes) { + const { length } = bytes; + if (length < 4096) { + ctx.bytes.set(bytes); + ctx.i = 0; + return des(ctx); + } + else { + return des(contextFromBytes(bytes)); + } +} +exports.contextDes = contextDes; +function contextFromBytes(array) { + return { + i: 0, + bytes: array, + view: new DataView(array.buffer, array.byteOffset, array.byteLength) + }; +} +exports.contextFromBytes = contextFromBytes; +//# sourceMappingURL=context.js.map \ No newline at end of file diff --git a/build/context.js.map b/build/context.js.map new file mode 100644 index 00000000..675daa33 --- /dev/null +++ b/build/context.js.map @@ -0,0 +1 @@ +{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,IAAI,GAAG,IAAI;IACvC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC;KAC9B,CAAC;AACJ,CAAC;AAPD,sCAOC;AAED,SAAgB,WAAW,CAAC,GAAY;IACtC,GAAG,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAHD,kCAGC;AAED,SAAgB,UAAU,CACxB,GAAY,EACZ,GAAW,EACX,IAAO;IAEP,iDAAiD;IACjD,OAAO,IAAI,EAAE;QACX,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,IAAI;YACF,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACf,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK;gBAAE,OAAO,GAAG,CAAC,KAAK,CAAC;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK;gBAAE,MAAM,KAAK,CAAC;SAChC;QACD,WAAW,CAAC,GAAG,CAAC,CAAC;KAClB;AACH,CAAC;AAjBD,gCAiBC;AAED,SAAgB,UAAU,CACxB,GAAY,EACZ,GAAW,EACX,KAAiB;IAEjB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,MAAM,GAAG,IAAI,EAAE;QACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;KACjB;SAAM;QACL,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;KACrC;AACH,CAAC;AAbD,gCAaC;AAED,SAAgB,gBAAgB,CAAC,KAAiB;IAChD,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI,QAAQ,CAChB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,UAAU,CACjB;KACF,CAAC;AACJ,CAAC;AAVD,4CAUC"} \ No newline at end of file diff --git a/build/define.d.ts b/build/define.d.ts new file mode 100644 index 00000000..0643ef7d --- /dev/null +++ b/build/define.d.ts @@ -0,0 +1,2 @@ +import { Des, Ser, Serdes } from "./types"; +export declare function define(ser: Ser, des: Des): Serdes; diff --git a/build/define.js b/build/define.js new file mode 100644 index 00000000..49d2cc20 --- /dev/null +++ b/build/define.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.define = void 0; +function define(ser, des) { + return { ser, des }; +} +exports.define = define; +//# sourceMappingURL=define.js.map \ No newline at end of file diff --git a/build/define.js.map b/build/define.js.map new file mode 100644 index 00000000..289048a8 --- /dev/null +++ b/build/define.js.map @@ -0,0 +1 @@ +{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":";;;AAEA,SAAgB,MAAM,CAAI,GAAW,EAAE,GAAW;IAChD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtB,CAAC;AAFD,wBAEC"} \ No newline at end of file diff --git a/build/encodings/index.d.ts b/build/encodings/index.d.ts new file mode 100644 index 00000000..bc181f18 --- /dev/null +++ b/build/encodings/index.d.ts @@ -0,0 +1,4 @@ +export * from "./latin1"; +export * from "./ucs2"; +export * from "./utf8"; +export * from "./utf8js"; diff --git a/build/encodings/index.js b/build/encodings/index.js new file mode 100644 index 00000000..1ddca49c --- /dev/null +++ b/build/encodings/index.js @@ -0,0 +1,17 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./latin1"), exports); +__exportStar(require("./ucs2"), exports); +__exportStar(require("./utf8"), exports); +__exportStar(require("./utf8js"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/encodings/index.js.map b/build/encodings/index.js.map new file mode 100644 index 00000000..a770a35d --- /dev/null +++ b/build/encodings/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/encodings/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB"} \ No newline at end of file diff --git a/build/encodings/latin1.d.ts b/build/encodings/latin1.d.ts new file mode 100644 index 00000000..ce7077e6 --- /dev/null +++ b/build/encodings/latin1.d.ts @@ -0,0 +1,2 @@ +import { Encoding } from "../types"; +export declare const latin1: Encoding; diff --git a/build/encodings/latin1.js b/build/encodings/latin1.js new file mode 100644 index 00000000..02f25687 --- /dev/null +++ b/build/encodings/latin1.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.latin1 = void 0; +exports.latin1 = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint8(ctx.i++, data.charCodeAt(i)); + } + }, + decode(ctx, size) { + const codes = new Array(size); + for (let i = 0; i < size; i++) { + codes[i] = ctx.view.getUint8(ctx.i++); + } + return String.fromCharCode(...codes); + } +}; +//# sourceMappingURL=latin1.js.map \ No newline at end of file diff --git a/build/encodings/latin1.js.map b/build/encodings/latin1.js.map new file mode 100644 index 00000000..88c8fb7f --- /dev/null +++ b/build/encodings/latin1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"latin1.js","sourceRoot":"","sources":["../../src/encodings/latin1.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAqB;IACtC,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD;IACH,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,MAAM,KAAK,GAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;IACvC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/build/encodings/ucs2.d.ts b/build/encodings/ucs2.d.ts new file mode 100644 index 00000000..8a639202 --- /dev/null +++ b/build/encodings/ucs2.d.ts @@ -0,0 +1,2 @@ +import { Encoding } from "../types"; +export declare const ucs2: Encoding; diff --git a/build/encodings/ucs2.js b/build/encodings/ucs2.js new file mode 100644 index 00000000..a0011602 --- /dev/null +++ b/build/encodings/ucs2.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ucs2 = void 0; +exports.ucs2 = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint16(ctx.i, data.charCodeAt(i)); + ctx.i += 2; + } + }, + decode(ctx, size) { + const length = size / 2; + const codes = new Array(length); + for (let i = 0; i < length; i++) { + codes[i] = ctx.view.getUint16(ctx.i); + ctx.i += 2; + } + return String.fromCharCode(...codes); + } +}; +//# sourceMappingURL=ucs2.js.map \ No newline at end of file diff --git a/build/encodings/ucs2.js.map b/build/encodings/ucs2.js.map new file mode 100644 index 00000000..d54c12cd --- /dev/null +++ b/build/encodings/ucs2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ucs2.js","sourceRoot":"","sources":["../../src/encodings/ucs2.ts"],"names":[],"mappings":";;;AAEa,QAAA,IAAI,GAAqB;IACpC,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;SACZ;IACH,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;QACxB,MAAM,KAAK,GAAa,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;SACZ;QACD,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;IACvC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/build/encodings/utf8.d.ts b/build/encodings/utf8.d.ts new file mode 100644 index 00000000..051cd71f --- /dev/null +++ b/build/encodings/utf8.d.ts @@ -0,0 +1,2 @@ +import { Encoding } from "../types"; +export declare const utf8: Encoding; diff --git a/build/encodings/utf8.js b/build/encodings/utf8.js new file mode 100644 index 00000000..a9539d49 --- /dev/null +++ b/build/encodings/utf8.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.utf8 = void 0; +const encoder = /*@__PURE__*/ new TextEncoder(); +const decoder = /*@__PURE__*/ new TextDecoder(); +exports.utf8 = { + encode(ctx, data) { + ctx.i += encoder.encodeInto(data, ctx.bytes.subarray(ctx.i)) + .written; + }, + decode: (ctx, size) => decoder.decode(ctx.bytes.subarray(ctx.i, (ctx.i += size))) +}; +//# sourceMappingURL=utf8.js.map \ No newline at end of file diff --git a/build/encodings/utf8.js.map b/build/encodings/utf8.js.map new file mode 100644 index 00000000..3f261f51 --- /dev/null +++ b/build/encodings/utf8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../src/encodings/utf8.ts"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC;AAChD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC;AAEnC,QAAA,IAAI,GAAqB;IACpC,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACzD,OAAiB,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACpB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;CAC7D,CAAC"} \ No newline at end of file diff --git a/build/encodings/utf8js.d.ts b/build/encodings/utf8js.d.ts new file mode 100644 index 00000000..6d8893e7 --- /dev/null +++ b/build/encodings/utf8js.d.ts @@ -0,0 +1,2 @@ +import { Encoding } from "../types"; +export declare const utf8js: Encoding; diff --git a/build/encodings/utf8js.js b/build/encodings/utf8js.js new file mode 100644 index 00000000..66b85f6e --- /dev/null +++ b/build/encodings/utf8js.js @@ -0,0 +1,87 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.utf8js = void 0; +exports.utf8js = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + const code = data.charCodeAt(i); + if (code < 0x80) { + // 0xxxxxxx + ctx.view.setUint8(ctx.i, code); + ctx.i++; + } + else if (code < 0x800) { + // .... .aaa - aabb bbbb + // 110a aaaa - 10bb bbbb + const a = (code & 0x7c0) << 2; + const b = code & 0x3f; + ctx.view.setUint16(ctx.i, a | b | 0xc080); + ctx.i += 2; + } + else if (code < 0xd800 || code >= 0xe000) { + // .... .... - .... .... - aaaa bbbb - bbcc cccc + // 1110 aaaa - 10bb bbbb - 10cc cccc - .... .... + const a = (code & 0xf000) << 12; + const b = (code & 0xfc0) << 10; + const c = (code & 0x3f) << 8; + ctx.view.setUint32(ctx.i, a | b | c | 0xe0808000); + ctx.i += 3; + } + else { + const code = data.codePointAt(i++); + // .... .... - .... aabb - bbbb cccc - ccdd dddd + // 1111 00aa - 10bb bbbb - 10cc cccc - 10dd dddd + const a = (code & 0x1c0000) << 6; + const b = (code & 0x3f000) << 4; + const c = (code & 0xfc0) << 2; + const d = code & 0x3f; + ctx.view.setUint32(ctx.i, a | b | c | d | 0xf0808080); + ctx.i += 4; + } + } + }, + decode(ctx, size) { + const codes = []; + const end = ctx.i + size; + while (ctx.i < end) { + const s = ctx.view.getUint8(ctx.i); + if (s < 192) { + // 0xxxxxxx + codes.push(s); + ctx.i++; + } + else if (s < 224) { + // 110a aaaa + // 10bb bbbb + // aaa aabb bbbb + const b = ctx.view.getUint8(ctx.i + 1); + ctx.i += 2; + codes.push(((s & 0x1f) << 6) | (b & 0x3f)); + } + else if (s < 240) { + // 1110 aaaa + // 10bb bbbb + // 10cc cccc + // aaaa bbbb bbcc cccc + const b = ctx.view.getUint8(ctx.i + 1); + const c = ctx.view.getUint8(ctx.i + 2); + ctx.i += 3; + codes.push(((s & 0x0f) << 12) | ((b & 0x3f) << 6) | (c & 0x3f)); + } + else { + // 1111 0aaa, 10bb bbbb, 10cc cccc, 10dd dddd + // a aabb, bbbb cccc, ccdd dddd + const u = ctx.view.getUint32(ctx.i); + const a = (s & 0x7) << 18; + const b = (u & 0x3f0000) >> 4; + const c = (u & 0x3f00) >> 2; + const d = u & 0x3f; + codes.push(a | b | c | d); + ctx.i += 4; + } + } + return String.fromCodePoint(...codes); + } +}; +//# sourceMappingURL=utf8js.js.map \ No newline at end of file diff --git a/build/encodings/utf8js.js.map b/build/encodings/utf8js.js.map new file mode 100644 index 00000000..e1533d48 --- /dev/null +++ b/build/encodings/utf8js.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utf8js.js","sourceRoot":"","sources":["../../src/encodings/utf8js.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAqB;IACtC,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAW,CAAC;YAC1C,IAAI,IAAI,GAAG,IAAI,EAAE;gBACf,WAAW;gBACX,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC/B,GAAG,CAAC,CAAC,EAAE,CAAC;aACT;iBAAM,IAAI,IAAI,GAAG,KAAK,EAAE;gBACvB,wBAAwB;gBACxB,wBAAwB;gBACxB,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC1C,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;aACZ;iBAAM,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE;gBAC1C,gDAAgD;gBAChD,gDAAgD;gBAChD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;gBAClD,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;aACZ;iBAAM;gBACL,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAW,CAAC;gBAC7C,gDAAgD;gBAChD,gDAAgD;gBAChD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;gBACtD,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;aACZ;SACF;IACH,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;YAClB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,GAAG,EAAE;gBACX,WAAW;gBACX,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,GAAG,CAAC,CAAC,EAAE,CAAC;aACT;iBAAM,IAAI,CAAC,GAAG,GAAG,EAAE;gBAClB,gBAAgB;gBAChB,gBAAgB;gBAChB,gBAAgB;gBAChB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;aAC5C;iBAAM,IAAI,CAAC,GAAG,GAAG,EAAE;gBAClB,sBAAsB;gBACtB,sBAAsB;gBACtB,sBAAsB;gBACtB,sBAAsB;gBACtB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACX,KAAK,CAAC,IAAI,CACR,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CACpD,CAAC;aACH;iBAAM;gBACL,6CAA6C;gBAC7C,6CAA6C;gBAE7C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;aACZ;SACF;QACD,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC;IACxC,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/build/index.d.ts b/build/index.d.ts new file mode 100644 index 00000000..384ef05d --- /dev/null +++ b/build/index.d.ts @@ -0,0 +1,6 @@ +export * from "./context"; +export * from "./define"; +export * from "./encodings"; +export * from "./serdes"; +export * from "./types"; +export * from "./use"; diff --git a/build/index.js b/build/index.js new file mode 100644 index 00000000..a6ea4741 --- /dev/null +++ b/build/index.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./context"), exports); +__exportStar(require("./define"), exports); +__exportStar(require("./encodings"), exports); +__exportStar(require("./serdes"), exports); +__exportStar(require("./types"), exports); +__exportStar(require("./use"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/index.js.map b/build/index.js.map new file mode 100644 index 00000000..dfd40349 --- /dev/null +++ b/build/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,wCAAsB"} \ No newline at end of file diff --git a/build/node.d.ts b/build/node.d.ts new file mode 100644 index 00000000..546f1907 --- /dev/null +++ b/build/node.d.ts @@ -0,0 +1,6 @@ +export * from "./context"; +export * from "./define"; +export * from "./node_encodings"; +export * from "./serdes"; +export * from "./types"; +export * from "./use"; diff --git a/build/node.js b/build/node.js new file mode 100644 index 00000000..707630ce --- /dev/null +++ b/build/node.js @@ -0,0 +1,19 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./context"), exports); +__exportStar(require("./define"), exports); +__exportStar(require("./node_encodings"), exports); +__exportStar(require("./serdes"), exports); +__exportStar(require("./types"), exports); +__exportStar(require("./use"), exports); +//# sourceMappingURL=node.js.map \ No newline at end of file diff --git a/build/node.js.map b/build/node.js.map new file mode 100644 index 00000000..adf743de --- /dev/null +++ b/build/node.js.map @@ -0,0 +1 @@ +{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,mDAAiC;AACjC,2CAAyB;AACzB,0CAAwB;AACxB,wCAAsB"} \ No newline at end of file diff --git a/build/node_encodings/index.d.ts b/build/node_encodings/index.d.ts new file mode 100644 index 00000000..34b4f4b1 --- /dev/null +++ b/build/node_encodings/index.d.ts @@ -0,0 +1,4 @@ +export * from "./utf8"; +export * from "./latin1"; +export * from "./ucs2"; +export { utf8js } from "../encodings"; diff --git a/build/node_encodings/index.js b/build/node_encodings/index.js new file mode 100644 index 00000000..8ee36770 --- /dev/null +++ b/build/node_encodings/index.js @@ -0,0 +1,20 @@ +"use strict"; +/* istanbul ignore file */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.utf8js = void 0; +__exportStar(require("./utf8"), exports); +__exportStar(require("./latin1"), exports); +__exportStar(require("./ucs2"), exports); +var encodings_1 = require("../encodings"); +Object.defineProperty(exports, "utf8js", { enumerable: true, get: function () { return encodings_1.utf8js; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/node_encodings/index.js.map b/build/node_encodings/index.js.map new file mode 100644 index 00000000..22f83f5d --- /dev/null +++ b/build/node_encodings/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node_encodings/index.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;;;;;;;;;;;AAE1B,yCAAuB;AACvB,2CAAyB;AACzB,yCAAuB;AACvB,0CAAsC;AAA7B,mGAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/build/node_encodings/latin1.d.ts b/build/node_encodings/latin1.d.ts new file mode 100644 index 00000000..ce7077e6 --- /dev/null +++ b/build/node_encodings/latin1.d.ts @@ -0,0 +1,2 @@ +import { Encoding } from "../types"; +export declare const latin1: Encoding; diff --git a/build/node_encodings/latin1.js b/build/node_encodings/latin1.js new file mode 100644 index 00000000..1fecabf8 --- /dev/null +++ b/build/node_encodings/latin1.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.latin1 = void 0; +const { latin1Write, latin1Slice } = Buffer.prototype; +exports.latin1 = { + encode(ctx, data) { + ctx.i += latin1Write.call(ctx.bytes, data, ctx.i); + }, + decode: (ctx, size) => latin1Slice.call(ctx.bytes, ctx.i, (ctx.i += size)) +}; +//# sourceMappingURL=latin1.js.map \ No newline at end of file diff --git a/build/node_encodings/latin1.js.map b/build/node_encodings/latin1.js.map new file mode 100644 index 00000000..5ab8cd9d --- /dev/null +++ b/build/node_encodings/latin1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"latin1.js","sourceRoot":"","sources":["../../src/node_encodings/latin1.ts"],"names":[],"mappings":";;;AAEA,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AAEzC,QAAA,MAAM,GAAqB;IACtC,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACpB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;CACtD,CAAC"} \ No newline at end of file diff --git a/build/node_encodings/ucs2.d.ts b/build/node_encodings/ucs2.d.ts new file mode 100644 index 00000000..8a639202 --- /dev/null +++ b/build/node_encodings/ucs2.d.ts @@ -0,0 +1,2 @@ +import { Encoding } from "../types"; +export declare const ucs2: Encoding; diff --git a/build/node_encodings/ucs2.js b/build/node_encodings/ucs2.js new file mode 100644 index 00000000..cbf1a74c --- /dev/null +++ b/build/node_encodings/ucs2.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ucs2 = void 0; +const { ucs2Write, ucs2Slice } = Buffer.prototype; +exports.ucs2 = { + encode(ctx, data) { + ctx.i += ucs2Write.call(ctx.bytes, data, ctx.i); + }, + decode: (ctx, size) => ucs2Slice.call(ctx.bytes, ctx.i, (ctx.i += size)) +}; +//# sourceMappingURL=ucs2.js.map \ No newline at end of file diff --git a/build/node_encodings/ucs2.js.map b/build/node_encodings/ucs2.js.map new file mode 100644 index 00000000..c18e42a5 --- /dev/null +++ b/build/node_encodings/ucs2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ucs2.js","sourceRoot":"","sources":["../../src/node_encodings/ucs2.ts"],"names":[],"mappings":";;;AAEA,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AAErC,QAAA,IAAI,GAAqB;IACpC,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACpB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;CACpD,CAAC"} \ No newline at end of file diff --git a/build/node_encodings/utf8.d.ts b/build/node_encodings/utf8.d.ts new file mode 100644 index 00000000..051cd71f --- /dev/null +++ b/build/node_encodings/utf8.d.ts @@ -0,0 +1,2 @@ +import { Encoding } from "../types"; +export declare const utf8: Encoding; diff --git a/build/node_encodings/utf8.js b/build/node_encodings/utf8.js new file mode 100644 index 00000000..f3ac4281 --- /dev/null +++ b/build/node_encodings/utf8.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.utf8 = void 0; +const { utf8Write, utf8Slice } = Buffer.prototype; +exports.utf8 = { + encode(ctx, data) { + ctx.i += utf8Write.call(ctx.bytes, data, ctx.i); + }, + decode: (ctx, size) => utf8Slice.call(ctx.bytes, ctx.i, (ctx.i += size)) +}; +//# sourceMappingURL=utf8.js.map \ No newline at end of file diff --git a/build/node_encodings/utf8.js.map b/build/node_encodings/utf8.js.map new file mode 100644 index 00000000..0f48b375 --- /dev/null +++ b/build/node_encodings/utf8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utf8.js","sourceRoot":"","sources":["../../src/node_encodings/utf8.ts"],"names":[],"mappings":";;;AAEA,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;AAErC,QAAA,IAAI,GAAqB;IACpC,MAAM,CAAC,GAAG,EAAE,IAAI;QACd,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACpB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;CACpD,CAAC"} \ No newline at end of file diff --git a/build/node_noeval.d.ts b/build/node_noeval.d.ts new file mode 100644 index 00000000..e242ce90 --- /dev/null +++ b/build/node_noeval.d.ts @@ -0,0 +1,7 @@ +export * from "./context"; +export * from "./define"; +export * from "./node_encodings"; +export * from "./noeval_serdes"; +export { array, boolean, bytes, optional, map as record, string } from "./serdes"; +export * from "./types"; +export * from "./use"; diff --git a/build/node_noeval.js b/build/node_noeval.js new file mode 100644 index 00000000..0c95c188 --- /dev/null +++ b/build/node_noeval.js @@ -0,0 +1,27 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.string = exports.record = exports.optional = exports.bytes = exports.boolean = exports.array = void 0; +__exportStar(require("./context"), exports); +__exportStar(require("./define"), exports); +__exportStar(require("./node_encodings"), exports); +__exportStar(require("./noeval_serdes"), exports); +var serdes_1 = require("./serdes"); +Object.defineProperty(exports, "array", { enumerable: true, get: function () { return serdes_1.array; } }); +Object.defineProperty(exports, "boolean", { enumerable: true, get: function () { return serdes_1.boolean; } }); +Object.defineProperty(exports, "bytes", { enumerable: true, get: function () { return serdes_1.bytes; } }); +Object.defineProperty(exports, "optional", { enumerable: true, get: function () { return serdes_1.optional; } }); +Object.defineProperty(exports, "record", { enumerable: true, get: function () { return serdes_1.map; } }); +Object.defineProperty(exports, "string", { enumerable: true, get: function () { return serdes_1.string; } }); +__exportStar(require("./types"), exports); +__exportStar(require("./use"), exports); +//# sourceMappingURL=node_noeval.js.map \ No newline at end of file diff --git a/build/node_noeval.js.map b/build/node_noeval.js.map new file mode 100644 index 00000000..f8d73bb8 --- /dev/null +++ b/build/node_noeval.js.map @@ -0,0 +1 @@ +{"version":3,"file":"node_noeval.js","sourceRoot":"","sources":["../src/node_noeval.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,mDAAiC;AACjC,kDAAgC;AAChC,mCAOkB;AANhB,+FAAA,KAAK,OAAA;AACL,iGAAA,OAAO,OAAA;AACP,+FAAA,KAAK,OAAA;AACL,kGAAA,QAAQ,OAAA;AACR,gGAAA,GAAG,OAAU;AACb,gGAAA,MAAM,OAAA;AAER,0CAAwB;AACxB,wCAAsB"} \ No newline at end of file diff --git a/build/noeval.d.ts b/build/noeval.d.ts new file mode 100644 index 00000000..242b48b4 --- /dev/null +++ b/build/noeval.d.ts @@ -0,0 +1,7 @@ +export * from "./context"; +export * from "./define"; +export * from "./encodings"; +export * from "./types"; +export * from "./use"; +export * from "./noeval_serdes"; +export { array, boolean, bytes, optional, map as record, string } from "./serdes"; diff --git a/build/noeval.js b/build/noeval.js new file mode 100644 index 00000000..446b32d9 --- /dev/null +++ b/build/noeval.js @@ -0,0 +1,28 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.string = exports.record = exports.optional = exports.bytes = exports.boolean = exports.array = void 0; +/* istanbul ignore file */ +__exportStar(require("./context"), exports); +__exportStar(require("./define"), exports); +__exportStar(require("./encodings"), exports); +__exportStar(require("./types"), exports); +__exportStar(require("./use"), exports); +__exportStar(require("./noeval_serdes"), exports); +var serdes_1 = require("./serdes"); +Object.defineProperty(exports, "array", { enumerable: true, get: function () { return serdes_1.array; } }); +Object.defineProperty(exports, "boolean", { enumerable: true, get: function () { return serdes_1.boolean; } }); +Object.defineProperty(exports, "bytes", { enumerable: true, get: function () { return serdes_1.bytes; } }); +Object.defineProperty(exports, "optional", { enumerable: true, get: function () { return serdes_1.optional; } }); +Object.defineProperty(exports, "record", { enumerable: true, get: function () { return serdes_1.map; } }); +Object.defineProperty(exports, "string", { enumerable: true, get: function () { return serdes_1.string; } }); +//# sourceMappingURL=noeval.js.map \ No newline at end of file diff --git a/build/noeval.js.map b/build/noeval.js.map new file mode 100644 index 00000000..e56e10aa --- /dev/null +++ b/build/noeval.js.map @@ -0,0 +1 @@ +{"version":3,"file":"noeval.js","sourceRoot":"","sources":["../src/noeval.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,4CAA0B;AAC1B,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,wCAAsB;AACtB,kDAAgC;AAChC,mCAOkB;AANhB,+FAAA,KAAK,OAAA;AACL,iGAAA,OAAO,OAAA;AACP,+FAAA,KAAK,OAAA;AACL,kGAAA,QAAQ,OAAA;AACR,gGAAA,GAAG,OAAU;AACb,gGAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/build/noeval_serdes/index.d.ts b/build/noeval_serdes/index.d.ts new file mode 100644 index 00000000..f9176c07 --- /dev/null +++ b/build/noeval_serdes/index.d.ts @@ -0,0 +1,2 @@ +export * from "./number"; +export * from "./struct"; diff --git a/build/noeval_serdes/index.js b/build/noeval_serdes/index.js new file mode 100644 index 00000000..39eae1af --- /dev/null +++ b/build/noeval_serdes/index.js @@ -0,0 +1,15 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./number"), exports); +__exportStar(require("./struct"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/noeval_serdes/index.js.map b/build/noeval_serdes/index.js.map new file mode 100644 index 00000000..2c6b9652 --- /dev/null +++ b/build/noeval_serdes/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/noeval_serdes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB"} \ No newline at end of file diff --git a/build/noeval_serdes/number.d.ts b/build/noeval_serdes/number.d.ts new file mode 100644 index 00000000..194c2817 --- /dev/null +++ b/build/noeval_serdes/number.d.ts @@ -0,0 +1,12 @@ +import { NumberFactory, Serdes } from "../types"; +export declare const uint8: Serdes; +export declare const uint16: Serdes; +export declare const uint32: Serdes; +export declare const bigUint64: Serdes; +export declare const int8: Serdes; +export declare const int16: Serdes; +export declare const int32: Serdes; +export declare const bigInt64: Serdes; +export declare const float32: Serdes; +export declare const float64: Serdes; +export declare const number: NumberFactory; diff --git a/build/noeval_serdes/number.js b/build/noeval_serdes/number.js new file mode 100644 index 00000000..05189e62 --- /dev/null +++ b/build/noeval_serdes/number.js @@ -0,0 +1,87 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.number = exports.float64 = exports.float32 = exports.bigInt64 = exports.int32 = exports.int16 = exports.int8 = exports.bigUint64 = exports.uint32 = exports.uint16 = exports.uint8 = void 0; +const define_1 = require("../define"); +exports.uint8 = (0, define_1.define)((ctx, data) => ctx.view.setUint8(ctx.i++, data), (ctx) => ctx.view.getUint8(ctx.i++)); +exports.uint16 = (0, define_1.define)((ctx, data) => { + ctx.view.setUint16(ctx.i, data); + ctx.i += 2; +}, (ctx) => { + const data = ctx.view.getUint16(ctx.i); + ctx.i += 2; + return data; +}); +exports.uint32 = (0, define_1.define)((ctx, data) => { + ctx.view.setUint32(ctx.i, data); + ctx.i += 4; +}, (ctx) => { + const data = ctx.view.getUint32(ctx.i); + ctx.i += 4; + return data; +}); +exports.bigUint64 = (0, define_1.define)((ctx, data) => { + ctx.view.setBigUint64(ctx.i, data); + ctx.i += 8; +}, (ctx) => { + const data = ctx.view.getBigUint64(ctx.i); + ctx.i += 8; + return data; +}); +exports.int8 = (0, define_1.define)((ctx, data) => ctx.view.setInt8(ctx.i++, data), (ctx) => ctx.view.getInt8(ctx.i++)); +exports.int16 = (0, define_1.define)((ctx, data) => { + ctx.view.setInt16(ctx.i, data); + ctx.i += 2; +}, (ctx) => { + const data = ctx.view.getInt16(ctx.i); + ctx.i += 2; + return data; +}); +exports.int32 = (0, define_1.define)((ctx, data) => { + ctx.view.setInt32(ctx.i, data); + ctx.i += 4; +}, (ctx) => { + const data = ctx.view.getInt32(ctx.i); + ctx.i += 4; + return data; +}); +exports.bigInt64 = (0, define_1.define)((ctx, data) => { + ctx.view.setBigInt64(ctx.i, data); + ctx.i += 8; +}, (ctx) => { + const data = ctx.view.getBigInt64(ctx.i); + ctx.i += 8; + return data; +}); +exports.float32 = (0, define_1.define)((ctx, data) => { + ctx.view.setFloat32(ctx.i, data); + ctx.i += 4; +}, (ctx) => { + const data = ctx.view.getFloat32(ctx.i); + ctx.i += 4; + return data; +}); +exports.float64 = (0, define_1.define)((ctx, data) => { + ctx.view.setFloat64(ctx.i, data); + ctx.i += 8; +}, (ctx) => { + const data = ctx.view.getFloat64(ctx.i); + ctx.i += 8; + return data; +}); +const mappings = { + uint8: exports.uint8, + uint16: exports.uint16, + uint32: exports.uint32, + int8: exports.int8, + int16: exports.int16, + int32: exports.int32, + float32: exports.float32, + float64: exports.float64, + bigUint64: exports.bigUint64, + bigInt64: exports.bigInt64 +}; +const number = (kind, bitSize) => +// eslint-disable-next-line @typescript-eslint/no-explicit-any +mappings[`${kind}${bitSize}`]; +exports.number = number; +//# sourceMappingURL=number.js.map \ No newline at end of file diff --git a/build/noeval_serdes/number.js.map b/build/noeval_serdes/number.js.map new file mode 100644 index 00000000..961ee3cc --- /dev/null +++ b/build/noeval_serdes/number.js.map @@ -0,0 +1 @@ +{"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/noeval_serdes/number.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/noeval_serdes/struct.d.ts b/build/noeval_serdes/struct.d.ts new file mode 100644 index 00000000..52db6751 --- /dev/null +++ b/build/noeval_serdes/struct.d.ts @@ -0,0 +1,3 @@ +import { StructFactory, TupleFactory } from ".."; +export declare const struct: StructFactory; +export declare const tuple: TupleFactory; diff --git a/build/noeval_serdes/struct.js b/build/noeval_serdes/struct.js new file mode 100644 index 00000000..d5b62ae7 --- /dev/null +++ b/build/noeval_serdes/struct.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tuple = exports.struct = void 0; +const __1 = require(".."); +const struct = (definition) => { + const obj = definition instanceof Array ? () => [] : () => ({}); + return (0, __1.define)((ctx, data) => { + for (const key in definition) { + definition[key].ser(ctx, data[key]); + } + }, (ctx) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const data = obj(); + for (const key in definition) { + data[key] = definition[key].des(ctx); + } + return data; + }); +}; +exports.struct = struct; +const tuple = (...definition) => (0, exports.struct)(definition); +exports.tuple = tuple; +//# sourceMappingURL=struct.js.map \ No newline at end of file diff --git a/build/noeval_serdes/struct.js.map b/build/noeval_serdes/struct.js.map new file mode 100644 index 00000000..4ecf8e14 --- /dev/null +++ b/build/noeval_serdes/struct.js.map @@ -0,0 +1 @@ +{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../src/noeval_serdes/struct.ts"],"names":[],"mappings":";;;AAAA,0BAAyD;AAElD,MAAM,MAAM,GAAkB,CAAC,UAAU,EAAE,EAAE;IAClD,MAAM,GAAG,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,IAAA,UAAM,EACX,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACZ,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;YAC5B,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACrC;IACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACN,8DAA8D;QAC9D,MAAM,IAAI,GAAG,GAAG,EAAS,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,MAAM,UAiBjB;AAEK,MAAM,KAAK,GAAiB,CAAC,GAAG,UAAU,EAAE,EAAE,CACnD,IAAA,cAAM,EAAC,UAAU,CAAC,CAAC;AADR,QAAA,KAAK,SACG"} \ No newline at end of file diff --git a/build/serdes/array.d.ts b/build/serdes/array.d.ts new file mode 100644 index 00000000..b10b81c9 --- /dev/null +++ b/build/serdes/array.d.ts @@ -0,0 +1,2 @@ +import { ArrayFactory } from "../types"; +export declare const array: ArrayFactory; diff --git a/build/serdes/array.js b/build/serdes/array.js new file mode 100644 index 00000000..8ede5562 --- /dev/null +++ b/build/serdes/array.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.array = void 0; +const define_1 = require("../define"); +const array = (sd, headSd) => (0, define_1.define)((ctx, data) => { + const { length } = data; + headSd.ser(ctx, length); + for (let i = 0; i < length; i++) { + sd.ser(ctx, data[i]); + } +}, (ctx) => { + const length = headSd.des(ctx); + const data = new Array(length); + for (let i = 0; i < length; i++) { + data[i] = sd.des(ctx); + } + return data; +}); +exports.array = array; +//# sourceMappingURL=array.js.map \ No newline at end of file diff --git a/build/serdes/array.js.map b/build/serdes/array.js.map new file mode 100644 index 00000000..e6f2c994 --- /dev/null +++ b/build/serdes/array.js.map @@ -0,0 +1 @@ +{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/serdes/array.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAG5B,MAAM,KAAK,GAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAChD,IAAA,eAAM,EACJ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACtB;AACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACvB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAjBS,QAAA,KAAK,SAiBd"} \ No newline at end of file diff --git a/build/serdes/boolean.d.ts b/build/serdes/boolean.d.ts new file mode 100644 index 00000000..e38bf0f3 --- /dev/null +++ b/build/serdes/boolean.d.ts @@ -0,0 +1,2 @@ +import { Serdes } from "../types"; +export declare const boolean: Serdes; diff --git a/build/serdes/boolean.js b/build/serdes/boolean.js new file mode 100644 index 00000000..c292bbb2 --- /dev/null +++ b/build/serdes/boolean.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.boolean = void 0; +const define_1 = require("../define"); +exports.boolean = (0, define_1.define)((ctx, data) => void ctx.view.setUint8(ctx.i++, +data), (ctx) => !!ctx.view.getUint8(ctx.i++)); +//# sourceMappingURL=boolean.js.map \ No newline at end of file diff --git a/build/serdes/boolean.js.map b/build/serdes/boolean.js.map new file mode 100644 index 00000000..e8dfc727 --- /dev/null +++ b/build/serdes/boolean.js.map @@ -0,0 +1 @@ +{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/serdes/boolean.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAGtB,QAAA,OAAO,GAAoB,IAAA,eAAM,EAC5C,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EACrD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CACtC,CAAC"} \ No newline at end of file diff --git a/build/serdes/bytes.d.ts b/build/serdes/bytes.d.ts new file mode 100644 index 00000000..2c3457dd --- /dev/null +++ b/build/serdes/bytes.d.ts @@ -0,0 +1,2 @@ +import { BytesFactory } from "../types"; +export declare const bytes: BytesFactory; diff --git a/build/serdes/bytes.js b/build/serdes/bytes.js new file mode 100644 index 00000000..a9de5ca3 --- /dev/null +++ b/build/serdes/bytes.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bytes = void 0; +const define_1 = require("../define"); +const bytes = (headSd) => (0, define_1.define)((ctx, data) => { + const { byteLength } = data; + headSd.ser(ctx, byteLength); + ctx.bytes.set(data, ctx.i); + ctx.i += byteLength; +}, (ctx) => { + const byteLength = headSd.des(ctx); + return ctx.bytes.subarray(ctx.i, (ctx.i += byteLength)); +}); +exports.bytes = bytes; +//# sourceMappingURL=bytes.js.map \ No newline at end of file diff --git a/build/serdes/bytes.js.map b/build/serdes/bytes.js.map new file mode 100644 index 00000000..7aded5f0 --- /dev/null +++ b/build/serdes/bytes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/serdes/bytes.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAG5B,MAAM,KAAK,GAAiB,CAAC,MAAM,EAAE,EAAE,CAC5C,IAAA,eAAM,EACJ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACZ,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC5B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC;AACtB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;AAC1D,CAAC,CACF,CAAC;AAZS,QAAA,KAAK,SAYd"} \ No newline at end of file diff --git a/build/serdes/index.d.ts b/build/serdes/index.d.ts new file mode 100644 index 00000000..d92be75d --- /dev/null +++ b/build/serdes/index.d.ts @@ -0,0 +1,8 @@ +export * from "./array"; +export * from "./optional"; +export * from "./map"; +export * from "./string"; +export * from "./bytes"; +export * from "./boolean"; +export * from "./struct"; +export * from "./number"; diff --git a/build/serdes/index.js b/build/serdes/index.js new file mode 100644 index 00000000..6879e818 --- /dev/null +++ b/build/serdes/index.js @@ -0,0 +1,21 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./array"), exports); +__exportStar(require("./optional"), exports); +__exportStar(require("./map"), exports); +__exportStar(require("./string"), exports); +__exportStar(require("./bytes"), exports); +__exportStar(require("./boolean"), exports); +__exportStar(require("./struct"), exports); +__exportStar(require("./number"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/serdes/index.js.map b/build/serdes/index.js.map new file mode 100644 index 00000000..ebd31b7f --- /dev/null +++ b/build/serdes/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serdes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,wCAAsB;AACtB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB"} \ No newline at end of file diff --git a/build/serdes/map.d.ts b/build/serdes/map.d.ts new file mode 100644 index 00000000..82f7c185 --- /dev/null +++ b/build/serdes/map.d.ts @@ -0,0 +1,2 @@ +import { MapFactory } from "../types"; +export declare const map: MapFactory; diff --git a/build/serdes/map.js b/build/serdes/map.js new file mode 100644 index 00000000..b25f53ec --- /dev/null +++ b/build/serdes/map.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.map = void 0; +const define_1 = require("../define"); +const map = (keySd, valueSd, headSd) => (0, define_1.define)((ctx, data) => { + const { length } = Object.keys(data); + headSd.ser(ctx, length); + for (const key in data) { + keySd.ser(ctx, key); + valueSd.ser(ctx, data[key]); + } +}, (ctx) => { + const length = headSd.des(ctx); + const data = {}; + for (let i = 0; i < length; i++) { + data[keySd.des(ctx)] = valueSd.des(ctx); + } + return data; +}); +exports.map = map; +//# sourceMappingURL=map.js.map \ No newline at end of file diff --git a/build/serdes/map.js.map b/build/serdes/map.js.map new file mode 100644 index 00000000..c2c1fec5 --- /dev/null +++ b/build/serdes/map.js.map @@ -0,0 +1 @@ +{"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/serdes/map.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAG5B,MAAM,GAAG,GAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CACxD,IAAA,eAAM,EACJ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACZ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;AACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;IACN,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAA4C,EAAE,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACzC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAlBS,QAAA,GAAG,OAkBZ"} \ No newline at end of file diff --git a/build/serdes/number.d.ts b/build/serdes/number.d.ts new file mode 100644 index 00000000..98182bac --- /dev/null +++ b/build/serdes/number.d.ts @@ -0,0 +1,12 @@ +import { NumberFactory } from "../types"; +export declare const number: NumberFactory; +export declare const uint8: import("../types").Serdes; +export declare const uint16: import("../types").Serdes; +export declare const uint32: import("../types").Serdes; +export declare const int8: import("../types").Serdes; +export declare const int16: import("../types").Serdes; +export declare const int32: import("../types").Serdes; +export declare const bigUint64: import("../types").Serdes; +export declare const bigInt64: import("../types").Serdes; +export declare const float32: import("../types").Serdes; +export declare const float64: import("../types").Serdes; diff --git a/build/serdes/number.js b/build/serdes/number.js new file mode 100644 index 00000000..5570eac0 --- /dev/null +++ b/build/serdes/number.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.float64 = exports.float32 = exports.bigInt64 = exports.bigUint64 = exports.int32 = exports.int16 = exports.int8 = exports.uint32 = exports.uint16 = exports.uint8 = exports.number = void 0; +const define_1 = require("../define"); +const number = (kind, bitSize) => { + const name = + /*@__PURE__*/ kind[0].toUpperCase() + + /*@__PURE__*/ kind.slice(1) + + bitSize; + const size = bitSize / 8; + return /*@__PURE__*/ new Function("d", `return d((c,d)=>{c.view.set${name}(c.i,d);c.i+=${size}},(c)=>{const d=c.view.get${name}(c.i);c.i+=${size};return d})`)(define_1.define); +}; +exports.number = number; +exports.uint8 = (0, exports.number)("uint", 8); +exports.uint16 = (0, exports.number)("uint", 16); +exports.uint32 = (0, exports.number)("uint", 32); +exports.int8 = (0, exports.number)("int", 8); +exports.int16 = (0, exports.number)("int", 16); +exports.int32 = (0, exports.number)("int", 32); +exports.bigUint64 = (0, exports.number)("bigUint", 64); +exports.bigInt64 = (0, exports.number)("bigInt", 64); +exports.float32 = (0, exports.number)("float", 32); +exports.float64 = (0, exports.number)("float", 64); +//# sourceMappingURL=number.js.map \ No newline at end of file diff --git a/build/serdes/number.js.map b/build/serdes/number.js.map new file mode 100644 index 00000000..a8bb03d2 --- /dev/null +++ b/build/serdes/number.js.map @@ -0,0 +1 @@ +{"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/serdes/number.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAG5B,MAAM,MAAM,GAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACrD,MAAM,IAAI;IACR,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QACnC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC;IACV,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;IACzB,OAAO,aAAa,CAAC,IAAI,QAAQ,CAC/B,GAAG,EACH,8BAA8B,IAAI,gBAAgB,IAAI,6BAA6B,IAAI,cAAc,IAAI,aAAa,CACvH,CAAC,eAAM,CAAC,CAAC;AACZ,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB;AAEW,QAAA,KAAK,GAAG,IAAA,cAAM,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC1B,QAAA,MAAM,GAAG,IAAA,cAAM,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5B,QAAA,MAAM,GAAG,IAAA,cAAM,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5B,QAAA,IAAI,GAAG,IAAA,cAAM,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACxB,QAAA,KAAK,GAAG,IAAA,cAAM,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1B,QAAA,KAAK,GAAG,IAAA,cAAM,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1B,QAAA,SAAS,GAAG,IAAA,cAAM,EAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAClC,QAAA,QAAQ,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,OAAO,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC9B,QAAA,OAAO,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC"} \ No newline at end of file diff --git a/build/serdes/optional.d.ts b/build/serdes/optional.d.ts new file mode 100644 index 00000000..759a7458 --- /dev/null +++ b/build/serdes/optional.d.ts @@ -0,0 +1,2 @@ +import { OptionalFactory } from "../types"; +export declare const optional: OptionalFactory; diff --git a/build/serdes/optional.js b/build/serdes/optional.js new file mode 100644 index 00000000..abf8a865 --- /dev/null +++ b/build/serdes/optional.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.optional = void 0; +const define_1 = require("../define"); +const optional = (sd) => (0, define_1.define)((ctx, data) => { + if (data == undefined) { + ctx.view.setUint8(ctx.i++, 0); + } + else { + ctx.view.setUint8(ctx.i++, 1); + sd.ser(ctx, data); + } +}, (ctx) => (ctx.view.getUint8(ctx.i++) ? sd.des(ctx) : undefined)); +exports.optional = optional; +//# sourceMappingURL=optional.js.map \ No newline at end of file diff --git a/build/serdes/optional.js.map b/build/serdes/optional.js.map new file mode 100644 index 00000000..1958b2b7 --- /dev/null +++ b/build/serdes/optional.js.map @@ -0,0 +1 @@ +{"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/serdes/optional.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAG5B,MAAM,QAAQ,GAAoB,CAAC,EAAE,EAAE,EAAE,CAC9C,IAAA,eAAM,EACJ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACZ,IAAI,IAAI,IAAI,SAAS,EAAE;QACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KAC/B;SAAM;QACL,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9B,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACnB;AACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAChE,CAAC;AAXS,QAAA,QAAQ,YAWjB"} \ No newline at end of file diff --git a/build/serdes/string.d.ts b/build/serdes/string.d.ts new file mode 100644 index 00000000..a253eeb4 --- /dev/null +++ b/build/serdes/string.d.ts @@ -0,0 +1,2 @@ +import { StringFactory } from "../types"; +export declare const string: StringFactory; diff --git a/build/serdes/string.js b/build/serdes/string.js new file mode 100644 index 00000000..bf0b4d24 --- /dev/null +++ b/build/serdes/string.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.string = void 0; +const define_1 = require("../define"); +const string = (encoding, headSd) => (0, define_1.define)((ctx, data) => { + const head = ctx.i; + headSd.ser(ctx, 0); + const begin = ctx.i; + encoding.encode(ctx, data); + const end = ctx.i; + const size = end - begin; + ctx.i = head; + headSd.ser(ctx, size); + ctx.i = end; +}, (ctx) => encoding.decode(ctx, headSd.des(ctx))); +exports.string = string; +//# sourceMappingURL=string.js.map \ No newline at end of file diff --git a/build/serdes/string.js.map b/build/serdes/string.js.map new file mode 100644 index 00000000..814ee25c --- /dev/null +++ b/build/serdes/string.js.map @@ -0,0 +1 @@ +{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/serdes/string.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAG5B,MAAM,MAAM,GAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CACxD,IAAA,eAAM,EACJ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACZ,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;IACzB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACb,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtB,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACd,CAAC,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAC/C,CAAC;AAdS,QAAA,MAAM,UAcf"} \ No newline at end of file diff --git a/build/serdes/struct.d.ts b/build/serdes/struct.d.ts new file mode 100644 index 00000000..52db6751 --- /dev/null +++ b/build/serdes/struct.d.ts @@ -0,0 +1,3 @@ +import { StructFactory, TupleFactory } from ".."; +export declare const struct: StructFactory; +export declare const tuple: TupleFactory; diff --git a/build/serdes/struct.js b/build/serdes/struct.js new file mode 100644 index 00000000..7e55b6b0 --- /dev/null +++ b/build/serdes/struct.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tuple = exports.struct = void 0; +const __1 = require(".."); +const nameOf = (key) => +/*@__PURE__*/ isNaN(+key) ? /*@__PURE__*/ JSON.stringify(key) : key; +const struct = (definition) => { + const keys = /*@__PURE__*/ Object.keys(definition); + const indexes = /*@__PURE__*/ Object.keys(keys).map((i) => +i); + const values = /*@__PURE__*/ Object.values(definition); + return /*@__PURE__*/ new Function("d", `[${indexes.map((i) => "k" + i).join()}]`, `[${indexes.map((i) => "s" + i).join()}]`, `[${indexes.map((i) => "d" + i).join()}]`, `return d((c,d)=>{${indexes + .map((i) => `s${i}(c,d[${nameOf(keys[i])}])`) + .join(";")}},(c)=>{const d=${definition instanceof Array ? "[]" : "{}"};${indexes + .map((i) => `d[${nameOf(keys[i])}]=d${i}(c)`) + .join(";")};return d})`)(__1.define, keys, + /*@__PURE__*/ values.map(({ ser }) => ser), + /*@__PURE__*/ values.map(({ des }) => des)); +}; +exports.struct = struct; +const tuple = (...definition) => (0, exports.struct)(definition); +exports.tuple = tuple; +//# sourceMappingURL=struct.js.map \ No newline at end of file diff --git a/build/serdes/struct.js.map b/build/serdes/struct.js.map new file mode 100644 index 00000000..3f285099 --- /dev/null +++ b/build/serdes/struct.js.map @@ -0,0 +1 @@ +{"version":3,"file":"struct.js","sourceRoot":"","sources":["../../src/serdes/struct.ts"],"names":[],"mappings":";;;AAAA,0BAAyD;AAEzD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;AAC7B,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAE/D,MAAM,MAAM,GAAkB,CAAC,UAAU,EAAE,EAAE;IAClD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvD,OAAO,aAAa,CAAC,IAAI,QAAQ,CAC/B,GAAG,EACH,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EACzC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EACzC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EACzC,oBAAoB,OAAO;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAC5C,IAAI,CAAC,GAAG,CAAC,mBACV,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IACvC,IAAI,OAAO;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC5C,IAAI,CAAC,GAAG,CAAC,aAAa,CAC1B,CACC,UAAM,EACN,IAAI;IACJ,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;IAC1C,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAC3C,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,MAAM,UAsBjB;AAEK,MAAM,KAAK,GAAiB,CAAC,GAAG,UAAU,EAAE,EAAE,CACnD,IAAA,cAAM,EAAC,UAAU,CAAC,CAAC;AADR,QAAA,KAAK,SACG"} \ No newline at end of file diff --git a/build/types/factories.d.ts b/build/types/factories.d.ts new file mode 100644 index 00000000..4e48e1c1 --- /dev/null +++ b/build/types/factories.d.ts @@ -0,0 +1,27 @@ +import { Encoding, Serdes } from "."; +declare type IntKind = "uint" | "int"; +declare type IntSize = 8 | 16 | 32; +declare type FloatKind = "float"; +declare type FloatSize = 32 | 64; +declare type BigIntKind = "bigInt" | "bigUint"; +declare type BigIntSize = 64; +declare type Kind = IntKind | FloatKind | BigIntKind; +declare type Size = IntSize | FloatSize | BigIntSize; +export interface NumberFactory { + (kind: IntKind, bitSize: IntSize): Serdes; + (kind: FloatKind, bitSize: FloatSize): Serdes; + (kind: BigIntKind, bitSize: BigIntSize): Serdes; + (kind: Kind, bitSize: Size): Serdes; +} +export declare type StringFactory = (encoding: Encoding, headSd: Serdes) => Serdes; +export declare type BytesFactory = (headSd: Serdes) => Serdes; +export declare type Struct = Record | unknown[]; +export declare type StructDefinition = { + [k in keyof T]: Serdes; +}; +export declare type StructFactory = (definition: StructDefinition) => Serdes; +export declare type TupleFactory = (...definition: StructDefinition) => Serdes; +export declare type MapFactory = (keySd: Serdes, valueSd: Serdes, headSd: Serdes) => Serdes>; +export declare type ArrayFactory = (sd: Serdes, headSd: Serdes) => Serdes; +export declare type OptionalFactory = (sd: Serdes) => Serdes; +export {}; diff --git a/build/types/factories.js b/build/types/factories.js new file mode 100644 index 00000000..b56e8eaa --- /dev/null +++ b/build/types/factories.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=factories.js.map \ No newline at end of file diff --git a/build/types/factories.js.map b/build/types/factories.js.map new file mode 100644 index 00000000..2fd3302d --- /dev/null +++ b/build/types/factories.js.map @@ -0,0 +1 @@ +{"version":3,"file":"factories.js","sourceRoot":"","sources":["../../src/types/factories.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/build/types/index.d.ts b/build/types/index.d.ts new file mode 100644 index 00000000..28ec437f --- /dev/null +++ b/build/types/index.d.ts @@ -0,0 +1,2 @@ +export * from "./factories"; +export * from "./serdes"; diff --git a/build/types/index.js b/build/types/index.js new file mode 100644 index 00000000..3cf1db59 --- /dev/null +++ b/build/types/index.js @@ -0,0 +1,15 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./factories"), exports); +__exportStar(require("./serdes"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/build/types/index.js.map b/build/types/index.js.map new file mode 100644 index 00000000..7e514342 --- /dev/null +++ b/build/types/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B;AAC5B,2CAAyB"} \ No newline at end of file diff --git a/build/types/serdes.d.ts b/build/types/serdes.d.ts new file mode 100644 index 00000000..7e1fd49e --- /dev/null +++ b/build/types/serdes.d.ts @@ -0,0 +1,21 @@ +export interface Context { + i: number; + view: DataView; + bytes: Uint8Array; +} +export declare type GetType = T extends Serdes ? X : never; +export declare type Ser = (ctx: Context, data: T) => void; +export declare type Des = (ctx: Context) => T; +export interface Serdes { + ser: Ser; + des: Des; +} +export interface UsableSerdes extends Serdes { + toBytes: (data: T) => Uint8Array; + toUnsafeBytes: (data: T) => Uint8Array; + fromBytes: (buf: Uint8Array) => T; +} +export declare type Encoding = { + encode(ctx: Context, data: T): void; + decode(ctx: Context, size: number): T; +}; diff --git a/build/types/serdes.js b/build/types/serdes.js new file mode 100644 index 00000000..c659cf80 --- /dev/null +++ b/build/types/serdes.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=serdes.js.map \ No newline at end of file diff --git a/build/types/serdes.js.map b/build/types/serdes.js.map new file mode 100644 index 00000000..da1f3f5d --- /dev/null +++ b/build/types/serdes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serdes.js","sourceRoot":"","sources":["../../src/types/serdes.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/build/use.d.ts b/build/use.d.ts new file mode 100644 index 00000000..522aaf06 --- /dev/null +++ b/build/use.d.ts @@ -0,0 +1,2 @@ +import { Serdes, UsableSerdes } from "."; +export declare function use({ ser, des }: Serdes): UsableSerdes; diff --git a/build/use.js b/build/use.js new file mode 100644 index 00000000..4b87ef4c --- /dev/null +++ b/build/use.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.use = void 0; +const _1 = require("."); +function use({ ser, des }) { + const ctx = (0, _1.createContext)(); + return { + ser, + des, + toBytes: (data) => (0, _1.contextSer)(ctx, ser, data).slice(0, ctx.i), + toUnsafeBytes: (data) => (0, _1.contextSer)(ctx, ser, data).subarray(0, ctx.i), + fromBytes: (bytes) => (0, _1.contextDes)(ctx, des, bytes) + }; +} +exports.use = use; +//# sourceMappingURL=use.js.map \ No newline at end of file diff --git a/build/use.js.map b/build/use.js.map new file mode 100644 index 00000000..b1f205fb --- /dev/null +++ b/build/use.js.map @@ -0,0 +1 @@ +{"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":";;;AAAA,wBAMW;AAEX,SAAgB,GAAG,CAAI,EAAE,GAAG,EAAE,GAAG,EAAa;IAC5C,MAAM,GAAG,GAAG,IAAA,gBAAa,GAAE,CAAC;IAC5B,OAAO;QACL,GAAG;QACH,GAAG;QACH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAU,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7D,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,IAAA,aAAU,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,aAAU,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;KAClD,CAAC;AACJ,CAAC;AAVD,kBAUC"} \ No newline at end of file diff --git a/deno_dist/LICENSE b/deno_dist/LICENSE new file mode 100644 index 00000000..4ab8fd42 --- /dev/null +++ b/deno_dist/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Wei + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/deno_dist/README.md b/deno_dist/README.md new file mode 100644 index 00000000..4bf15d7e --- /dev/null +++ b/deno_dist/README.md @@ -0,0 +1,182 @@ +
+ +[![Sir Dez][logo-badge]][logo-url] + +# **Glorious [_SerDes_][serdes] for TypeScript** + +The **library** you can rely on, +For **binary** **serialization** and **deserialization**, +In **Node**, **Deno**, and the **Web** environment, +Which is **simple** and yet **performant**. + +[![npm][npm-badge]][npm-url] +[![deno][deno-badge]][deno-url] +[![ci][ci-badge]][ci-url] +[![coverage][coverage-badge]][coverage-url] +[![report][report-badge]][report-url] +[![docs][docs-badge]][docs-url] +[![perf][perf-badge]][perf-url] +[![bundle][bundle-badge]][bundle-url] + +
+ +## Features + +- Performant +- Easy to use +- Full TypeScript support +- Super extensible +- 99% tree-shakable +- Zero dependencies (small footprint) +- Runs in Node, Deno and browsers +- [More details...][design-url] + +**Performance Comparison with other tools in Node (ops/sec)** + +[![performance][perf-chart]][perf-url] + +## Installation + +Expand for more details. + +
+ Node (Webpack, Babel, React, Svelte, Vue, Svelte...) + +#### In the terminal with NPM + +```sh +npm i sirdez +``` + +#### Or with Yarn + +```sh +yarn add sirdez +``` + +#### In the code with ES Modules + +```ts +import * as sd from "sirdez"; +``` + +#### or with CommonJS + +```ts +const sd = require("sirdez"); +``` + +
+ +
+Web (without bundlers) + +#### In HTML with UMD + +```html + +``` + +#### In an ES module script (statically) + +```js +import * as sd from "https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js"; +``` + +#### In an ES module script (dynamically) + +```js +const sd = await import( + "https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js" +); +``` + +
+ +
+Deno + +#### In code (statically) + +```ts +import * as sd from "https://deno.land/x/sirdez/mod.ts"; +``` + +#### In code (dynamically) + +```ts +const sd = await import("https://deno.land/x/sirdez/mod.ts"); +``` + +
+ +## Usage + +#### Simple snippet of code + +```js +const person = sd.use( + sd.struct({ + name: sd.string(sd.utf8, sd.uint8), + age: sd.uint8 + }) +); + +const bytes = person.toBytes({ + name: "Bob", + age: 23 +}); + +const samePerson = person.fromBytes(bytes); + +console.log({ bytes, samePerson }); +``` + +#### Using TypeScript utilities + +```ts +type Person = sd.GetType; + +const bob: Person = { + name: "Bob", + age: 23 +}; +``` + +## Resources + +- [Documentation][docs-url] +- [Coverage Report][coverage-url] +- [Test Report][report-url] +- [Performance Report][perf-url] +- [NPM package][npm-url] +- [Deno Land][deno-url] +- [GitHub Action CI][ci-url] + +## Contribution + +Help and suggestions are welcomed! + + + +[serdes]: https://en.wikipedia.org/wiki/SerDes +[logo-badge]: https://see.fontimg.com/api/renderfont4/Zd2J/eyJyIjoiZnMiLCJoIjoxMjAsImZnYyI6IiNEQzE0M0MiLCJ0IjoxfQ/U2lyIERleg/x.png +[logo-url]: https://weisrc.github.io/sirdez +[ci-badge]: https://github.com/weisrc/sirdez/actions/workflows/ci.yml/badge.svg +[ci-url]: https://github.com/weisrc/sirdez/actions/workflows/ci.yml +[npm-badge]: https://img.shields.io/npm/v/sirdez?color=cb3837&label=npm&logo=npm +[npm-url]: https://www.npmjs.com/package/sirdez +[deno-badge]: https://img.shields.io/github/v/release/weisrc/sirdez?color=white&include_prereleases&label=deno&logo=deno +[deno-url]: https://deno.land/x/sirdez +[coverage-badge]: https://img.shields.io/endpoint?url=https://weisrc.github.io/sirdez/badges/coverage.json +[coverage-url]: https://weisrc.github.io/sirdez/coverage/lcov-report +[report-badge]: https://img.shields.io/endpoint?url=https://weisrc.github.io/sirdez/badges/report.json +[report-url]: https://weisrc.github.io/sirdez/report +[perf-badge]: https://img.shields.io/endpoint?url=https://weisrc.github.io/sirdez/badges/perf.json +[perf-chart]: https://weisrc.github.io/sirdez/perf/main.png +[perf-url]: TODO +[docs-badge]: https://img.shields.io/badge/docs-vuepress-41B883?logo=readthedocs +[docs-url]: https://weisrc.github.io/sirdez +[design-url]: https://weisrc.github.io/sirdez/design +[bundle-badge]: https://img.shields.io/bundlephobia/minzip/sirdez +[bundle-url]: https://bundlephobia.com/package/sirdez diff --git a/deno_dist/context.ts b/deno_dist/context.ts new file mode 100644 index 00000000..913f50de --- /dev/null +++ b/deno_dist/context.ts @@ -0,0 +1,61 @@ +import { Context, Des, Ser } from "./types/index.ts"; + +export function createContext(size = 4096): Context { + const buffer = new ArrayBuffer(size); + return { + i: 0, + view: new DataView(buffer), + bytes: new Uint8Array(buffer) + }; +} + +export function growContext(ctx: Context) { + ctx.bytes = new Uint8Array(ctx.bytes.length * 2); + ctx.view = new DataView(ctx.bytes.buffer); +} + +export function contextSer( + ctx: Context, + ser: Ser, + data: T +): Uint8Array { + // eslint-disable-next-line no-constant-condition + while (true) { + const limit = ctx.bytes.length - 8; + ctx.i = 0; + try { + ser(ctx, data); + if (ctx.i < limit) return ctx.bytes; + } catch (error) { + if (ctx.i < limit) throw error; + } + growContext(ctx); + } +} + +export function contextDes( + ctx: Context, + des: Des, + bytes: Uint8Array +): T { + const { length } = bytes; + if (length < 4096) { + ctx.bytes.set(bytes); + ctx.i = 0; + return des(ctx); + } else { + return des(contextFromBytes(bytes)); + } +} + +export function contextFromBytes(array: Uint8Array): Context { + return { + i: 0, + bytes: array, + view: new DataView( + array.buffer, + array.byteOffset, + array.byteLength + ) + }; +} diff --git a/deno_dist/define.ts b/deno_dist/define.ts new file mode 100644 index 00000000..f8e26506 --- /dev/null +++ b/deno_dist/define.ts @@ -0,0 +1,5 @@ +import { Des, Ser, Serdes } from "./types/index.ts"; + +export function define(ser: Ser, des: Des): Serdes { + return { ser, des }; +} diff --git a/deno_dist/encodings/index.ts b/deno_dist/encodings/index.ts new file mode 100644 index 00000000..1deb094b --- /dev/null +++ b/deno_dist/encodings/index.ts @@ -0,0 +1,4 @@ +export * from "./latin1.ts"; +export * from "./ucs2.ts"; +export * from "./utf8.ts"; +export * from "./utf8js.ts"; diff --git a/deno_dist/encodings/latin1.ts b/deno_dist/encodings/latin1.ts new file mode 100644 index 00000000..f463cbb1 --- /dev/null +++ b/deno_dist/encodings/latin1.ts @@ -0,0 +1,17 @@ +import { Encoding } from "../types/index.ts"; + +export const latin1: Encoding = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint8(ctx.i++, data.charCodeAt(i)); + } + }, + decode(ctx, size) { + const codes: number[] = new Array(size); + for (let i = 0; i < size; i++) { + codes[i] = ctx.view.getUint8(ctx.i++); + } + return String.fromCharCode(...codes); + } +}; diff --git a/deno_dist/encodings/ucs2.ts b/deno_dist/encodings/ucs2.ts new file mode 100644 index 00000000..4213053b --- /dev/null +++ b/deno_dist/encodings/ucs2.ts @@ -0,0 +1,20 @@ +import { Encoding } from "../types/index.ts"; + +export const ucs2: Encoding = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint16(ctx.i, data.charCodeAt(i)); + ctx.i += 2; + } + }, + decode(ctx, size) { + const length = size / 2; + const codes: number[] = new Array(length); + for (let i = 0; i < length; i++) { + codes[i] = ctx.view.getUint16(ctx.i); + ctx.i += 2; + } + return String.fromCharCode(...codes); + } +}; diff --git a/deno_dist/encodings/utf8.ts b/deno_dist/encodings/utf8.ts new file mode 100644 index 00000000..5612c574 --- /dev/null +++ b/deno_dist/encodings/utf8.ts @@ -0,0 +1,13 @@ +import { Encoding } from "../types/index.ts"; + +const encoder = /*@__PURE__*/ new TextEncoder(); +const decoder = /*@__PURE__*/ new TextDecoder(); + +export const utf8: Encoding = { + encode(ctx, data) { + ctx.i += encoder.encodeInto(data, ctx.bytes.subarray(ctx.i)) + .written as number; + }, + decode: (ctx, size) => + decoder.decode(ctx.bytes.subarray(ctx.i, (ctx.i += size))) +}; diff --git a/deno_dist/encodings/utf8js.ts b/deno_dist/encodings/utf8js.ts new file mode 100644 index 00000000..bced2065 --- /dev/null +++ b/deno_dist/encodings/utf8js.ts @@ -0,0 +1,82 @@ +import { Encoding } from "../types/index.ts"; + +export const utf8js: Encoding = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + const code = data.charCodeAt(i) as number; + if (code < 0x80) { + // 0xxxxxxx + ctx.view.setUint8(ctx.i, code); + ctx.i++; + } else if (code < 0x800) { + // .... .aaa - aabb bbbb + // 110a aaaa - 10bb bbbb + const a = (code & 0x7c0) << 2; + const b = code & 0x3f; + ctx.view.setUint16(ctx.i, a | b | 0xc080); + ctx.i += 2; + } else if (code < 0xd800 || code >= 0xe000) { + // .... .... - .... .... - aaaa bbbb - bbcc cccc + // 1110 aaaa - 10bb bbbb - 10cc cccc - .... .... + const a = (code & 0xf000) << 12; + const b = (code & 0xfc0) << 10; + const c = (code & 0x3f) << 8; + ctx.view.setUint32(ctx.i, a | b | c | 0xe0808000); + ctx.i += 3; + } else { + const code = data.codePointAt(i++) as number; + // .... .... - .... aabb - bbbb cccc - ccdd dddd + // 1111 00aa - 10bb bbbb - 10cc cccc - 10dd dddd + const a = (code & 0x1c0000) << 6; + const b = (code & 0x3f000) << 4; + const c = (code & 0xfc0) << 2; + const d = code & 0x3f; + ctx.view.setUint32(ctx.i, a | b | c | d | 0xf0808080); + ctx.i += 4; + } + } + }, + decode(ctx, size) { + const codes: number[] = []; + const end = ctx.i + size; + while (ctx.i < end) { + const s = ctx.view.getUint8(ctx.i); + if (s < 192) { + // 0xxxxxxx + codes.push(s); + ctx.i++; + } else if (s < 224) { + // 110a aaaa + // 10bb bbbb + // aaa aabb bbbb + const b = ctx.view.getUint8(ctx.i + 1); + ctx.i += 2; + codes.push(((s & 0x1f) << 6) | (b & 0x3f)); + } else if (s < 240) { + // 1110 aaaa + // 10bb bbbb + // 10cc cccc + // aaaa bbbb bbcc cccc + const b = ctx.view.getUint8(ctx.i + 1); + const c = ctx.view.getUint8(ctx.i + 2); + ctx.i += 3; + codes.push( + ((s & 0x0f) << 12) | ((b & 0x3f) << 6) | (c & 0x3f) + ); + } else { + // 1111 0aaa, 10bb bbbb, 10cc cccc, 10dd dddd + // a aabb, bbbb cccc, ccdd dddd + + const u = ctx.view.getUint32(ctx.i); + const a = (s & 0x7) << 18; + const b = (u & 0x3f0000) >> 4; + const c = (u & 0x3f00) >> 2; + const d = u & 0x3f; + codes.push(a | b | c | d); + ctx.i += 4; + } + } + return String.fromCodePoint(...codes); + } +}; diff --git a/deno_dist/index.ts b/deno_dist/index.ts new file mode 100644 index 00000000..75e9878b --- /dev/null +++ b/deno_dist/index.ts @@ -0,0 +1,6 @@ +export * from "./context.ts"; +export * from "./define.ts"; +export * from "./encodings/index.ts"; +export * from "./serdes/index.ts"; +export * from "./types/index.ts"; +export * from "./use.ts"; diff --git a/deno_dist/mod.ts b/deno_dist/mod.ts new file mode 100644 index 00000000..813a15e2 --- /dev/null +++ b/deno_dist/mod.ts @@ -0,0 +1 @@ +export * from "./node.ts"; \ No newline at end of file diff --git a/deno_dist/node.ts b/deno_dist/node.ts new file mode 100644 index 00000000..64e07b48 --- /dev/null +++ b/deno_dist/node.ts @@ -0,0 +1,6 @@ +export * from "./context.ts"; +export * from "./define.ts"; +export * from "./node_encodings/index.ts"; +export * from "./serdes/index.ts"; +export * from "./types/index.ts"; +export * from "./use.ts"; diff --git a/deno_dist/node_encodings/index.ts b/deno_dist/node_encodings/index.ts new file mode 100644 index 00000000..bb11e572 --- /dev/null +++ b/deno_dist/node_encodings/index.ts @@ -0,0 +1,6 @@ +/* istanbul ignore file */ + +export * from "./utf8.ts"; +export * from "./latin1.ts"; +export * from "./ucs2.ts"; +export { utf8js } from "../encodings/index.ts"; diff --git a/deno_dist/node_encodings/latin1.ts b/deno_dist/node_encodings/latin1.ts new file mode 100644 index 00000000..3337ee11 --- /dev/null +++ b/deno_dist/node_encodings/latin1.ts @@ -0,0 +1,12 @@ +import { Buffer } from "https://deno.land/std@0.85.0/node/buffer.ts"; +import { Encoding } from "../types/index.ts"; + +const { latin1Write, latin1Slice } = Buffer.prototype; + +export const latin1: Encoding = { + encode(ctx, data) { + ctx.i += latin1Write.call(ctx.bytes, data, ctx.i); + }, + decode: (ctx, size) => + latin1Slice.call(ctx.bytes, ctx.i, (ctx.i += size)) +}; diff --git a/deno_dist/node_encodings/ucs2.ts b/deno_dist/node_encodings/ucs2.ts new file mode 100644 index 00000000..173fa410 --- /dev/null +++ b/deno_dist/node_encodings/ucs2.ts @@ -0,0 +1,12 @@ +import { Buffer } from "https://deno.land/std@0.85.0/node/buffer.ts"; +import { Encoding } from "../types/index.ts"; + +const { ucs2Write, ucs2Slice } = Buffer.prototype; + +export const ucs2: Encoding = { + encode(ctx, data) { + ctx.i += ucs2Write.call(ctx.bytes, data, ctx.i); + }, + decode: (ctx, size) => + ucs2Slice.call(ctx.bytes, ctx.i, (ctx.i += size)) +}; diff --git a/deno_dist/node_encodings/utf8.ts b/deno_dist/node_encodings/utf8.ts new file mode 100644 index 00000000..b2553460 --- /dev/null +++ b/deno_dist/node_encodings/utf8.ts @@ -0,0 +1,12 @@ +import { Buffer } from "https://deno.land/std@0.85.0/node/buffer.ts"; +import { Encoding } from "../types/index.ts"; + +const { utf8Write, utf8Slice } = Buffer.prototype; + +export const utf8: Encoding = { + encode(ctx, data) { + ctx.i += utf8Write.call(ctx.bytes, data, ctx.i); + }, + decode: (ctx, size) => + utf8Slice.call(ctx.bytes, ctx.i, (ctx.i += size)) +}; diff --git a/deno_dist/node_noeval.ts b/deno_dist/node_noeval.ts new file mode 100644 index 00000000..c76cdda9 --- /dev/null +++ b/deno_dist/node_noeval.ts @@ -0,0 +1,14 @@ +export * from "./context.ts"; +export * from "./define.ts"; +export * from "./node_encodings/index.ts"; +export * from "./noeval_serdes/index.ts"; +export { + array, + boolean, + bytes, + optional, + map as record, + string +} from "./serdes/index.ts"; +export * from "./types/index.ts"; +export * from "./use.ts"; diff --git a/deno_dist/noeval.ts b/deno_dist/noeval.ts new file mode 100644 index 00000000..1389824e --- /dev/null +++ b/deno_dist/noeval.ts @@ -0,0 +1,15 @@ +/* istanbul ignore file */ +export * from "./context.ts"; +export * from "./define.ts"; +export * from "./encodings/index.ts"; +export * from "./types/index.ts"; +export * from "./use.ts"; +export * from "./noeval_serdes/index.ts"; +export { + array, + boolean, + bytes, + optional, + map as record, + string +} from "./serdes/index.ts"; diff --git a/deno_dist/noeval_serdes/index.ts b/deno_dist/noeval_serdes/index.ts new file mode 100644 index 00000000..fd0b66c3 --- /dev/null +++ b/deno_dist/noeval_serdes/index.ts @@ -0,0 +1,2 @@ +export * from "./number.ts"; +export * from "./struct.ts"; diff --git a/deno_dist/noeval_serdes/number.ts b/deno_dist/noeval_serdes/number.ts new file mode 100644 index 00000000..be258d94 --- /dev/null +++ b/deno_dist/noeval_serdes/number.ts @@ -0,0 +1,125 @@ +import { define } from "../define.ts"; +import { NumberFactory, Serdes } from "../types/index.ts"; + +export const uint8: Serdes = define( + (ctx, data) => ctx.view.setUint8(ctx.i++, data), + (ctx) => ctx.view.getUint8(ctx.i++) +); + +export const uint16: Serdes = define( + (ctx, data) => { + ctx.view.setUint16(ctx.i, data); + ctx.i += 2; + }, + (ctx) => { + const data = ctx.view.getUint16(ctx.i); + ctx.i += 2; + return data; + } +); + +export const uint32: Serdes = define( + (ctx, data) => { + ctx.view.setUint32(ctx.i, data); + ctx.i += 4; + }, + (ctx) => { + const data = ctx.view.getUint32(ctx.i); + ctx.i += 4; + return data; + } +); + +export const bigUint64: Serdes = define( + (ctx, data) => { + ctx.view.setBigUint64(ctx.i, data); + ctx.i += 8; + }, + (ctx) => { + const data = ctx.view.getBigUint64(ctx.i); + ctx.i += 8; + return data; + } +); + +export const int8: Serdes = define( + (ctx, data) => ctx.view.setInt8(ctx.i++, data), + (ctx) => ctx.view.getInt8(ctx.i++) +); + +export const int16: Serdes = define( + (ctx, data) => { + ctx.view.setInt16(ctx.i, data); + ctx.i += 2; + }, + (ctx) => { + const data = ctx.view.getInt16(ctx.i); + ctx.i += 2; + return data; + } +); + +export const int32: Serdes = define( + (ctx, data) => { + ctx.view.setInt32(ctx.i, data); + ctx.i += 4; + }, + (ctx) => { + const data = ctx.view.getInt32(ctx.i); + ctx.i += 4; + return data; + } +); + +export const bigInt64: Serdes = define( + (ctx, data) => { + ctx.view.setBigInt64(ctx.i, data); + ctx.i += 8; + }, + (ctx) => { + const data = ctx.view.getBigInt64(ctx.i); + ctx.i += 8; + return data; + } +); + +export const float32: Serdes = define( + (ctx, data) => { + ctx.view.setFloat32(ctx.i, data); + ctx.i += 4; + }, + (ctx) => { + const data = ctx.view.getFloat32(ctx.i); + ctx.i += 4; + return data; + } +); + +export const float64: Serdes = define( + (ctx, data) => { + ctx.view.setFloat64(ctx.i, data); + ctx.i += 8; + }, + (ctx) => { + const data = ctx.view.getFloat64(ctx.i); + ctx.i += 8; + return data; + } +); + +const mappings = { + uint8, + uint16, + uint32, + int8, + int16, + int32, + float32, + float64, + bigUint64, + bigInt64 +} as const; + +export const number: NumberFactory = (kind, bitSize) => + // eslint-disable-next-line @typescript-eslint/no-explicit-any + mappings[`${kind}${bitSize}` as keyof typeof mappings] as any; diff --git a/deno_dist/noeval_serdes/struct.ts b/deno_dist/noeval_serdes/struct.ts new file mode 100644 index 00000000..90949255 --- /dev/null +++ b/deno_dist/noeval_serdes/struct.ts @@ -0,0 +1,23 @@ +import { define, StructFactory, TupleFactory } from "../index.ts"; + +export const struct: StructFactory = (definition) => { + const obj = definition instanceof Array ? () => [] : () => ({}); + return define( + (ctx, data) => { + for (const key in definition) { + definition[key].ser(ctx, data[key]); + } + }, + (ctx) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const data = obj() as any; + for (const key in definition) { + data[key] = definition[key].des(ctx); + } + return data; + } + ); +}; + +export const tuple: TupleFactory = (...definition) => + struct(definition); diff --git a/deno_dist/serdes/array.ts b/deno_dist/serdes/array.ts new file mode 100644 index 00000000..27224641 --- /dev/null +++ b/deno_dist/serdes/array.ts @@ -0,0 +1,21 @@ +import { define } from "../define.ts"; +import { ArrayFactory } from "../types/index.ts"; + +export const array: ArrayFactory = (sd, headSd) => + define( + (ctx, data) => { + const { length } = data; + headSd.ser(ctx, length); + for (let i = 0; i < length; i++) { + sd.ser(ctx, data[i]); + } + }, + (ctx) => { + const length = headSd.des(ctx); + const data = new Array(length); + for (let i = 0; i < length; i++) { + data[i] = sd.des(ctx); + } + return data; + } + ); diff --git a/deno_dist/serdes/boolean.ts b/deno_dist/serdes/boolean.ts new file mode 100644 index 00000000..97e31920 --- /dev/null +++ b/deno_dist/serdes/boolean.ts @@ -0,0 +1,7 @@ +import { define } from "../define.ts"; +import { Serdes } from "../types/index.ts"; + +export const boolean: Serdes = define( + (ctx, data) => void ctx.view.setUint8(ctx.i++, +data), + (ctx) => !!ctx.view.getUint8(ctx.i++) +); diff --git a/deno_dist/serdes/bytes.ts b/deno_dist/serdes/bytes.ts new file mode 100644 index 00000000..78db78d9 --- /dev/null +++ b/deno_dist/serdes/bytes.ts @@ -0,0 +1,16 @@ +import { define } from "../define.ts"; +import { BytesFactory } from "../types/index.ts"; + +export const bytes: BytesFactory = (headSd) => + define( + (ctx, data) => { + const { byteLength } = data; + headSd.ser(ctx, byteLength); + ctx.bytes.set(data, ctx.i); + ctx.i += byteLength; + }, + (ctx) => { + const byteLength = headSd.des(ctx); + return ctx.bytes.subarray(ctx.i, (ctx.i += byteLength)); + } + ); diff --git a/deno_dist/serdes/index.ts b/deno_dist/serdes/index.ts new file mode 100644 index 00000000..ed706c21 --- /dev/null +++ b/deno_dist/serdes/index.ts @@ -0,0 +1,8 @@ +export * from "./array.ts"; +export * from "./optional.ts"; +export * from "./map.ts"; +export * from "./string.ts"; +export * from "./bytes.ts"; +export * from "./boolean.ts"; +export * from "./struct.ts"; +export * from "./number.ts"; diff --git a/deno_dist/serdes/map.ts b/deno_dist/serdes/map.ts new file mode 100644 index 00000000..eb26c1ec --- /dev/null +++ b/deno_dist/serdes/map.ts @@ -0,0 +1,22 @@ +import { define } from "../define.ts"; +import { MapFactory, GetType } from "../types/index.ts"; + +export const map: MapFactory = (keySd, valueSd, headSd) => + define( + (ctx, data) => { + const { length } = Object.keys(data); + headSd.ser(ctx, length); + for (const key in data) { + keySd.ser(ctx, key); + valueSd.ser(ctx, data[key]); + } + }, + (ctx) => { + const length = headSd.des(ctx); + const data: Record> = {}; + for (let i = 0; i < length; i++) { + data[keySd.des(ctx)] = valueSd.des(ctx); + } + return data; + } + ); diff --git a/deno_dist/serdes/number.ts b/deno_dist/serdes/number.ts new file mode 100644 index 00000000..aa436cc0 --- /dev/null +++ b/deno_dist/serdes/number.ts @@ -0,0 +1,25 @@ +import { define } from "../define.ts"; +import { NumberFactory } from "../types/index.ts"; + +export const number: NumberFactory = (kind, bitSize) => { + const name = + /*@__PURE__*/ kind[0].toUpperCase() + + /*@__PURE__*/ kind.slice(1) + + bitSize; + const size = bitSize / 8; + return /*@__PURE__*/ new Function( + "d", + `return d((c,d)=>{c.view.set${name}(c.i,d);c.i+=${size}},(c)=>{const d=c.view.get${name}(c.i);c.i+=${size};return d})` + )(define); +}; + +export const uint8 = number("uint", 8); +export const uint16 = number("uint", 16); +export const uint32 = number("uint", 32); +export const int8 = number("int", 8); +export const int16 = number("int", 16); +export const int32 = number("int", 32); +export const bigUint64 = number("bigUint", 64); +export const bigInt64 = number("bigInt", 64); +export const float32 = number("float", 32); +export const float64 = number("float", 64); diff --git a/deno_dist/serdes/optional.ts b/deno_dist/serdes/optional.ts new file mode 100644 index 00000000..3d22ce1f --- /dev/null +++ b/deno_dist/serdes/optional.ts @@ -0,0 +1,15 @@ +import { define } from "../define.ts"; +import { OptionalFactory } from "../types/index.ts"; + +export const optional: OptionalFactory = (sd) => + define( + (ctx, data) => { + if (data == undefined) { + ctx.view.setUint8(ctx.i++, 0); + } else { + ctx.view.setUint8(ctx.i++, 1); + sd.ser(ctx, data); + } + }, + (ctx) => (ctx.view.getUint8(ctx.i++) ? sd.des(ctx) : undefined) + ); diff --git a/deno_dist/serdes/string.ts b/deno_dist/serdes/string.ts new file mode 100644 index 00000000..6dac5213 --- /dev/null +++ b/deno_dist/serdes/string.ts @@ -0,0 +1,18 @@ +import { define } from "../define.ts"; +import { StringFactory } from "../types/index.ts"; + +export const string: StringFactory = (encoding, headSd) => + define( + (ctx, data) => { + const head = ctx.i; + headSd.ser(ctx, 0); + const begin = ctx.i; + encoding.encode(ctx, data); + const end = ctx.i; + const size = end - begin; + ctx.i = head; + headSd.ser(ctx, size); + ctx.i = end; + }, + (ctx) => encoding.decode(ctx, headSd.des(ctx)) + ); diff --git a/deno_dist/serdes/struct.ts b/deno_dist/serdes/struct.ts new file mode 100644 index 00000000..cbd4ec91 --- /dev/null +++ b/deno_dist/serdes/struct.ts @@ -0,0 +1,31 @@ +import { define, StructFactory, TupleFactory } from "../index.ts"; + +const nameOf = (key: string) => + /*@__PURE__*/ isNaN(+key) ? /*@__PURE__*/ JSON.stringify(key) : key; + +export const struct: StructFactory = (definition) => { + const keys = /*@__PURE__*/ Object.keys(definition); + const indexes = /*@__PURE__*/ Object.keys(keys).map((i) => +i); + const values = /*@__PURE__*/ Object.values(definition); + return /*@__PURE__*/ new Function( + "d", + `[${indexes.map((i) => "k" + i).join()}]`, + `[${indexes.map((i) => "s" + i).join()}]`, + `[${indexes.map((i) => "d" + i).join()}]`, + `return d((c,d)=>{${indexes + .map((i) => `s${i}(c,d[${nameOf(keys[i])}])`) + .join(";")}},(c)=>{const d=${ + definition instanceof Array ? "[]" : "{}" + };${indexes + .map((i) => `d[${nameOf(keys[i])}]=d${i}(c)`) + .join(";")};return d})` + )( + define, + keys, + /*@__PURE__*/ values.map(({ ser }) => ser), + /*@__PURE__*/ values.map(({ des }) => des) + ); +}; + +export const tuple: TupleFactory = (...definition) => + struct(definition); diff --git a/deno_dist/types/factories.ts b/deno_dist/types/factories.ts new file mode 100644 index 00000000..63f6d70d --- /dev/null +++ b/deno_dist/types/factories.ts @@ -0,0 +1,56 @@ +import { Encoding, Serdes } from "./index.ts"; + +type IntKind = "uint" | "int"; +type IntSize = 8 | 16 | 32; + +type FloatKind = "float"; +type FloatSize = 32 | 64; + +type BigIntKind = "bigInt" | "bigUint"; +type BigIntSize = 64; + +type Kind = IntKind | FloatKind | BigIntKind; +type Size = IntSize | FloatSize | BigIntSize; + +export interface NumberFactory { + (kind: IntKind, bitSize: IntSize): Serdes; + (kind: FloatKind, bitSize: FloatSize): Serdes; + (kind: BigIntKind, bitSize: BigIntSize): Serdes; + (kind: Kind, bitSize: Size): Serdes; +} + +export type StringFactory = ( + encoding: Encoding, + headSd: Serdes +) => Serdes; + +export type BytesFactory = ( + headSd: Serdes +) => Serdes; + +export type Struct = Record | unknown[]; + +export type StructDefinition = { + [k in keyof T]: Serdes; +}; + +export type StructFactory = ( + definition: StructDefinition +) => Serdes; + +export type TupleFactory = ( + ...definition: StructDefinition +) => Serdes; + +export type MapFactory = ( + keySd: Serdes, + valueSd: Serdes, + headSd: Serdes +) => Serdes>; + +export type ArrayFactory = ( + sd: Serdes, + headSd: Serdes +) => Serdes; + +export type OptionalFactory = (sd: Serdes) => Serdes; diff --git a/deno_dist/types/index.ts b/deno_dist/types/index.ts new file mode 100644 index 00000000..b6808701 --- /dev/null +++ b/deno_dist/types/index.ts @@ -0,0 +1,2 @@ +export * from "./factories.ts"; +export * from "./serdes.ts"; diff --git a/deno_dist/types/serdes.ts b/deno_dist/types/serdes.ts new file mode 100644 index 00000000..9740ae4d --- /dev/null +++ b/deno_dist/types/serdes.ts @@ -0,0 +1,26 @@ +export interface Context { + i: number; + view: DataView; + bytes: Uint8Array; +} + +export type GetType = T extends Serdes ? X : never; + +export type Ser = (ctx: Context, data: T) => void; +export type Des = (ctx: Context) => T; + +export interface Serdes { + ser: Ser; + des: Des; +} + +export interface UsableSerdes extends Serdes { + toBytes: (data: T) => Uint8Array; + toUnsafeBytes: (data: T) => Uint8Array; + fromBytes: (buf: Uint8Array) => T; +} + +export type Encoding = { + encode(ctx: Context, data: T): void; + decode(ctx: Context, size: number): T; +}; diff --git a/deno_dist/use.ts b/deno_dist/use.ts new file mode 100644 index 00000000..2321dc9c --- /dev/null +++ b/deno_dist/use.ts @@ -0,0 +1,19 @@ +import { + contextDes, + contextSer, + createContext, + Serdes, + UsableSerdes +} from "./index.ts"; + +export function use({ ser, des }: Serdes): UsableSerdes { + const ctx = createContext(); + return { + ser, + des, + toBytes: (data) => contextSer(ctx, ser, data).slice(0, ctx.i), + toUnsafeBytes: (data) => + contextSer(ctx, ser, data).subarray(0, ctx.i), + fromBytes: (bytes) => contextDes(ctx, des, bytes) + }; +} diff --git a/dist/sirdez.es.js b/dist/sirdez.es.js new file mode 100644 index 00000000..288bdec7 --- /dev/null +++ b/dist/sirdez.es.js @@ -0,0 +1,240 @@ +function createContext(size = 4096) { + const buffer = new ArrayBuffer(size); + return { + i: 0, + view: new DataView(buffer), + bytes: new Uint8Array(buffer) + }; +} +function growContext(ctx) { + ctx.bytes = new Uint8Array(ctx.bytes.length * 2); + ctx.view = new DataView(ctx.bytes.buffer); +} +function contextSer(ctx, ser, data) { + while (true) { + const limit = ctx.bytes.length - 8; + ctx.i = 0; + try { + ser(ctx, data); + if (ctx.i < limit) + return ctx.bytes; + } catch (error) { + if (ctx.i < limit) + throw error; + } + growContext(ctx); + } +} +function contextDes(ctx, des, bytes2) { + const { length } = bytes2; + if (length < 4096) { + ctx.bytes.set(bytes2); + ctx.i = 0; + return des(ctx); + } else { + return des(contextFromBytes(bytes2)); + } +} +function contextFromBytes(array2) { + return { + i: 0, + bytes: array2, + view: new DataView(array2.buffer, array2.byteOffset, array2.byteLength) + }; +} +function define(ser, des) { + return { ser, des }; +} +const latin1 = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint8(ctx.i++, data.charCodeAt(i)); + } + }, + decode(ctx, size) { + const codes = new Array(size); + for (let i = 0; i < size; i++) { + codes[i] = ctx.view.getUint8(ctx.i++); + } + return String.fromCharCode(...codes); + } +}; +const ucs2 = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint16(ctx.i, data.charCodeAt(i)); + ctx.i += 2; + } + }, + decode(ctx, size) { + const length = size / 2; + const codes = new Array(length); + for (let i = 0; i < length; i++) { + codes[i] = ctx.view.getUint16(ctx.i); + ctx.i += 2; + } + return String.fromCharCode(...codes); + } +}; +const encoder = /* @__PURE__ */ new TextEncoder(); +const decoder = /* @__PURE__ */ new TextDecoder(); +const utf8 = { + encode(ctx, data) { + ctx.i += encoder.encodeInto(data, ctx.bytes.subarray(ctx.i)).written; + }, + decode: (ctx, size) => decoder.decode(ctx.bytes.subarray(ctx.i, ctx.i += size)) +}; +const utf8js = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + const code = data.charCodeAt(i); + if (code < 128) { + ctx.view.setUint8(ctx.i, code); + ctx.i++; + } else if (code < 2048) { + const a = (code & 1984) << 2; + const b = code & 63; + ctx.view.setUint16(ctx.i, a | b | 49280); + ctx.i += 2; + } else if (code < 55296 || code >= 57344) { + const a = (code & 61440) << 12; + const b = (code & 4032) << 10; + const c = (code & 63) << 8; + ctx.view.setUint32(ctx.i, a | b | c | 3766517760); + ctx.i += 3; + } else { + const code2 = data.codePointAt(i++); + const a = (code2 & 1835008) << 6; + const b = (code2 & 258048) << 4; + const c = (code2 & 4032) << 2; + const d = code2 & 63; + ctx.view.setUint32(ctx.i, a | b | c | d | 4034953344); + ctx.i += 4; + } + } + }, + decode(ctx, size) { + const codes = []; + const end = ctx.i + size; + while (ctx.i < end) { + const s = ctx.view.getUint8(ctx.i); + if (s < 192) { + codes.push(s); + ctx.i++; + } else if (s < 224) { + const b = ctx.view.getUint8(ctx.i + 1); + ctx.i += 2; + codes.push((s & 31) << 6 | b & 63); + } else if (s < 240) { + const b = ctx.view.getUint8(ctx.i + 1); + const c = ctx.view.getUint8(ctx.i + 2); + ctx.i += 3; + codes.push((s & 15) << 12 | (b & 63) << 6 | c & 63); + } else { + const u = ctx.view.getUint32(ctx.i); + const a = (s & 7) << 18; + const b = (u & 4128768) >> 4; + const c = (u & 16128) >> 2; + const d = u & 63; + codes.push(a | b | c | d); + ctx.i += 4; + } + } + return String.fromCodePoint(...codes); + } +}; +const array = (sd, headSd) => define((ctx, data) => { + const { length } = data; + headSd.ser(ctx, length); + for (let i = 0; i < length; i++) { + sd.ser(ctx, data[i]); + } +}, (ctx) => { + const length = headSd.des(ctx); + const data = new Array(length); + for (let i = 0; i < length; i++) { + data[i] = sd.des(ctx); + } + return data; +}); +const optional = (sd) => define((ctx, data) => { + if (data == void 0) { + ctx.view.setUint8(ctx.i++, 0); + } else { + ctx.view.setUint8(ctx.i++, 1); + sd.ser(ctx, data); + } +}, (ctx) => ctx.view.getUint8(ctx.i++) ? sd.des(ctx) : void 0); +const map = (keySd, valueSd, headSd) => define((ctx, data) => { + const { length } = Object.keys(data); + headSd.ser(ctx, length); + for (const key in data) { + keySd.ser(ctx, key); + valueSd.ser(ctx, data[key]); + } +}, (ctx) => { + const length = headSd.des(ctx); + const data = {}; + for (let i = 0; i < length; i++) { + data[keySd.des(ctx)] = valueSd.des(ctx); + } + return data; +}); +const string = (encoding, headSd) => define((ctx, data) => { + const head = ctx.i; + headSd.ser(ctx, 0); + const begin = ctx.i; + encoding.encode(ctx, data); + const end = ctx.i; + const size = end - begin; + ctx.i = head; + headSd.ser(ctx, size); + ctx.i = end; +}, (ctx) => encoding.decode(ctx, headSd.des(ctx))); +const bytes = (headSd) => define((ctx, data) => { + const { byteLength } = data; + headSd.ser(ctx, byteLength); + ctx.bytes.set(data, ctx.i); + ctx.i += byteLength; +}, (ctx) => { + const byteLength = headSd.des(ctx); + return ctx.bytes.subarray(ctx.i, ctx.i += byteLength); +}); +const boolean = define((ctx, data) => void ctx.view.setUint8(ctx.i++, +data), (ctx) => !!ctx.view.getUint8(ctx.i++)); +const nameOf = (key) => /* @__PURE__ */ isNaN(+key) ? /* @__PURE__ */ JSON.stringify(key) : key; +const struct = (definition) => { + const keys = /* @__PURE__ */ Object.keys(definition); + const indexes = /* @__PURE__ */ Object.keys(keys).map((i) => +i); + const values = /* @__PURE__ */ Object.values(definition); + return /* @__PURE__ */ new Function("d", `[${indexes.map((i) => "k" + i).join()}]`, `[${indexes.map((i) => "s" + i).join()}]`, `[${indexes.map((i) => "d" + i).join()}]`, `return d((c,d)=>{${indexes.map((i) => `s${i}(c,d[${nameOf(keys[i])}])`).join(";")}},(c)=>{const d=${definition instanceof Array ? "[]" : "{}"};${indexes.map((i) => `d[${nameOf(keys[i])}]=d${i}(c)`).join(";")};return d})`)(define, keys, /* @__PURE__ */ values.map(({ ser }) => ser), /* @__PURE__ */ values.map(({ des }) => des)); +}; +const tuple = (...definition) => struct(definition); +const number = (kind, bitSize) => { + const name = /* @__PURE__ */ kind[0].toUpperCase() + /* @__PURE__ */ kind.slice(1) + bitSize; + const size = bitSize / 8; + return /* @__PURE__ */ new Function("d", `return d((c,d)=>{c.view.set${name}(c.i,d);c.i+=${size}},(c)=>{const d=c.view.get${name}(c.i);c.i+=${size};return d})`)(define); +}; +const uint8 = number("uint", 8); +const uint16 = number("uint", 16); +const uint32 = number("uint", 32); +const int8 = number("int", 8); +const int16 = number("int", 16); +const int32 = number("int", 32); +const bigUint64 = number("bigUint", 64); +const bigInt64 = number("bigInt", 64); +const float32 = number("float", 32); +const float64 = number("float", 64); +function use({ ser, des }) { + const ctx = createContext(); + return { + ser, + des, + toBytes: (data) => contextSer(ctx, ser, data).slice(0, ctx.i), + toUnsafeBytes: (data) => contextSer(ctx, ser, data).subarray(0, ctx.i), + fromBytes: (bytes2) => contextDes(ctx, des, bytes2) + }; +} +export { array, bigInt64, bigUint64, boolean, bytes, contextDes, contextFromBytes, contextSer, createContext, define, float32, float64, growContext, int16, int32, int8, latin1, map, number, optional, string, struct, tuple, ucs2, uint16, uint32, uint8, use, utf8, utf8js }; diff --git a/dist/sirdez.noeval.es.js b/dist/sirdez.noeval.es.js new file mode 100644 index 00000000..ae7efd5c --- /dev/null +++ b/dist/sirdez.noeval.es.js @@ -0,0 +1,311 @@ +function createContext(size = 4096) { + const buffer = new ArrayBuffer(size); + return { + i: 0, + view: new DataView(buffer), + bytes: new Uint8Array(buffer) + }; +} +function growContext(ctx) { + ctx.bytes = new Uint8Array(ctx.bytes.length * 2); + ctx.view = new DataView(ctx.bytes.buffer); +} +function contextSer(ctx, ser, data) { + while (true) { + const limit = ctx.bytes.length - 8; + ctx.i = 0; + try { + ser(ctx, data); + if (ctx.i < limit) + return ctx.bytes; + } catch (error) { + if (ctx.i < limit) + throw error; + } + growContext(ctx); + } +} +function contextDes(ctx, des, bytes2) { + const { length } = bytes2; + if (length < 4096) { + ctx.bytes.set(bytes2); + ctx.i = 0; + return des(ctx); + } else { + return des(contextFromBytes(bytes2)); + } +} +function contextFromBytes(array2) { + return { + i: 0, + bytes: array2, + view: new DataView(array2.buffer, array2.byteOffset, array2.byteLength) + }; +} +function define(ser, des) { + return { ser, des }; +} +const latin1 = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint8(ctx.i++, data.charCodeAt(i)); + } + }, + decode(ctx, size) { + const codes = new Array(size); + for (let i = 0; i < size; i++) { + codes[i] = ctx.view.getUint8(ctx.i++); + } + return String.fromCharCode(...codes); + } +}; +const ucs2 = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + ctx.view.setUint16(ctx.i, data.charCodeAt(i)); + ctx.i += 2; + } + }, + decode(ctx, size) { + const length = size / 2; + const codes = new Array(length); + for (let i = 0; i < length; i++) { + codes[i] = ctx.view.getUint16(ctx.i); + ctx.i += 2; + } + return String.fromCharCode(...codes); + } +}; +const encoder = /* @__PURE__ */ new TextEncoder(); +const decoder = /* @__PURE__ */ new TextDecoder(); +const utf8 = { + encode(ctx, data) { + ctx.i += encoder.encodeInto(data, ctx.bytes.subarray(ctx.i)).written; + }, + decode: (ctx, size) => decoder.decode(ctx.bytes.subarray(ctx.i, ctx.i += size)) +}; +const utf8js = { + encode(ctx, data) { + const { length } = data; + for (let i = 0; i < length; i++) { + const code = data.charCodeAt(i); + if (code < 128) { + ctx.view.setUint8(ctx.i, code); + ctx.i++; + } else if (code < 2048) { + const a = (code & 1984) << 2; + const b = code & 63; + ctx.view.setUint16(ctx.i, a | b | 49280); + ctx.i += 2; + } else if (code < 55296 || code >= 57344) { + const a = (code & 61440) << 12; + const b = (code & 4032) << 10; + const c = (code & 63) << 8; + ctx.view.setUint32(ctx.i, a | b | c | 3766517760); + ctx.i += 3; + } else { + const code2 = data.codePointAt(i++); + const a = (code2 & 1835008) << 6; + const b = (code2 & 258048) << 4; + const c = (code2 & 4032) << 2; + const d = code2 & 63; + ctx.view.setUint32(ctx.i, a | b | c | d | 4034953344); + ctx.i += 4; + } + } + }, + decode(ctx, size) { + const codes = []; + const end = ctx.i + size; + while (ctx.i < end) { + const s = ctx.view.getUint8(ctx.i); + if (s < 192) { + codes.push(s); + ctx.i++; + } else if (s < 224) { + const b = ctx.view.getUint8(ctx.i + 1); + ctx.i += 2; + codes.push((s & 31) << 6 | b & 63); + } else if (s < 240) { + const b = ctx.view.getUint8(ctx.i + 1); + const c = ctx.view.getUint8(ctx.i + 2); + ctx.i += 3; + codes.push((s & 15) << 12 | (b & 63) << 6 | c & 63); + } else { + const u = ctx.view.getUint32(ctx.i); + const a = (s & 7) << 18; + const b = (u & 4128768) >> 4; + const c = (u & 16128) >> 2; + const d = u & 63; + codes.push(a | b | c | d); + ctx.i += 4; + } + } + return String.fromCodePoint(...codes); + } +}; +const array = (sd, headSd) => define((ctx, data) => { + const { length } = data; + headSd.ser(ctx, length); + for (let i = 0; i < length; i++) { + sd.ser(ctx, data[i]); + } +}, (ctx) => { + const length = headSd.des(ctx); + const data = new Array(length); + for (let i = 0; i < length; i++) { + data[i] = sd.des(ctx); + } + return data; +}); +const optional = (sd) => define((ctx, data) => { + if (data == void 0) { + ctx.view.setUint8(ctx.i++, 0); + } else { + ctx.view.setUint8(ctx.i++, 1); + sd.ser(ctx, data); + } +}, (ctx) => ctx.view.getUint8(ctx.i++) ? sd.des(ctx) : void 0); +const map = (keySd, valueSd, headSd) => define((ctx, data) => { + const { length } = Object.keys(data); + headSd.ser(ctx, length); + for (const key in data) { + keySd.ser(ctx, key); + valueSd.ser(ctx, data[key]); + } +}, (ctx) => { + const length = headSd.des(ctx); + const data = {}; + for (let i = 0; i < length; i++) { + data[keySd.des(ctx)] = valueSd.des(ctx); + } + return data; +}); +const string = (encoding, headSd) => define((ctx, data) => { + const head = ctx.i; + headSd.ser(ctx, 0); + const begin = ctx.i; + encoding.encode(ctx, data); + const end = ctx.i; + const size = end - begin; + ctx.i = head; + headSd.ser(ctx, size); + ctx.i = end; +}, (ctx) => encoding.decode(ctx, headSd.des(ctx))); +const bytes = (headSd) => define((ctx, data) => { + const { byteLength } = data; + headSd.ser(ctx, byteLength); + ctx.bytes.set(data, ctx.i); + ctx.i += byteLength; +}, (ctx) => { + const byteLength = headSd.des(ctx); + return ctx.bytes.subarray(ctx.i, ctx.i += byteLength); +}); +const boolean = define((ctx, data) => void ctx.view.setUint8(ctx.i++, +data), (ctx) => !!ctx.view.getUint8(ctx.i++)); +function use({ ser, des }) { + const ctx = createContext(); + return { + ser, + des, + toBytes: (data) => contextSer(ctx, ser, data).slice(0, ctx.i), + toUnsafeBytes: (data) => contextSer(ctx, ser, data).subarray(0, ctx.i), + fromBytes: (bytes2) => contextDes(ctx, des, bytes2) + }; +} +const uint8 = define((ctx, data) => ctx.view.setUint8(ctx.i++, data), (ctx) => ctx.view.getUint8(ctx.i++)); +const uint16 = define((ctx, data) => { + ctx.view.setUint16(ctx.i, data); + ctx.i += 2; +}, (ctx) => { + const data = ctx.view.getUint16(ctx.i); + ctx.i += 2; + return data; +}); +const uint32 = define((ctx, data) => { + ctx.view.setUint32(ctx.i, data); + ctx.i += 4; +}, (ctx) => { + const data = ctx.view.getUint32(ctx.i); + ctx.i += 4; + return data; +}); +const bigUint64 = define((ctx, data) => { + ctx.view.setBigUint64(ctx.i, data); + ctx.i += 8; +}, (ctx) => { + const data = ctx.view.getBigUint64(ctx.i); + ctx.i += 8; + return data; +}); +const int8 = define((ctx, data) => ctx.view.setInt8(ctx.i++, data), (ctx) => ctx.view.getInt8(ctx.i++)); +const int16 = define((ctx, data) => { + ctx.view.setInt16(ctx.i, data); + ctx.i += 2; +}, (ctx) => { + const data = ctx.view.getInt16(ctx.i); + ctx.i += 2; + return data; +}); +const int32 = define((ctx, data) => { + ctx.view.setInt32(ctx.i, data); + ctx.i += 4; +}, (ctx) => { + const data = ctx.view.getInt32(ctx.i); + ctx.i += 4; + return data; +}); +const bigInt64 = define((ctx, data) => { + ctx.view.setBigInt64(ctx.i, data); + ctx.i += 8; +}, (ctx) => { + const data = ctx.view.getBigInt64(ctx.i); + ctx.i += 8; + return data; +}); +const float32 = define((ctx, data) => { + ctx.view.setFloat32(ctx.i, data); + ctx.i += 4; +}, (ctx) => { + const data = ctx.view.getFloat32(ctx.i); + ctx.i += 4; + return data; +}); +const float64 = define((ctx, data) => { + ctx.view.setFloat64(ctx.i, data); + ctx.i += 8; +}, (ctx) => { + const data = ctx.view.getFloat64(ctx.i); + ctx.i += 8; + return data; +}); +const mappings = { + uint8, + uint16, + uint32, + int8, + int16, + int32, + float32, + float64, + bigUint64, + bigInt64 +}; +const number = (kind, bitSize) => mappings[`${kind}${bitSize}`]; +const struct = (definition) => { + const obj = definition instanceof Array ? () => [] : () => ({}); + return define((ctx, data) => { + for (const key in definition) { + definition[key].ser(ctx, data[key]); + } + }, (ctx) => { + const data = obj(); + for (const key in definition) { + data[key] = definition[key].des(ctx); + } + return data; + }); +}; +const tuple = (...definition) => struct(definition); +export { array, bigInt64, bigUint64, boolean, bytes, contextDes, contextFromBytes, contextSer, createContext, define, float32, float64, growContext, int16, int32, int8, latin1, number, optional, map as record, string, struct, tuple, ucs2, uint16, uint32, uint8, use, utf8, utf8js }; diff --git a/dist/sirdez.noeval.umd.js b/dist/sirdez.noeval.umd.js new file mode 100644 index 00000000..031e41dc --- /dev/null +++ b/dist/sirdez.noeval.umd.js @@ -0,0 +1 @@ +(function(s,l){typeof exports=="object"&&typeof module!="undefined"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis!="undefined"?globalThis:s||self,l(s.sd={}))})(this,function(s){"use strict";function l(e=4096){const n=new ArrayBuffer(e);return{i:0,view:new DataView(n),bytes:new Uint8Array(n)}}function v(e){e.bytes=new Uint8Array(e.bytes.length*2),e.view=new DataView(e.bytes.buffer)}function g(e,n,i){for(;;){const t=e.bytes.length-8;e.i=0;try{if(n(e,i),e.iO.decode(e.bytes.subarray(e.i,e.i+=n))},V={encode(e,n){const{length:i}=n;for(let t=0;t=57344){const r=(o&61440)<<12,f=(o&4032)<<10,w=(o&63)<<8;e.view.setUint32(e.i,r|f|w|3766517760),e.i+=3}else{const r=n.codePointAt(t++),f=(r&1835008)<<6,w=(r&258048)<<4,a=(r&4032)<<2,d=r&63;e.view.setUint32(e.i,f|w|a|d|4034953344),e.i+=4}}},decode(e,n){const i=[],t=e.i+n;for(;e.i>4,a=(r&16128)>>2,d=r&63;i.push(f|w|a|d),e.i+=4}}return String.fromCodePoint(...i)}},M=(e,n)=>u((i,t)=>{const{length:o}=t;n.ser(i,o);for(let r=0;r{const t=n.des(i),o=new Array(t);for(let r=0;ru((n,i)=>{i==null?n.view.setUint8(n.i++,0):(n.view.setUint8(n.i++,1),e.ser(n,i))},n=>n.view.getUint8(n.i++)?e.des(n):void 0),$=(e,n,i)=>u((t,o)=>{const{length:r}=Object.keys(o);i.ser(t,r);for(const f in o)e.ser(t,f),n.ser(t,o[f])},t=>{const o=i.des(t),r={};for(let f=0;fu((i,t)=>{const o=i.i;n.ser(i,0);const r=i.i;e.encode(i,t);const f=i.i,w=f-r;i.i=o,n.ser(i,w),i.i=f},i=>e.decode(i,n.des(i))),q=e=>u((n,i)=>{const{byteLength:t}=i;e.ser(n,t),n.bytes.set(i,n.i),n.i+=t},n=>{const i=e.des(n);return n.bytes.subarray(n.i,n.i+=i)}),z=u((e,n)=>void e.view.setUint8(e.i++,+n),e=>!!e.view.getUint8(e.i++));function G({ser:e,des:n}){const i=l();return{ser:e,des:n,toBytes:t=>g(i,e,t).slice(0,i.i),toUnsafeBytes:t=>g(i,e,t).subarray(0,i.i),fromBytes:t=>b(i,n,t)}}const U=u((e,n)=>e.view.setUint8(e.i++,n),e=>e.view.getUint8(e.i++)),c=u((e,n)=>{e.view.setUint16(e.i,n),e.i+=2},e=>{const n=e.view.getUint16(e.i);return e.i+=2,n}),h=u((e,n)=>{e.view.setUint32(e.i,n),e.i+=4},e=>{const n=e.view.getUint32(e.i);return e.i+=4,n}),m=u((e,n)=>{e.view.setBigUint64(e.i,n),e.i+=8},e=>{const n=e.view.getBigUint64(e.i);return e.i+=8,n}),C=u((e,n)=>e.view.setInt8(e.i++,n),e=>e.view.getInt8(e.i++)),A=u((e,n)=>{e.view.setInt16(e.i,n),e.i+=2},e=>{const n=e.view.getInt16(e.i);return e.i+=2,n}),I=u((e,n)=>{e.view.setInt32(e.i,n),e.i+=4},e=>{const n=e.view.getInt32(e.i);return e.i+=4,n}),B=u((e,n)=>{e.view.setBigInt64(e.i,n),e.i+=8},e=>{const n=e.view.getBigInt64(e.i);return e.i+=8,n}),j=u((e,n)=>{e.view.setFloat32(e.i,n),e.i+=4},e=>{const n=e.view.getFloat32(e.i);return e.i+=4,n}),D=u((e,n)=>{e.view.setFloat64(e.i,n),e.i+=8},e=>{const n=e.view.getFloat64(e.i);return e.i+=8,n}),H={uint8:U,uint16:c,uint32:h,int8:C,int16:A,int32:I,float32:j,float64:D,bigUint64:m,bigInt64:B},J=(e,n)=>H[`${e}${n}`],F=e=>{const n=e instanceof Array?()=>[]:()=>({});return u((i,t)=>{for(const o in e)e[o].ser(i,t[o])},i=>{const t=n();for(const o in e)t[o]=e[o].des(i);return t})},K=(...e)=>F(e);s.array=M,s.bigInt64=B,s.bigUint64=m,s.boolean=z,s.bytes=q,s.contextDes=b,s.contextFromBytes=y,s.contextSer=g,s.createContext=l,s.define=u,s.float32=j,s.float64=D,s.growContext=v,s.int16=A,s.int32=I,s.int8=C,s.latin1=T,s.number=J,s.optional=_,s.record=$,s.string=E,s.struct=F,s.tuple=K,s.ucs2=k,s.uint16=c,s.uint32=h,s.uint8=U,s.use=G,s.utf8=P,s.utf8js=V,Object.defineProperty(s,"__esModule",{value:!0}),s[Symbol.toStringTag]="Module"}); diff --git a/dist/sirdez.umd.js b/dist/sirdez.umd.js new file mode 100644 index 00000000..52d5999a --- /dev/null +++ b/dist/sirdez.umd.js @@ -0,0 +1 @@ +(function(s,l){typeof exports=="object"&&typeof module!="undefined"?l(exports):typeof define=="function"&&define.amd?define(["exports"],l):(s=typeof globalThis!="undefined"?globalThis:s||self,l(s.sd={}))})(this,function(s){"use strict";function l(e=4096){const n=new ArrayBuffer(e);return{i:0,view:new DataView(n),bytes:new Uint8Array(n)}}function g(e){e.bytes=new Uint8Array(e.bytes.length*2),e.view=new DataView(e.bytes.buffer)}function b(e,n,i){for(;;){const t=e.bytes.length-8;e.i=0;try{if(n(e,i),e.iC.decode(e.bytes.subarray(e.i,e.i+=n))},O={encode(e,n){const{length:i}=n;for(let t=0;t=57344){const r=(o&61440)<<12,c=(o&4032)<<10,d=(o&63)<<8;e.view.setUint32(e.i,r|c|d|3766517760),e.i+=3}else{const r=n.codePointAt(t++),c=(r&1835008)<<6,d=(r&258048)<<4,w=(r&4032)<<2,a=r&63;e.view.setUint32(e.i,c|d|w|a|4034953344),e.i+=4}}},decode(e,n){const i=[],t=e.i+n;for(;e.i>4,w=(r&16128)>>2,a=r&63;i.push(c|d|w|a),e.i+=4}}return String.fromCodePoint(...i)}},B=(e,n)=>f((i,t)=>{const{length:o}=t;n.ser(i,o);for(let r=0;r{const t=n.des(i),o=new Array(t);for(let r=0;rf((n,i)=>{i==null?n.view.setUint8(n.i++,0):(n.view.setUint8(n.i++,1),e.ser(n,i))},n=>n.view.getUint8(n.i++)?e.des(n):void 0),T=(e,n,i)=>f((t,o)=>{const{length:r}=Object.keys(o);i.ser(t,r);for(const c in o)e.ser(t,c),n.ser(t,o[c])},t=>{const o=i.des(t),r={};for(let c=0;cf((i,t)=>{const o=i.i;n.ser(i,0);const r=i.i;e.encode(i,t);const c=i.i,d=c-r;i.i=o,n.ser(i,d),i.i=c},i=>e.decode(i,n.des(i))),I=e=>f((n,i)=>{const{byteLength:t}=i;e.ser(n,t),n.bytes.set(i,n.i),n.i+=t},n=>{const i=e.des(n);return n.bytes.subarray(n.i,n.i+=i)}),L=f((e,n)=>void e.view.setUint8(e.i++,+n),e=>!!e.view.getUint8(e.i++)),h=e=>isNaN(+e)?JSON.stringify(e):e,U=e=>{const n=Object.keys(e),i=Object.keys(n).map(o=>+o),t=Object.values(e);return new Function("d",`[${i.map(o=>"k"+o).join()}]`,`[${i.map(o=>"s"+o).join()}]`,`[${i.map(o=>"d"+o).join()}]`,`return d((c,d)=>{${i.map(o=>`s${o}(c,d[${h(n[o])}])`).join(";")}},(c)=>{const d=${e instanceof Array?"[]":"{}"};${i.map(o=>`d[${h(n[o])}]=d${o}(c)`).join(";")};return d})`)(f,n,t.map(({ser:o})=>o),t.map(({des:o})=>o))},N=(...e)=>U(e),u=(e,n)=>{const i=e[0].toUpperCase()+e.slice(1)+n,t=n/8;return new Function("d",`return d((c,d)=>{c.view.set${i}(c.i,d);c.i+=${t}},(c)=>{const d=c.view.get${i}(c.i);c.i+=${t};return d})`)(f)},P=u("uint",8),V=u("uint",16),k=u("uint",32),M=u("int",8),_=u("int",16),E=u("int",32),J=u("bigUint",64),q=u("bigInt",64),z=u("float",32),G=u("float",64);function H({ser:e,des:n}){const i=l();return{ser:e,des:n,toBytes:t=>b(i,e,t).slice(0,i.i),toUnsafeBytes:t=>b(i,e,t).subarray(0,i.i),fromBytes:t=>y(i,n,t)}}s.array=B,s.bigInt64=q,s.bigUint64=J,s.boolean=L,s.bytes=I,s.contextDes=y,s.contextFromBytes=v,s.contextSer=b,s.createContext=l,s.define=f,s.float32=z,s.float64=G,s.growContext=g,s.int16=_,s.int32=E,s.int8=M,s.latin1=m,s.map=T,s.number=u,s.optional=D,s.string=F,s.struct=U,s.tuple=N,s.ucs2=$,s.uint16=V,s.uint32=k,s.uint8=P,s.use=H,s.utf8=A,s.utf8js=O,Object.defineProperty(s,"__esModule",{value:!0}),s[Symbol.toStringTag]="Module"}); diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 00000000..469e529b --- /dev/null +++ b/docs/404.html @@ -0,0 +1,20 @@ + + + + + + Sir Dez + + + + + + + + +

404

How did we get here?
+ Take me home. +
+ + + diff --git a/docs/api/.nojekyll b/docs/api/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/api/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/api/assets/highlight.css b/docs/api/assets/highlight.css new file mode 100644 index 00000000..57aea2e5 --- /dev/null +++ b/docs/api/assets/highlight.css @@ -0,0 +1,120 @@ +:root { + --light-hl-0: #000000; + --dark-hl-0: #D4D4D4; + --light-hl-1: #AF00DB; + --dark-hl-1: #C586C0; + --light-hl-2: #0000FF; + --dark-hl-2: #569CD6; + --light-hl-3: #001080; + --dark-hl-3: #9CDCFE; + --light-hl-4: #A31515; + --dark-hl-4: #CE9178; + --light-hl-5: #0070C1; + --dark-hl-5: #4FC1FF; + --light-hl-6: #795E26; + --dark-hl-6: #DCDCAA; + --light-hl-7: #800000; + --dark-hl-7: #808080; + --light-hl-8: #800000; + --dark-hl-8: #569CD6; + --light-hl-9: #000000FF; + --dark-hl-9: #D4D4D4; + --light-hl-10: #FF0000; + --dark-hl-10: #9CDCFE; + --light-hl-11: #0000FF; + --dark-hl-11: #CE9178; + --light-hl-12: #098658; + --dark-hl-12: #B5CEA8; + --light-hl-13: #267F99; + --dark-hl-13: #4EC9B0; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --code-background: var(--dark-code-background); +} } + +body.light { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --code-background: var(--light-code-background); +} + +body.dark { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +pre, code { background: var(--code-background); } diff --git a/docs/api/assets/icons.css b/docs/api/assets/icons.css new file mode 100644 index 00000000..776a3562 --- /dev/null +++ b/docs/api/assets/icons.css @@ -0,0 +1,1043 @@ +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(./icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(./icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -187px; +} diff --git a/docs/api/assets/icons.png b/docs/api/assets/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..3836d5fe46e48bbe186116855aae879c23935327 GIT binary patch literal 9615 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 NZmR35l_G4O{0}dcmS_L~ literal 0 HcmV?d00001 diff --git a/docs/api/assets/icons@2x.png b/docs/api/assets/icons@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5a209e2f6d7f915cc9cb6fe7a4264c8be4db87b0 GIT binary patch literal 28144 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 Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!_e.call(t,n)&&n!=="default"&&J(t,n,{get:()=>e[n],enumerable:!(r=Pe(e,n))||r.enumerable});return t},Ae=t=>De(Me(J(t!=null?Ce(Re(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ue,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?h+=2:a==c&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),v;f in s.node.edges?v=s.node.edges[f]:(v=new t.TokenSet,s.node.edges[f]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ue=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){var r;let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(r=this.secondaryNav)==null||r.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;nn.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ce=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var pe=Ae(de());function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ce(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=pe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o${ve(c.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=c.classes;let f=document.createElement("a");f.href=n.base+c.url,f.classList.add("tsd-kind-icon"),f.innerHTML=l,h.append(f),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`${re(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}fe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})(); +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/docs/api/assets/search.js b/docs/api/assets/search.js new file mode 100644 index 00000000..ad3c5066 --- /dev/null +++ b/docs/api/assets/search.js @@ -0,0 +1 @@ +window.searchData = {"kinds":{"32":"Variable","64":"Function","256":"Interface","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":64,"name":"createContext","url":"modules.html#createContext","classes":"tsd-kind-function"},{"id":1,"kind":64,"name":"growContext","url":"modules.html#growContext","classes":"tsd-kind-function"},{"id":2,"kind":64,"name":"contextSer","url":"modules.html#contextSer","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":3,"kind":64,"name":"contextDes","url":"modules.html#contextDes","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":4,"kind":64,"name":"contextFromBytes","url":"modules.html#contextFromBytes","classes":"tsd-kind-function"},{"id":5,"kind":64,"name":"define","url":"modules.html#define","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":6,"kind":32,"name":"latin1","url":"modules.html#latin1","classes":"tsd-kind-variable"},{"id":7,"kind":32,"name":"ucs2","url":"modules.html#ucs2","classes":"tsd-kind-variable"},{"id":8,"kind":32,"name":"utf8","url":"modules.html#utf8","classes":"tsd-kind-variable"},{"id":9,"kind":32,"name":"utf8js","url":"modules.html#utf8js","classes":"tsd-kind-variable"},{"id":10,"kind":64,"name":"array","url":"modules.html#array","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":11,"kind":64,"name":"optional","url":"modules.html#optional","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":12,"kind":64,"name":"map","url":"modules.html#map","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":13,"kind":64,"name":"string","url":"modules.html#string","classes":"tsd-kind-function"},{"id":14,"kind":64,"name":"bytes","url":"modules.html#bytes","classes":"tsd-kind-function"},{"id":15,"kind":32,"name":"boolean","url":"modules.html#boolean","classes":"tsd-kind-variable"},{"id":16,"kind":64,"name":"struct","url":"modules.html#struct","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":17,"kind":64,"name":"tuple","url":"modules.html#tuple","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":18,"kind":64,"name":"number","url":"modules.html#number","classes":"tsd-kind-function"},{"id":19,"kind":32,"name":"uint8","url":"modules.html#uint8","classes":"tsd-kind-variable"},{"id":20,"kind":32,"name":"uint16","url":"modules.html#uint16","classes":"tsd-kind-variable"},{"id":21,"kind":32,"name":"uint32","url":"modules.html#uint32","classes":"tsd-kind-variable"},{"id":22,"kind":32,"name":"int8","url":"modules.html#int8","classes":"tsd-kind-variable"},{"id":23,"kind":32,"name":"int16","url":"modules.html#int16","classes":"tsd-kind-variable"},{"id":24,"kind":32,"name":"int32","url":"modules.html#int32","classes":"tsd-kind-variable"},{"id":25,"kind":32,"name":"bigUint64","url":"modules.html#bigUint64","classes":"tsd-kind-variable"},{"id":26,"kind":32,"name":"bigInt64","url":"modules.html#bigInt64","classes":"tsd-kind-variable"},{"id":27,"kind":32,"name":"float32","url":"modules.html#float32","classes":"tsd-kind-variable"},{"id":28,"kind":32,"name":"float64","url":"modules.html#float64","classes":"tsd-kind-variable"},{"id":29,"kind":256,"name":"NumberFactory","url":"interfaces/NumberFactory.html","classes":"tsd-kind-interface"},{"id":30,"kind":4194304,"name":"StringFactory","url":"modules.html#StringFactory","classes":"tsd-kind-type-alias"},{"id":31,"kind":65536,"name":"__type","url":"modules.html#StringFactory.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"StringFactory"},{"id":32,"kind":4194304,"name":"BytesFactory","url":"modules.html#BytesFactory","classes":"tsd-kind-type-alias"},{"id":33,"kind":65536,"name":"__type","url":"modules.html#BytesFactory.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"BytesFactory"},{"id":34,"kind":4194304,"name":"Struct","url":"modules.html#Struct","classes":"tsd-kind-type-alias"},{"id":35,"kind":4194304,"name":"StructDefinition","url":"modules.html#StructDefinition","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":36,"kind":4194304,"name":"StructFactory","url":"modules.html#StructFactory","classes":"tsd-kind-type-alias"},{"id":37,"kind":65536,"name":"__type","url":"modules.html#StructFactory.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-has-type-parameter","parent":"StructFactory"},{"id":38,"kind":4194304,"name":"TupleFactory","url":"modules.html#TupleFactory","classes":"tsd-kind-type-alias"},{"id":39,"kind":65536,"name":"__type","url":"modules.html#TupleFactory.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-has-type-parameter","parent":"TupleFactory"},{"id":40,"kind":4194304,"name":"MapFactory","url":"modules.html#MapFactory","classes":"tsd-kind-type-alias"},{"id":41,"kind":65536,"name":"__type","url":"modules.html#MapFactory.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-has-type-parameter","parent":"MapFactory"},{"id":42,"kind":4194304,"name":"ArrayFactory","url":"modules.html#ArrayFactory","classes":"tsd-kind-type-alias"},{"id":43,"kind":65536,"name":"__type","url":"modules.html#ArrayFactory.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-has-type-parameter","parent":"ArrayFactory"},{"id":44,"kind":4194304,"name":"OptionalFactory","url":"modules.html#OptionalFactory","classes":"tsd-kind-type-alias"},{"id":45,"kind":65536,"name":"__type","url":"modules.html#OptionalFactory.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-has-type-parameter","parent":"OptionalFactory"},{"id":46,"kind":256,"name":"Context","url":"interfaces/Context.html","classes":"tsd-kind-interface"},{"id":47,"kind":1024,"name":"i","url":"interfaces/Context.html#i","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Context"},{"id":48,"kind":1024,"name":"view","url":"interfaces/Context.html#view","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Context"},{"id":49,"kind":1024,"name":"bytes","url":"interfaces/Context.html#bytes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Context"},{"id":50,"kind":4194304,"name":"GetType","url":"modules.html#GetType","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":51,"kind":4194304,"name":"Ser","url":"modules.html#Ser","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":52,"kind":65536,"name":"__type","url":"modules.html#Ser.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Ser"},{"id":53,"kind":4194304,"name":"Des","url":"modules.html#Des","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":54,"kind":65536,"name":"__type","url":"modules.html#Des.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Des"},{"id":55,"kind":256,"name":"Serdes","url":"interfaces/Serdes.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":56,"kind":1024,"name":"ser","url":"interfaces/Serdes.html#ser","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Serdes"},{"id":57,"kind":1024,"name":"des","url":"interfaces/Serdes.html#des","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Serdes"},{"id":58,"kind":256,"name":"UsableSerdes","url":"interfaces/UsableSerdes.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":59,"kind":2048,"name":"toBytes","url":"interfaces/UsableSerdes.html#toBytes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"UsableSerdes"},{"id":60,"kind":2048,"name":"toUnsafeBytes","url":"interfaces/UsableSerdes.html#toUnsafeBytes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"UsableSerdes"},{"id":61,"kind":2048,"name":"fromBytes","url":"interfaces/UsableSerdes.html#fromBytes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"UsableSerdes"},{"id":62,"kind":1024,"name":"ser","url":"interfaces/UsableSerdes.html#ser","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"UsableSerdes"},{"id":63,"kind":1024,"name":"des","url":"interfaces/UsableSerdes.html#des","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"UsableSerdes"},{"id":64,"kind":4194304,"name":"Encoding","url":"modules.html#Encoding","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":65,"kind":65536,"name":"__type","url":"modules.html#Encoding.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Encoding"},{"id":66,"kind":2048,"name":"encode","url":"modules.html#Encoding.__type.encode","classes":"tsd-kind-method tsd-parent-kind-type-literal","parent":"Encoding.__type"},{"id":67,"kind":2048,"name":"decode","url":"modules.html#Encoding.__type.decode","classes":"tsd-kind-method tsd-parent-kind-type-literal","parent":"Encoding.__type"},{"id":68,"kind":64,"name":"use","url":"modules.html#use","classes":"tsd-kind-function tsd-has-type-parameter"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,38.43]],["parent/0",[]],["name/1",[1,38.43]],["parent/1",[]],["name/2",[2,38.43]],["parent/2",[]],["name/3",[3,38.43]],["parent/3",[]],["name/4",[4,38.43]],["parent/4",[]],["name/5",[5,38.43]],["parent/5",[]],["name/6",[6,38.43]],["parent/6",[]],["name/7",[7,38.43]],["parent/7",[]],["name/8",[8,38.43]],["parent/8",[]],["name/9",[9,38.43]],["parent/9",[]],["name/10",[10,38.43]],["parent/10",[]],["name/11",[11,38.43]],["parent/11",[]],["name/12",[12,38.43]],["parent/12",[]],["name/13",[13,38.43]],["parent/13",[]],["name/14",[14,33.322]],["parent/14",[]],["name/15",[15,38.43]],["parent/15",[]],["name/16",[16,33.322]],["parent/16",[]],["name/17",[17,38.43]],["parent/17",[]],["name/18",[18,38.43]],["parent/18",[]],["name/19",[19,38.43]],["parent/19",[]],["name/20",[20,38.43]],["parent/20",[]],["name/21",[21,38.43]],["parent/21",[]],["name/22",[22,38.43]],["parent/22",[]],["name/23",[23,38.43]],["parent/23",[]],["name/24",[24,38.43]],["parent/24",[]],["name/25",[25,38.43]],["parent/25",[]],["name/26",[26,38.43]],["parent/26",[]],["name/27",[27,38.43]],["parent/27",[]],["name/28",[28,38.43]],["parent/28",[]],["name/29",[29,38.43]],["parent/29",[]],["name/30",[30,33.322]],["parent/30",[]],["name/31",[31,18.971]],["parent/31",[30,1.778]],["name/32",[32,33.322]],["parent/32",[]],["name/33",[31,18.971]],["parent/33",[32,1.778]],["name/34",[16,33.322]],["parent/34",[]],["name/35",[33,38.43]],["parent/35",[]],["name/36",[34,33.322]],["parent/36",[]],["name/37",[31,18.971]],["parent/37",[34,1.778]],["name/38",[35,33.322]],["parent/38",[]],["name/39",[31,18.971]],["parent/39",[35,1.778]],["name/40",[36,33.322]],["parent/40",[]],["name/41",[31,18.971]],["parent/41",[36,1.778]],["name/42",[37,33.322]],["parent/42",[]],["name/43",[31,18.971]],["parent/43",[37,1.778]],["name/44",[38,33.322]],["parent/44",[]],["name/45",[31,18.971]],["parent/45",[38,1.778]],["name/46",[39,27.444]],["parent/46",[]],["name/47",[40,38.43]],["parent/47",[39,1.464]],["name/48",[41,38.43]],["parent/48",[39,1.464]],["name/49",[14,33.322]],["parent/49",[39,1.464]],["name/50",[42,38.43]],["parent/50",[]],["name/51",[43,27.444]],["parent/51",[]],["name/52",[31,18.971]],["parent/52",[43,1.464]],["name/53",[44,27.444]],["parent/53",[]],["name/54",[31,18.971]],["parent/54",[44,1.464]],["name/55",[45,29.957]],["parent/55",[]],["name/56",[43,27.444]],["parent/56",[45,1.599]],["name/57",[44,27.444]],["parent/57",[45,1.599]],["name/58",[46,23.767]],["parent/58",[]],["name/59",[47,38.43]],["parent/59",[46,1.268]],["name/60",[48,38.43]],["parent/60",[46,1.268]],["name/61",[49,38.43]],["parent/61",[46,1.268]],["name/62",[43,27.444]],["parent/62",[46,1.268]],["name/63",[44,27.444]],["parent/63",[46,1.268]],["name/64",[50,33.322]],["parent/64",[]],["name/65",[31,18.971]],["parent/65",[50,1.778]],["name/66",[51,38.43]],["parent/66",[52,1.778]],["name/67",[53,38.43]],["parent/67",[52,1.778]],["name/68",[54,38.43]],["parent/68",[]]],"invertedIndex":[["__type",{"_index":31,"name":{"31":{},"33":{},"37":{},"39":{},"41":{},"43":{},"45":{},"52":{},"54":{},"65":{}},"parent":{}}],["array",{"_index":10,"name":{"10":{}},"parent":{}}],["arrayfactory",{"_index":37,"name":{"42":{}},"parent":{"43":{}}}],["bigint64",{"_index":26,"name":{"26":{}},"parent":{}}],["biguint64",{"_index":25,"name":{"25":{}},"parent":{}}],["boolean",{"_index":15,"name":{"15":{}},"parent":{}}],["bytes",{"_index":14,"name":{"14":{},"49":{}},"parent":{}}],["bytesfactory",{"_index":32,"name":{"32":{}},"parent":{"33":{}}}],["context",{"_index":39,"name":{"46":{}},"parent":{"47":{},"48":{},"49":{}}}],["contextdes",{"_index":3,"name":{"3":{}},"parent":{}}],["contextfrombytes",{"_index":4,"name":{"4":{}},"parent":{}}],["contextser",{"_index":2,"name":{"2":{}},"parent":{}}],["createcontext",{"_index":0,"name":{"0":{}},"parent":{}}],["decode",{"_index":53,"name":{"67":{}},"parent":{}}],["define",{"_index":5,"name":{"5":{}},"parent":{}}],["des",{"_index":44,"name":{"53":{},"57":{},"63":{}},"parent":{"54":{}}}],["encode",{"_index":51,"name":{"66":{}},"parent":{}}],["encoding",{"_index":50,"name":{"64":{}},"parent":{"65":{}}}],["encoding.__type",{"_index":52,"name":{},"parent":{"66":{},"67":{}}}],["float32",{"_index":27,"name":{"27":{}},"parent":{}}],["float64",{"_index":28,"name":{"28":{}},"parent":{}}],["frombytes",{"_index":49,"name":{"61":{}},"parent":{}}],["gettype",{"_index":42,"name":{"50":{}},"parent":{}}],["growcontext",{"_index":1,"name":{"1":{}},"parent":{}}],["i",{"_index":40,"name":{"47":{}},"parent":{}}],["int16",{"_index":23,"name":{"23":{}},"parent":{}}],["int32",{"_index":24,"name":{"24":{}},"parent":{}}],["int8",{"_index":22,"name":{"22":{}},"parent":{}}],["latin1",{"_index":6,"name":{"6":{}},"parent":{}}],["map",{"_index":12,"name":{"12":{}},"parent":{}}],["mapfactory",{"_index":36,"name":{"40":{}},"parent":{"41":{}}}],["number",{"_index":18,"name":{"18":{}},"parent":{}}],["numberfactory",{"_index":29,"name":{"29":{}},"parent":{}}],["optional",{"_index":11,"name":{"11":{}},"parent":{}}],["optionalfactory",{"_index":38,"name":{"44":{}},"parent":{"45":{}}}],["ser",{"_index":43,"name":{"51":{},"56":{},"62":{}},"parent":{"52":{}}}],["serdes",{"_index":45,"name":{"55":{}},"parent":{"56":{},"57":{}}}],["string",{"_index":13,"name":{"13":{}},"parent":{}}],["stringfactory",{"_index":30,"name":{"30":{}},"parent":{"31":{}}}],["struct",{"_index":16,"name":{"16":{},"34":{}},"parent":{}}],["structdefinition",{"_index":33,"name":{"35":{}},"parent":{}}],["structfactory",{"_index":34,"name":{"36":{}},"parent":{"37":{}}}],["tobytes",{"_index":47,"name":{"59":{}},"parent":{}}],["tounsafebytes",{"_index":48,"name":{"60":{}},"parent":{}}],["tuple",{"_index":17,"name":{"17":{}},"parent":{}}],["tuplefactory",{"_index":35,"name":{"38":{}},"parent":{"39":{}}}],["ucs2",{"_index":7,"name":{"7":{}},"parent":{}}],["uint16",{"_index":20,"name":{"20":{}},"parent":{}}],["uint32",{"_index":21,"name":{"21":{}},"parent":{}}],["uint8",{"_index":19,"name":{"19":{}},"parent":{}}],["usableserdes",{"_index":46,"name":{"58":{}},"parent":{"59":{},"60":{},"61":{},"62":{},"63":{}}}],["use",{"_index":54,"name":{"68":{}},"parent":{}}],["utf8",{"_index":8,"name":{"8":{}},"parent":{}}],["utf8js",{"_index":9,"name":{"9":{}},"parent":{}}],["view",{"_index":41,"name":{"48":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/api/assets/style.css b/docs/api/assets/style.css new file mode 100644 index 00000000..28f90b67 --- /dev/null +++ b/docs/api/assets/style.css @@ -0,0 +1,1388 @@ +@import url("./icons.css"); + +:root { + /* Light */ + --light-color-background: #fcfcfc; + --light-color-secondary-background: #fff; + --light-color-text: #222; + --light-color-text-aside: #707070; + --light-color-link: #4da6ff; + --light-color-menu-divider: #eee; + --light-color-menu-divider-focus: #000; + --light-color-menu-label: #707070; + --light-color-panel: var(--light-color-secondary-background); + --light-color-panel-divider: #eee; + --light-color-comment-tag: #707070; + --light-color-comment-tag-text: #fff; + --light-color-ts: #9600ff; + --light-color-ts-interface: #647f1b; + --light-color-ts-enum: #937210; + --light-color-ts-class: #0672de; + --light-color-ts-private: #707070; + --light-color-toolbar: #fff; + --light-color-toolbar-text: #333; + --light-icon-filter: invert(0); + --light-external-icon: url("data:image/svg+xml;utf8,"); + + /* Dark */ + --dark-color-background: #36393f; + --dark-color-secondary-background: #2f3136; + --dark-color-text: #ffffff; + --dark-color-text-aside: #e6e4e4; + --dark-color-link: #00aff4; + --dark-color-menu-divider: #eee; + --dark-color-menu-divider-focus: #000; + --dark-color-menu-label: #707070; + --dark-color-panel: var(--dark-color-secondary-background); + --dark-color-panel-divider: #818181; + --dark-color-comment-tag: #dcddde; + --dark-color-comment-tag-text: #2f3136; + --dark-color-ts: #c97dff; + --dark-color-ts-interface: #9cbe3c; + --dark-color-ts-enum: #d6ab29; + --dark-color-ts-class: #3695f3; + --dark-color-ts-private: #e2e2e2; + --dark-color-toolbar: #34373c; + --dark-color-toolbar-text: #ffffff; + --dark-icon-filter: invert(1); + --dark-external-icon: url("data:image/svg+xml;utf8,"); +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); + } +} + +body { + margin: 0; +} + +body.light { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); +} + +body.dark { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, +.tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col-4, +.col-8 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-4 { + width: 33.3333333333%; +} +.col-8 { + width: 66.6666666667%; +} + +ul.tsd-descriptions > li > :first-child, +.tsd-panel > :first-child, +.col-8 > :first-child, +.col-4 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, +.tsd-panel > :last-child, +.col-8 > :last-child, +.col-4 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html .col-content { + width: 72%; + } + html .col-menu { + width: 28%; + } + html .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html .col-content { + float: none; + width: 100%; + } + html .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: var(--color-panel); + transform: translate(100%, 0); + } + html .col-menu > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu :is(header, footer, .col-content) { + animation: shift-to-left 0.4s; + } + + .to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu :is(header, footer, .col-content) { + animation: unshift-to-left 0.4s; + } + + .from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu :is(header, footer, .col-content) { + transform: translate(-25%, 0); + } + .has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + display: grid; + grid-template-rows: auto 1fr; + max-height: 100vh; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: var(--color-panel); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid var(--color-comment-tag); + color: var(--color-comment-tag); + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, +dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, +dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: var(--color-panel); + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, + #tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid var(--color-panel-divider); + background-color: var(--color-panel); +} +footer:after { + content: ""; + display: table; +} +footer.with-border-bottom { + border-bottom: 1px solid var(--color-panel-divider); +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-parent-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-is-private a { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member [data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member [data-tsd-kind="Interface"] { + color: var(--color-ts-interface); +} +.tsd-member [data-tsd-kind="Enum"] { + color: var(--color-ts-enum); +} +.tsd-member [data-tsd-kind="Class"] { + color: var(--color-ts-class); +} +.tsd-member [data-tsd-kind="Private"] { + color: var(--color-ts-private); +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li { + border-top: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: var(--color-menu-label); +} +.tsd-navigation.primary li.globals + li > span, +.tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: sticky; + top: calc(0.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: var(--color-menu-divider-focus); +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: var(--color-panel); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; + border-collapse: collapse; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, +.tsd-panel table td { + padding: 6px 13px; + border: 1px solid var(--color-panel-divider); +} +.tsd-panel table tr { + background: var(--color-background); +} +.tsd-panel table tr:nth-child(even) { + background: var(--color-secondary-background); +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, +.tsd-panel-group > h2, +.tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-panel); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-panel-divider); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-panel-divider); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid var(--color-panel-divider); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid var(--color-panel-divider); +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: var(--color-panel-divider); +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, +ul.tsd-descriptions .tsd-index-panel h3, +.tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: var(--color-text-aside); + margin: 0 0 1em 0; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul, +.tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: var(--color-toolbar-text); + background: var(--color-toolbar); + border-bottom: 1px solid var(--color-panel-divider); + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: var(--color-toolbar-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, +.tsd-select .tsd-select-label:before, +.tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(./widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; + filter: var(--icon-filter); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, + .tsd-select .tsd-select-label:before, + .tsd-widget:before { + background-image: url(./widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-panel-divider); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: var(--color-background); +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: var(--color-panel); +} +.tsd-select .tsd-select-list li:hover { + background-color: var(--color-panel-divider); +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} diff --git a/docs/api/assets/widgets.png b/docs/api/assets/widgets.png new file mode 100644 index 0000000000000000000000000000000000000000..c7380532ac1b45400620011c37c4dcb7aec27a4c GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0y~yU~~YoH8@y+q^jrZML>b&o-U3d6^w6h1+IPUz|;DW zIZ;96kdsD>Qv^q=09&hp0GpEni<1IR%gvP3v%OR9*{MuRTKWHZyIbuBt)Ci`cU_&% z1T+i^Y)o{%281-<3TpPAUTzw5v;RY=>1rvxmPl96#kYc9hX!6V^nB|ad#(S+)}?8C zr_H+lT3B#So$T=?$(w3-{rbQ4R<@nsf$}$hwSO)A$8&`(j+wQf=Jwhb0`CvhR5DCf z^OgI)KQemrUFPH+UynC$Y~QHG%DbTVh-Skz{enNU)cV_hPu~{TD7TPZl>0&K>iuE| z7AYn$7)Jrb9GE&SfQW4q&G*@N|4cHI`VakFa5-C!ov&XD)J(qp$rJJ*9e z-sHv}#g*T7Cv048d1v~BEAzM5FztAse#q78WWC^BUCzQ U&wLp6h6BX&boFyt=akR{0G%$)mH+?% literal 0 HcmV?d00001 diff --git a/docs/api/assets/widgets@2x.png b/docs/api/assets/widgets@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbbd57272f3b28f47527d4951ad10f950b8ad43 GIT binary patch literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU}^xe12~w0Jcmn z@(X6T|9^jgLcx21{)7exgY)a>N6m2F0<`Rqr;B4q1>>88jUdw-7W`c)zLE*mq8W2H z-<&Jl_Hco5BuC5n@AbF5GD82~-e8-v=#zCyUX0F-o}8pPfAv`!GN$ff+TL<~@kgt} z62eO?_|&+>xBmM$@p|z`tIKEdpPf8%qI>4r7@jn<=eta*{3~?g(zz{Ke9zc-G^gr? z-7foa?LcS!hmbwzru}ICvbWLlW8;+l-}!^=c32!^nV`+`C*;0-*Y%l94pC;Cb3GXz zzSf%a!{gVr{Y_lVuUj+a)*Ca+!-Hu%xmP&&X-2CuANY8^i{D7Kg6qzP zXz_ps9+lN8ESH{K4`yu&b~I>N9xGlE&;2u*b?+Go!AhN?m-bxlLvtC#MzDF2kFzfHJ1W7ybqdefSqVhbOykd*Yi%EDuhs z4wF{ft^bv2+DDnKb8gj1FuvcV`M}luS>lO<^)8x>y1#R;a=-ZKwWTQQb)ioBbi;zh zD!f5V)8581to1LL7c9!l^PSC$NBPYif!_vAZhmL4)v4U)4UsrLYiH_9rmQDd?)(e5 z^pcH>qvBg*i0dus2r*mp4;zKvu=P#s-ti;2obl`NjjwoYd>e(oo#j_uyRb<7Pv^If zzZ|mGHmV)8^tbO%^>eqMw(@7(&3g{jEp-Najo7V75xI_ZHK*FA`elF{r5}E*d7+j_R literal 0 HcmV?d00001 diff --git a/docs/api/index.html b/docs/api/index.html new file mode 100644 index 00000000..7cd193ab --- /dev/null +++ b/docs/api/index.html @@ -0,0 +1,145 @@ +sirdez
Options
All
  • Public
  • Public/Protected
  • All
Menu

sirdez

+ +

Sir Dez

+ + +

Glorious SerDes for TypeScript

+ +

The library you can rely on,
For binary serialization and deserialization,
In Node, Deno, and the Web environment,
Which is simple and yet performant.

+

npm +deno +ci +coverage +report +docs +perf +bundle

+
+ + + +

Features

+
+
    +
  • Performant
  • +
  • Easy to use
  • +
  • Full TypeScript support
  • +
  • Super extensible
  • +
  • 99% tree-shakable
  • +
  • Zero dependencies (small footprint)
  • +
  • Runs in Node, Deno and browsers
  • +
  • More details...
  • +
+

Performance Comparison with other tools in Node (ops/sec)

+

performance

+ + +

Installation

+
+

Expand for more details.

+
+ Node (Webpack, Babel, React, Svelte, Vue, Svelte...) + + + +

In the terminal with NPM

+
+
npm i sirdez
+
+ + +

Or with Yarn

+
+
yarn add sirdez
+
+ + +

In the code with ES Modules

+
+
import * as sd from "sirdez";
+
+ + +

or with CommonJS

+
+
const sd = require("sirdez");
+
+
+ +
+Web (without bundlers) + + + +

In HTML with UMD

+
+
<script src="https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.umd.js"></script>
+
+ + +

In an ES module script (statically)

+
+
import * as sd from "https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js";
+
+ + +

In an ES module script (dynamically)

+
+
const sd = await import(
"https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js"
); +
+
+ +
+Deno + + + +

In code (statically)

+
+
import * as sd from "https://deno.land/x/sirdez/mod.ts";
+
+ + +

In code (dynamically)

+
+
const sd = await import("https://deno.land/x/sirdez/mod.ts");
+
+
+ + + +

Usage

+
+ + +

Simple snippet of code

+
+
const person = sd.use(
sd.struct({
name: sd.string(sd.utf8, sd.uint8),
age: sd.uint8
})
);

const bytes = person.toBytes({
name: "Bob",
age: 23
});

const samePerson = person.fromBytes(bytes);

console.log({ bytes, samePerson }); +
+ + +

Using TypeScript utilities

+
+
type Person = sd.GetType<typeof person>;

const bob: Person = {
name: "Bob",
age: 23
}; +
+ + +

Resources

+
+ + + +

Contribution

+
+

Help and suggestions are welcomed!

+ + +

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/api/interfaces/Context.html b/docs/api/interfaces/Context.html new file mode 100644 index 00000000..fd56cc1c --- /dev/null +++ b/docs/api/interfaces/Context.html @@ -0,0 +1 @@ +Context | sirdez
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Context

Hierarchy

  • Context

Index

Properties

Properties

bytes

bytes: Uint8Array

i

i: number

view

view: DataView

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/api/interfaces/NumberFactory.html b/docs/api/interfaces/NumberFactory.html new file mode 100644 index 00000000..78a850c4 --- /dev/null +++ b/docs/api/interfaces/NumberFactory.html @@ -0,0 +1 @@ +NumberFactory | sirdez
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface NumberFactory

Hierarchy

  • NumberFactory

Callable

  • NumberFactory(kind: IntKind, bitSize: IntSize): Serdes<number>
  • NumberFactory(kind: "float", bitSize: FloatSize): Serdes<number>
  • NumberFactory(kind: BigIntKind, bitSize: 64): Serdes<bigint>
  • NumberFactory(kind: Kind, bitSize: Size): Serdes<never>

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/api/interfaces/Serdes.html b/docs/api/interfaces/Serdes.html new file mode 100644 index 00000000..80160c56 --- /dev/null +++ b/docs/api/interfaces/Serdes.html @@ -0,0 +1 @@ +Serdes | sirdez
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Serdes<T>

Type parameters

  • T

Hierarchy

Index

Properties

Properties

des

des: Des<T>

ser

ser: Ser<T>

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/api/interfaces/UsableSerdes.html b/docs/api/interfaces/UsableSerdes.html new file mode 100644 index 00000000..4ee6da5d --- /dev/null +++ b/docs/api/interfaces/UsableSerdes.html @@ -0,0 +1 @@ +UsableSerdes | sirdez
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface UsableSerdes<T>

Type parameters

  • T

Hierarchy

Index

Properties

des

des: Des<T>

ser

ser: Ser<T>

Methods

fromBytes

  • fromBytes(buf: Uint8Array): T

toBytes

  • toBytes(data: T): Uint8Array

toUnsafeBytes

  • toUnsafeBytes(data: T): Uint8Array

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/api/modules.html b/docs/api/modules.html new file mode 100644 index 00000000..44088d3c --- /dev/null +++ b/docs/api/modules.html @@ -0,0 +1 @@ +sirdez
Options
All
  • Public
  • Public/Protected
  • All
Menu

sirdez

Index

Type aliases

ArrayFactory

ArrayFactory: <T>(sd: Serdes<T>, headSd: Serdes<number>) => Serdes<T[]>

Type declaration

BytesFactory

BytesFactory: (headSd: Serdes<number>) => Serdes<Uint8Array>

Type declaration

Des

Des<T>: (ctx: Context) => T

Type parameters

  • T

Type declaration

Encoding

Encoding<T>: { decode: any; encode: any }

Type parameters

  • T

Type declaration

GetType

GetType<T>: T extends Serdes<infer X> ? X : never

Type parameters

  • T

MapFactory

MapFactory: <T>(keySd: Serdes<string>, valueSd: Serdes<T>, headSd: Serdes<number>) => Serdes<Record<string, T>>

Type declaration

OptionalFactory

OptionalFactory: <T>(sd: Serdes<T>) => Serdes<T | void>

Type declaration

Ser

Ser<T>: (ctx: Context, data: T) => void

Type parameters

  • T

Type declaration

    • Parameters

      Returns void

StringFactory

StringFactory: (encoding: Encoding<string>, headSd: Serdes<number>) => Serdes<string>

Type declaration

Struct

Struct: Record<string | number, unknown> | unknown[]

StructDefinition

StructDefinition<T>: { [ k in keyof T]: Serdes<T[k]> }

Type parameters

StructFactory

StructFactory: <T>(definition: StructDefinition<T>) => Serdes<T>

Type declaration

TupleFactory

TupleFactory: <T>(...definition: StructDefinition<T>) => Serdes<T>

Type declaration

Variables

bigInt64

bigInt64: Serdes<bigint> = ...

bigUint64

bigUint64: Serdes<bigint> = ...

boolean

boolean: Serdes<boolean> = ...

float32

float32: Serdes<number> = ...

float64

float64: Serdes<number> = ...

int16

int16: Serdes<number> = ...

int32

int32: Serdes<number> = ...

int8

int8: Serdes<number> = ...

latin1

latin1: Encoding<string> = ...

ucs2

ucs2: Encoding<string> = ...

uint16

uint16: Serdes<number> = ...

uint32

uint32: Serdes<number> = ...

uint8

uint8: Serdes<number> = ...

utf8

utf8: Encoding<string> = ...

utf8js

utf8js: Encoding<string> = ...

Functions

Const array

Const bytes

contextDes

  • contextDes<T>(ctx: Context, des: Des<T>, bytes: Uint8Array): T

contextFromBytes

  • contextFromBytes(array: Uint8Array): Context

contextSer

  • contextSer<T>(ctx: Context, ser: Ser<T>, data: T): Uint8Array

createContext

  • createContext(size?: number): Context

define

growContext

Const map

Const number

  • number(kind: IntKind, bitSize: IntSize): Serdes<number>
  • number(kind: "float", bitSize: FloatSize): Serdes<number>
  • number(kind: BigIntKind, bitSize: 64): Serdes<bigint>
  • number(kind: Kind, bitSize: Size): Serdes<never>

Const optional

Const string

Const struct

Const tuple

use

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/assets/css/0.styles.9aa06acc.css b/docs/assets/css/0.styles.9aa06acc.css new file mode 100644 index 00000000..18fc1fd1 --- /dev/null +++ b/docs/assets/css/0.styles.9aa06acc.css @@ -0,0 +1 @@ +.code-copy{color:#aaa;fill:#aaa;font-size:14px;display:inline-block;cursor:pointer}div[class*=aside-code] aside .code-copy,div[class*=language-] pre .code-copy{position:absolute;z-index:1000;top:7px;right:35px;opacity:0;font-size:16px}div[class*=aside-code] aside:hover .code-copy,div[class*=language-] pre:hover .code-copy{opacity:1}.content pre,.content pre[class*=language-]{overflow-y:hidden}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{position:static!important}div[class~=language-text]:before{content:"text"}div[class~=language-yml]:before{content:"yml"}div[class*=language-] pre{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}p code{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}@-webkit-keyframes message-move-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes message-move-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}#message-container .message.move-in{-webkit-animation:message-move-in .3s ease-in-out;animation:message-move-in .3s ease-in-out}@-webkit-keyframes message-move-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes message-move-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}#message-container .message.move-out{-webkit-animation:message-move-out .3s ease-in-out;animation:message-move-out .3s ease-in-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}#message-container .message{background:#fff;margin:10px 0;padding:0 10px;height:40px;box-shadow:0 0 10px 0 #ccc;font-size:14px;border-radius:3px;display:flex;align-items:center;transition:height .2s ease-in-out,margin .2s ease-in-out}#message-container{position:fixed;left:0;top:100px;right:0;display:flex;flex-direction:column;align-items:center}#message-container .message .text{color:#333;padding:0 20px 0 5px}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#dc143c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#dc143c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#nprogress{pointer-events:none}#nprogress .bar{background:#dc143c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #dc143c,0 0 5px #dc143c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#dc143c transparent transparent #dc143c;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#dc143c;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #c61236}.home .hero .action-button:hover{background-color:#eb2049}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/sirdez/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#dc143c}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#dc143c}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#dc143c}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#dc143c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #dc143c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#dc143c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #ea1b45}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#dc143c;border-left-color:#dc143c}.sidebar-heading.clickable:hover{color:#dc143c}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#dc143c}a.sidebar-link.active{font-weight:600;color:#dc143c;border-left-color:#dc143c}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983} \ No newline at end of file diff --git a/docs/assets/img/search.83621669.svg b/docs/assets/img/search.83621669.svg new file mode 100644 index 00000000..03d83913 --- /dev/null +++ b/docs/assets/img/search.83621669.svg @@ -0,0 +1 @@ + diff --git a/docs/assets/js/10.aa2c1821.js b/docs/assets/js/10.aa2c1821.js new file mode 100644 index 00000000..ecf6c303 --- /dev/null +++ b/docs/assets/js/10.aa2c1821.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{410:function(t,s,a){"use strict";a.r(s);var e=a(58),n=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"boolean"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#boolean"}},[t._v("#")]),t._v(" Boolean")]),t._v(" "),a("p",[t._v("Boolean datatype is most basic of all. It consist of two values: "),a("code",[t._v("true")]),t._v(" and "),a("code",[t._v("false")]),t._v(".")]),t._v(" "),a("p",[a("code",[t._v("sd.boolean")]),t._v(" is under the hood simply a "),a("code",[t._v("sd.uint8")]),t._v(" which encodes 1 for "),a("code",[t._v("true")]),t._v(" and 0 for "),a("code",[t._v("false")]),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("boolean")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"specifications"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),a("p",[t._v("If "),a("code",[t._v("true")]),t._v(" then")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("[byte 1]\n")])])]),a("p",[t._v("Else")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("[byte 0]\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/11.79f801dd.js b/docs/assets/js/11.79f801dd.js new file mode 100644 index 00000000..3ade2f46 --- /dev/null +++ b/docs/assets/js/11.79f801dd.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{411:function(t,a,s){"use strict";s.r(a);var e=s(58),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"bytes"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#bytes"}},[t._v("#")]),t._v(" Bytes")]),t._v(" "),s("p",[t._v("Bytes data type allows to store "),s("code",[t._v("Uint8Array")]),t._v(".")]),t._v(" "),s("p",[s("code",[t._v("sd.bytes")]),t._v(" is a "),s("code",[t._v("sd.BytesFactory")]),t._v(", given a "),s("code",[t._v("headSd")]),t._v(" which will determine the maximum length of the "),s("code",[t._v("Uint8Array")]),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("p",[t._v("The below will create a "),s("code",[t._v("sd.Serdes")]),t._v(" which cannot exceed a length of 2^16 - 1.")]),t._v(" "),s("div",{staticClass:"language-ts extra-class"},[s("pre",{pre:!0,attrs:{class:"language-ts"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("bytes")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint16"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"specifications"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("[payload length (headSd)][payload]\n")])])]),s("p",[t._v("The "),s("code",[t._v("headSd")]),t._v(" will be used to serialize and deserialize the payload length.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/12.ff8e7ae9.js b/docs/assets/js/12.ff8e7ae9.js new file mode 100644 index 00000000..27ac43b1 --- /dev/null +++ b/docs/assets/js/12.ff8e7ae9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{412:function(t,a,s){"use strict";s.r(a);var e=s(58),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"map"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#map"}},[t._v("#")]),t._v(" Map")]),t._v(" "),s("p",[t._v("Maps allow to store key-value data. For example a phone book where the name of someone maps to a phone number.")]),t._v(" "),s("h2",{attrs:{id:"parameters"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#parameters"}},[t._v("#")]),t._v(" Parameters")]),t._v(" "),s("p",[s("code",[t._v("sd.map")]),t._v(" takes "),s("code",[t._v("keySd")]),t._v(", "),s("code",[t._v("valueSd")]),t._v(" and "),s("code",[t._v("headSd")]),t._v(".")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("keySd")]),t._v(" is the serializer/deserializer for the key components of the map.")]),t._v(" "),s("li",[s("code",[t._v("valueSd")]),t._v(" is the serializer/deserializer for the value components of the map.")]),t._v(" "),s("li",[s("code",[t._v("headSd")]),t._v(" is the header that will indicate the amount of entries in the map.")])]),t._v(" "),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("p",[t._v("A simple map that indexes users by id.")]),t._v(" "),s("div",{staticClass:"language-ts extra-class"},[s("pre",{pre:!0,attrs:{class:"language-ts"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" id "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("string")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ascii"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" user "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("struct")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n id"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n name"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("string")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("utf8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n age"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("map")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("user"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint16"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" id"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"specifications"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("[amount of key-value pairs (headSd)][...[key (keySd)][value (valueSd)]]\n")])])]),s("p",[t._v("The amount of key-value pairs will be encoded at the start of the payload. It will then be followed by the actual pairs.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/13.3ad04ac5.js b/docs/assets/js/13.3ad04ac5.js new file mode 100644 index 00000000..92b8ec9b --- /dev/null +++ b/docs/assets/js/13.3ad04ac5.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{413:function(t,e,s){"use strict";s.r(e);var a=s(58),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"number"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#number"}},[t._v("#")]),t._v(" Number")]),t._v(" "),s("p",[t._v("All numbers are stored in big-endian using "),s("code",[t._v("DataView")]),t._v(" methods for its "),s("a",{attrs:{href:"https://v8.dev/blog/dataview",target:"_blank",rel:"noopener noreferrer"}},[t._v("performance"),s("OutboundLink")],1),t._v(". There are two variants of numbers which have similar performance with different bundle size footprints.")]),t._v(" "),s("h2",{attrs:{id:"variants"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#variants"}},[t._v("#")]),t._v(" Variants")]),t._v(" "),s("p",[s("code",[t._v("sd.number@noeval")]),t._v(" have an implementation for each of the following. It has a mapping to find the "),s("code",[t._v("sd.Serdes")]),t._v(" for a given "),s("code",[t._v("kind")]),t._v(" and "),s("code",[t._v("bitSize")]),t._v(". Using number will need to include all the below in the bundle.")]),t._v(" "),s("blockquote",[s("p",[s("code",[t._v("sd.something@")]),t._v(" will be located at "),s("code",[t._v('"sirdez/"')]),t._v(" when importing, as well as all other "),s("em",[t._v("commmon")]),t._v(" exports.")])]),t._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("There is no input validation. Passing bad values will result it to return "),s("code",[t._v("undefined")]),t._v(". Thus calling it will throw an error.")])]),t._v(" "),s("p",[s("code",[t._v("sd.number")]),t._v(" is code generating factory that can create the following. Instead of mapping to a "),s("code",[t._v("sd.Serdes")]),t._v(", it evokes "),s("code",[t._v("new Function")]),t._v(" to create the "),s("code",[t._v("sd.Serdes")]),t._v(", hence the bundle size will be smaller.")]),t._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("There is no input validation. Passing bad values will result in either errors when invoking the returned "),s("code",[t._v("sd.Serdes")]),t._v(" or while generating it, or unexpected behaviors. Please fully use the power of TypeScript to prevent this.")])]),t._v(" "),s("p",[t._v("For non-dynamic numbers, please use "),s("code",[t._v("sd.")]),t._v(" if you are using a few, or "),s("code",[t._v("sd.eval")]),t._v(" if you are using most to reduce bundle size.")]),t._v(" "),s("h2",{attrs:{id:"mappings"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#mappings"}},[t._v("#")]),t._v(" Mappings")]),t._v(" "),s("p",[t._v("Both factories requires a "),s("code",[t._v("kind")]),t._v(" and a "),s("code",[t._v("bitSize")]),t._v(".")]),t._v(" "),s("p",[t._v("Truth table for "),s("code",[t._v("sd.number@noeval")]),t._v(" and "),s("code",[t._v("sd.number@noeval")]),t._v(".")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("kind")]),t._v(" "),s("th",[t._v("bitSize")]),t._v(" "),s("th",[t._v("returns")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("uint")]),t._v(" "),s("td",[t._v("8")]),t._v(" "),s("td",[s("code",[t._v("sd.uint8")])])]),t._v(" "),s("tr",[s("td",[t._v("uint")]),t._v(" "),s("td",[t._v("16")]),t._v(" "),s("td",[s("code",[t._v("sd.uint16")])])]),t._v(" "),s("tr",[s("td",[t._v("uint")]),t._v(" "),s("td",[t._v("32")]),t._v(" "),s("td",[s("code",[t._v("sd.uint32")])])]),t._v(" "),s("tr",[s("td",[t._v("bigUint")]),t._v(" "),s("td",[t._v("64")]),t._v(" "),s("td",[s("code",[t._v("sd.bigUint64")])])]),t._v(" "),s("tr",[s("td",[t._v("int")]),t._v(" "),s("td",[t._v("8")]),t._v(" "),s("td",[s("code",[t._v("sd.int8")])])]),t._v(" "),s("tr",[s("td",[t._v("int")]),t._v(" "),s("td",[t._v("16")]),t._v(" "),s("td",[s("code",[t._v("sd.int16")])])]),t._v(" "),s("tr",[s("td",[t._v("int")]),t._v(" "),s("td",[t._v("32")]),t._v(" "),s("td",[s("code",[t._v("sd.int32")])])]),t._v(" "),s("tr",[s("td",[t._v("bigInt")]),t._v(" "),s("td",[t._v("64")]),t._v(" "),s("td",[s("code",[t._v("sd.bigInt64")])])]),t._v(" "),s("tr",[s("td",[t._v("float")]),t._v(" "),s("td",[t._v("32")]),t._v(" "),s("td",[s("code",[t._v("sd.float32")])])]),t._v(" "),s("tr",[s("td",[t._v("float")]),t._v(" "),s("td",[t._v("64")]),t._v(" "),s("td",[s("code",[t._v("sd.float64")])])])])]),t._v(" "),s("p",[t._v("All number data types have been exported. So avoid using "),s("code",[t._v("sd.number@noeval")]),t._v(" or "),s("code",[t._v("sd.number")]),t._v(" for statically.")]),t._v(" "),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("p",[t._v("Statically using numbers.")]),t._v(" "),s("div",{staticClass:"language-ts extra-class"},[s("pre",{pre:!0,attrs:{class:"language-ts"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("Dynamically using numbers.")]),t._v(" "),s("div",{staticClass:"language-ts extra-class"},[s("pre",{pre:!0,attrs:{class:"language-ts"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("number")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"uint"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("8")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"specifications"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),s("p",[t._v("All numbers are "),s("em",[t._v("directly")]),t._v(" serialized in big-endian at the location of pointer "),s("code",[t._v("sd.Context#i")]),t._v(" to then increment the pointer by the byte size of the datatype.")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/14.db48e550.js b/docs/assets/js/14.db48e550.js new file mode 100644 index 00000000..3be81dc6 --- /dev/null +++ b/docs/assets/js/14.db48e550.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{414:function(t,a,s){"use strict";s.r(a);var e=s(58),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"optional"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#optional"}},[t._v("#")]),t._v(" Optional")]),t._v(" "),s("p",[t._v("Optional type allows you to have a value that may or may not be there when serializing and deserializing.")]),t._v(" "),s("p",[s("code",[t._v("sd.optional")]),t._v(" takes "),s("code",[t._v("sd")]),t._v(", a "),s("code",[t._v("sd.SerDes")]),t._v(" that will serialize if there is a value.")]),t._v(" "),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("p",[t._v("Optional number.")]),t._v(" "),s("div",{staticClass:"language-ts extra-class"},[s("pre",{pre:!0,attrs:{class:"language-ts"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("optional")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h2",{attrs:{id:"specifications"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),s("p",[s("code",[t._v("sd.optional")]),t._v(" uses a one byte header which is a boolean value to indicate if it has a value or not.")]),t._v(" "),s("p",[t._v("If value is not "),s("code",[t._v("undefined")]),t._v(" or "),s("code",[t._v("null")])]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("[byte 1][value (sd)]\n")])])]),s("p",[t._v("Otherwise")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("[byte 0]\n")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/15.6d1e75e6.js b/docs/assets/js/15.6d1e75e6.js new file mode 100644 index 00000000..234b4e60 --- /dev/null +++ b/docs/assets/js/15.6d1e75e6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{415:function(t,e,s){"use strict";s.r(e);var a=s(58),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"string"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#string"}},[t._v("#")]),t._v(" String")]),t._v(" "),s("p",[t._v("Strings in this library are exteremely versatile: you choose the encoding format and the header size.")]),t._v(" "),s("blockquote",[s("p",[t._v("String header will determine the max size of string: they encode the length of the encoded string output.")])]),t._v(" "),s("p",[s("code",[t._v("sd.string")]),t._v(" is a "),s("code",[t._v("sd.StringFactory")]),t._v(": it creates "),s("code",[t._v("sd.SerDes")]),t._v(" with the specified encoding scheme and header size.")]),t._v(" "),s("h2",{attrs:{id:"usage"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),s("p",[t._v("This is how you can create a UTF8 encoded string with a maximum length of 255 (because the range of "),s("code",[t._v("sd.uint8")]),t._v(" is [0, 255]).")]),t._v(" "),s("div",{staticClass:"language-ts extra-class"},[s("pre",{pre:!0,attrs:{class:"language-ts"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("string")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("utf8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("There are no input validation. Passing a string which too long will result in unexpected behaviors. Inputing a non-string value will most likely result in an error.")])]),t._v(" "),s("h2",{attrs:{id:"encodings"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#encodings"}},[t._v("#")]),t._v(" Encodings")]),t._v(" "),s("p",[t._v("Sir Dez comes with built-in string encodings.")]),t._v(" "),s("ul",[s("li",[t._v("For compact and fast strings that require all unicode characters, use "),s("code",[t._v("sd.utf8js")]),t._v(".")]),t._v(" "),s("li",[t._v("For longer compact strings that require all unicode characters, use "),s("code",[t._v("sd.utf8")]),t._v(".")]),t._v(" "),s("li",[t._v("For fast encoding that require all unicode characters, use "),s("code",[t._v("sd.utf16")]),t._v(".")]),t._v(" "),s("li",[t._v("For compact and fast encoding which only need the first 255 characters, use "),s("code",[t._v("sd.ascii")]),t._v(".")])]),t._v(" "),s("h2",{attrs:{id:"headers"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#headers"}},[t._v("#")]),t._v(" Headers")]),t._v(" "),s("p",[t._v("Headers determine the size of the string.")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("sd.uint8")]),t._v(" for strings of length [0, ~255].")]),t._v(" "),s("li",[s("code",[t._v("sd.uint16")]),t._v(" for strings of length [0, ~65 535].")]),t._v(" "),s("li",[s("code",[t._v("sd.uint32")]),t._v(" for strings of length [0, ~4 294 967 295]")])]),t._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("An "),s("strong",[t._v("~")]),t._v(" have been added because it is only an approximation. Depending the contents of string and the encoding, the number will change. The header determines the length of the encoded string payload, and not the length of the string in JavaScript (UTF16).")])]),t._v(" "),s("h2",{attrs:{id:"specifications"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),s("p",[t._v("The header is encoded before the main body of the string containing the encoded string.")]),t._v(" "),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("[header][encoded string]\n")])])]),s("p",[t._v("For example, if we have a string composed of ascii characters: "),s("code",[t._v('"hello world"')]),t._v(". The length of the string will be 11, hence the header value will be 11.")]),t._v(" "),s("p",[t._v("In the actual implementation, because the payload length is only known after the encoding process, we skip the header to write it after.")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/16.545a5f71.js b/docs/assets/js/16.545a5f71.js new file mode 100644 index 00000000..aaf87076 --- /dev/null +++ b/docs/assets/js/16.545a5f71.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{416:function(t,s,a){"use strict";a.r(s);var e=a(58),n=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"struct"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#struct"}},[t._v("#")]),t._v(" Struct")]),t._v(" "),a("p",[t._v("Structs allow to encode more complex data structures. They serialize JavaScript objects. "),a("code",[t._v("sd.struct")]),t._v(" takes a defintion which is a record of "),a("code",[t._v("sd.Serdes")]),t._v(" to create "),a("code",[t._v("sd.Serdes")]),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"variants"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#variants"}},[t._v("#")]),t._v(" Variants")]),t._v(" "),a("p",[t._v("There are two variants of structs.")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("sd.struct")]),t._v(" uses "),a("code",[t._v("new Function")]),t._v(" and generates a very fast function to serialize and deserialize an object.")]),t._v(" "),a("li",[a("code",[t._v("sd.struct@noeval")]),t._v(" does not use "),a("code",[t._v("new Function")]),t._v(", but it is much slower because it is implemented using a for loop.")])]),t._v(" "),a("blockquote",[a("p",[a("code",[t._v("sd.something@")]),t._v(" will be located at "),a("code",[t._v('"sirdez/"')]),t._v(" when importing, as well as all other "),a("em",[t._v("common")]),t._v(" exports.")])]),t._v(" "),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("p",[t._v("Simple 3D vector struct.")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" defintion "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n x"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n y"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n z"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("struct")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("definition"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"specifications"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),a("p",[t._v("Given a record of field names and "),a("code",[t._v("sd.Serdes")]),t._v(" values. It will serialize using the "),a("code",[t._v("sd.Serdes")]),t._v(" in the order presented by the definition, without any other metadata.")]),t._v(" "),a("p",[t._v("Using the example above, the serialized payload given a vector will be:")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("[vector.x][vector.y][vector.z]\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/17.1b59257c.js b/docs/assets/js/17.1b59257c.js new file mode 100644 index 00000000..729771a6 --- /dev/null +++ b/docs/assets/js/17.1b59257c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{417:function(e,t,i){"use strict";i.r(t);var o=i(58),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"design"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#design"}},[e._v("#")]),e._v(" Design")]),e._v(" "),i("p",[e._v("This section will cover the design of Sir Dez as well as its objectives. Reading the following will help you determine if Sir Dez is the binary serialization that fits your requriements.")]),e._v(" "),i("div",{staticClass:"custom-block tip"},[i("p",{staticClass:"custom-block-title"},[e._v("Why I authored this library?")]),e._v(" "),i("p",[e._v("I created Sir Dez because I wanted a compact performant binary serialization library with full TypeScript support that runs in Node, Deno and the browser for another project involving the WebCrypto API which only works with binary data.")])]),e._v(" "),i("h2",{attrs:{id:"typescript"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#typescript"}},[e._v("#")]),e._v(" TypeScript")]),e._v(" "),i("p",[e._v("TypeScript at first might seem like a pain to setup, but with the amount of tools available, a TypeScript project can easily be scafolded with a simple command while giving all of its benifits.")]),e._v(" "),i("ul",[i("li",[e._v("Better code suggestions")]),e._v(" "),i("li",[e._v("Compilation to many targets")]),e._v(" "),i("li",[e._v("Minimize runtime errors")]),e._v(" "),i("li",[e._v("Type error precognition")])]),e._v(" "),i("p",[e._v("Sir Dez fully supports TypeScript meaning if you define a "),i("code",[e._v("sd.Serdes")]),e._v(" and use it. TypeScript will warn you if you are using it with the wrong data type.")]),e._v(" "),i("h2",{attrs:{id:"bundle-size"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#bundle-size"}},[e._v("#")]),e._v(" Bundle Size")]),e._v(" "),i("p",[e._v("Sir Dez is fully tree-shakable with zero dependencies; the bundle will only include what you use. It can easily be tree-shaken because most of the code is atomic and decoupled. No worries, if you are using Sir Dez with a script tag, because Sir Dez' bundle size is only around 5 KiB and 2 KiB gzipped. The library also ships in many different bundles to fit your needs.")]),e._v(" "),i("h2",{attrs:{id:"portability"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#portability"}},[e._v("#")]),e._v(" Portability")]),e._v(" "),i("p",[e._v("The library is only using features available on most JavaScript runtimes, meaning it can run in multiple environments such as Node, Deno and the browser. Using common features also removes the need to bundle polyfills, thus reducing bundle size. The used features are:")]),e._v(" "),i("ul",[i("li",[i("code",[e._v("Uint8Array")])]),e._v(" "),i("li",[i("code",[e._v("DataView")])]),e._v(" "),i("li",[i("code",[e._v("TextEncoder")]),e._v(" for "),i("code",[e._v("sd.utf8#encode")])]),e._v(" "),i("li",[i("code",[e._v("TextDecoder")]),e._v(" for "),i("code",[e._v("sd.utf8#decode")])])]),e._v(" "),i("p",[e._v("In Node environment (override):")]),e._v(" "),i("ul",[i("li",[i("code",[e._v("Buffer.prototype.Write")]),e._v(" for "),i("code",[e._v("sd.#encode")])]),e._v(" "),i("li",[i("code",[e._v("Buffer.prototype.Slice")]),e._v(" for "),i("code",[e._v("sd.#decode")])])]),e._v(" "),i("div",{staticClass:"custom-block warning"},[i("p",{staticClass:"custom-block-title"},[e._v("WARNING")]),e._v(" "),i("p",[e._v("It is possible that in some node version, the above functions are not available. If it is the case and upgrading to a newer version is not possible, consider importing "),i("code",[e._v("sirdez/common")]),e._v(" instead.")])]),e._v(" "),i("h2",{attrs:{id:"performance"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#performance"}},[e._v("#")]),e._v(" Performance")]),e._v(" "),i("p",[e._v("Sir Dez aim to be as performant as possible in all environment. In fact, depending on the environment, different code will be used: when running in Node, Sir Dez will use Node's Buffer functions for encoding strings. This also explains the large performance gap for string intensive data types between Node and other environments such as the browser and Deno.")]),e._v(" "),i("h2",{attrs:{id:"compression"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#compression"}},[e._v("#")]),e._v(" Compression")]),e._v(" "),i("p",[e._v("Performance is great, but sending and storing data in a compact format is sometimes more important. Due to the flexibility of Sir Dez, you can store data in the most compact form possible without any elaborate compression algorithm to eliminate redundancy.")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/18.f1406b50.js b/docs/assets/js/18.f1406b50.js new file mode 100644 index 00000000..0eb1169e --- /dev/null +++ b/docs/assets/js/18.f1406b50.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{418:function(t,s,a){"use strict";a.r(s);var n=a(58),e=Object(n.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"extending"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#extending"}},[t._v("#")]),t._v(" Extending")]),t._v(" "),a("p",[t._v("Sir Dez is built in a way which is easy to extend. You can integrate your own logic into Sir Dez quickly simply by defining two functions: a serializer ("),a("code",[t._v("sd.Ser")]),t._v(") and a deserializer ("),a("code",[t._v("sd.Des")]),t._v(") with "),a("code",[t._v("sd.define")]),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"data-type"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-type"}},[t._v("#")]),t._v(" Data Type")]),t._v(" "),a("p",[t._v("In this example, we are going to create a union data type for "),a("code",[t._v("string")]),t._v(" and "),a("code",[t._v("number")]),t._v(" in TypeScript using other "),a("code",[t._v("sd.Serdes")]),t._v(".")]),t._v(" "),a("p",[t._v("During deserialization, to know if the payload data is a string or a number, we need to create a pivot. A simple "),a("code",[t._v("sd.uint8")]),t._v(" will do the job: "),a("code",[t._v("1")]),t._v(" for "),a("code",[t._v("string")]),t._v(" and "),a("code",[t._v("0")]),t._v(" for "),a("code",[t._v("number")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" utf8String "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("string")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("utf8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint16"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" union"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Serdes"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("string")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("|")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("number")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("define")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("typeof")]),t._v(" data "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("===")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"string"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("ser")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n utf8String"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("ser")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("ser")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("ser")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("des")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" utf8String"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("des")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("des")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("struct")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n other"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n stringOrNumber"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" union\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Contribute!")]),t._v(" "),a("p",[t._v("Feel free to create a pull request to add cool "),a("code",[t._v("sd.Serdes")]),t._v(" you created.")])]),t._v(" "),a("h2",{attrs:{id:"encoding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#encoding"}},[t._v("#")]),t._v(" Encoding")]),t._v(" "),a("p",[t._v("As of now, all Sir Dez' "),a("code",[t._v("sd.Encoding")]),t._v(" are for strings. An encoding for any data type is possible, but is a preferable to create a "),a("code",[t._v("sd.Serdes")]),t._v(" for that.")]),t._v(" "),a("p",[t._v("In this example, let's create an encoder for numbers in a string seperated by spaces (not very useful). "),a("code",[t._v('"1 2 3 4 5 6 7 8 9"')])]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" numbers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Encoding"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("string")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("encode")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("of")]),t._v(" data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("split")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('" "')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("ser")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v("n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("decode")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" size"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" arr "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" end "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" size"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("i "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),t._v(" end"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n arr"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("push")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("des")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n ctx"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("i"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("++")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" arr"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("join")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('" "')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/2.a5103cdb.js b/docs/assets/js/2.a5103cdb.js new file mode 100644 index 00000000..c2147c44 --- /dev/null +++ b/docs/assets/js/2.a5103cdb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{349:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return u})),n.d(e,"g",(function(){return l})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return h})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return v})),n.d(e,"j",(function(){return m}));n(23),n(59),n(350),n(86),n(352),n(198),n(85),n(89),n(7),n(90),n(39),n(91),n(191);var i=/#.*$/,r=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function u(t){return s.test(t)}function l(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function h(t){if(u(t))return t;var e=t.match(i),n=e?e[0]:"",r=o(t);return a.test(r)?t:r+".html"+n}function f(t,e){var n=decodeURIComponent(t.hash),r=function(t){var e=t.match(i);if(e)return e[0]}(e);return(!r||n===r)&&o(t.path)===o(e)}function p(t,e,n){if(u(e))return{type:"external",path:e};n&&(e=function(t,e,n){var i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;var r=e.split("/");n&&r[r.length-1]||r.pop();for(var a=t.replace(/^\//,"").split("/"),s=0;s3&&void 0!==arguments[3]?arguments[3]:1;if("string"==typeof e)return p(n,e,i);if(Array.isArray(e))return Object.assign(p(n,e[0],i),{title:e[1]});var a=e.children||[];return 0===a.length&&e.path?Object.assign(p(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map((function(e){return t(e,n,i,r+1)})),collapsable:!1!==e.collapsable}}(t,r,l)})):[]}return[]}function g(t){var e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map((function(e){return{type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}}))}]}function v(t){var e;return(t=t.map((function(t){return Object.assign({},t)}))).forEach((function(t){2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)})),t.filter((function(t){return 2===t.level}))}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},350:function(t,e,n){"use strict";var i=n(11),r=n(195),a=n(8),s=n(87),o=n(17),u=n(33),l=n(60),c=n(196),h=n(197);r("match",(function(t,e,n){return[function(e){var n=u(this),r=null==e?void 0:l(e,t);return r?i(r,e,n):new RegExp(e)[t](o(n))},function(t){var i=a(this),r=o(t),u=n(e,i,r);if(u.done)return u.value;if(!i.global)return h(i,r);var l=i.unicode;i.lastIndex=0;for(var f,p=[],d=0;null!==(f=h(i,r));){var g=o(f[0]);p[d]=g,""===g&&(i.lastIndex=c(r,s(i.lastIndex),l)),d++}return 0===d?null:p}]}))},351:function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},352:function(t,e,n){"use strict";var i=n(28),r=n(11),a=n(2),s=n(195),o=n(192),u=n(8),l=n(33),c=n(121),h=n(196),f=n(87),p=n(17),d=n(60),g=n(200),v=n(197),m=n(92),b=n(190),k=n(3),_=b.UNSUPPORTED_Y,x=Math.min,y=[].push,C=a(/./.exec),$=a(y),L=a("".slice);s("split",(function(t,e,n){var a;return a="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var a=p(l(this)),s=void 0===n?4294967295:n>>>0;if(0===s)return[];if(void 0===t)return[a];if(!o(t))return r(e,a,t,s);for(var u,c,h,f=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,b=new RegExp(t.source,d+"g");(u=r(m,b,a))&&!((c=b.lastIndex)>v&&($(f,L(a,v,u.index)),u.length>1&&u.index=s));)b.lastIndex===u.index&&b.lastIndex++;return v===a.length?!h&&C(b,"")||$(f,""):$(f,L(a,v)),f.length>s?g(f,0,s):f}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:r(e,this,t,n)}:e,[function(e,n){var i=l(this),s=null==e?void 0:d(e,t);return s?r(s,e,i,n):r(a,p(i),e,n)},function(t,i){var r=u(this),s=p(t),o=n(a,r,s,i,a!==e);if(o.done)return o.value;var l=c(r,RegExp),d=r.unicode,g=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(_?"g":"y"),m=new l(_?"^(?:"+r.source+")":r,g),b=void 0===i?4294967295:i>>>0;if(0===b)return[];if(0===s.length)return null===v(m,s)?[s]:[];for(var k=0,y=0,C=[];y@^][^\s!#%&*+<=>@^]*>/,N=/a/g,A=/a/g,D=new L(N)!==N,U=g.MISSED_STICKY,H=g.UNSUPPORTED_Y,W=i&&(!D||U||y||C||m((function(){return A[$]=!1,L(N)!=N||L(A)==A||"/a/i"!=L(N,"i")})));if(s("RegExp",W)){for(var G=function(t,e){var n,i,r,a,s,l,c=h(w,this),d=f(t),g=void 0===e,v=[],m=t;if(!c&&d&&g&&t.constructor===G)return t;if((d||h(w,t))&&(t=t.source,g&&(e="flags"in m?m.flags:S(m))),t=void 0===t?"":p(t),e=void 0===e?"":p(e),m=t,y&&"dotAll"in N&&(i=!!e&&R(e,"s")>-1)&&(e=j(e,/s/g,"")),n=e,U&&"sticky"in N&&(r=!!e&&R(e,"y")>-1)&&H&&(e=j(e,/y/g,"")),C&&(t=(a=function(t){for(var e,n=t.length,i=0,r="",a=[],s={},o=!1,u=!1,l=0,c="";i<=n;i++){if("\\"===(e=E(t,i)))e+=E(t,++i);else if("]"===e)o=!1;else if(!o)switch(!0){case"["===e:o=!0;break;case"("===e:I(P,T(t,i+1))&&(i+=2,u=!0),r+=e,l++;continue;case">"===e&&u:if(""===c||b(s,c))throw new O("Invalid capture group name");s[c]=!0,a[a.length]=[c,l],u=!1,c="";continue}u?c+=e:r+=e}return[r,a]}(t))[0],v=a[1]),s=o(L(t,e),c?this:w,G),(i||r||v.length)&&(l=k(s),i&&(l.dotAll=!0,l.raw=G(function(t){for(var e,n=t.length,i=0,r="",a=!1;i<=n;i++)"\\"!==(e=E(t,i))?a||"."!==e?("["===e?a=!0:"]"===e&&(a=!1),r+=e):r+="[\\s\\S]":r+=e+E(t,++i);return r}(t),n)),r&&(l.sticky=!0),v.length&&(l.groups=v)),t!==m)try{u(s,"source",""===m?"(?:)":m)}catch(t){}return s},B=function(t){t in G||l(G,t,{configurable:!0,get:function(){return L[t]},set:function(e){L[t]=e}})},M=c(L),q=0;M.length>q;)B(M[q++]);w.constructor=G,G.prototype=w,v(r,"RegExp",G)}_("RegExp")},357:function(t,e,n){var i=n(0),r=n(9),a=n(194),s=n(24),o=n(12).f,u=n(34).get,l=RegExp.prototype,c=i.TypeError;r&&a&&o(l,"dotAll",{configurable:!0,get:function(){if(this!==l){if("RegExp"===s(this))return!!u(this).dotAll;throw c("Incompatible receiver, RegExp required")}}})},358:function(t,e,n){var i=n(0),r=n(9),a=n(190).MISSED_STICKY,s=n(24),o=n(12).f,u=n(34).get,l=RegExp.prototype,c=i.TypeError;r&&a&&o(l,"sticky",{configurable:!0,get:function(){if(this!==l){if("RegExp"===s(this))return!!u(this).sticky;throw c("Incompatible receiver, RegExp required")}}})},359:function(t,e,n){"use strict";var i=n(2),r=n(88).PROPER,a=n(15),s=n(8),o=n(35),u=n(17),l=n(3),c=n(193),h=RegExp.prototype,f=h.toString,p=i(c),d=l((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),g=r&&"toString"!=f.name;(d||g)&&a(RegExp.prototype,"toString",(function(){var t=s(this),e=u(t.source),n=t.flags;return"/"+e+"/"+u(void 0===n&&o(h,t)&&!("flags"in h)?p(t):n)}),{unsafe:!0})},360:function(t,e,n){},361:function(t,e,n){},362:function(t,e,n){},363:function(t,e,n){},364:function(t,e,n){},365:function(t,e,n){},366:function(t,e){t.exports=function(t){return null==t}},367:function(t,e,n){},368:function(t,e,n){},369:function(t,e,n){},370:function(t,e,n){},371:function(t,e,n){},372:function(t,e,n){},376:function(t,e,n){"use strict";n.r(e);n(117),n(7);var i=n(349),r={name:"SidebarGroup",components:{DropdownTransition:n(377).a},props:["item","open","collapsable","depth"],beforeCreate:function(){this.$options.components.SidebarLinks=n(376).default},methods:{isActive:i.e}},a=(n(396),n(58)),s=Object(a.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?n("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):n("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),n("DropdownTransition",[t.open||!t.collapsable?n("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null).exports;n(397),n(23),n(86),n(85);function o(t,e,n,i,r){var a={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:i,"sidebar-link":!0}};return r>2&&(a.style={"padding-left":r+"rem"}),t("RouterLink",a,n)}function u(t,e,n,r,a){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1;return!e||s>a?null:t("ul",{class:"sidebar-sub-headers"},e.map((function(e){var l=Object(i.e)(r,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[o(t,n+"#"+e.slug,e.title,l,e.level-1),u(t,e.children,n,r,a,s+1)])})))}var l={functional:!0,props:["item","sidebarDepth"],render:function(t,e){var n=e.parent,r=n.$page,a=(n.$site,n.$route),s=n.$themeConfig,l=n.$themeLocaleConfig,c=e.props,h=c.item,f=c.sidebarDepth,p=Object(i.e)(a,h.path),d="auto"===h.type?p||h.children.some((function(t){return Object(i.e)(a,h.basePath+"#"+t.slug)})):p,g="external"===h.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,h.path,h.title||h.path):o(t,h.path,h.title||h.path,d),v=[r.frontmatter.sidebarDepth,f,l.sidebarDepth,s.sidebarDepth,1].find((function(t){return void 0!==t})),m=l.displayAllHeaders||s.displayAllHeaders;return"auto"===h.type?[g,u(t,h.children,h.basePath,a,v)]:(d||m)&&h.headers&&!i.d.test(h.path)?[g,u(t,Object(i.c)(h.headers),h.path,a,v)]:g}};n(398);function c(t,e){if("group"===e.type){var n=e.path&&Object(i.e)(t,e.path),r=e.children.some((function(e){return"group"===e.type?c(t,e):"page"===e.type&&Object(i.e)(t,e.path)}));return n||r}return!1}var h={name:"SidebarLinks",components:{SidebarGroup:s,SidebarLink:Object(a.a)(l,void 0,void 0,!1,null,null,null).exports},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data:function(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route:function(){this.refreshIndex()}},created:function(){this.refreshIndex()},methods:{refreshIndex:function(){var t=function(t,e){for(var n=0;n-1&&(this.openGroupIndex=t)},toggleGroup:function(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive:function(t){return Object(i.e)(this.$route,t.regularPath)}}},f=Object(a.a)(h,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.items.length?n("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(e,i){return n("li",{key:i},["group"===e.type?n("SidebarGroup",{attrs:{item:e,open:i===t.openGroupIndex,collapsable:e.collapsable||e.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(i)}}}):n("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:e}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=f.exports},377:function(t,e,n){"use strict";var i={name:"DropdownTransition",methods:{setHeight:function(t){t.style.height=t.scrollHeight+"px"},unsetHeight:function(t){t.style.height=""}}},r=(n(388),n(58)),a=Object(r.a)(i,(function(){var t=this.$createElement;return(this._self._c||t)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},378:function(t,e,n){"use strict";var i=n(1),r=n(379);i({target:"String",proto:!0,forced:n(380)("link")},{link:function(t){return r(this,"a","href",t)}})},379:function(t,e,n){var i=n(2),r=n(33),a=n(17),s=/"/g,o=i("".replace);t.exports=function(t,e,n,i){var u=a(r(t)),l="<"+e;return""!==n&&(l+=" "+n+'="'+o(a(i),s,""")+'"'),l+">"+u+""}},380:function(t,e,n){var i=n(3);t.exports=function(t){return i((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},381:function(t,e,n){"use strict";n(353)},382:function(t,e,n){var i=n(1),r=n(383);i({global:!0,forced:parseInt!=r},{parseInt:r})},383:function(t,e,n){var i=n(0),r=n(3),a=n(2),s=n(17),o=n(354).trim,u=n(351),l=i.parseInt,c=i.Symbol,h=c&&c.iterator,f=/^[+-]?0x/i,p=a(f.exec),d=8!==l(u+"08")||22!==l(u+"0x16")||h&&!r((function(){l(Object(h))}));t.exports=d?function(t,e){var n=o(s(t));return l(n,e>>>0||(p(f,n)?16:10))}:l},384:function(t,e,n){var i=n(88).PROPER,r=n(3),a=n(351);t.exports=function(t){return r((function(){return!!a[t]()||"​…᠎"!=="​…᠎"[t]()||i&&a[t].name!==t}))}},385:function(t,e,n){"use strict";var i,r=n(1),a=n(2),s=n(36).f,o=n(87),u=n(17),l=n(122),c=n(33),h=n(123),f=n(18),p=a("".endsWith),d=a("".slice),g=Math.min,v=h("endsWith");r({target:"String",proto:!0,forced:!!(f||v||(i=s(String.prototype,"endsWith"),!i||i.writable))&&!v},{endsWith:function(t){var e=u(c(this));l(t);var n=arguments.length>1?arguments[1]:void 0,i=e.length,r=void 0===n?i:g(o(n),i),a=u(t);return p?p(e,a,r):d(e,r-a.length,r)===a}})},386:function(t,e,n){"use strict";n(360)},387:function(t,e,n){"use strict";n(361)},388:function(t,e,n){"use strict";n(362)},389:function(t,e,n){"use strict";n(363)},390:function(t,e,n){"use strict";n(364)},391:function(t,e,n){"use strict";n(365)},392:function(t,e,n){"use strict";n(367)},393:function(t,e,n){var i=n(41),r=n(20),a=n(37);t.exports=function(t){return"string"==typeof t||!r(t)&&a(t)&&"[object String]"==i(t)}},394:function(t,e,n){"use strict";n(368)},395:function(t,e,n){"use strict";n(369)},396:function(t,e,n){"use strict";n(370)},397:function(t,e,n){"use strict";var i=n(1),r=n(40).find,a=n(119),s=!0;"find"in[]&&Array(1).find((function(){s=!1})),i({target:"Array",proto:!0,forced:s},{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),a("find")},398:function(t,e,n){"use strict";n(371)},399:function(t,e,n){"use strict";n(372)},403:function(t,e,n){"use strict";n.r(e);n(378),n(117),n(7),n(118);var i=n(349),r={name:"NavLink",props:{item:{required:!0}},computed:{link:function(){return Object(i.b)(this.item.link)},exact:function(){var t=this;return this.$site.locales?Object.keys(this.$site.locales).some((function(e){return e===t.link})):"/"===this.link},isNonHttpURI:function(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget:function(){return"_blank"===this.target},isInternal:function(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target:function(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel:function(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction:function(){this.$emit("focusout")}}},a=n(58),s=Object(a.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.isInternal?n("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?n("OutboundLink"):t._e()],1)}),[],!1,null,null,null).exports,o={name:"Home",components:{NavLink:s},computed:{data:function(){return this.$page.frontmatter},actionLink:function(){return{link:this.data.actionLink,text:this.data.actionText}}}},u=(n(381),Object(a.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("main",{staticClass:"home",attrs:{"aria-labelledby":null!==t.data.heroText?"main-title":null}},[n("header",{staticClass:"hero"},[t.data.heroImage?n("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:t.data.heroAlt||"hero"}}):t._e(),t._v(" "),null!==t.data.heroText?n("h1",{attrs:{id:"main-title"}},[t._v("\n "+t._s(t.data.heroText||t.$title||"Hello")+"\n ")]):t._e(),t._v(" "),null!==t.data.tagline?n("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]):t._e(),t._v(" "),t.data.actionText&&t.data.actionLink?n("p",{staticClass:"action"},[n("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?n("div",{staticClass:"features"},t._l(t.data.features,(function(e,i){return n("div",{key:i,staticClass:"feature"},[n("h2",[t._v(t._s(e.title))]),t._v(" "),n("p",[t._v(t._s(e.details))])])})),0):t._e(),t._v(" "),n("Content",{staticClass:"theme-default-content custom"}),t._v(" "),t.data.footer?n("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):t._e()],1)}),[],!1,null,null,null).exports),l=(n(382),n(355),n(191),n(91),n(39),n(23),n(350),n(203),n(204),n(198),n(59),n(356),n(357),n(358),n(359),n(85),n(352),n(86),n(385),n(206)),c=n.n(l),h=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=c()(e,"title","");return c()(e,"frontmatter.tags")&&(i+=" ".concat(e.frontmatter.tags.join(" "))),n&&(i+=" ".concat(n)),f(t,i)},f=function(t,e){var n=function(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")},i=new RegExp("[^\0-]"),r=t.split(/\s+/g).map((function(t){return t.trim()})).filter((function(t){return!!t}));if(i.test(t))return r.some((function(t){return e.toLowerCase().indexOf(t)>-1}));var a=t.endsWith(" ");return new RegExp(r.map((function(t,e){return r.length!==e+1||a?"(?=.*\\b".concat(n(t),"\\b)"):"(?=.*\\b".concat(n(t),")")})).join("")+".+","gi").test(e)},p={name:"SearchBox",data:function(){return{query:"",focused:!1,focusIndex:0,placeholder:void 0}},computed:{showSuggestions:function(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions:function(){var t=this.query.trim().toLowerCase();if(t){for(var e=this.$site.pages,n=this.$site.themeConfig.searchMaxSuggestions||5,i=this.$localePath,r=[],a=0;a=n);a++){var s=e[a];if(this.getPageLocalePath(s)===i&&this.isSearchable(s))if(h(t,s))r.push(s);else if(s.headers)for(var o=0;o=n);o++){var u=s.headers[o];u.title&&h(t,s,u.title)&&r.push(Object.assign({},s,{path:s.path+"#"+u.slug,header:u}))}}return r}},alignRight:function(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},mounted:function(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey)},beforeDestroy:function(){document.removeEventListener("keydown",this.onHotkey)},methods:{getPageLocalePath:function(t){for(var e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},isSearchable:function(t){var e=null;return null===e||(e=Array.isArray(e)?e:new Array(e)).filter((function(e){return t.path.match(e)})).length>0},onHotkey:function(t){t.srcElement===document.body&&["s","/"].includes(t.key)&&(this.$refs.input.focus(),t.preventDefault())},onUp:function(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown:function(){this.showSuggestions&&(this.focusIndex "+t._s(e.header.title))]):t._e()])])})),0):t._e()])}),[],!1,null,null,null).exports),g=(n(387),Object(a.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar-button",on:{click:function(e){return t.$emit("toggle-sidebar")}}},[n("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[n("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null).exports),v=n(56),m=(n(205),n(377)),b=n(207),k=n.n(b),_={name:"DropdownLink",components:{NavLink:s,DropdownTransition:m.a},props:{item:{required:!0}},data:function(){return{open:!1}},computed:{dropdownAriaLabel:function(){return this.item.ariaLabel||this.item.text}},watch:{$route:function(){this.open=!1}},methods:{setOpen:function(t){this.open=t},isLastItemOfArray:function(t,e){return k()(e)===t},handleDropdown:function(){0===event.detail&&this.setOpen(!this.open)}}},x=(n(389),{name:"NavLinks",components:{NavLink:s,DropdownLink:Object(a.a)(_,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[n("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow down"})]),t._v(" "),n("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),n("DropdownTransition",[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(e,i){return n("li",{key:e.link||i,staticClass:"dropdown-item"},["links"===e.type?n("h4",[t._v("\n "+t._s(e.text)+"\n ")]):t._e(),t._v(" "),"links"===e.type?n("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(e.items,(function(i){return n("li",{key:i.link,staticClass:"dropdown-subitem"},[n("NavLink",{attrs:{item:i},on:{focusout:function(n){t.isLastItemOfArray(i,e.items)&&t.isLastItemOfArray(e,t.item.items)&&t.setOpen(!1)}}})],1)})),0):n("NavLink",{attrs:{item:e},on:{focusout:function(n){t.isLastItemOfArray(e,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null).exports},computed:{userNav:function(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav:function(){var t=this,e=this.$site.locales;if(e&&Object.keys(e).length>1){var n=this.$page.path,i=this.$router.options.routes,r=this.$site.themeConfig.locales||{},a={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(e).map((function(a){var s,o=e[a],u=r[a]&&r[a].label||o.lang;return o.lang===t.$lang?s=n:(s=n.replace(t.$localeConfig.path,a),i.some((function(t){return t.path===s}))||(s=a)),{text:u,link:s}}))};return[].concat(Object(v.a)(this.userNav),[a])}return this.userNav},userLinks:function(){return(this.nav||[]).map((function(t){return Object.assign(Object(i.j)(t),{items:(t.items||[]).map(i.j)})}))},repoLink:function(){var t=this.$site.themeConfig.repo;return t?/^https?:/.test(t)?t:"https://github.com/".concat(t):null},repoLabel:function(){if(this.repoLink){if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;for(var t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"],n=0;nMath.abs(n)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}}),G=Object(a.a)(W,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?n("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),n("div",{staticClass:"sidebar-mask",on:{click:function(e){return t.toggleSidebar(!1)}}}),t._v(" "),n("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("sidebar-bottom")]},proxy:!0}],null,!0)}),t._v(" "),t.$page.frontmatter.home?n("Home"):n("Page",{attrs:{"sidebar-items":t.sidebarItems},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);e.default=G.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/3.016704f1.js b/docs/assets/js/3.016704f1.js new file mode 100644 index 00000000..804bffe3 --- /dev/null +++ b/docs/assets/js/3.016704f1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{373:function(t,e,n){},400:function(t,e,n){"use strict";n(373)},419:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(400),n(58)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/4.003b0fb7.js b/docs/assets/js/4.003b0fb7.js new file mode 100644 index 00000000..fa19bc5c --- /dev/null +++ b/docs/assets/js/4.003b0fb7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{374:function(t,e,a){},401:function(t,e,a){"use strict";a(374)},405:function(t,e,a){"use strict";a.r(e);var n={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted:function(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(401),a(58)),s=Object(i.a)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=s.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/5.10edfa56.js b/docs/assets/js/5.10edfa56.js new file mode 100644 index 00000000..27584017 --- /dev/null +++ b/docs/assets/js/5.10edfa56.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{375:function(e,t,a){},402:function(e,t,a){"use strict";a(375)},406:function(e,t,a){"use strict";a.r(t);a(85),a(39),a(7),a(89),a(90);var o={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.activateCodeTab(e)}},mounted:function(){this.loadTabs()},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e},loadTabs:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,a){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=a),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab:function(e){this.codeTabs.forEach((function(e){e.elm&&e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},n=(a(402),a(58)),c=Object(n.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/6.6d30da22.js b/docs/assets/js/6.6d30da22.js new file mode 100644 index 00000000..fb8bc5f3 --- /dev/null +++ b/docs/assets/js/6.6d30da22.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{404:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(58),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/7.301af573.js b/docs/assets/js/7.301af573.js new file mode 100644 index 00000000..c0394495 --- /dev/null +++ b/docs/assets/js/7.301af573.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{407:function(t,s,a){"use strict";a.r(s);var e=a(58),r=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("div",{attrs:{markdown:"1",align:"center"}},[a("p",[a("a",{attrs:{href:"https://weisrc.github.io/sirdez",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://see.fontimg.com/api/renderfont4/Zd2J/eyJyIjoiZnMiLCJoIjoxMjAsImZnYyI6IiNEQzE0M0MiLCJ0IjoxfQ/U2lyIERleg/x.png",alt:"Sir Dez"}}),a("OutboundLink")],1)]),t._v(" "),a("h1",{attrs:{id:"glorious-serdes-for-typescript"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#glorious-serdes-for-typescript"}},[t._v("#")]),t._v(" "),a("strong",[t._v("Glorious "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/SerDes",target:"_blank",rel:"noopener noreferrer"}},[a("em",[t._v("SerDes")]),a("OutboundLink")],1),t._v(" for TypeScript")])]),t._v(" "),a("p",[t._v("The "),a("strong",[t._v("library")]),t._v(" you can rely on,"),a("br"),t._v("\nFor "),a("strong",[t._v("binary")]),t._v(" "),a("strong",[t._v("serialization")]),t._v(" and "),a("strong",[t._v("deserialization")]),t._v(","),a("br"),t._v("\nIn "),a("strong",[t._v("Node")]),t._v(", "),a("strong",[t._v("Deno")]),t._v(", and the "),a("strong",[t._v("Web")]),t._v(" environment,"),a("br"),t._v("\nWhich is "),a("strong",[t._v("simple")]),t._v(" and yet "),a("strong",[t._v("performant")]),t._v(".")]),t._v(" "),a("p",[a("a",{attrs:{href:"https://www.npmjs.com/package/sirdez",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/npm/v/sirdez?color=cb3837&label=npm&logo=npm",alt:"npm"}}),a("OutboundLink")],1),t._v(" "),a("a",{attrs:{href:"https://deno.land/x/sirdez",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/github/v/release/weisrc/sirdez?color=white&include_prereleases&label=deno&logo=deno",alt:"deno"}}),a("OutboundLink")],1),t._v(" "),a("a",{attrs:{href:"https://github.com/weisrc/sirdez/actions/workflows/ci.yml",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://github.com/weisrc/sirdez/actions/workflows/ci.yml/badge.svg",alt:"ci"}}),a("OutboundLink")],1),t._v(" "),a("a",{attrs:{href:"https://weisrc.github.io/sirdez/coverage/lcov-report",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/endpoint?url=https://weisrc.github.io/sirdez/badges/coverage.json",alt:"coverage"}}),a("OutboundLink")],1),t._v(" "),a("a",{attrs:{href:"https://weisrc.github.io/sirdez/report",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/endpoint?url=https://weisrc.github.io/sirdez/badges/report.json",alt:"report"}}),a("OutboundLink")],1),t._v(" "),a("a",{attrs:{href:"https://weisrc.github.io/sirdez",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/badge/docs-vuepress-41B883?logo=readthedocs",alt:"docs"}}),a("OutboundLink")],1),t._v(" "),a("a",{attrs:{href:"TODO"}},[a("img",{attrs:{src:"https://img.shields.io/endpoint?url=https://weisrc.github.io/sirdez/badges/perf.json",alt:"perf"}})]),t._v(" "),a("a",{attrs:{href:"https://bundlephobia.com/package/sirdez",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/bundlephobia/minzip/sirdez",alt:"bundle"}}),a("OutboundLink")],1)])]),t._v(" "),a("h2",{attrs:{id:"features"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),a("ul",[a("li",[t._v("Performant")]),t._v(" "),a("li",[t._v("Easy to use")]),t._v(" "),a("li",[t._v("Full TypeScript support")]),t._v(" "),a("li",[t._v("Super extensible")]),t._v(" "),a("li",[t._v("99% tree-shakable")]),t._v(" "),a("li",[t._v("Zero dependencies (small footprint)")]),t._v(" "),a("li",[t._v("Runs in Node, Deno and browsers")]),t._v(" "),a("li",[a("a",{attrs:{href:"https://weisrc.github.io/sirdez/design",target:"_blank",rel:"noopener noreferrer"}},[t._v("More details..."),a("OutboundLink")],1)])]),t._v(" "),a("p",[a("strong",[t._v("Performance Comparison with other tools in Node (ops/sec)")])]),t._v(" "),a("p",[a("a",{attrs:{href:"TODO"}},[a("img",{attrs:{src:"https://weisrc.github.io/sirdez/perf/main.png",alt:"performance"}})])]),t._v(" "),a("h2",{attrs:{id:"installation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation")]),t._v(" "),a("p",[t._v("Expand for more details.")]),t._v(" "),a("details",{attrs:{markdodwn:"1"}},[a("summary",[t._v("Node (Webpack, Babel, React, Svelte, Vue, Svelte...)")]),t._v(" "),a("h4",{attrs:{id:"in-the-terminal-with-npm"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#in-the-terminal-with-npm"}},[t._v("#")]),t._v(" In the terminal with NPM")]),t._v(" "),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" i sirdez\n")])])]),a("h4",{attrs:{id:"or-with-yarn"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#or-with-yarn"}},[t._v("#")]),t._v(" Or with Yarn")]),t._v(" "),a("div",{staticClass:"language-sh extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sh"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("yarn")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("add")]),t._v(" sirdez\n")])])]),a("h4",{attrs:{id:"in-the-code-with-es-modules"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#in-the-code-with-es-modules"}},[t._v("#")]),t._v(" In the code with ES Modules")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("as")]),t._v(" sd "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"sirdez"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h4",{attrs:{id:"or-with-commonjs"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#or-with-commonjs"}},[t._v("#")]),t._v(" or with CommonJS")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" sd "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"sirdez"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])]),t._v(" "),a("details",{attrs:{markdodwn:"1"}},[a("summary",[t._v("Web (without bundlers)")]),t._v(" "),a("h4",{attrs:{id:"in-html-with-umd"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#in-html-with-umd"}},[t._v("#")]),t._v(" In HTML with UMD")]),t._v(" "),a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.umd.js"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token script"}}),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),a("h4",{attrs:{id:"in-an-es-module-script-statically"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#in-an-es-module-script-statically"}},[t._v("#")]),t._v(" In an ES module script (statically)")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("as")]),t._v(" sd "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h4",{attrs:{id:"in-an-es-module-script-dynamically"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#in-an-es-module-script-dynamically"}},[t._v("#")]),t._v(" In an ES module script (dynamically)")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" sd "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js"')]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])]),t._v(" "),a("details",{attrs:{markdodwn:"1"}},[a("summary",[t._v("Deno")]),t._v(" "),a("h4",{attrs:{id:"in-code-statically"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#in-code-statically"}},[t._v("#")]),t._v(" In code (statically)")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("as")]),t._v(" sd "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://deno.land/x/sirdez/mod.ts"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h4",{attrs:{id:"in-code-dynamically"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#in-code-dynamically"}},[t._v("#")]),t._v(" In code (dynamically)")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" sd "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("await")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://deno.land/x/sirdez/mod.ts"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])]),t._v(" "),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("h4",{attrs:{id:"simple-snippet-of-code"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#simple-snippet-of-code"}},[t._v("#")]),t._v(" Simple snippet of code")]),t._v(" "),a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" person "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("struct")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("string")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("utf8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("age")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" bytes "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" person"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("toBytes")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Bob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("age")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("23")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" samePerson "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" person"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("fromBytes")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("bytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nconsole"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" bytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" samePerson "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h4",{attrs:{id:"using-typescript-utilities"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#using-typescript-utilities"}},[t._v("#")]),t._v(" Using TypeScript utilities")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("type")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Person")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("GetType"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("typeof")]),t._v(" person"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" bob"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" Person "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Bob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n age"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("23")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"resources"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resources"}},[t._v("#")]),t._v(" Resources")]),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://weisrc.github.io/sirdez",target:"_blank",rel:"noopener noreferrer"}},[t._v("Documentation"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://weisrc.github.io/sirdez/coverage/lcov-report",target:"_blank",rel:"noopener noreferrer"}},[t._v("Coverage Report"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://weisrc.github.io/sirdez/report",target:"_blank",rel:"noopener noreferrer"}},[t._v("Test Report"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"TODO"}},[t._v("Performance Report")])]),t._v(" "),a("li",[a("a",{attrs:{href:"https://www.npmjs.com/package/sirdez",target:"_blank",rel:"noopener noreferrer"}},[t._v("NPM package"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://deno.land/x/sirdez",target:"_blank",rel:"noopener noreferrer"}},[t._v("Deno Land"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/weisrc/sirdez/actions/workflows/ci.yml",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub Action CI"),a("OutboundLink")],1)])]),t._v(" "),a("h2",{attrs:{id:"contribution"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contribution"}},[t._v("#")]),t._v(" Contribution")]),t._v(" "),a("p",[t._v("Help and suggestions are welcomed!")])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/8.bfaa41c0.js b/docs/assets/js/8.bfaa41c0.js new file mode 100644 index 00000000..cfd5f214 --- /dev/null +++ b/docs/assets/js/8.bfaa41c0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{408:function(t,s,a){"use strict";a.r(s);var e=a(58),n=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"components"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#components"}},[t._v("#")]),t._v(" Components")]),t._v(" "),a("p",[t._v("The purpose of this section is to familiarize with the components and their relationships as well as their use cases. With this knowledge, you will be capable of fully extending Sir Dez to better fit your needs.")]),t._v(" "),a("h2",{attrs:{id:"serdes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#serdes"}},[t._v("#")]),t._v(" Serdes")]),t._v(" "),a("p",[t._v("Serdes are the building blocks used to create serializers and deserializers for complex data structures. However they are not very useful when used alone without a context. This is where "),a("code",[t._v("sd.UsableSerdes")]),t._v(" come into play.")]),t._v(" "),a("blockquote",[a("p",[t._v("Note: "),a("code",[t._v("sd")]),t._v(" comes from "),a("code",[t._v('import * as sd from "sirdez"')])])]),t._v(" "),a("h2",{attrs:{id:"usableserdes"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usableserdes"}},[t._v("#")]),t._v(" UsableSerdes")]),t._v(" "),a("p",[t._v("UsableSerdes are capable of serializing and deserializing data types and structures. A "),a("code",[t._v("sd.SerDes")]),t._v(" can be easily converted into it with "),a("code",[t._v("sd.use")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" bytes "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("toBytes")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("255")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" same255 "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("fromBytes")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("bytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("console")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" bytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" same255 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[a("code",[t._v("toBytes")]),t._v(" encodes "),a("code",[t._v("255")]),t._v(" to a new "),a("code",[t._v("Uint8Array")]),t._v(", therefore it is safe to store. It is using "),a("code",[t._v("slice")]),t._v(" under the hood which creates a partial copy of the internal "),a("code",[t._v("Uint8Array")]),t._v(" found at "),a("code",[t._v("sd.Context#bytes")]),t._v(".")]),t._v(" "),a("p",[a("code",[t._v("fromBytes")]),t._v(" decodes the "),a("code",[t._v("encoded")]),t._v(" back to a JavaScript number.")]),t._v(" "),a("h3",{attrs:{id:"unsafe-serialization"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#unsafe-serialization"}},[t._v("#")]),t._v(" Unsafe serialization")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toUnsafeBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Creating a new "),a("code",[t._v("Uint8Array")]),t._v(" to return the encoded is not performant for larger data structures. To address this, converters have a second encoding method named "),a("code",[t._v("toUnsafeBytes")]),t._v(". "),a("strong",[a("code",[t._v("Uint8Array")]),t._v(" returned by "),a("code",[t._v("toUnsafeBytes")]),t._v(" must be used immediately and should not be stored because the data will be mutated on its next call.")]),t._v(" It is using "),a("code",[t._v("subarray")]),t._v(" under hood which does not return a copy.")]),t._v(" "),a("h2",{attrs:{id:"factories"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#factories"}},[t._v("#")]),t._v(" Factories")]),t._v(" "),a("p",[t._v("Sir Dez' Factories are the factories of "),a("code",[t._v("sd.Serdes")]),t._v(". Factories are the functions responsible for composing "),a("code",[t._v("sd.Serdes")]),t._v(" and creating new "),a("code",[t._v("sd.Serdes")]),t._v(" dynamically.")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" vector3dSerdes "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("struct")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n x"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n y"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n z"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float64\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("vector3dSerdes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[a("code",[t._v("sd.struct")]),t._v(" is a "),a("code",[t._v("sd.StructFactory")]),t._v(". It creates "),a("code",[t._v("sd.Serdes")]),t._v(" given a key-value schema of "),a("code",[t._v("sd.Serdes")]),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"encodings"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#encodings"}},[t._v("#")]),t._v(" Encodings")]),t._v(" "),a("p",[t._v("Encodings allow to encode string related data. Sir Dez comes with built-in encodings: "),a("code",[t._v("sd.utf8")]),t._v(", "),a("code",[t._v("sd.utf8js")]),t._v(", "),a("code",[t._v("sd.utf16")]),t._v(", "),a("code",[t._v("sd.ascii")]),t._v(".")]),t._v(" "),a("blockquote",[a("p",[a("code",[t._v("sd.utf8")]),t._v(" uses the native "),a("code",[t._v("TextEncoder")]),t._v(" and "),a("code",[t._v("TextDecoder")]),t._v(". However, it somehow under performs for small strings, therefore "),a("code",[t._v("sd.utf8js")]),t._v(" is recommended for small strings.")])]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("string")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("utf8js"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/9.1b2d8a96.js b/docs/assets/js/9.1b2d8a96.js new file mode 100644 index 00000000..58f7d254 --- /dev/null +++ b/docs/assets/js/9.1b2d8a96.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{409:function(t,s,a){"use strict";a.r(s);var e=a(58),n=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"array"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#array"}},[t._v("#")]),t._v(" Array")]),t._v(" "),a("p",[t._v("Arrays allow you to store elements of a specific type. For example vertices, transactions, users... "),a("code",[t._v("sd.array")]),t._v(" will require a "),a("code",[t._v("sd.Serdes")]),t._v(" which will be used to encode the items, and a "),a("code",[t._v("headSd")]),t._v(" which is a "),a("code",[t._v("sd.Serdes")]),t._v(" to encode the number of items in the array.")]),t._v(" "),a("h2",{attrs:{id:"headers"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#headers"}},[t._v("#")]),t._v(" Headers")]),t._v(" "),a("p",[t._v("Headers determine the size of the array.")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("sd.uint8")]),t._v(" for arrays of length [0, 255].")]),t._v(" "),a("li",[a("code",[t._v("sd.uint16")]),t._v(" for arrays of length [0, 65 535].")]),t._v(" "),a("li",[a("code",[t._v("sd.uint32")]),t._v(" for arrays of length [0, 4 294 967 295]")])]),t._v(" "),a("h2",{attrs:{id:"usage"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[t._v("#")]),t._v(" Usage")]),t._v(" "),a("p",[t._v("Creating a "),a("code",[t._v("sd.Serdes")]),t._v(" for points. It can store up to 65 535 items points as defined by "),a("code",[t._v("headSd")]),t._v(" of "),a("code",[t._v("sd.uint16")]),t._v(".")]),t._v(" "),a("div",{staticClass:"language-ts extra-class"},[a("pre",{pre:!0,attrs:{class:"language-ts"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" toBytes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" fromBytes "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("use")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("array")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("struct")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" x"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" y"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("float "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("uint16"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"specifications"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#specifications"}},[t._v("#")]),t._v(" Specifications")]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("[number of items (headSd)][...items (sd)]\n")])])]),a("p",[t._v("The number of items ("),a("code",[t._v("array.length")]),t._v(") will be encoded at the start of the payload using the provided "),a("code",[t._v("headSd")]),t._v(". Then the actual items serialized with "),a("code",[t._v("sd")]),t._v(" will follow.")])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/app.b5c202d2.js b/docs/assets/js/app.b5c202d2.js new file mode 100644 index 00000000..3e628d74 --- /dev/null +++ b/docs/assets/js/app.b5c202d2.js @@ -0,0 +1,15 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,c=e[0],u=e[1],s=e[2],l=0,p=[];l=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},function(t,e,n){var r=n(160),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},function(t,e,n){"use strict";var r=n(1),o=n(92);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(t,e,n){var r=n(2),o=r({}.toString),i=r("".slice);t.exports=function(t){return i(o(t),8,-1)}},function(t,e,n){var r,o=n(8),i=n(126),a=n(99),c=n(46),u=n(130),s=n(64),f=n(69),l=f("IE_PROTO"),p=function(){},d=function(t){return" + + diff --git a/docs/coverage/coverage-final.json b/docs/coverage/coverage-final.json new file mode 100644 index 00000000..1f3ee142 --- /dev/null +++ b/docs/coverage/coverage-final.json @@ -0,0 +1,27 @@ +{"/home/runner/work/sirdez/sirdez/src/context.ts": {"path":"/home/runner/work/sirdez/sirdez/src/context.ts","statementMap":{"0":{"start":{"line":4,"column":17},"end":{"line":4,"column":38}},"1":{"start":{"line":5,"column":2},"end":{"line":9,"column":4}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":16}},"3":{"start":{"line":13,"column":2},"end":{"line":13,"column":51}},"4":{"start":{"line":14,"column":2},"end":{"line":14,"column":44}},"5":{"start":{"line":12,"column":0},"end":{"line":12,"column":16}},"6":{"start":{"line":23,"column":2},"end":{"line":33,"column":null}},"7":{"start":{"line":24,"column":18},"end":{"line":24,"column":38}},"8":{"start":{"line":25,"column":4},"end":{"line":25,"column":14}},"9":{"start":{"line":26,"column":4},"end":{"line":31,"column":null}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":21}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":42}},"12":{"start":{"line":28,"column":25},"end":{"line":28,"column":42}},"13":{"start":{"line":30,"column":6},"end":{"line":30,"column":37}},"14":{"start":{"line":30,"column":25},"end":{"line":30,"column":37}},"15":{"start":{"line":32,"column":4},"end":{"line":32,"column":21}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":16}},"17":{"start":{"line":41,"column":21},"end":{"line":41,"column":26}},"18":{"start":{"line":42,"column":2},"end":{"line":48,"column":null}},"19":{"start":{"line":43,"column":4},"end":{"line":43,"column":25}},"20":{"start":{"line":44,"column":4},"end":{"line":44,"column":14}},"21":{"start":{"line":45,"column":4},"end":{"line":45,"column":20}},"22":{"start":{"line":47,"column":4},"end":{"line":47,"column":40}},"23":{"start":{"line":36,"column":0},"end":{"line":36,"column":16}},"24":{"start":{"line":52,"column":2},"end":{"line":60,"column":4}},"25":{"start":{"line":51,"column":0},"end":{"line":51,"column":16}}},"fnMap":{"0":{"name":"createContext","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":41},"end":{"line":10,"column":1}}},"1":{"name":"growContext","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":27}},"loc":{"start":{"line":12,"column":40},"end":{"line":15,"column":1}}},"2":{"name":"contextSer","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":26}},"loc":{"start":{"line":20,"column":9},"end":{"line":34,"column":1}}},"3":{"name":"contextDes","decl":{"start":{"line":36,"column":16},"end":{"line":36,"column":26}},"loc":{"start":{"line":39,"column":19},"end":{"line":49,"column":1}}},"4":{"name":"contextFromBytes","decl":{"start":{"line":51,"column":16},"end":{"line":51,"column":32}},"loc":{"start":{"line":51,"column":50},"end":{"line":61,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":30},"end":{"line":3,"column":41}},"type":"default-arg","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":41}}]},"1":{"loc":{"start":{"line":28,"column":6},"end":{"line":28,"column":42}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":28,"column":42}}]},"2":{"loc":{"start":{"line":30,"column":6},"end":{"line":30,"column":37}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":30,"column":37}}]},"3":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":null}},{"start":{"line":46,"column":9},"end":{"line":48,"column":null}}]}},"s":{"0":18,"1":18,"2":14,"3":6,"4":6,"5":14,"6":4,"7":9,"8":9,"9":9,"10":9,"11":3,"12":3,"13":6,"14":1,"15":5,"16":14,"17":3,"18":3,"19":1,"20":1,"21":1,"22":2,"23":14,"24":3,"25":14},"f":{"0":18,"1":6,"2":4,"3":3,"4":3},"b":{"0":[13],"1":[3],"2":[1],"3":[1,2]}} +,"/home/runner/work/sirdez/sirdez/src/define.ts": {"path":"/home/runner/work/sirdez/sirdez/src/define.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":22}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":16}}},"fnMap":{"0":{"name":"define","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":22}},"loc":{"start":{"line":3,"column":50},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":208,"1":14},"f":{"0":208},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/index.ts": {"path":"/home/runner/work/sirdez/sirdez/src/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":22}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":14,"4":14,"5":14},"f":{},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/node.ts": {"path":"/home/runner/work/sirdez/sirdez/src/node.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":22}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3},"f":{},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/use.ts": {"path":"/home/runner/work/sirdez/sirdez/src/use.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":null}},"1":{"start":{"line":10,"column":14},"end":{"line":10,"column":29}},"2":{"start":{"line":11,"column":2},"end":{"line":18,"column":4}},"3":{"start":{"line":14,"column":23},"end":{"line":14,"column":65}},"4":{"start":{"line":16,"column":6},"end":{"line":16,"column":51}},"5":{"start":{"line":17,"column":26},"end":{"line":17,"column":53}},"6":{"start":{"line":9,"column":0},"end":{"line":9,"column":16}}},"fnMap":{"0":{"name":"use","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":19}},"loc":{"start":{"line":9,"column":46},"end":{"line":19,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":14}},"loc":{"start":{"line":14,"column":23},"end":{"line":14,"column":65}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":19},"end":{"line":15,"column":20}},"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":51}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":15},"end":{"line":17,"column":16}},"loc":{"start":{"line":17,"column":26},"end":{"line":17,"column":53}}}},"branchMap":{},"s":{"0":14,"1":1,"2":1,"3":3,"4":1,"5":3,"6":14},"f":{"0":1,"1":3,"2":1,"3":3},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/encodings/index.ts": {"path":"/home/runner/work/sirdez/sirdez/src/encodings/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":23}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":23}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":14},"f":{},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/encodings/latin1.ts": {"path":"/home/runner/work/sirdez/sirdez/src/encodings/latin1.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":17,"column":2}},"1":{"start":{"line":5,"column":23},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"3":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"4":{"start":{"line":7,"column":6},"end":{"line":7,"column":53}},"5":{"start":{"line":11,"column":28},"end":{"line":11,"column":43}},"6":{"start":{"line":12,"column":4},"end":{"line":14,"column":null}},"7":{"start":{"line":12,"column":17},"end":{"line":12,"column":18}},"8":{"start":{"line":13,"column":6},"end":{"line":13,"column":44}},"9":{"start":{"line":15,"column":4},"end":{"line":15,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":8}},"loc":{"start":{"line":4,"column":18},"end":{"line":9,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":8}},"loc":{"start":{"line":10,"column":18},"end":{"line":16,"column":3}}}},"branchMap":{},"s":{"0":14,"1":1,"2":1,"3":1,"4":61,"5":1,"6":1,"7":1,"8":61,"9":1},"f":{"0":1,"1":1},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/encodings/ucs2.ts": {"path":"/home/runner/work/sirdez/sirdez/src/encodings/ucs2.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":20,"column":2}},"1":{"start":{"line":5,"column":23},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":4},"end":{"line":9,"column":null}},"3":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"4":{"start":{"line":7,"column":6},"end":{"line":7,"column":52}},"5":{"start":{"line":8,"column":6},"end":{"line":8,"column":17}},"6":{"start":{"line":12,"column":19},"end":{"line":12,"column":27}},"7":{"start":{"line":13,"column":28},"end":{"line":13,"column":45}},"8":{"start":{"line":14,"column":4},"end":{"line":17,"column":null}},"9":{"start":{"line":14,"column":17},"end":{"line":14,"column":18}},"10":{"start":{"line":15,"column":6},"end":{"line":15,"column":43}},"11":{"start":{"line":16,"column":6},"end":{"line":16,"column":17}},"12":{"start":{"line":18,"column":4},"end":{"line":18,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":8}},"loc":{"start":{"line":4,"column":18},"end":{"line":10,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":8}},"loc":{"start":{"line":11,"column":18},"end":{"line":19,"column":3}}}},"branchMap":{},"s":{"0":14,"1":1,"2":1,"3":1,"4":7451,"5":7451,"6":1,"7":1,"8":1,"9":1,"10":7451,"11":7451,"12":1},"f":{"0":1,"1":1},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/encodings/utf8.ts": {"path":"/home/runner/work/sirdez/sirdez/src/encodings/utf8.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":3,"column":47}},"1":{"start":{"line":4,"column":30},"end":{"line":4,"column":47}},"2":{"start":{"line":6,"column":13},"end":{"line":13,"column":2}},"3":{"start":{"line":8,"column":4},"end":{"line":9,"column":25}},"4":{"start":{"line":12,"column":4},"end":{"line":12,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":8}},"loc":{"start":{"line":7,"column":18},"end":{"line":10,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":10},"end":{"line":11,"column":11}},"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":62}}}},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":10,"4":10},"f":{"0":10,"1":10},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/encodings/utf8js.ts": {"path":"/home/runner/work/sirdez/sirdez/src/encodings/utf8js.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":82,"column":2}},"1":{"start":{"line":5,"column":23},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":4},"end":{"line":38,"column":null}},"3":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"4":{"start":{"line":7,"column":19},"end":{"line":7,"column":47}},"5":{"start":{"line":8,"column":6},"end":{"line":37,"column":null}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":39}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":16}},"8":{"start":{"line":12,"column":13},"end":{"line":37,"column":null}},"9":{"start":{"line":15,"column":18},"end":{"line":15,"column":37}},"10":{"start":{"line":16,"column":18},"end":{"line":16,"column":29}},"11":{"start":{"line":17,"column":8},"end":{"line":17,"column":50}},"12":{"start":{"line":18,"column":8},"end":{"line":18,"column":19}},"13":{"start":{"line":19,"column":13},"end":{"line":37,"column":null}},"14":{"start":{"line":22,"column":18},"end":{"line":22,"column":39}},"15":{"start":{"line":23,"column":18},"end":{"line":23,"column":38}},"16":{"start":{"line":24,"column":18},"end":{"line":24,"column":36}},"17":{"start":{"line":25,"column":8},"end":{"line":25,"column":58}},"18":{"start":{"line":26,"column":8},"end":{"line":26,"column":19}},"19":{"start":{"line":28,"column":21},"end":{"line":28,"column":52}},"20":{"start":{"line":31,"column":18},"end":{"line":31,"column":40}},"21":{"start":{"line":32,"column":18},"end":{"line":32,"column":39}},"22":{"start":{"line":33,"column":18},"end":{"line":33,"column":37}},"23":{"start":{"line":34,"column":18},"end":{"line":34,"column":29}},"24":{"start":{"line":35,"column":8},"end":{"line":35,"column":62}},"25":{"start":{"line":36,"column":8},"end":{"line":36,"column":19}},"26":{"start":{"line":41,"column":28},"end":{"line":41,"column":30}},"27":{"start":{"line":42,"column":16},"end":{"line":42,"column":28}},"28":{"start":{"line":43,"column":4},"end":{"line":79,"column":null}},"29":{"start":{"line":44,"column":16},"end":{"line":44,"column":40}},"30":{"start":{"line":45,"column":6},"end":{"line":78,"column":null}},"31":{"start":{"line":47,"column":8},"end":{"line":47,"column":22}},"32":{"start":{"line":48,"column":8},"end":{"line":48,"column":16}},"33":{"start":{"line":49,"column":13},"end":{"line":78,"column":null}},"34":{"start":{"line":53,"column":18},"end":{"line":53,"column":46}},"35":{"start":{"line":54,"column":8},"end":{"line":54,"column":19}},"36":{"start":{"line":55,"column":8},"end":{"line":55,"column":51}},"37":{"start":{"line":56,"column":13},"end":{"line":78,"column":null}},"38":{"start":{"line":61,"column":18},"end":{"line":61,"column":46}},"39":{"start":{"line":62,"column":18},"end":{"line":62,"column":46}},"40":{"start":{"line":63,"column":8},"end":{"line":63,"column":19}},"41":{"start":{"line":64,"column":8},"end":{"line":66,"column":10}},"42":{"start":{"line":71,"column":18},"end":{"line":71,"column":43}},"43":{"start":{"line":72,"column":18},"end":{"line":72,"column":33}},"44":{"start":{"line":73,"column":18},"end":{"line":73,"column":37}},"45":{"start":{"line":74,"column":18},"end":{"line":74,"column":35}},"46":{"start":{"line":75,"column":18},"end":{"line":75,"column":26}},"47":{"start":{"line":76,"column":8},"end":{"line":76,"column":34}},"48":{"start":{"line":77,"column":8},"end":{"line":77,"column":19}},"49":{"start":{"line":80,"column":4},"end":{"line":80,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":8}},"loc":{"start":{"line":4,"column":18},"end":{"line":39,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":2},"end":{"line":40,"column":8}},"loc":{"start":{"line":40,"column":18},"end":{"line":81,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":6},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":6},"end":{"line":37,"column":null}},{"start":{"line":12,"column":13},"end":{"line":37,"column":null}}]},"1":{"loc":{"start":{"line":12,"column":13},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":13},"end":{"line":37,"column":null}},{"start":{"line":19,"column":13},"end":{"line":37,"column":null}}]},"2":{"loc":{"start":{"line":19,"column":13},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":13},"end":{"line":37,"column":null}},{"start":{"line":27,"column":13},"end":{"line":37,"column":null}}]},"3":{"loc":{"start":{"line":19,"column":17},"end":{"line":19,"column":48}},"type":"binary-expr","locations":[{"start":{"line":19,"column":17},"end":{"line":19,"column":30}},{"start":{"line":19,"column":34},"end":{"line":19,"column":48}}]},"4":{"loc":{"start":{"line":45,"column":6},"end":{"line":78,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":6},"end":{"line":78,"column":null}},{"start":{"line":49,"column":13},"end":{"line":78,"column":null}}]},"5":{"loc":{"start":{"line":49,"column":13},"end":{"line":78,"column":null}},"type":"if","locations":[{"start":{"line":49,"column":13},"end":{"line":78,"column":null}},{"start":{"line":56,"column":13},"end":{"line":78,"column":null}}]},"6":{"loc":{"start":{"line":56,"column":13},"end":{"line":78,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":13},"end":{"line":78,"column":null}},{"start":{"line":67,"column":13},"end":{"line":78,"column":null}}]}},"s":{"0":14,"1":34084,"2":34083,"3":34083,"4":259229,"5":259229,"6":239091,"7":239087,"8":20138,"9":2731,"10":2731,"11":2731,"12":2731,"13":17407,"14":14420,"15":14420,"16":14420,"17":14420,"18":14420,"19":2987,"20":2987,"21":2987,"22":2987,"23":2987,"24":2987,"25":2986,"26":20598,"27":20598,"28":20598,"29":159896,"30":159896,"31":146176,"32":146176,"33":13720,"34":2090,"35":2090,"36":2090,"37":11630,"38":9812,"39":9812,"40":9812,"41":9812,"42":1818,"43":1818,"44":1818,"45":1818,"46":1818,"47":1818,"48":1818,"49":20598},"f":{"0":34084,"1":20598},"b":{"0":[239091,20138],"1":[2731,17407],"2":[14420,2987],"3":[17407,2989],"4":[146176,13720],"5":[2090,11630],"6":[9812,1818]}} +,"/home/runner/work/sirdez/sirdez/src/node_encodings/latin1.ts": {"path":"/home/runner/work/sirdez/sirdez/src/node_encodings/latin1.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":3,"column":53}},"1":{"start":{"line":5,"column":13},"end":{"line":11,"column":2}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":54}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":55}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":8}},"loc":{"start":{"line":6,"column":18},"end":{"line":8,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":10},"end":{"line":9,"column":11}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":55}}}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1},"f":{"0":1,"1":1},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/node_encodings/ucs2.ts": {"path":"/home/runner/work/sirdez/sirdez/src/node_encodings/ucs2.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":49}},"1":{"start":{"line":5,"column":13},"end":{"line":11,"column":2}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":52}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":8}},"loc":{"start":{"line":6,"column":18},"end":{"line":8,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":10},"end":{"line":9,"column":11}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1},"f":{"0":1,"1":1},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/node_encodings/utf8.ts": {"path":"/home/runner/work/sirdez/sirdez/src/node_encodings/utf8.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":49}},"1":{"start":{"line":5,"column":13},"end":{"line":11,"column":2}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":52}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":8}},"loc":{"start":{"line":6,"column":18},"end":{"line":8,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":10},"end":{"line":9,"column":11}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1},"f":{"0":1,"1":1},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/noeval_serdes/index.ts": {"path":"/home/runner/work/sirdez/sirdez/src/noeval_serdes/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":2},"f":{},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/noeval_serdes/number.ts": {"path":"/home/runner/work/sirdez/sirdez/src/noeval_serdes/number.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":13},"end":{"line":7,"column":2}},"2":{"start":{"line":5,"column":17},"end":{"line":5,"column":49}},"3":{"start":{"line":6,"column":11},"end":{"line":6,"column":37}},"4":{"start":{"line":9,"column":13},"end":{"line":19,"column":2}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"6":{"start":{"line":12,"column":4},"end":{"line":12,"column":15}},"7":{"start":{"line":15,"column":17},"end":{"line":15,"column":42}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"9":{"start":{"line":17,"column":4},"end":{"line":17,"column":16}},"10":{"start":{"line":21,"column":13},"end":{"line":31,"column":2}},"11":{"start":{"line":23,"column":4},"end":{"line":23,"column":36}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":15}},"13":{"start":{"line":27,"column":17},"end":{"line":27,"column":42}},"14":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}},"15":{"start":{"line":29,"column":4},"end":{"line":29,"column":16}},"16":{"start":{"line":33,"column":13},"end":{"line":43,"column":2}},"17":{"start":{"line":35,"column":4},"end":{"line":35,"column":39}},"18":{"start":{"line":36,"column":4},"end":{"line":36,"column":15}},"19":{"start":{"line":39,"column":17},"end":{"line":39,"column":45}},"20":{"start":{"line":40,"column":4},"end":{"line":40,"column":15}},"21":{"start":{"line":41,"column":4},"end":{"line":41,"column":16}},"22":{"start":{"line":45,"column":13},"end":{"line":48,"column":2}},"23":{"start":{"line":46,"column":17},"end":{"line":46,"column":48}},"24":{"start":{"line":47,"column":11},"end":{"line":47,"column":36}},"25":{"start":{"line":50,"column":13},"end":{"line":60,"column":2}},"26":{"start":{"line":52,"column":4},"end":{"line":52,"column":35}},"27":{"start":{"line":53,"column":4},"end":{"line":53,"column":15}},"28":{"start":{"line":56,"column":17},"end":{"line":56,"column":41}},"29":{"start":{"line":57,"column":4},"end":{"line":57,"column":15}},"30":{"start":{"line":58,"column":4},"end":{"line":58,"column":16}},"31":{"start":{"line":62,"column":13},"end":{"line":72,"column":2}},"32":{"start":{"line":64,"column":4},"end":{"line":64,"column":35}},"33":{"start":{"line":65,"column":4},"end":{"line":65,"column":15}},"34":{"start":{"line":68,"column":17},"end":{"line":68,"column":41}},"35":{"start":{"line":69,"column":4},"end":{"line":69,"column":15}},"36":{"start":{"line":70,"column":4},"end":{"line":70,"column":16}},"37":{"start":{"line":74,"column":13},"end":{"line":84,"column":2}},"38":{"start":{"line":76,"column":4},"end":{"line":76,"column":38}},"39":{"start":{"line":77,"column":4},"end":{"line":77,"column":15}},"40":{"start":{"line":80,"column":17},"end":{"line":80,"column":44}},"41":{"start":{"line":81,"column":4},"end":{"line":81,"column":15}},"42":{"start":{"line":82,"column":4},"end":{"line":82,"column":16}},"43":{"start":{"line":86,"column":13},"end":{"line":96,"column":2}},"44":{"start":{"line":88,"column":4},"end":{"line":88,"column":37}},"45":{"start":{"line":89,"column":4},"end":{"line":89,"column":15}},"46":{"start":{"line":92,"column":17},"end":{"line":92,"column":43}},"47":{"start":{"line":93,"column":4},"end":{"line":93,"column":15}},"48":{"start":{"line":94,"column":4},"end":{"line":94,"column":16}},"49":{"start":{"line":98,"column":13},"end":{"line":108,"column":2}},"50":{"start":{"line":100,"column":4},"end":{"line":100,"column":37}},"51":{"start":{"line":101,"column":4},"end":{"line":101,"column":15}},"52":{"start":{"line":104,"column":17},"end":{"line":104,"column":43}},"53":{"start":{"line":105,"column":4},"end":{"line":105,"column":15}},"54":{"start":{"line":106,"column":4},"end":{"line":106,"column":16}},"55":{"start":{"line":110,"column":17},"end":{"line":121,"column":11}},"56":{"start":{"line":123,"column":37},"end":{"line":125,"column":63}},"57":{"start":{"line":125,"column":2},"end":{"line":125,"column":63}},"58":{"start":{"line":123,"column":13},"end":{"line":123,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":5,"column":17},"end":{"line":5,"column":49}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":37}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":16},"end":{"line":13,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":14,"column":10},"end":{"line":18,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":22,"column":2},"end":{"line":22,"column":3}},"loc":{"start":{"line":22,"column":16},"end":{"line":25,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":10},"end":{"line":30,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":34,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":34,"column":16},"end":{"line":37,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":38,"column":2},"end":{"line":38,"column":3}},"loc":{"start":{"line":38,"column":10},"end":{"line":42,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":46,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":46,"column":17},"end":{"line":46,"column":48}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":11},"end":{"line":47,"column":36}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":51,"column":2},"end":{"line":51,"column":3}},"loc":{"start":{"line":51,"column":16},"end":{"line":54,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":55,"column":2},"end":{"line":55,"column":3}},"loc":{"start":{"line":55,"column":10},"end":{"line":59,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":63,"column":16},"end":{"line":66,"column":3}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":67,"column":2},"end":{"line":67,"column":3}},"loc":{"start":{"line":67,"column":10},"end":{"line":71,"column":3}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":75,"column":16},"end":{"line":78,"column":3}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":79,"column":10},"end":{"line":83,"column":3}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":87,"column":2},"end":{"line":87,"column":3}},"loc":{"start":{"line":87,"column":16},"end":{"line":90,"column":3}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":91,"column":2},"end":{"line":91,"column":3}},"loc":{"start":{"line":91,"column":10},"end":{"line":95,"column":3}}},"18":{"name":"(anonymous_18)","decl":{"start":{"line":99,"column":2},"end":{"line":99,"column":3}},"loc":{"start":{"line":99,"column":16},"end":{"line":102,"column":3}}},"19":{"name":"(anonymous_19)","decl":{"start":{"line":103,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":103,"column":10},"end":{"line":107,"column":3}}},"20":{"name":"(anonymous_20)","decl":{"start":{"line":123,"column":37},"end":{"line":123,"column":38}},"loc":{"start":{"line":125,"column":2},"end":{"line":125,"column":63}}}},"branchMap":{},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":2,"29":2,"30":2,"31":2,"32":2,"33":2,"34":2,"35":2,"36":2,"37":2,"38":2,"39":2,"40":2,"41":2,"42":2,"43":2,"44":1,"45":1,"46":1,"47":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"54":1,"55":2,"56":2,"57":12,"58":2},"f":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":1,"17":1,"18":1,"19":1,"20":12},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/noeval_serdes/struct.ts": {"path":"/home/runner/work/sirdez/sirdez/src/noeval_serdes/struct.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":57}},"1":{"start":{"line":3,"column":37},"end":{"line":20,"column":1}},"2":{"start":{"line":4,"column":14},"end":{"line":4,"column":65}},"3":{"start":{"line":4,"column":50},"end":{"line":4,"column":52}},"4":{"start":{"line":4,"column":62},"end":{"line":4,"column":64}},"5":{"start":{"line":5,"column":2},"end":{"line":19,"column":4}},"6":{"start":{"line":7,"column":6},"end":{"line":9,"column":null}},"7":{"start":{"line":8,"column":8},"end":{"line":8,"column":44}},"8":{"start":{"line":13,"column":19},"end":{"line":13,"column":31}},"9":{"start":{"line":14,"column":6},"end":{"line":16,"column":null}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":45}},"11":{"start":{"line":17,"column":6},"end":{"line":17,"column":18}},"12":{"start":{"line":3,"column":13},"end":{"line":3,"column":37}},"13":{"start":{"line":22,"column":35},"end":{"line":23,"column":20}},"14":{"start":{"line":23,"column":2},"end":{"line":23,"column":20}},"15":{"start":{"line":22,"column":13},"end":{"line":22,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":37},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":52},"end":{"line":20,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":44},"end":{"line":4,"column":47}},"loc":{"start":{"line":4,"column":50},"end":{"line":4,"column":52}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":55},"end":{"line":4,"column":58}},"loc":{"start":{"line":4,"column":62},"end":{"line":4,"column":64}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":10,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":12},"end":{"line":18,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":22,"column":35},"end":{"line":22,"column":36}},"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":20}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":14},"end":{"line":4,"column":65}},"type":"cond-expr","locations":[{"start":{"line":4,"column":44},"end":{"line":4,"column":52}},{"start":{"line":4,"column":55},"end":{"line":4,"column":65}}]}},"s":{"0":2,"1":2,"2":2,"3":1,"4":1,"5":2,"6":2,"7":4,"8":2,"9":2,"10":4,"11":2,"12":2,"13":2,"14":1,"15":2},"f":{"0":2,"1":1,"2":1,"3":2,"4":2,"5":1},"b":{"0":[1,1]}} +,"/home/runner/work/sirdez/sirdez/src/serdes/array.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/array.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":35},"end":{"line":20,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":20,"column":null}},"3":{"start":{"line":7,"column":25},"end":{"line":7,"column":29}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":30}},"5":{"start":{"line":9,"column":6},"end":{"line":11,"column":null}},"6":{"start":{"line":9,"column":19},"end":{"line":9,"column":20}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":29}},"8":{"start":{"line":14,"column":21},"end":{"line":14,"column":36}},"9":{"start":{"line":15,"column":19},"end":{"line":15,"column":36}},"10":{"start":{"line":16,"column":6},"end":{"line":18,"column":null}},"11":{"start":{"line":16,"column":19},"end":{"line":16,"column":20}},"12":{"start":{"line":17,"column":8},"end":{"line":17,"column":30}},"13":{"start":{"line":19,"column":6},"end":{"line":19,"column":18}},"14":{"start":{"line":4,"column":13},"end":{"line":4,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":35},"end":{"line":4,"column":36}},"loc":{"start":{"line":5,"column":2},"end":{"line":20,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":12,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":12},"end":{"line":20,"column":5}}}},"branchMap":{},"s":{"0":14,"1":14,"2":3,"3":344,"4":344,"5":344,"6":344,"7":33579,"8":205,"9":205,"10":205,"11":205,"12":20304,"13":205,"14":14},"f":{"0":3,"1":344,"2":205},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/serdes/boolean.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/boolean.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":13},"end":{"line":7,"column":2}},"2":{"start":{"line":5,"column":17},"end":{"line":5,"column":55}},"3":{"start":{"line":6,"column":11},"end":{"line":6,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":5,"column":17},"end":{"line":5,"column":55}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":39}}}},"branchMap":{},"s":{"0":14,"1":14,"2":2,"3":2},"f":{"0":2,"1":2},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/serdes/bytes.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/bytes.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":35},"end":{"line":15,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":15,"column":null}},"3":{"start":{"line":7,"column":29},"end":{"line":7,"column":33}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":34}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":33}},"6":{"start":{"line":10,"column":6},"end":{"line":10,"column":26}},"7":{"start":{"line":13,"column":25},"end":{"line":13,"column":40}},"8":{"start":{"line":14,"column":6},"end":{"line":14,"column":62}},"9":{"start":{"line":4,"column":13},"end":{"line":4,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":35},"end":{"line":4,"column":36}},"loc":{"start":{"line":5,"column":2},"end":{"line":15,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":11,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":12},"end":{"line":15,"column":5}}}},"branchMap":{},"s":{"0":14,"1":14,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":14},"f":{"0":1,"1":1,"2":1},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/serdes/index.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":27}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":22}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":26}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":25}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":14,"4":14,"5":14,"6":14,"7":14},"f":{},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/serdes/map.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/map.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":31},"end":{"line":21,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":21,"column":null}},"3":{"start":{"line":7,"column":25},"end":{"line":7,"column":42}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":30}},"5":{"start":{"line":9,"column":6},"end":{"line":12,"column":null}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":28}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":36}},"8":{"start":{"line":15,"column":21},"end":{"line":15,"column":36}},"9":{"start":{"line":16,"column":60},"end":{"line":16,"column":62}},"10":{"start":{"line":17,"column":6},"end":{"line":19,"column":null}},"11":{"start":{"line":17,"column":19},"end":{"line":17,"column":20}},"12":{"start":{"line":18,"column":8},"end":{"line":18,"column":48}},"13":{"start":{"line":20,"column":6},"end":{"line":20,"column":18}},"14":{"start":{"line":4,"column":13},"end":{"line":4,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":31},"end":{"line":4,"column":32}},"loc":{"start":{"line":5,"column":2},"end":{"line":21,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":13,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":12},"end":{"line":21,"column":5}}}},"branchMap":{},"s":{"0":14,"1":14,"2":1,"3":1,"4":1,"5":1,"6":2,"7":2,"8":1,"9":1,"10":1,"11":1,"12":2,"13":1,"14":14},"f":{"0":1,"1":1,"2":1},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/serdes/number.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/number.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":37},"end":{"line":14,"column":1}},"2":{"start":{"line":6,"column":18},"end":{"line":8,"column":11}},"3":{"start":{"line":9,"column":15},"end":{"line":9,"column":26}},"4":{"start":{"line":10,"column":2},"end":{"line":13,"column":12}},"5":{"start":{"line":4,"column":13},"end":{"line":4,"column":37}},"6":{"start":{"line":16,"column":13},"end":{"line":16,"column":39}},"7":{"start":{"line":17,"column":13},"end":{"line":17,"column":41}},"8":{"start":{"line":18,"column":13},"end":{"line":18,"column":41}},"9":{"start":{"line":19,"column":13},"end":{"line":19,"column":37}},"10":{"start":{"line":20,"column":13},"end":{"line":20,"column":39}},"11":{"start":{"line":21,"column":13},"end":{"line":21,"column":39}},"12":{"start":{"line":22,"column":13},"end":{"line":22,"column":47}},"13":{"start":{"line":23,"column":13},"end":{"line":23,"column":45}},"14":{"start":{"line":24,"column":13},"end":{"line":24,"column":43}},"15":{"start":{"line":25,"column":13},"end":{"line":25,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":37},"end":{"line":4,"column":38}},"loc":{"start":{"line":4,"column":55},"end":{"line":14,"column":1}}}},"branchMap":{},"s":{"0":14,"1":14,"2":152,"3":152,"4":152,"5":14,"6":14,"7":14,"8":14,"9":14,"10":14,"11":14,"12":14,"13":14,"14":14,"15":14},"f":{"0":152},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/serdes/optional.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/optional.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":41},"end":{"line":14,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":14,"column":null}},"3":{"start":{"line":7,"column":6},"end":{"line":12,"column":null}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":38}},"5":{"start":{"line":10,"column":8},"end":{"line":10,"column":38}},"6":{"start":{"line":11,"column":8},"end":{"line":11,"column":26}},"7":{"start":{"line":14,"column":14},"end":{"line":14,"column":66}},"8":{"start":{"line":4,"column":13},"end":{"line":4,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":41},"end":{"line":4,"column":42}},"loc":{"start":{"line":5,"column":2},"end":{"line":14,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":13,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":66}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":6},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":6},"end":{"line":12,"column":null}},{"start":{"line":9,"column":13},"end":{"line":12,"column":null}}]},"1":{"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":66}},"type":"cond-expr","locations":[{"start":{"line":14,"column":43},"end":{"line":14,"column":54}},{"start":{"line":14,"column":57},"end":{"line":14,"column":66}}]}},"s":{"0":14,"1":14,"2":2,"3":336,"4":159,"5":177,"6":177,"7":203,"8":14},"f":{"0":2,"1":336,"2":203},"b":{"0":[159,177],"1":[96,107]}} +,"/home/runner/work/sirdez/sirdez/src/serdes/string.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/string.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":37},"end":{"line":17,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":17,"column":null}},"3":{"start":{"line":7,"column":19},"end":{"line":7,"column":24}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":25}},"5":{"start":{"line":9,"column":20},"end":{"line":9,"column":25}},"6":{"start":{"line":10,"column":6},"end":{"line":10,"column":33}},"7":{"start":{"line":11,"column":18},"end":{"line":11,"column":23}},"8":{"start":{"line":12,"column":19},"end":{"line":12,"column":30}},"9":{"start":{"line":13,"column":6},"end":{"line":13,"column":19}},"10":{"start":{"line":14,"column":6},"end":{"line":14,"column":28}},"11":{"start":{"line":15,"column":6},"end":{"line":15,"column":18}},"12":{"start":{"line":17,"column":13},"end":{"line":17,"column":50}},"13":{"start":{"line":4,"column":13},"end":{"line":4,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":37},"end":{"line":4,"column":38}},"loc":{"start":{"line":5,"column":2},"end":{"line":17,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":16,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":50}}}},"branchMap":{},"s":{"0":14,"1":14,"2":10,"3":34090,"4":34090,"5":34090,"6":34090,"7":34084,"8":34084,"9":34084,"10":34084,"11":34084,"12":20604,"13":14},"f":{"0":10,"1":34090,"2":20604},"b":{}} +,"/home/runner/work/sirdez/sirdez/src/serdes/struct.ts": {"path":"/home/runner/work/sirdez/sirdez/src/serdes/struct.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":57}},"1":{"start":{"line":3,"column":15},"end":{"line":4,"column":69}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":69}},"3":{"start":{"line":6,"column":37},"end":{"line":28,"column":1}},"4":{"start":{"line":7,"column":29},"end":{"line":7,"column":52}},"5":{"start":{"line":8,"column":32},"end":{"line":8,"column":64}},"6":{"start":{"line":8,"column":61},"end":{"line":8,"column":63}},"7":{"start":{"line":9,"column":31},"end":{"line":9,"column":56}},"8":{"start":{"line":10,"column":2},"end":{"line":27,"column":4}},"9":{"start":{"line":12,"column":27},"end":{"line":12,"column":34}},"10":{"start":{"line":13,"column":27},"end":{"line":13,"column":34}},"11":{"start":{"line":14,"column":27},"end":{"line":14,"column":34}},"12":{"start":{"line":16,"column":18},"end":{"line":16,"column":50}},"13":{"start":{"line":20,"column":18},"end":{"line":20,"column":50}},"14":{"start":{"line":25,"column":42},"end":{"line":25,"column":45}},"15":{"start":{"line":26,"column":42},"end":{"line":26,"column":45}},"16":{"start":{"line":6,"column":13},"end":{"line":6,"column":37}},"17":{"start":{"line":30,"column":35},"end":{"line":31,"column":20}},"18":{"start":{"line":31,"column":2},"end":{"line":31,"column":20}},"19":{"start":{"line":30,"column":13},"end":{"line":30,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":15},"end":{"line":3,"column":16}},"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":69}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":37},"end":{"line":6,"column":38}},"loc":{"start":{"line":6,"column":52},"end":{"line":28,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":54},"end":{"line":8,"column":55}},"loc":{"start":{"line":8,"column":61},"end":{"line":8,"column":63}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":20},"end":{"line":12,"column":21}},"loc":{"start":{"line":12,"column":27},"end":{"line":12,"column":34}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":20},"end":{"line":13,"column":21}},"loc":{"start":{"line":13,"column":27},"end":{"line":13,"column":34}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":20},"end":{"line":14,"column":21}},"loc":{"start":{"line":14,"column":27},"end":{"line":14,"column":34}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":16,"column":11},"end":{"line":16,"column":12}},"loc":{"start":{"line":16,"column":18},"end":{"line":16,"column":50}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":20,"column":11},"end":{"line":20,"column":12}},"loc":{"start":{"line":20,"column":18},"end":{"line":20,"column":50}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":25,"column":29},"end":{"line":25,"column":30}},"loc":{"start":{"line":25,"column":42},"end":{"line":25,"column":45}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":26,"column":29},"end":{"line":26,"column":30}},"loc":{"start":{"line":26,"column":42},"end":{"line":26,"column":45}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":30,"column":35},"end":{"line":30,"column":36}},"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":20}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":69}},"type":"cond-expr","locations":[{"start":{"line":4,"column":44},"end":{"line":4,"column":63}},{"start":{"line":4,"column":66},"end":{"line":4,"column":69}}]},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"type":"cond-expr","locations":[{"start":{"line":18,"column":36},"end":{"line":18,"column":40}},{"start":{"line":18,"column":43},"end":{"line":18,"column":null}}]}},"s":{"0":14,"1":14,"2":18,"3":14,"4":3,"5":3,"6":9,"7":3,"8":3,"9":9,"10":9,"11":9,"12":9,"13":9,"14":9,"15":9,"16":14,"17":14,"18":1,"19":14},"f":{"0":18,"1":3,"2":9,"3":9,"4":9,"5":9,"6":9,"7":9,"8":9,"9":9,"10":1},"b":{"0":[14,4],"1":[1,2]}} +,"/home/runner/work/sirdez/sirdez/src/types/index.ts": {"path":"/home/runner/work/sirdez/sirdez/src/types/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14},"f":{},"b":{}} +} diff --git a/docs/coverage/coverage-summary.json b/docs/coverage/coverage-summary.json new file mode 100644 index 00000000..976eb782 --- /dev/null +++ b/docs/coverage/coverage-summary.json @@ -0,0 +1,28 @@ +{"total": {"lines":{"total":307,"covered":307,"skipped":0,"pct":100},"statements":{"total":331,"covered":331,"skipped":0,"pct":100},"functions":{"total":80,"covered":80,"skipped":0,"pct":100},"branches":{"total":29,"covered":29,"skipped":0,"pct":100},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/context.ts": {"lines":{"total":24,"covered":24,"skipped":0,"pct":100},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":26,"covered":26,"skipped":0,"pct":100},"branches":{"total":5,"covered":5,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/define.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/index.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/node.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/use.ts": {"lines":{"total":7,"covered":7,"skipped":0,"pct":100},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":7,"covered":7,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/encodings/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/encodings/latin1.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":10,"covered":10,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/encodings/ucs2.ts": {"lines":{"total":11,"covered":11,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":13,"covered":13,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/encodings/utf8.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/encodings/utf8js.ts": {"lines":{"total":49,"covered":49,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":50,"covered":50,"skipped":0,"pct":100},"branches":{"total":14,"covered":14,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/node_encodings/latin1.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/node_encodings/ucs2.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/node_encodings/utf8.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/noeval_serdes/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/noeval_serdes/number.ts": {"lines":{"total":58,"covered":58,"skipped":0,"pct":100},"functions":{"total":21,"covered":21,"skipped":0,"pct":100},"statements":{"total":59,"covered":59,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/noeval_serdes/struct.ts": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":6,"covered":6,"skipped":0,"pct":100},"statements":{"total":16,"covered":16,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/array.ts": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":15,"covered":15,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/boolean.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/bytes.ts": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":10,"covered":10,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/index.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/map.ts": {"lines":{"total":13,"covered":13,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":15,"covered":15,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/number.ts": {"lines":{"total":15,"covered":15,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":16,"covered":16,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/optional.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/string.ts": {"lines":{"total":13,"covered":13,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":14,"covered":14,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/serdes/struct.ts": {"lines":{"total":17,"covered":17,"skipped":0,"pct":100},"functions":{"total":11,"covered":11,"skipped":0,"pct":100},"statements":{"total":20,"covered":20,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}} +,"/home/runner/work/sirdez/sirdez/src/types/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +} diff --git a/docs/coverage/lcov-report/base.css b/docs/coverage/lcov-report/base.css new file mode 100644 index 00000000..f418035b --- /dev/null +++ b/docs/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/docs/coverage/lcov-report/block-navigation.js b/docs/coverage/lcov-report/block-navigation.js new file mode 100644 index 00000000..cc121302 --- /dev/null +++ b/docs/coverage/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/docs/coverage/lcov-report/favicon.png b/docs/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..6691817834a957c938e7f09640a37a645fb31457 GIT binary patch literal 540 zcmV+%0^|LOP)wSzy{h>9elhJ=8GnBQmf?)AI(^#wDA_`!QTxaXXE&bjxo zTGCc%V|W`}Lwz0rDO*qBbGY-M@aNENIZ1rK?nOAibaC*vb%CF;I_~lkJawax%_+1J zLn(#pv_v{f0`v`Cfp6()7MB(>IoTAiQdKxgxX?VyV&KVZ7b$vn<8|Z<9$35C+G_8SH0x6Y(xB&~bmn%r}ceRwbc0000 + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 100% + Statements + 331/331 +
+ + +
+ 100% + Branches + 29/29 +
+ + +
+ 100% + Functions + 80/80 +
+ + +
+ 100% + Lines + 307/307 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src +
+
100%47/47100%5/5100%10/10100%45/45
src/encodings +
+
100%82/82100%14/14100%8/8100%77/77
src/node_encodings +
+
100%12/12100%0/0100%6/6100%12/12
src/noeval_serdes +
+
100%77/77100%2/2100%27/27100%72/72
src/serdes +
+
100%111/111100%8/8100%29/29100%99/99
src/types +
+
100%2/2100%0/0100%0/0100%2/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/prettify.css b/docs/coverage/lcov-report/prettify.css new file mode 100644 index 00000000..b317a7cd --- /dev/null +++ b/docs/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/docs/coverage/lcov-report/prettify.js b/docs/coverage/lcov-report/prettify.js new file mode 100644 index 00000000..b3225238 --- /dev/null +++ b/docs/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/docs/coverage/lcov-report/sort-arrow-sprite.png b/docs/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/docs/coverage/lcov-report/src/context.ts.html b/docs/coverage/lcov-report/src/context.ts.html new file mode 100644 index 00000000..c77c861a --- /dev/null +++ b/docs/coverage/lcov-report/src/context.ts.html @@ -0,0 +1,268 @@ + + + + + + Code coverage report for src/context.ts + + + + + + + + + +
+
+

All files / src context.ts

+
+ +
+ 100% + Statements + 26/26 +
+ + +
+ 100% + Branches + 5/5 +
+ + +
+ 100% + Functions + 5/5 +
+ + +
+ 100% + Lines + 24/24 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62  +  +14x +18x +18x +  +  +  +  +  +  +14x +6x +6x +  +  +14x +  +  +  +  +  +4x +9x +9x +9x +9x +3x +  +6x +  +5x +  +  +  +14x +  +  +  +  +3x +3x +1x +1x +1x +  +2x +  +  +  +14x +3x +  +  +  +  +  +  +  +  +  + 
import { Context, Des, Ser } from "./types";
+ 
+export function createContext(size = 4096): Context {
+  const buffer = new ArrayBuffer(size);
+  return {
+    i: 0,
+    view: new DataView(buffer),
+    bytes: new Uint8Array(buffer)
+  };
+}
+ 
+export function growContext(ctx: Context) {
+  ctx.bytes = new Uint8Array(ctx.bytes.length * 2);
+  ctx.view = new DataView(ctx.bytes.buffer);
+}
+ 
+export function contextSer<T>(
+  ctx: Context,
+  ser: Ser<T>,
+  data: T
+): Uint8Array {
+  // eslint-disable-next-line no-constant-condition
+  while (true) {
+    const limit = ctx.bytes.length - 8;
+    ctx.i = 0;
+    try {
+      ser(ctx, data);
+      if (ctx.i < limit) return ctx.bytes;
+    } catch (error) {
+      if (ctx.i < limit) throw error;
+    }
+    growContext(ctx);
+  }
+}
+ 
+export function contextDes<T>(
+  ctx: Context,
+  des: Des<T>,
+  bytes: Uint8Array
+): T {
+  const { length } = bytes;
+  if (length < 4096) {
+    ctx.bytes.set(bytes);
+    ctx.i = 0;
+    return des(ctx);
+  } else {
+    return des(contextFromBytes(bytes));
+  }
+}
+ 
+export function contextFromBytes(array: Uint8Array): Context {
+  return {
+    i: 0,
+    bytes: array,
+    view: new DataView(
+      array.buffer,
+      array.byteOffset,
+      array.byteLength
+    )
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/define.ts.html b/docs/coverage/lcov-report/src/define.ts.html new file mode 100644 index 00000000..7b9c6450 --- /dev/null +++ b/docs/coverage/lcov-report/src/define.ts.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for src/define.ts + + + + + + + + + +
+
+

All files / src define.ts

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6  +  +14x +208x +  + 
import { Des, Ser, Serdes } from "./types";
+ 
+export function define<T>(ser: Ser<T>, des: Des<T>): Serdes<T> {
+  return { ser, des };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/encodings/index.html b/docs/coverage/lcov-report/src/encodings/index.html new file mode 100644 index 00000000..6c0d77ee --- /dev/null +++ b/docs/coverage/lcov-report/src/encodings/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src/encodings + + + + + + + + + +
+
+

All files src/encodings

+
+ +
+ 100% + Statements + 82/82 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 8/8 +
+ + +
+ 100% + Lines + 77/77 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%4/4100%0/0100%0/0100%4/4
latin1.ts +
+
100%10/10100%0/0100%2/2100%8/8
ucs2.ts +
+
100%13/13100%0/0100%2/2100%11/11
utf8.ts +
+
100%5/5100%0/0100%2/2100%5/5
utf8js.ts +
+
100%50/50100%14/14100%2/2100%49/49
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/encodings/index.ts.html b/docs/coverage/lcov-report/src/encodings/index.ts.html new file mode 100644 index 00000000..0943680c --- /dev/null +++ b/docs/coverage/lcov-report/src/encodings/index.ts.html @@ -0,0 +1,97 @@ + + + + + + Code coverage report for src/encodings/index.ts + + + + + + + + + +
+
+

All files / src/encodings index.ts

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +514x +14x +14x +14x + 
export * from "./latin1";
+export * from "./ucs2";
+export * from "./utf8";
+export * from "./utf8js";
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/encodings/latin1.ts.html b/docs/coverage/lcov-report/src/encodings/latin1.ts.html new file mode 100644 index 00000000..9ce7ce45 --- /dev/null +++ b/docs/coverage/lcov-report/src/encodings/latin1.ts.html @@ -0,0 +1,136 @@ + + + + + + Code coverage report for src/encodings/latin1.ts + + + + + + + + + +
+
+

All files / src/encodings latin1.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18  +  +14x +  +1x +1x +61x +  +  +  +1x +1x +61x +  +1x +  +  + 
import { Encoding } from "../types";
+ 
+export const latin1: Encoding<string> = {
+  encode(ctx, data) {
+    const { length } = data;
+    for (let i = 0; i < length; i++) {
+      ctx.view.setUint8(ctx.i++, data.charCodeAt(i));
+    }
+  },
+  decode(ctx, size) {
+    const codes: number[] = new Array(size);
+    for (let i = 0; i < size; i++) {
+      codes[i] = ctx.view.getUint8(ctx.i++);
+    }
+    return String.fromCharCode(...codes);
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/encodings/ucs2.ts.html b/docs/coverage/lcov-report/src/encodings/ucs2.ts.html new file mode 100644 index 00000000..04d1ce0a --- /dev/null +++ b/docs/coverage/lcov-report/src/encodings/ucs2.ts.html @@ -0,0 +1,145 @@ + + + + + + Code coverage report for src/encodings/ucs2.ts + + + + + + + + + +
+
+

All files / src/encodings ucs2.ts

+
+ +
+ 100% + Statements + 13/13 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21  +  +14x +  +1x +1x +7451x +7451x +  +  +  +1x +1x +1x +7451x +7451x +  +1x +  +  + 
import { Encoding } from "../types";
+ 
+export const ucs2: Encoding<string> = {
+  encode(ctx, data) {
+    const { length } = data;
+    for (let i = 0; i < length; i++) {
+      ctx.view.setUint16(ctx.i, data.charCodeAt(i));
+      ctx.i += 2;
+    }
+  },
+  decode(ctx, size) {
+    const length = size / 2;
+    const codes: number[] = new Array(length);
+    for (let i = 0; i < length; i++) {
+      codes[i] = ctx.view.getUint16(ctx.i);
+      ctx.i += 2;
+    }
+    return String.fromCharCode(...codes);
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/encodings/utf8.ts.html b/docs/coverage/lcov-report/src/encodings/utf8.ts.html new file mode 100644 index 00000000..50b0620b --- /dev/null +++ b/docs/coverage/lcov-report/src/encodings/utf8.ts.html @@ -0,0 +1,124 @@ + + + + + + Code coverage report for src/encodings/utf8.ts + + + + + + + + + +
+
+

All files / src/encodings utf8.ts

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14  +  +14x +14x +  +14x +  +10x +  +  +  +10x +  + 
import { Encoding } from "../types";
+ 
+const encoder = /*@__PURE__*/ new TextEncoder();
+const decoder = /*@__PURE__*/ new TextDecoder();
+ 
+export const utf8: Encoding<string> = {
+  encode(ctx, data) {
+    ctx.i += encoder.encodeInto(data, ctx.bytes.subarray(ctx.i))
+      .written as number;
+  },
+  decode: (ctx, size) =>
+    decoder.decode(ctx.bytes.subarray(ctx.i, (ctx.i += size)))
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/encodings/utf8js.ts.html b/docs/coverage/lcov-report/src/encodings/utf8js.ts.html new file mode 100644 index 00000000..d177b4f1 --- /dev/null +++ b/docs/coverage/lcov-report/src/encodings/utf8js.ts.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for src/encodings/utf8js.ts + + + + + + + + + +
+
+

All files / src/encodings utf8js.ts

+
+ +
+ 100% + Statements + 50/50 +
+ + +
+ 100% + Branches + 14/14 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 49/49 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +14x +  +34084x +34083x +259229x +259229x +  +239091x +239087x +20138x +  +  +2731x +2731x +2731x +2731x +17407x +  +  +14420x +14420x +14420x +14420x +14420x +  +2987x +  +  +2987x +2987x +2987x +2987x +2987x +2986x +  +  +  +  +20598x +20598x +20598x +159896x +159896x +  +146176x +146176x +13720x +  +  +  +2090x +2090x +2090x +11630x +  +  +  +  +9812x +9812x +9812x +9812x +  +  +  +  +  +  +1818x +1818x +1818x +1818x +1818x +1818x +1818x +  +  +20598x +  +  + 
import { Encoding } from "../types";
+ 
+export const utf8js: Encoding<string> = {
+  encode(ctx, data) {
+    const { length } = data;
+    for (let i = 0; i < length; i++) {
+      const code = data.charCodeAt(i) as number;
+      if (code < 0x80) {
+        // 0xxxxxxx
+        ctx.view.setUint8(ctx.i, code);
+        ctx.i++;
+      } else if (code < 0x800) {
+        // .... .aaa - aabb bbbb
+        // 110a aaaa - 10bb bbbb
+        const a = (code & 0x7c0) << 2;
+        const b = code & 0x3f;
+        ctx.view.setUint16(ctx.i, a | b | 0xc080);
+        ctx.i += 2;
+      } else if (code < 0xd800 || code >= 0xe000) {
+        // .... .... - .... .... - aaaa bbbb - bbcc cccc
+        // 1110 aaaa - 10bb bbbb - 10cc cccc - .... ....
+        const a = (code & 0xf000) << 12;
+        const b = (code & 0xfc0) << 10;
+        const c = (code & 0x3f) << 8;
+        ctx.view.setUint32(ctx.i, a | b | c | 0xe0808000);
+        ctx.i += 3;
+      } else {
+        const code = data.codePointAt(i++) as number;
+        // .... .... - .... aabb - bbbb cccc - ccdd dddd
+        // 1111 00aa - 10bb bbbb - 10cc cccc - 10dd dddd
+        const a = (code & 0x1c0000) << 6;
+        const b = (code & 0x3f000) << 4;
+        const c = (code & 0xfc0) << 2;
+        const d = code & 0x3f;
+        ctx.view.setUint32(ctx.i, a | b | c | d | 0xf0808080);
+        ctx.i += 4;
+      }
+    }
+  },
+  decode(ctx, size) {
+    const codes: number[] = [];
+    const end = ctx.i + size;
+    while (ctx.i < end) {
+      const s = ctx.view.getUint8(ctx.i);
+      if (s < 192) {
+        // 0xxxxxxx
+        codes.push(s);
+        ctx.i++;
+      } else if (s < 224) {
+        //     110a aaaa
+        //     10bb bbbb
+        // aaa aabb bbbb
+        const b = ctx.view.getUint8(ctx.i + 1);
+        ctx.i += 2;
+        codes.push(((s & 0x1f) << 6) | (b & 0x3f));
+      } else if (s < 240) {
+        //           1110 aaaa
+        //           10bb bbbb
+        //           10cc cccc
+        // aaaa bbbb bbcc cccc
+        const b = ctx.view.getUint8(ctx.i + 1);
+        const c = ctx.view.getUint8(ctx.i + 2);
+        ctx.i += 3;
+        codes.push(
+          ((s & 0x0f) << 12) | ((b & 0x3f) << 6) | (c & 0x3f)
+        );
+      } else {
+        // 1111 0aaa, 10bb bbbb, 10cc cccc, 10dd dddd
+        //               a aabb, bbbb cccc, ccdd dddd
+ 
+        const u = ctx.view.getUint32(ctx.i);
+        const a = (s & 0x7) << 18;
+        const b = (u & 0x3f0000) >> 4;
+        const c = (u & 0x3f00) >> 2;
+        const d = u & 0x3f;
+        codes.push(a | b | c | d);
+        ctx.i += 4;
+      }
+    }
+    return String.fromCodePoint(...codes);
+  }
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/index.html b/docs/coverage/lcov-report/src/index.html new file mode 100644 index 00000000..39da8d5e --- /dev/null +++ b/docs/coverage/lcov-report/src/index.html @@ -0,0 +1,176 @@ + + + + + + Code coverage report for src + + + + + + + + + +
+
+

All files src

+
+ +
+ 100% + Statements + 47/47 +
+ + +
+ 100% + Branches + 5/5 +
+ + +
+ 100% + Functions + 10/10 +
+ + +
+ 100% + Lines + 45/45 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
context.ts +
+
100%26/26100%5/5100%5/5100%24/24
define.ts +
+
100%2/2100%0/0100%1/1100%2/2
index.ts +
+
100%6/6100%0/0100%0/0100%6/6
node.ts +
+
100%6/6100%0/0100%0/0100%6/6
use.ts +
+
100%7/7100%0/0100%4/4100%7/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/index.ts.html b/docs/coverage/lcov-report/src/index.ts.html new file mode 100644 index 00000000..5a31f100 --- /dev/null +++ b/docs/coverage/lcov-report/src/index.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/index.ts + + + + + + + + + +
+
+

All files / src index.ts

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +714x +14x +14x +14x +14x +14x + 
export * from "./context";
+export * from "./define";
+export * from "./encodings";
+export * from "./serdes";
+export * from "./types";
+export * from "./use";
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/node.ts.html b/docs/coverage/lcov-report/src/node.ts.html new file mode 100644 index 00000000..cf8905fe --- /dev/null +++ b/docs/coverage/lcov-report/src/node.ts.html @@ -0,0 +1,103 @@ + + + + + + Code coverage report for src/node.ts + + + + + + + + + +
+
+

All files / src node.ts

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +73x +3x +3x +3x +3x +3x + 
export * from "./context";
+export * from "./define";
+export * from "./node_encodings";
+export * from "./serdes";
+export * from "./types";
+export * from "./use";
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/node_encodings/index.html b/docs/coverage/lcov-report/src/node_encodings/index.html new file mode 100644 index 00000000..d71e87b9 --- /dev/null +++ b/docs/coverage/lcov-report/src/node_encodings/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/node_encodings + + + + + + + + + +
+
+

All files src/node_encodings

+
+ +
+ 100% + Statements + 12/12 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
latin1.ts +
+
100%4/4100%0/0100%2/2100%4/4
ucs2.ts +
+
100%4/4100%0/0100%2/2100%4/4
utf8.ts +
+
100%4/4100%0/0100%2/2100%4/4
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/node_encodings/latin1.ts.html b/docs/coverage/lcov-report/src/node_encodings/latin1.ts.html new file mode 100644 index 00000000..16b3cada --- /dev/null +++ b/docs/coverage/lcov-report/src/node_encodings/latin1.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/node_encodings/latin1.ts + + + + + + + + + +
+
+

All files / src/node_encodings latin1.ts

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +3x +  +3x +  +1x +  +  +1x +  + 
import { Encoding } from "../types";
+ 
+const { latin1Write, latin1Slice } = Buffer.prototype;
+ 
+export const latin1: Encoding<string> = {
+  encode(ctx, data) {
+    ctx.i += latin1Write.call(ctx.bytes, data, ctx.i);
+  },
+  decode: (ctx, size) =>
+    latin1Slice.call(ctx.bytes, ctx.i, (ctx.i += size))
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/node_encodings/ucs2.ts.html b/docs/coverage/lcov-report/src/node_encodings/ucs2.ts.html new file mode 100644 index 00000000..ea9f5cc2 --- /dev/null +++ b/docs/coverage/lcov-report/src/node_encodings/ucs2.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/node_encodings/ucs2.ts + + + + + + + + + +
+
+

All files / src/node_encodings ucs2.ts

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +3x +  +3x +  +1x +  +  +1x +  + 
import { Encoding } from "../types";
+ 
+const { ucs2Write, ucs2Slice } = Buffer.prototype;
+ 
+export const ucs2: Encoding<string> = {
+  encode(ctx, data) {
+    ctx.i += ucs2Write.call(ctx.bytes, data, ctx.i);
+  },
+  decode: (ctx, size) =>
+    ucs2Slice.call(ctx.bytes, ctx.i, (ctx.i += size))
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/node_encodings/utf8.ts.html b/docs/coverage/lcov-report/src/node_encodings/utf8.ts.html new file mode 100644 index 00000000..76a5e8c1 --- /dev/null +++ b/docs/coverage/lcov-report/src/node_encodings/utf8.ts.html @@ -0,0 +1,118 @@ + + + + + + Code coverage report for src/node_encodings/utf8.ts + + + + + + + + + +
+
+

All files / src/node_encodings utf8.ts

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12  +  +3x +  +3x +  +1x +  +  +1x +  + 
import { Encoding } from "../types";
+ 
+const { utf8Write, utf8Slice } = Buffer.prototype;
+ 
+export const utf8: Encoding<string> = {
+  encode(ctx, data) {
+    ctx.i += utf8Write.call(ctx.bytes, data, ctx.i);
+  },
+  decode: (ctx, size) =>
+    utf8Slice.call(ctx.bytes, ctx.i, (ctx.i += size))
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/noeval_serdes/index.html b/docs/coverage/lcov-report/src/noeval_serdes/index.html new file mode 100644 index 00000000..e2fe08b7 --- /dev/null +++ b/docs/coverage/lcov-report/src/noeval_serdes/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for src/noeval_serdes + + + + + + + + + +
+
+

All files src/noeval_serdes

+
+ +
+ 100% + Statements + 77/77 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 27/27 +
+ + +
+ 100% + Lines + 72/72 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%2/2100%0/0100%0/0100%2/2
number.ts +
+
100%59/59100%0/0100%21/21100%58/58
struct.ts +
+
100%16/16100%2/2100%6/6100%12/12
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/noeval_serdes/index.ts.html b/docs/coverage/lcov-report/src/noeval_serdes/index.ts.html new file mode 100644 index 00000000..4ff8d02c --- /dev/null +++ b/docs/coverage/lcov-report/src/noeval_serdes/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/noeval_serdes/index.ts + + + + + + + + + +
+
+

All files / src/noeval_serdes index.ts

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +32x +2x + 
export * from "./number";
+export * from "./struct";
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/noeval_serdes/number.ts.html b/docs/coverage/lcov-report/src/noeval_serdes/number.ts.html new file mode 100644 index 00000000..717c44f2 --- /dev/null +++ b/docs/coverage/lcov-report/src/noeval_serdes/number.ts.html @@ -0,0 +1,460 @@ + + + + + + Code coverage report for src/noeval_serdes/number.ts + + + + + + + + + +
+
+

All files / src/noeval_serdes number.ts

+
+ +
+ 100% + Statements + 59/59 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 21/21 +
+ + +
+ 100% + Lines + 58/58 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +1262x +  +  +2x +2x +2x +  +  +2x +  +2x +2x +  +  +2x +2x +2x +  +  +  +2x +  +2x +2x +  +  +2x +2x +2x +  +  +  +2x +  +2x +2x +  +  +2x +2x +2x +  +  +  +2x +2x +2x +  +  +2x +  +2x +2x +  +  +2x +2x +2x +  +  +  +2x +  +2x +2x +  +  +2x +2x +2x +  +  +  +2x +  +2x +2x +  +  +2x +2x +2x +  +  +  +2x +  +1x +1x +  +  +1x +1x +1x +  +  +  +2x +  +1x +1x +  +  +1x +1x +1x +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +12x + 
import { define } from "../define";
+import { NumberFactory, Serdes } from "../types";
+ 
+export const uint8: Serdes<number> = define(
+  (ctx, data) => ctx.view.setUint8(ctx.i++, data),
+  (ctx) => ctx.view.getUint8(ctx.i++)
+);
+ 
+export const uint16: Serdes<number> = define(
+  (ctx, data) => {
+    ctx.view.setUint16(ctx.i, data);
+    ctx.i += 2;
+  },
+  (ctx) => {
+    const data = ctx.view.getUint16(ctx.i);
+    ctx.i += 2;
+    return data;
+  }
+);
+ 
+export const uint32: Serdes<number> = define(
+  (ctx, data) => {
+    ctx.view.setUint32(ctx.i, data);
+    ctx.i += 4;
+  },
+  (ctx) => {
+    const data = ctx.view.getUint32(ctx.i);
+    ctx.i += 4;
+    return data;
+  }
+);
+ 
+export const bigUint64: Serdes<bigint> = define(
+  (ctx, data) => {
+    ctx.view.setBigUint64(ctx.i, data);
+    ctx.i += 8;
+  },
+  (ctx) => {
+    const data = ctx.view.getBigUint64(ctx.i);
+    ctx.i += 8;
+    return data;
+  }
+);
+ 
+export const int8: Serdes<number> = define(
+  (ctx, data) => ctx.view.setInt8(ctx.i++, data),
+  (ctx) => ctx.view.getInt8(ctx.i++)
+);
+ 
+export const int16: Serdes<number> = define(
+  (ctx, data) => {
+    ctx.view.setInt16(ctx.i, data);
+    ctx.i += 2;
+  },
+  (ctx) => {
+    const data = ctx.view.getInt16(ctx.i);
+    ctx.i += 2;
+    return data;
+  }
+);
+ 
+export const int32: Serdes<number> = define(
+  (ctx, data) => {
+    ctx.view.setInt32(ctx.i, data);
+    ctx.i += 4;
+  },
+  (ctx) => {
+    const data = ctx.view.getInt32(ctx.i);
+    ctx.i += 4;
+    return data;
+  }
+);
+ 
+export const bigInt64: Serdes<bigint> = define(
+  (ctx, data) => {
+    ctx.view.setBigInt64(ctx.i, data);
+    ctx.i += 8;
+  },
+  (ctx) => {
+    const data = ctx.view.getBigInt64(ctx.i);
+    ctx.i += 8;
+    return data;
+  }
+);
+ 
+export const float32: Serdes<number> = define(
+  (ctx, data) => {
+    ctx.view.setFloat32(ctx.i, data);
+    ctx.i += 4;
+  },
+  (ctx) => {
+    const data = ctx.view.getFloat32(ctx.i);
+    ctx.i += 4;
+    return data;
+  }
+);
+ 
+export const float64: Serdes<number> = define(
+  (ctx, data) => {
+    ctx.view.setFloat64(ctx.i, data);
+    ctx.i += 8;
+  },
+  (ctx) => {
+    const data = ctx.view.getFloat64(ctx.i);
+    ctx.i += 8;
+    return data;
+  }
+);
+ 
+const mappings = {
+  uint8,
+  uint16,
+  uint32,
+  int8,
+  int16,
+  int32,
+  float32,
+  float64,
+  bigUint64,
+  bigInt64
+} as const;
+ 
+export const number: NumberFactory = (kind, bitSize) =>
+  // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  mappings[`${kind}${bitSize}` as keyof typeof mappings] as any;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/noeval_serdes/struct.ts.html b/docs/coverage/lcov-report/src/noeval_serdes/struct.ts.html new file mode 100644 index 00000000..9688646e --- /dev/null +++ b/docs/coverage/lcov-report/src/noeval_serdes/struct.ts.html @@ -0,0 +1,154 @@ + + + + + + Code coverage report for src/noeval_serdes/struct.ts + + + + + + + + + +
+
+

All files / src/noeval_serdes struct.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 6/6 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +242x +  +2x +2x +2x +  +2x +4x +  +  +  +  +2x +2x +4x +  +2x +  +  +  +  +2x +1x + 
import { define, StructFactory, TupleFactory } from "..";
+ 
+export const struct: StructFactory = (definition) => {
+  const obj = definition instanceof Array ? () => [] : () => ({});
+  return define(
+    (ctx, data) => {
+      for (const key in definition) {
+        definition[key].ser(ctx, data[key]);
+      }
+    },
+    (ctx) => {
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      const data = obj() as any;
+      for (const key in definition) {
+        data[key] = definition[key].des(ctx);
+      }
+      return data;
+    }
+  );
+};
+ 
+export const tuple: TupleFactory = (...definition) =>
+  struct(definition);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/array.ts.html b/docs/coverage/lcov-report/src/serdes/array.ts.html new file mode 100644 index 00000000..19048430 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/array.ts.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for src/serdes/array.ts + + + + + + + + + +
+
+

All files / src/serdes array.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 12/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +2214x +  +  +14x +3x +  +344x +344x +344x +33579x +  +  +  +205x +205x +205x +20304x +  +205x +  +  + 
import { define } from "../define";
+import { ArrayFactory } from "../types";
+ 
+export const array: ArrayFactory = (sd, headSd) =>
+  define(
+    (ctx, data) => {
+      const { length } = data;
+      headSd.ser(ctx, length);
+      for (let i = 0; i < length; i++) {
+        sd.ser(ctx, data[i]);
+      }
+    },
+    (ctx) => {
+      const length = headSd.des(ctx);
+      const data = new Array(length);
+      for (let i = 0; i < length; i++) {
+        data[i] = sd.des(ctx);
+      }
+      return data;
+    }
+  );
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/boolean.ts.html b/docs/coverage/lcov-report/src/serdes/boolean.ts.html new file mode 100644 index 00000000..a93cc832 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/boolean.ts.html @@ -0,0 +1,106 @@ + + + + + + Code coverage report for src/serdes/boolean.ts + + + + + + + + + +
+
+

All files / src/serdes boolean.ts

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +814x +  +  +14x +2x +2x +  + 
import { define } from "../define";
+import { Serdes } from "../types";
+ 
+export const boolean: Serdes<boolean> = define(
+  (ctx, data) => void ctx.view.setUint8(ctx.i++, +data),
+  (ctx) => !!ctx.view.getUint8(ctx.i++)
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/bytes.ts.html b/docs/coverage/lcov-report/src/serdes/bytes.ts.html new file mode 100644 index 00000000..99f995db --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/bytes.ts.html @@ -0,0 +1,133 @@ + + + + + + Code coverage report for src/serdes/bytes.ts + + + + + + + + + +
+
+

All files / src/serdes bytes.ts

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 9/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +1714x +  +  +14x +1x +  +1x +1x +1x +1x +  +  +1x +1x +  +  + 
import { define } from "../define";
+import { BytesFactory } from "../types";
+ 
+export const bytes: BytesFactory = (headSd) =>
+  define(
+    (ctx, data) => {
+      const { byteLength } = data;
+      headSd.ser(ctx, byteLength);
+      ctx.bytes.set(data, ctx.i);
+      ctx.i += byteLength;
+    },
+    (ctx) => {
+      const byteLength = headSd.des(ctx);
+      return ctx.bytes.subarray(ctx.i, (ctx.i += byteLength));
+    }
+  );
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/index.html b/docs/coverage/lcov-report/src/serdes/index.html new file mode 100644 index 00000000..d41fefa4 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/index.html @@ -0,0 +1,236 @@ + + + + + + Code coverage report for src/serdes + + + + + + + + + +
+
+

All files src/serdes

+
+ +
+ 100% + Statements + 111/111 +
+ + +
+ 100% + Branches + 8/8 +
+ + +
+ 100% + Functions + 29/29 +
+ + +
+ 100% + Lines + 99/99 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
array.ts +
+
100%15/15100%0/0100%3/3100%12/12
boolean.ts +
+
100%4/4100%0/0100%2/2100%4/4
bytes.ts +
+
100%10/10100%0/0100%3/3100%9/9
index.ts +
+
100%8/8100%0/0100%0/0100%8/8
map.ts +
+
100%15/15100%0/0100%3/3100%13/13
number.ts +
+
100%16/16100%0/0100%1/1100%15/15
optional.ts +
+
100%9/9100%4/4100%3/3100%8/8
string.ts +
+
100%14/14100%0/0100%3/3100%13/13
struct.ts +
+
100%20/20100%4/4100%11/11100%17/17
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/index.ts.html b/docs/coverage/lcov-report/src/serdes/index.ts.html new file mode 100644 index 00000000..645369e5 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/index.ts.html @@ -0,0 +1,109 @@ + + + + + + Code coverage report for src/serdes/index.ts + + + + + + + + + +
+
+

All files / src/serdes index.ts

+
+ +
+ 100% + Statements + 8/8 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +914x +14x +14x +14x +14x +14x +14x +14x + 
export * from "./array";
+export * from "./optional";
+export * from "./map";
+export * from "./string";
+export * from "./bytes";
+export * from "./boolean";
+export * from "./struct";
+export * from "./number";
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/map.ts.html b/docs/coverage/lcov-report/src/serdes/map.ts.html new file mode 100644 index 00000000..921d47a1 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/map.ts.html @@ -0,0 +1,151 @@ + + + + + + Code coverage report for src/serdes/map.ts + + + + + + + + + +
+
+

All files / src/serdes map.ts

+
+ +
+ 100% + Statements + 15/15 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +2314x +  +  +14x +1x +  +1x +1x +1x +2x +2x +  +  +  +1x +1x +1x +2x +  +1x +  +  + 
import { define } from "../define";
+import { MapFactory, GetType } from "../types";
+ 
+export const map: MapFactory = (keySd, valueSd, headSd) =>
+  define(
+    (ctx, data) => {
+      const { length } = Object.keys(data);
+      headSd.ser(ctx, length);
+      for (const key in data) {
+        keySd.ser(ctx, key);
+        valueSd.ser(ctx, data[key]);
+      }
+    },
+    (ctx) => {
+      const length = headSd.des(ctx);
+      const data: Record<string, GetType<typeof valueSd>> = {};
+      for (let i = 0; i < length; i++) {
+        data[keySd.des(ctx)] = valueSd.des(ctx);
+      }
+      return data;
+    }
+  );
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/number.ts.html b/docs/coverage/lcov-report/src/serdes/number.ts.html new file mode 100644 index 00000000..d0c65657 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/number.ts.html @@ -0,0 +1,160 @@ + + + + + + Code coverage report for src/serdes/number.ts + + + + + + + + + +
+
+

All files / src/serdes number.ts

+
+ +
+ 100% + Statements + 16/16 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 15/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +2614x +  +  +14x +  +152x +  +  +152x +152x +  +  +  +  +  +14x +14x +14x +14x +14x +14x +14x +14x +14x +14x + 
import { define } from "../define";
+import { NumberFactory } from "../types";
+ 
+export const number: NumberFactory = (kind, bitSize) => {
+  const name =
+    /*@__PURE__*/ kind[0].toUpperCase() +
+    /*@__PURE__*/ kind.slice(1) +
+    bitSize;
+  const size = bitSize / 8;
+  return /*@__PURE__*/ new Function(
+    "d",
+    `return d((c,d)=>{c.view.set${name}(c.i,d);c.i+=${size}},(c)=>{const d=c.view.get${name}(c.i);c.i+=${size};return d})`
+  )(define);
+};
+ 
+export const uint8 = number("uint", 8);
+export const uint16 = number("uint", 16);
+export const uint32 = number("uint", 32);
+export const int8 = number("int", 8);
+export const int16 = number("int", 16);
+export const int32 = number("int", 32);
+export const bigUint64 = number("bigUint", 64);
+export const bigInt64 = number("bigInt", 64);
+export const float32 = number("float", 32);
+export const float64 = number("float", 64);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/optional.ts.html b/docs/coverage/lcov-report/src/serdes/optional.ts.html new file mode 100644 index 00000000..62e33393 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/optional.ts.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for src/serdes/optional.ts + + + + + + + + + +
+
+

All files / src/serdes optional.ts

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +1614x +  +  +14x +2x +  +336x +159x +  +177x +177x +  +  +203x +  + 
import { define } from "../define";
+import { OptionalFactory } from "../types";
+ 
+export const optional: OptionalFactory = (sd) =>
+  define(
+    (ctx, data) => {
+      if (data == undefined) {
+        ctx.view.setUint8(ctx.i++, 0);
+      } else {
+        ctx.view.setUint8(ctx.i++, 1);
+        sd.ser(ctx, data);
+      }
+    },
+    (ctx) => (ctx.view.getUint8(ctx.i++) ? sd.des(ctx) : undefined)
+  );
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/string.ts.html b/docs/coverage/lcov-report/src/serdes/string.ts.html new file mode 100644 index 00000000..d85a056f --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/string.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for src/serdes/string.ts + + + + + + + + + +
+
+

All files / src/serdes string.ts

+
+ +
+ 100% + Statements + 14/14 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 13/13 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +1914x +  +  +14x +10x +  +34090x +34090x +34090x +34090x +34084x +34084x +34084x +34084x +34084x +  +20604x +  + 
import { define } from "../define";
+import { StringFactory } from "../types";
+ 
+export const string: StringFactory = (encoding, headSd) =>
+  define(
+    (ctx, data) => {
+      const head = ctx.i;
+      headSd.ser(ctx, 0);
+      const begin = ctx.i;
+      encoding.encode(ctx, data);
+      const end = ctx.i;
+      const size = end - begin;
+      ctx.i = head;
+      headSd.ser(ctx, size);
+      ctx.i = end;
+    },
+    (ctx) => encoding.decode(ctx, headSd.des(ctx))
+  );
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/serdes/struct.ts.html b/docs/coverage/lcov-report/src/serdes/struct.ts.html new file mode 100644 index 00000000..70ec2361 --- /dev/null +++ b/docs/coverage/lcov-report/src/serdes/struct.ts.html @@ -0,0 +1,178 @@ + + + + + + Code coverage report for src/serdes/struct.ts + + + + + + + + + +
+
+

All files / src/serdes struct.ts

+
+ +
+ 100% + Statements + 20/20 +
+ + +
+ 100% + Branches + 4/4 +
+ + +
+ 100% + Functions + 11/11 +
+ + +
+ 100% + Lines + 17/17 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +3214x +  +14x +18x +  +14x +3x +9x +3x +3x +  +9x +9x +9x +  +9x +  +  +  +9x +  +  +  +  +9x +9x +  +  +  +14x +1x + 
import { define, StructFactory, TupleFactory } from "..";
+ 
+const nameOf = (key: string) =>
+  /*@__PURE__*/ isNaN(+key) ? /*@__PURE__*/ JSON.stringify(key) : key;
+ 
+export const struct: StructFactory = (definition) => {
+  const keys = /*@__PURE__*/ Object.keys(definition);
+  const indexes = /*@__PURE__*/ Object.keys(keys).map((i) => +i);
+  const values = /*@__PURE__*/ Object.values(definition);
+  return /*@__PURE__*/ new Function(
+    "d",
+    `[${indexes.map((i) => "k" + i).join()}]`,
+    `[${indexes.map((i) => "s" + i).join()}]`,
+    `[${indexes.map((i) => "d" + i).join()}]`,
+    `return d((c,d)=>{${indexes
+      .map((i) => `s${i}(c,d[${nameOf(keys[i])}])`)
+      .join(";")}},(c)=>{const d=${
+      definition instanceof Array ? "[]" : "{}"
+    };${indexes
+      .map((i) => `d[${nameOf(keys[i])}]=d${i}(c)`)
+      .join(";")};return d})`
+  )(
+    define,
+    keys,
+    /*@__PURE__*/ values.map(({ ser }) => ser),
+    /*@__PURE__*/ values.map(({ des }) => des)
+  );
+};
+ 
+export const tuple: TupleFactory = (...definition) =>
+  struct(definition);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/types/index.html b/docs/coverage/lcov-report/src/types/index.html new file mode 100644 index 00000000..bf8c798c --- /dev/null +++ b/docs/coverage/lcov-report/src/types/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for src/types + + + + + + + + + +
+
+

All files src/types

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%2/2100%0/0100%0/0100%2/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/types/index.ts.html b/docs/coverage/lcov-report/src/types/index.ts.html new file mode 100644 index 00000000..5c6695b9 --- /dev/null +++ b/docs/coverage/lcov-report/src/types/index.ts.html @@ -0,0 +1,91 @@ + + + + + + Code coverage report for src/types/index.ts + + + + + + + + + +
+
+

All files / src/types index.ts

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +314x +14x + 
export * from "./factories";
+export * from "./serdes";
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov-report/src/use.ts.html b/docs/coverage/lcov-report/src/use.ts.html new file mode 100644 index 00000000..2ff1c80c --- /dev/null +++ b/docs/coverage/lcov-report/src/use.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for src/use.ts + + + + + + + + + +
+
+

All files / src use.ts

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 4/4 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +2014x +  +  +  +  +  +  +  +14x +1x +1x +  +  +3x +  +1x +3x +  +  + 
import {
+  contextDes,
+  contextSer,
+  createContext,
+  Serdes,
+  UsableSerdes
+} from ".";
+ 
+export function use<T>({ ser, des }: Serdes<T>): UsableSerdes<T> {
+  const ctx = createContext();
+  return {
+    ser,
+    des,
+    toBytes: (data) => contextSer(ctx, ser, data).slice(0, ctx.i),
+    toUnsafeBytes: (data) =>
+      contextSer(ctx, ser, data).subarray(0, ctx.i),
+    fromBytes: (bytes) => contextDes(ctx, des, bytes)
+  };
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/coverage/lcov.info b/docs/coverage/lcov.info new file mode 100644 index 00000000..9cd6217e --- /dev/null +++ b/docs/coverage/lcov.info @@ -0,0 +1,730 @@ +TN: +SF:src/context.ts +FN:3,createContext +FN:12,growContext +FN:17,contextSer +FN:36,contextDes +FN:51,contextFromBytes +FNF:5 +FNH:5 +FNDA:18,createContext +FNDA:6,growContext +FNDA:4,contextSer +FNDA:3,contextDes +FNDA:3,contextFromBytes +DA:3,14 +DA:4,18 +DA:5,18 +DA:12,14 +DA:13,6 +DA:14,6 +DA:17,14 +DA:23,4 +DA:24,9 +DA:25,9 +DA:26,9 +DA:27,9 +DA:28,3 +DA:30,6 +DA:32,5 +DA:36,14 +DA:41,3 +DA:42,3 +DA:43,1 +DA:44,1 +DA:45,1 +DA:47,2 +DA:51,14 +DA:52,3 +LF:24 +LH:24 +BRDA:3,0,0,13 +BRDA:28,1,0,3 +BRDA:30,2,0,1 +BRDA:42,3,0,1 +BRDA:42,3,1,2 +BRF:5 +BRH:5 +end_of_record +TN: +SF:src/define.ts +FN:3,define +FNF:1 +FNH:1 +FNDA:208,define +DA:3,14 +DA:4,208 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/index.ts +FNF:0 +FNH:0 +DA:1,14 +DA:2,14 +DA:3,14 +DA:4,14 +DA:5,14 +DA:6,14 +LF:6 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/node.ts +FNF:0 +FNH:0 +DA:1,3 +DA:2,3 +DA:3,3 +DA:4,3 +DA:5,3 +DA:6,3 +LF:6 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/use.ts +FN:9,use +FN:14,(anonymous_1) +FN:15,(anonymous_2) +FN:17,(anonymous_3) +FNF:4 +FNH:4 +FNDA:1,use +FNDA:3,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:3,(anonymous_3) +DA:1,14 +DA:9,14 +DA:10,1 +DA:11,1 +DA:14,3 +DA:16,1 +DA:17,3 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/encodings/index.ts +FNF:0 +FNH:0 +DA:1,14 +DA:2,14 +DA:3,14 +DA:4,14 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/encodings/latin1.ts +FN:4,(anonymous_0) +FN:10,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:3,14 +DA:5,1 +DA:6,1 +DA:7,61 +DA:11,1 +DA:12,1 +DA:13,61 +DA:15,1 +LF:8 +LH:8 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/encodings/ucs2.ts +FN:4,(anonymous_0) +FN:11,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:3,14 +DA:5,1 +DA:6,1 +DA:7,7451 +DA:8,7451 +DA:12,1 +DA:13,1 +DA:14,1 +DA:15,7451 +DA:16,7451 +DA:18,1 +LF:11 +LH:11 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/encodings/utf8.ts +FN:7,(anonymous_0) +FN:11,(anonymous_1) +FNF:2 +FNH:2 +FNDA:10,(anonymous_0) +FNDA:10,(anonymous_1) +DA:3,14 +DA:4,14 +DA:6,14 +DA:8,10 +DA:12,10 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/encodings/utf8js.ts +FN:4,(anonymous_0) +FN:40,(anonymous_1) +FNF:2 +FNH:2 +FNDA:34084,(anonymous_0) +FNDA:20598,(anonymous_1) +DA:3,14 +DA:5,34084 +DA:6,34083 +DA:7,259229 +DA:8,259229 +DA:10,239091 +DA:11,239087 +DA:12,20138 +DA:15,2731 +DA:16,2731 +DA:17,2731 +DA:18,2731 +DA:19,17407 +DA:22,14420 +DA:23,14420 +DA:24,14420 +DA:25,14420 +DA:26,14420 +DA:28,2987 +DA:31,2987 +DA:32,2987 +DA:33,2987 +DA:34,2987 +DA:35,2987 +DA:36,2986 +DA:41,20598 +DA:42,20598 +DA:43,20598 +DA:44,159896 +DA:45,159896 +DA:47,146176 +DA:48,146176 +DA:49,13720 +DA:53,2090 +DA:54,2090 +DA:55,2090 +DA:56,11630 +DA:61,9812 +DA:62,9812 +DA:63,9812 +DA:64,9812 +DA:71,1818 +DA:72,1818 +DA:73,1818 +DA:74,1818 +DA:75,1818 +DA:76,1818 +DA:77,1818 +DA:80,20598 +LF:49 +LH:49 +BRDA:8,0,0,239091 +BRDA:8,0,1,20138 +BRDA:12,1,0,2731 +BRDA:12,1,1,17407 +BRDA:19,2,0,14420 +BRDA:19,2,1,2987 +BRDA:19,3,0,17407 +BRDA:19,3,1,2989 +BRDA:45,4,0,146176 +BRDA:45,4,1,13720 +BRDA:49,5,0,2090 +BRDA:49,5,1,11630 +BRDA:56,6,0,9812 +BRDA:56,6,1,1818 +BRF:14 +BRH:14 +end_of_record +TN: +SF:src/node_encodings/latin1.ts +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:3,3 +DA:5,3 +DA:7,1 +DA:10,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/node_encodings/ucs2.ts +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:3,3 +DA:5,3 +DA:7,1 +DA:10,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/node_encodings/utf8.ts +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:3,3 +DA:5,3 +DA:7,1 +DA:10,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/noeval_serdes/index.ts +FNF:0 +FNH:0 +DA:1,2 +DA:2,2 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/noeval_serdes/number.ts +FN:5,(anonymous_0) +FN:6,(anonymous_1) +FN:10,(anonymous_2) +FN:14,(anonymous_3) +FN:22,(anonymous_4) +FN:26,(anonymous_5) +FN:34,(anonymous_6) +FN:38,(anonymous_7) +FN:46,(anonymous_8) +FN:47,(anonymous_9) +FN:51,(anonymous_10) +FN:55,(anonymous_11) +FN:63,(anonymous_12) +FN:67,(anonymous_13) +FN:75,(anonymous_14) +FN:79,(anonymous_15) +FN:87,(anonymous_16) +FN:91,(anonymous_17) +FN:99,(anonymous_18) +FN:103,(anonymous_19) +FN:123,(anonymous_20) +FNF:21 +FNH:21 +FNDA:2,(anonymous_0) +FNDA:2,(anonymous_1) +FNDA:2,(anonymous_2) +FNDA:2,(anonymous_3) +FNDA:2,(anonymous_4) +FNDA:2,(anonymous_5) +FNDA:2,(anonymous_6) +FNDA:2,(anonymous_7) +FNDA:2,(anonymous_8) +FNDA:2,(anonymous_9) +FNDA:2,(anonymous_10) +FNDA:2,(anonymous_11) +FNDA:2,(anonymous_12) +FNDA:2,(anonymous_13) +FNDA:2,(anonymous_14) +FNDA:2,(anonymous_15) +FNDA:1,(anonymous_16) +FNDA:1,(anonymous_17) +FNDA:1,(anonymous_18) +FNDA:1,(anonymous_19) +FNDA:12,(anonymous_20) +DA:1,2 +DA:4,2 +DA:5,2 +DA:6,2 +DA:9,2 +DA:11,2 +DA:12,2 +DA:15,2 +DA:16,2 +DA:17,2 +DA:21,2 +DA:23,2 +DA:24,2 +DA:27,2 +DA:28,2 +DA:29,2 +DA:33,2 +DA:35,2 +DA:36,2 +DA:39,2 +DA:40,2 +DA:41,2 +DA:45,2 +DA:46,2 +DA:47,2 +DA:50,2 +DA:52,2 +DA:53,2 +DA:56,2 +DA:57,2 +DA:58,2 +DA:62,2 +DA:64,2 +DA:65,2 +DA:68,2 +DA:69,2 +DA:70,2 +DA:74,2 +DA:76,2 +DA:77,2 +DA:80,2 +DA:81,2 +DA:82,2 +DA:86,2 +DA:88,1 +DA:89,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:98,2 +DA:100,1 +DA:101,1 +DA:104,1 +DA:105,1 +DA:106,1 +DA:110,2 +DA:123,2 +DA:125,12 +LF:58 +LH:58 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/noeval_serdes/struct.ts +FN:3,(anonymous_0) +FN:4,(anonymous_1) +FN:4,(anonymous_2) +FN:6,(anonymous_3) +FN:11,(anonymous_4) +FN:22,(anonymous_5) +FNF:6 +FNH:6 +FNDA:2,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:2,(anonymous_3) +FNDA:2,(anonymous_4) +FNDA:1,(anonymous_5) +DA:1,2 +DA:3,2 +DA:4,2 +DA:5,2 +DA:7,2 +DA:8,4 +DA:13,2 +DA:14,2 +DA:15,4 +DA:17,2 +DA:22,2 +DA:23,1 +LF:12 +LH:12 +BRDA:4,0,0,1 +BRDA:4,0,1,1 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/serdes/array.ts +FN:4,(anonymous_0) +FN:6,(anonymous_1) +FN:13,(anonymous_2) +FNF:3 +FNH:3 +FNDA:3,(anonymous_0) +FNDA:344,(anonymous_1) +FNDA:205,(anonymous_2) +DA:1,14 +DA:4,14 +DA:5,3 +DA:7,344 +DA:8,344 +DA:9,344 +DA:10,33579 +DA:14,205 +DA:15,205 +DA:16,205 +DA:17,20304 +DA:19,205 +LF:12 +LH:12 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/serdes/boolean.ts +FN:5,(anonymous_0) +FN:6,(anonymous_1) +FNF:2 +FNH:2 +FNDA:2,(anonymous_0) +FNDA:2,(anonymous_1) +DA:1,14 +DA:4,14 +DA:5,2 +DA:6,2 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/serdes/bytes.ts +FN:4,(anonymous_0) +FN:6,(anonymous_1) +FN:12,(anonymous_2) +FNF:3 +FNH:3 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +DA:1,14 +DA:4,14 +DA:5,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:13,1 +DA:14,1 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/serdes/index.ts +FNF:0 +FNH:0 +DA:1,14 +DA:2,14 +DA:3,14 +DA:4,14 +DA:5,14 +DA:6,14 +DA:7,14 +DA:8,14 +LF:8 +LH:8 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/serdes/map.ts +FN:4,(anonymous_0) +FN:6,(anonymous_1) +FN:14,(anonymous_2) +FNF:3 +FNH:3 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +DA:1,14 +DA:4,14 +DA:5,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,2 +DA:11,2 +DA:15,1 +DA:16,1 +DA:17,1 +DA:18,2 +DA:20,1 +LF:13 +LH:13 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/serdes/number.ts +FN:4,(anonymous_0) +FNF:1 +FNH:1 +FNDA:152,(anonymous_0) +DA:1,14 +DA:4,14 +DA:6,152 +DA:9,152 +DA:10,152 +DA:16,14 +DA:17,14 +DA:18,14 +DA:19,14 +DA:20,14 +DA:21,14 +DA:22,14 +DA:23,14 +DA:24,14 +DA:25,14 +LF:15 +LH:15 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/serdes/optional.ts +FN:4,(anonymous_0) +FN:6,(anonymous_1) +FN:14,(anonymous_2) +FNF:3 +FNH:3 +FNDA:2,(anonymous_0) +FNDA:336,(anonymous_1) +FNDA:203,(anonymous_2) +DA:1,14 +DA:4,14 +DA:5,2 +DA:7,336 +DA:8,159 +DA:10,177 +DA:11,177 +DA:14,203 +LF:8 +LH:8 +BRDA:7,0,0,159 +BRDA:7,0,1,177 +BRDA:14,1,0,96 +BRDA:14,1,1,107 +BRF:4 +BRH:4 +end_of_record +TN: +SF:src/serdes/string.ts +FN:4,(anonymous_0) +FN:6,(anonymous_1) +FN:17,(anonymous_2) +FNF:3 +FNH:3 +FNDA:10,(anonymous_0) +FNDA:34090,(anonymous_1) +FNDA:20604,(anonymous_2) +DA:1,14 +DA:4,14 +DA:5,10 +DA:7,34090 +DA:8,34090 +DA:9,34090 +DA:10,34090 +DA:11,34084 +DA:12,34084 +DA:13,34084 +DA:14,34084 +DA:15,34084 +DA:17,20604 +LF:13 +LH:13 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/serdes/struct.ts +FN:3,(anonymous_0) +FN:6,(anonymous_1) +FN:8,(anonymous_2) +FN:12,(anonymous_3) +FN:13,(anonymous_4) +FN:14,(anonymous_5) +FN:16,(anonymous_6) +FN:20,(anonymous_7) +FN:25,(anonymous_8) +FN:26,(anonymous_9) +FN:30,(anonymous_10) +FNF:11 +FNH:11 +FNDA:18,(anonymous_0) +FNDA:3,(anonymous_1) +FNDA:9,(anonymous_2) +FNDA:9,(anonymous_3) +FNDA:9,(anonymous_4) +FNDA:9,(anonymous_5) +FNDA:9,(anonymous_6) +FNDA:9,(anonymous_7) +FNDA:9,(anonymous_8) +FNDA:9,(anonymous_9) +FNDA:1,(anonymous_10) +DA:1,14 +DA:3,14 +DA:4,18 +DA:6,14 +DA:7,3 +DA:8,9 +DA:9,3 +DA:10,3 +DA:12,9 +DA:13,9 +DA:14,9 +DA:16,9 +DA:20,9 +DA:25,9 +DA:26,9 +DA:30,14 +DA:31,1 +LF:17 +LH:17 +BRDA:4,0,0,14 +BRDA:4,0,1,4 +BRDA:18,1,0,1 +BRDA:18,1,1,2 +BRF:4 +BRH:4 +end_of_record +TN: +SF:src/types/index.ts +FNF:0 +FNH:0 +DA:1,14 +DA:2,14 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record diff --git a/docs/data_types/array.html b/docs/data_types/array.html new file mode 100644 index 00000000..464027fc --- /dev/null +++ b/docs/data_types/array.html @@ -0,0 +1,46 @@ + + + + + + Array | Sir Dez + + + + + + + + +

# Array

Arrays allow you to store elements of a specific type. For example vertices, transactions, users... sd.array will require a sd.Serdes which will be used to encode the items, and a headSd which is a sd.Serdes<number> to encode the number of items in the array.

# Headers

Headers determine the size of the array.

  • sd.uint8 for arrays of length [0, 255].
  • sd.uint16 for arrays of length [0, 65 535].
  • sd.uint32 for arrays of length [0, 4 294 967 295]

# Usage

Creating a sd.Serdes for points. It can store up to 65 535 items points as defined by headSd of sd.uint16.

const { toBytes, fromBytes } = sd.use(
+  sd.array(sd.struct({ x: sd.float, y: sd.float }), sd.uint16)
+);
+

# Specifications

[number of items (headSd)][...items (sd)]
+

The number of items (array.length) will be encoded at the start of the payload using the provided headSd. Then the actual items serialized with sd will follow.

+ + + diff --git a/docs/data_types/boolean.html b/docs/data_types/boolean.html new file mode 100644 index 00000000..f6163e5b --- /dev/null +++ b/docs/data_types/boolean.html @@ -0,0 +1,45 @@ + + + + + + Boolean | Sir Dez + + + + + + + + +

# Boolean

Boolean datatype is most basic of all. It consist of two values: true and false.

sd.boolean is under the hood simply a sd.uint8 which encodes 1 for true and 0 for false.

# Usage

const { toBytes, fromBytes } = sd.use(sd.boolean);
+

# Specifications

If true then

[byte 1]
+

Else

[byte 0]
+
+ + + diff --git a/docs/data_types/bytes.html b/docs/data_types/bytes.html new file mode 100644 index 00000000..80962e96 --- /dev/null +++ b/docs/data_types/bytes.html @@ -0,0 +1,40 @@ + + + + + + Bytes | Sir Dez + + + + + + + + +

# Bytes

Bytes data type allows to store Uint8Array.

sd.bytes is a sd.BytesFactory, given a headSd which will determine the maximum length of the Uint8Array.

# Usage

The below will create a sd.Serdes<Uint8Array> which cannot exceed a length of 2^16 - 1.

const { toBytes, fromBytes } = sd.use(sd.bytes(sd.uint16));
+

# Specifications

[payload length (headSd)][payload]
+

The headSd will be used to serialize and deserialize the payload length.

+ + + diff --git a/docs/data_types/map.html b/docs/data_types/map.html new file mode 100644 index 00000000..7a89ce3f --- /dev/null +++ b/docs/data_types/map.html @@ -0,0 +1,51 @@ + + + + + + Map | Sir Dez + + + + + + + + +

# Map

Maps allow to store key-value data. For example a phone book where the name of someone maps to a phone number.

# Parameters

sd.map takes keySd, valueSd and headSd.

  • keySd is the serializer/deserializer for the key components of the map.
  • valueSd is the serializer/deserializer for the value components of the map.
  • headSd is the header that will indicate the amount of entries in the map.

# Usage

A simple map that indexes users by id.

const id = sd.string(sd.ascii, sd.uint8);
+const user = sd.struct({
+  id,
+  name: sd.string(sd.utf8, sd.uint8),
+  age: sd.uint8
+});
+
+const { toBytes, fromBytes } = sd.use(sd.map(user, sd.uint16, id));
+

# Specifications

[amount of key-value pairs (headSd)][...[key (keySd)][value (valueSd)]]
+

The amount of key-value pairs will be encoded at the start of the payload. It will then be followed by the actual pairs.

+ + + diff --git a/docs/data_types/number.html b/docs/data_types/number.html new file mode 100644 index 00000000..17c6fa9c --- /dev/null +++ b/docs/data_types/number.html @@ -0,0 +1,44 @@ + + + + + + Number | Sir Dez + + + + + + + + +

# Number

All numbers are stored in big-endian using DataView methods for its performance (opens new window). There are two variants of numbers which have similar performance with different bundle size footprints.

# Variants

sd.number@noeval have an implementation for each of the following. It has a mapping to find the sd.Serdes for a given kind and bitSize. Using number will need to include all the below in the bundle.

sd.something@<module> will be located at "sirdez/<module>" when importing, as well as all other commmon exports.

WARNING

There is no input validation. Passing bad values will result it to return undefined. Thus calling it will throw an error.

sd.number is code generating factory that can create the following. Instead of mapping to a sd.Serdes, it evokes new Function to create the sd.Serdes, hence the bundle size will be smaller.

WARNING

There is no input validation. Passing bad values will result in either errors when invoking the returned sd.Serdes or while generating it, or unexpected behaviors. Please fully use the power of TypeScript to prevent this.

For non-dynamic numbers, please use sd.<kind><size> if you are using a few, or sd.eval<Kind><size> if you are using most to reduce bundle size.

# Mappings

Both factories requires a kind and a bitSize.

Truth table for sd.number@noeval and sd.number@noeval.

kind bitSize returns
uint 8 sd.uint8
uint 16 sd.uint16
uint 32 sd.uint32
bigUint 64 sd.bigUint64
int 8 sd.int8
int 16 sd.int16
int 32 sd.int32
bigInt 64 sd.bigInt64
float 32 sd.float32
float 64 sd.float64

All number data types have been exported. So avoid using sd.number@noeval or sd.number for statically.

# Usage

Statically using numbers.

const { toBytes, fromBytes } = sd.use(sd.uint8);
+

Dynamically using numbers.

const { toBytes, fromBytes } = sd.use(sd.number("uint", 8));
+

# Specifications

All numbers are directly serialized in big-endian at the location of pointer sd.Context#i to then increment the pointer by the byte size of the datatype.

+ + + diff --git a/docs/data_types/optional.html b/docs/data_types/optional.html new file mode 100644 index 00000000..80ea9da6 --- /dev/null +++ b/docs/data_types/optional.html @@ -0,0 +1,45 @@ + + + + + + Optional | Sir Dez + + + + + + + + +

# Optional

Optional type allows you to have a value that may or may not be there when serializing and deserializing.

sd.optional takes sd, a sd.SerDes that will serialize if there is a value.

# Usage

Optional number.

const { toBytes, fromBytes } = sd.use(sd.optional(sd.uint8));
+

# Specifications

sd.optional uses a one byte header which is a boolean value to indicate if it has a value or not.

If value is not undefined or null

[byte 1][value (sd)]
+

Otherwise

[byte 0]
+
+ + + diff --git a/docs/data_types/string.html b/docs/data_types/string.html new file mode 100644 index 00000000..a4278a4e --- /dev/null +++ b/docs/data_types/string.html @@ -0,0 +1,44 @@ + + + + + + String | Sir Dez + + + + + + + + +

# String

Strings in this library are exteremely versatile: you choose the encoding format and the header size.

String header will determine the max size of string: they encode the length of the encoded string output.

sd.string is a sd.StringFactory: it creates sd.SerDes<string> with the specified encoding scheme and header size.

# Usage

This is how you can create a UTF8 encoded string with a maximum length of 255 (because the range of sd.uint8 is [0, 255]).

const { toBytes, fromBytes } = sd.use(sd.string(sd.utf8, sd.uint8));
+

WARNING

There are no input validation. Passing a string which too long will result in unexpected behaviors. Inputing a non-string value will most likely result in an error.

# Encodings

Sir Dez comes with built-in string encodings.

  • For compact and fast strings that require all unicode characters, use sd.utf8js.
  • For longer compact strings that require all unicode characters, use sd.utf8.
  • For fast encoding that require all unicode characters, use sd.utf16.
  • For compact and fast encoding which only need the first 255 characters, use sd.ascii.

# Headers

Headers determine the size of the string.

  • sd.uint8 for strings of length [0, ~255].
  • sd.uint16 for strings of length [0, ~65 535].
  • sd.uint32 for strings of length [0, ~4 294 967 295]

WARNING

An ~ have been added because it is only an approximation. Depending the contents of string and the encoding, the number will change. The header determines the length of the encoded string payload, and not the length of the string in JavaScript (UTF16).

# Specifications

The header is encoded before the main body of the string containing the encoded string.

[header][encoded string]
+

For example, if we have a string composed of ascii characters: "hello world". The length of the string will be 11, hence the header value will be 11.

In the actual implementation, because the payload length is only known after the encoding process, we skip the header to write it after.

+ + + diff --git a/docs/data_types/struct.html b/docs/data_types/struct.html new file mode 100644 index 00000000..92e46f04 --- /dev/null +++ b/docs/data_types/struct.html @@ -0,0 +1,50 @@ + + + + + + Struct | Sir Dez + + + + + + + + +

# Struct

Structs allow to encode more complex data structures. They serialize JavaScript objects. sd.struct takes a defintion which is a record of sd.Serdes<T> to create sd.Serdes<Defintion>.

# Variants

There are two variants of structs.

  • sd.struct uses new Function and generates a very fast function to serialize and deserialize an object.
  • sd.struct@noeval does not use new Function, but it is much slower because it is implemented using a for loop.

sd.something@<module> will be located at "sirdez/<module>" when importing, as well as all other common exports.

# Usage

Simple 3D vector struct.

const defintion = {
+  x: sd.float64,
+  y: sd.float64,
+  z: sd.float64
+};
+
+const { toBytes, fromBytes } = sd.use(sd.struct(definition));
+

# Specifications

Given a record of field names and sd.Serdes<T> values. It will serialize using the sd.Serdes<T> in the order presented by the definition, without any other metadata.

Using the example above, the serialized payload given a vector will be:

[vector.x][vector.y][vector.z]
+
+ + + diff --git a/docs/design.html b/docs/design.html new file mode 100644 index 00000000..0dd24265 --- /dev/null +++ b/docs/design.html @@ -0,0 +1,42 @@ + + + + + + Design | Sir Dez + + + + + + + + +

# Design

This section will cover the design of Sir Dez as well as its objectives. Reading the following will help you determine if Sir Dez is the binary serialization that fits your requriements.

Why I authored this library?

I created Sir Dez because I wanted a compact performant binary serialization library with full TypeScript support that runs in Node, Deno and the browser for another project involving the WebCrypto API which only works with binary data.

# TypeScript

TypeScript at first might seem like a pain to setup, but with the amount of tools available, a TypeScript project can easily be scafolded with a simple command while giving all of its benifits.

  • Better code suggestions
  • Compilation to many targets
  • Minimize runtime errors
  • Type error precognition

Sir Dez fully supports TypeScript meaning if you define a sd.Serdes and use it. TypeScript will warn you if you are using it with the wrong data type.

# Bundle Size

Sir Dez is fully tree-shakable with zero dependencies; the bundle will only include what you use. It can easily be tree-shaken because most of the code is atomic and decoupled. No worries, if you are using Sir Dez with a script tag, because Sir Dez' bundle size is only around 5 KiB and 2 KiB gzipped. The library also ships in many different bundles to fit your needs.

# Portability

The library is only using features available on most JavaScript runtimes, meaning it can run in multiple environments such as Node, Deno and the browser. Using common features also removes the need to bundle polyfills, thus reducing bundle size. The used features are:

  • Uint8Array
  • DataView
  • TextEncoder for sd.utf8#encode
  • TextDecoder for sd.utf8#decode

In Node environment (override):

  • Buffer.prototype.<encoding>Write for sd.<encoding>#encode
  • Buffer.prototype.<encoding>Slice for sd.<encoding>#decode

WARNING

It is possible that in some node version, the above functions are not available. If it is the case and upgrading to a newer version is not possible, consider importing sirdez/common instead.

# Performance

Sir Dez aim to be as performant as possible in all environment. In fact, depending on the environment, different code will be used: when running in Node, Sir Dez will use Node's Buffer functions for encoding strings. This also explains the large performance gap for string intensive data types between Node and other environments such as the browser and Deno.

# Compression

Performance is great, but sending and storing data in a compact format is sometimes more important. Due to the flexibility of Sir Dez, you can store data in the most compact form possible without any elaborate compression algorithm to eliminate redundancy.

+ + + diff --git a/docs/extending.html b/docs/extending.html new file mode 100644 index 00000000..36611237 --- /dev/null +++ b/docs/extending.html @@ -0,0 +1,79 @@ + + + + + + Extending | Sir Dez + + + + + + + + +

# Extending

Sir Dez is built in a way which is easy to extend. You can integrate your own logic into Sir Dez quickly simply by defining two functions: a serializer (sd.Ser) and a deserializer (sd.Des) with sd.define.

# Data Type

In this example, we are going to create a union data type for string and number in TypeScript using other sd.Serdes.

During deserialization, to know if the payload data is a string or a number, we need to create a pivot. A simple sd.uint8 will do the job: 1 for string and 0 for number.

const utf8String = sd.string(sd.utf8, sd.uint16);
+const union: sd.Serdes<string | number> = sd.define(
+  (ctx, data) => {
+    if (typeof data === "string") {
+      sd.uint8.ser(ctx, 1);
+      utf8String.ser(ctx, data);
+    } else {
+      sd.uint8.ser(ctx, 0);
+      sd.float64.ser(ctx, data);
+    }
+  },
+  (ctx) =>
+    sd.uint8.des(ctx) ? utf8String.des(ctx) : sd.float64.des(ctx)
+);
+
+const { toBytes, fromBytes } = sd.use(
+  sd.struct({
+    other: sd.uint8,
+    stringOrNumber: union
+  })
+);
+

Contribute!

Feel free to create a pull request to add cool sd.Serdes you created.

# Encoding

As of now, all Sir Dez' sd.Encoding are for strings. An encoding for any data type is possible, but is a preferable to create a sd.Serdes for that.

In this example, let's create an encoder for numbers in a string seperated by spaces (not very useful). "1 2 3 4 5 6 7 8 9"

const numbers: sd.Encoding<string> = {
+  encode(ctx, data) {
+    for (let n of data.split(" ")) {
+      sd.float64.ser(+n);
+    }
+  },
+  decode(ctx, size) {
+    const arr = [];
+    const end = ctx.i + size;
+    while (ctx.i < end) {
+      arr.push(sd.float64.des(ctx));
+      ctx.i++;
+    }
+    return arr.join(" ");
+  }
+};
+
+ + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..b4fd25b3 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,73 @@ + + + + + + Sir Dez + + + + + + + + +

Sir Dez (opens new window)

# Glorious SerDes (opens new window) for TypeScript

The library you can rely on,
+For binary serialization and deserialization,
+In Node, Deno, and the Web environment,
+Which is simple and yet performant.

npm (opens new window) deno (opens new window) ci (opens new window) coverage (opens new window) report (opens new window) docs (opens new window) perf bundle (opens new window)

# Features

  • Performant
  • Easy to use
  • Full TypeScript support
  • Super extensible
  • 99% tree-shakable
  • Zero dependencies (small footprint)
  • Runs in Node, Deno and browsers
  • More details... (opens new window)

Performance Comparison with other tools in Node (ops/sec)

performance

# Installation

Expand for more details.

Node (Webpack, Babel, React, Svelte, Vue, Svelte...)

# In the terminal with NPM

npm i sirdez
+

# Or with Yarn

yarn add sirdez
+

# In the code with ES Modules

import * as sd from "sirdez";
+

# or with CommonJS

const sd = require("sirdez");
+
Web (without bundlers)

# In HTML with UMD

<script src="https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.umd.js"></script>
+

# In an ES module script (statically)

import * as sd from "https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js";
+

# In an ES module script (dynamically)

const sd = await import(
+  "https://cdn.jsdelivr.net/npm/sirdez/dist/sirdez.es.js"
+);
+
Deno

# In code (statically)

import * as sd from "https://deno.land/x/sirdez/mod.ts";
+

# In code (dynamically)

const sd = await import("https://deno.land/x/sirdez/mod.ts");
+

# Usage

# Simple snippet of code

const person = sd.use(
+  sd.struct({
+    name: sd.string(sd.utf8, sd.uint8),
+    age: sd.uint8
+  })
+);
+
+const bytes = person.toBytes({
+  name: "Bob",
+  age: 23
+});
+
+const samePerson = person.fromBytes(bytes);
+
+console.log({ bytes, samePerson });
+

# Using TypeScript utilities

type Person = sd.GetType<typeof person>;
+
+const bob: Person = {
+  name: "Bob",
+  age: 23
+};
+

# Resources

# Contribution

Help and suggestions are welcomed!

+ + + diff --git a/docs/perf/main.json b/docs/perf/main.json new file mode 100644 index 00000000..c27c2e4d --- /dev/null +++ b/docs/perf/main.json @@ -0,0 +1 @@ +{"General":{"unsafe sirdez":6102,"sirdez":5393,"avsc":3434,"json":2813},"100x100 Matrix":{"unsafe sirdez":3013,"sirdez":2580,"avsc":2400,"json":1923},"512 Messages":{"unsafe sirdez":4321,"sirdez":3537,"avsc":2636,"json":2495},"256 Users":{"unsafe sirdez":3513,"sirdez":3036,"avsc":1667,"json":3141}} \ No newline at end of file diff --git a/docs/perf/main.png b/docs/perf/main.png new file mode 100644 index 0000000000000000000000000000000000000000..6e31a251b01db5dc2869d91a8510d7ba7e97ab79 GIT binary patch literal 34297 zcmd43c|6o>|36+*X*VQFmL^NtYwWukAz3qIFENyT-${!GA*qBcC1HeW?88t9*~v1P zne6*a*1?3|<=p4o_h~x!=kfUbzTZE-&g0Q>I$ZDTy586IdOcsy=kqlY`nnp2_Mh0l zW5ccmskv|}i zHAjelKB^+qfi?pl^@7M%y_p?TU$z(y4Zf0=?@)<)$?8nIgF1=Yq`{zu9E-XTf9K{> zvGG_`11X{bZlJ)v)uwLy3^mIV_qox9-En9ys?$Bx?EIyn`p6^owU#JhB&#~z44A$N z=$FEOPIY9G+m6MVsBdjFzuxjm_{8q2Ac`JgS-7xq0iPDpFq1Kt0ySJOkU(05c0bKK z8aIrK?6o}D#sXo#ddi@{Zt(1Z*7RPV>W&k1n{YmC3j*;C?-x~Jjf;;=VsjNfx^)>Y zf4Mvaiy9Pw9)}!fjT29B3iT}{uQx?CL_2hWlKapUPQPDkAp0)7|v9R7eK%vj8SkD84)3dl#ZGX#{9ukMrxpBcdEy-vuoo}KILw&8&J-#$ zY#}77FjKIGHOT2!?7=j(elN}cWZqVpG*Z5&%0nlQMv)V18Zy$)S0L8An})F>j>YV- zZ)b0HRDVNvX`-&(flWrO*4gzkzt9UK5{WmPXXTJSchNpC@D9w3X-RDyNKWDS#tJLA zt|Z2FkDA+tlXtw6!o*9@=i=tYvjr9dF)=ZEP6NfxB3deiYUw9-#?0I<%#H#fNs+I8 zvMTM`>BmNQ7?pBP&M~WAzs#GWTP1d|#uEDR8(UH$t*R2*d46Ac;xeis3T|rzpH59L zuqgAe6HB1IADE|6s#Jube3KO#C&a4V32rufRCk1_3vG`Y^)#B0w09@VlD{gFiSZbw z`njli3gRrWtZ&O7f`7_btJ6j%5^8FStE$)S*UMp zY^;iFZ@%S2v!~xNNS~Am|K1{pp!*M0S-?{GZWnGJKlm!G(V+ba1K*_R+DGQ23O>w4^At6B{@gkDWxE8+mHOfJ%F4<%2@LxSd{@STRN|F!*Ztm#ZM4pn zxq+>M(r5}T)}*^DBbY-5lPs^GP@pUS%1nx8;&T3l;RKOrMZH&Z;ALeZfs-)|n-+8% z|NchJG{5%qm&bKvecPKuU2xr=0cFjYT7Gb>*}w4+n?Ii3b7Q6|s@D zR@?KjkU0CYSR_P_7h0v0X-G;D4fpt9KCI5 z(pMx#rcUc=$d=}Ul6b!L*JHRH`_?~)9>U-2VOzbESSEf*%snYCJutPGEqrM7jZMj* zM-xBvyr`NCrX-@_Dwq^k;uV4Trmvl8#*qwxwH^sP+v%7YuLlNUBV7q6_WT*OgAy$I#r!QktaaNERU z+tu#I)r>I+Qo4vce8^SZ_PiQ}Ob+ofH#hHT-V~7^P{!9r!=$C9UpCrG+hg$J?8{OU zp~l$IF@bw$J%}T;O@$f>FYEmW^s89oau}7sEyXt%C*r3s+;QOvB5fIPgp-$(ymNX! zHE$ZitrQ%yj=221k9wSLvZH$%A)B97dEsPlUP!euhjme!ICapoP07;IlAOa)uXp9j z;8~~(OXu+@?bRBIpHCAXaB*>^i5X?D1dsM-c1_g>q?QnZb)Ox6+BCM3)irhG@ZrOo zSEr#@qqHT-P2M-<`GSJNJB>TX}{is;@t zSmTz4_DRH_MlAb77fwPFFSlnb$HPa>V6}TP@E9i@IKMfs#YrTrE7oTl>1uH<_Va>W%x=|L$7*mux1≺RzTJ_*m>Ikl9# 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

_J~7kxh-EOeSd)zFvDqgx*VVL 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 literal 0 HcmV?d00001 diff --git a/docs/report/index.html b/docs/report/index.html new file mode 100644 index 00000000..6a19fb54 --- /dev/null +++ b/docs/report/index.html @@ -0,0 +1 @@ +Report

\ No newline at end of file diff --git a/docs/report/index.json b/docs/report/index.json new file mode 100644 index 00000000..01551068 --- /dev/null +++ b/docs/report/index.json @@ -0,0 +1 @@ +{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":14,"numPassedTests":112,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":14,"numTotalTests":112,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1642534729001,"success":true,"testResults":[{"leaks":false,"numFailingTests":0,"numPassingTests":72,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534731816,"runtime":2766,"slow":false,"start":1642534729050},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/number.test.ts","testResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"uint8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint8 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint8 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint16 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"uint16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint16 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint16 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"uint16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint16 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint32 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"uint32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint32 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigUint64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint64 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigUint64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint64 decode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bigUint64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint64 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigUint64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint64 decode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"int8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int8 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int8 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"int8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int16 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int16 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int16 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int16 decode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"int32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int32 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int32 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigInt64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt64 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bigInt64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt64 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigInt64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt64 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigInt64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt64 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"float32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float32 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"float32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"float64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float64 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"float64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float64 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval8 encode"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval8 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval16 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval16 decode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval16 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval16 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval32 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval32 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"uint@noeval32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"uint@noeval32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigUint@noeval64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint@noeval64 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bigUint@noeval64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint@noeval64 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigUint@noeval64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint@noeval64 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bigUint@noeval64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigUint@noeval64 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval8 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval8 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval8 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval8 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval8 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval16 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval16 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval16 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval16 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval16 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval16 decode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval32 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval32 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval32 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"int@noeval32 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"int@noeval32 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigInt@noeval64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt@noeval64 encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigInt@noeval64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt@noeval64 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"bigInt@noeval64 encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt@noeval64 encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bigInt@noeval64 decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bigInt@noeval64 decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"float32@noeval encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float32@noeval encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"float32@noeval decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float32@noeval decode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"float64@noeval encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float64@noeval encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"float64@noeval decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"float64@noeval decode"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":4,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534732278,"runtime":442,"slow":false,"start":1642534731836},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/usage.test.ts","testResults":[{"ancestorTitles":[],"duration":101,"failureDetails":[],"failureMessages":[],"fullName":"use will grow","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"use will grow"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"use faster decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"use faster decode"},{"ancestorTitles":[],"duration":52,"failureDetails":[],"failureMessages":[],"fullName":"use instant","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"use instant"},{"ancestorTitles":[],"duration":16,"failureDetails":[],"failureMessages":[],"fullName":"use will throw other errors","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"use will throw other errors"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":8,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534732461,"runtime":169,"slow":false,"start":1642534732292},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/struct.test.ts","testResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"struct encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"struct encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"struct decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"struct decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tuple encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"tuple encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"tuple decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"tuple decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"struct@noeval encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"struct@noeval encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"struct@noeval decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"struct@noeval decode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tuple@noeval encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"tuple@noeval encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"tuple@noeval decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"tuple@noeval decode"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":4,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534732630,"runtime":156,"slow":false,"start":1642534732474},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/optional.test.ts","testResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"optional encode with value","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"optional encode with value"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optional decode with value","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"optional decode with value"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optional encode without value","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"optional encode without value"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"optional decode without value","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"optional decode without value"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":3,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534732794,"runtime":154,"slow":false,"start":1642534732640},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/context.test.ts","testResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"create context","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"create context"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"grow context","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"grow context"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"context from bytes","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"context from bytes"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":3,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534732974,"runtime":170,"slow":false,"start":1642534732804},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/encodings/utf8js.test.ts","testResults":[{"ancestorTitles":[],"duration":6,"failureDetails":[],"failureMessages":[],"fullName":"utf8js encode complies","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"utf8js encode complies"},{"ancestorTitles":[],"duration":4,"failureDetails":[],"failureMessages":[],"fullName":"utf8js decode complies","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"utf8js decode complies"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"utf8js","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"utf8js"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":4,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534733160,"runtime":167,"slow":false,"start":1642534732993},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/boolean.test.ts","testResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"boolean encode true","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"boolean encode true"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"boolean decode true","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"boolean decode true"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"boolean encode false","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"boolean encode false"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"boolean decode false","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"boolean decode false"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":2,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534733406,"runtime":233,"slow":false,"start":1642534733173},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/encodings/ascii.test.ts","testResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"latin1","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"latin1"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"latin1@node","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"latin1@node"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":2,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534733571,"runtime":155,"slow":false,"start":1642534733416},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/encodings/utf8.test.ts","testResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"utf8","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"utf8"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"utf8@node","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"utf8@node"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":2,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534733749,"runtime":166,"slow":false,"start":1642534733583},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/encodings/ucs2.test.ts","testResults":[{"ancestorTitles":[],"duration":8,"failureDetails":[],"failureMessages":[],"fullName":"ucs2","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"ucs2"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"ucs2@node","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"ucs2@node"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":2,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534733911,"runtime":152,"slow":false,"start":1642534733759},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/map.test.ts","testResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"map encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"map encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"map decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"map decode"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":2,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534734063,"runtime":135,"slow":false,"start":1642534733928},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/bytes.test.ts","testResults":[{"ancestorTitles":[],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"bytes encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bytes encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"bytes decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"bytes decode"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":2,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534734219,"runtime":140,"slow":false,"start":1642534734079},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/string.test.ts","testResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"string encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"string encode"},{"ancestorTitles":[],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"string decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"string decode"}],"failureMessage":null},{"leaks":false,"numFailingTests":0,"numPassingTests":2,"numPendingTests":0,"numTodoTests":0,"openHandles":[],"perfStats":{"end":1642534734373,"runtime":140,"slow":false,"start":1642534734233},"skipped":false,"snapshot":{"added":0,"fileDeleted":false,"matched":0,"unchecked":0,"uncheckedKeys":[],"unmatched":0,"updated":0},"testFilePath":"/home/runner/work/sirdez/sirdez/test/serdes/array.test.ts","testResults":[{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"array encode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"array encode"},{"ancestorTitles":[],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"array decode","invocations":1,"location":null,"numPassingAsserts":0,"status":"passed","title":"array decode"}],"failureMessage":null}],"wasInterrupted":false,"coverageMap":{"/home/runner/work/sirdez/sirdez/src/index.ts":{"path":"/home/runner/work/sirdez/sirdez/src/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":22}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":14,"4":14,"5":14},"f":{},"b":{}},"/home/runner/work/sirdez/sirdez/src/context.ts":{"path":"/home/runner/work/sirdez/sirdez/src/context.ts","statementMap":{"0":{"start":{"line":4,"column":17},"end":{"line":4,"column":38}},"1":{"start":{"line":5,"column":2},"end":{"line":9,"column":4}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":16}},"3":{"start":{"line":13,"column":2},"end":{"line":13,"column":51}},"4":{"start":{"line":14,"column":2},"end":{"line":14,"column":44}},"5":{"start":{"line":12,"column":0},"end":{"line":12,"column":16}},"6":{"start":{"line":23,"column":2},"end":{"line":33,"column":null}},"7":{"start":{"line":24,"column":18},"end":{"line":24,"column":38}},"8":{"start":{"line":25,"column":4},"end":{"line":25,"column":14}},"9":{"start":{"line":26,"column":4},"end":{"line":31,"column":null}},"10":{"start":{"line":27,"column":6},"end":{"line":27,"column":21}},"11":{"start":{"line":28,"column":6},"end":{"line":28,"column":42}},"12":{"start":{"line":28,"column":25},"end":{"line":28,"column":42}},"13":{"start":{"line":30,"column":6},"end":{"line":30,"column":37}},"14":{"start":{"line":30,"column":25},"end":{"line":30,"column":37}},"15":{"start":{"line":32,"column":4},"end":{"line":32,"column":21}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":16}},"17":{"start":{"line":41,"column":21},"end":{"line":41,"column":26}},"18":{"start":{"line":42,"column":2},"end":{"line":48,"column":null}},"19":{"start":{"line":43,"column":4},"end":{"line":43,"column":25}},"20":{"start":{"line":44,"column":4},"end":{"line":44,"column":14}},"21":{"start":{"line":45,"column":4},"end":{"line":45,"column":20}},"22":{"start":{"line":47,"column":4},"end":{"line":47,"column":40}},"23":{"start":{"line":36,"column":0},"end":{"line":36,"column":16}},"24":{"start":{"line":52,"column":2},"end":{"line":60,"column":4}},"25":{"start":{"line":51,"column":0},"end":{"line":51,"column":16}}},"fnMap":{"0":{"name":"createContext","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":29}},"loc":{"start":{"line":3,"column":41},"end":{"line":10,"column":1}}},"1":{"name":"growContext","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":27}},"loc":{"start":{"line":12,"column":40},"end":{"line":15,"column":1}}},"2":{"name":"contextSer","decl":{"start":{"line":17,"column":16},"end":{"line":17,"column":26}},"loc":{"start":{"line":20,"column":9},"end":{"line":34,"column":1}}},"3":{"name":"contextDes","decl":{"start":{"line":36,"column":16},"end":{"line":36,"column":26}},"loc":{"start":{"line":39,"column":19},"end":{"line":49,"column":1}}},"4":{"name":"contextFromBytes","decl":{"start":{"line":51,"column":16},"end":{"line":51,"column":32}},"loc":{"start":{"line":51,"column":50},"end":{"line":61,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":30},"end":{"line":3,"column":41}},"type":"default-arg","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":41}}]},"1":{"loc":{"start":{"line":28,"column":6},"end":{"line":28,"column":42}},"type":"if","locations":[{"start":{"line":28,"column":6},"end":{"line":28,"column":42}}]},"2":{"loc":{"start":{"line":30,"column":6},"end":{"line":30,"column":37}},"type":"if","locations":[{"start":{"line":30,"column":6},"end":{"line":30,"column":37}}]},"3":{"loc":{"start":{"line":42,"column":2},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":42,"column":2},"end":{"line":48,"column":null}},{"start":{"line":46,"column":9},"end":{"line":48,"column":null}}]}},"s":{"0":18,"1":18,"2":14,"3":6,"4":6,"5":14,"6":4,"7":9,"8":9,"9":9,"10":9,"11":3,"12":3,"13":6,"14":1,"15":5,"16":14,"17":3,"18":3,"19":1,"20":1,"21":1,"22":2,"23":14,"24":3,"25":14},"f":{"0":18,"1":6,"2":4,"3":3,"4":3},"b":{"0":[13],"1":[3],"2":[1],"3":[1,2]}},"/home/runner/work/sirdez/sirdez/src/define.ts":{"path":"/home/runner/work/sirdez/sirdez/src/define.ts","statementMap":{"0":{"start":{"line":4,"column":2},"end":{"line":4,"column":22}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":16}}},"fnMap":{"0":{"name":"define","decl":{"start":{"line":3,"column":16},"end":{"line":3,"column":22}},"loc":{"start":{"line":3,"column":50},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":208,"1":14},"f":{"0":208},"b":{}},"/home/runner/work/sirdez/sirdez/src/encodings/index.ts":{"path":"/home/runner/work/sirdez/sirdez/src/encodings/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":23}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":23}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":14},"f":{},"b":{}},"/home/runner/work/sirdez/sirdez/src/encodings/latin1.ts":{"path":"/home/runner/work/sirdez/sirdez/src/encodings/latin1.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":17,"column":2}},"1":{"start":{"line":5,"column":23},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"3":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"4":{"start":{"line":7,"column":6},"end":{"line":7,"column":53}},"5":{"start":{"line":11,"column":28},"end":{"line":11,"column":43}},"6":{"start":{"line":12,"column":4},"end":{"line":14,"column":null}},"7":{"start":{"line":12,"column":17},"end":{"line":12,"column":18}},"8":{"start":{"line":13,"column":6},"end":{"line":13,"column":44}},"9":{"start":{"line":15,"column":4},"end":{"line":15,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":8}},"loc":{"start":{"line":4,"column":18},"end":{"line":9,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":8}},"loc":{"start":{"line":10,"column":18},"end":{"line":16,"column":3}}}},"branchMap":{},"s":{"0":14,"1":1,"2":1,"3":1,"4":61,"5":1,"6":1,"7":1,"8":61,"9":1},"f":{"0":1,"1":1},"b":{}},"/home/runner/work/sirdez/sirdez/src/encodings/ucs2.ts":{"path":"/home/runner/work/sirdez/sirdez/src/encodings/ucs2.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":20,"column":2}},"1":{"start":{"line":5,"column":23},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":4},"end":{"line":9,"column":null}},"3":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"4":{"start":{"line":7,"column":6},"end":{"line":7,"column":52}},"5":{"start":{"line":8,"column":6},"end":{"line":8,"column":17}},"6":{"start":{"line":12,"column":19},"end":{"line":12,"column":27}},"7":{"start":{"line":13,"column":28},"end":{"line":13,"column":45}},"8":{"start":{"line":14,"column":4},"end":{"line":17,"column":null}},"9":{"start":{"line":14,"column":17},"end":{"line":14,"column":18}},"10":{"start":{"line":15,"column":6},"end":{"line":15,"column":43}},"11":{"start":{"line":16,"column":6},"end":{"line":16,"column":17}},"12":{"start":{"line":18,"column":4},"end":{"line":18,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":8}},"loc":{"start":{"line":4,"column":18},"end":{"line":10,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":8}},"loc":{"start":{"line":11,"column":18},"end":{"line":19,"column":3}}}},"branchMap":{},"s":{"0":14,"1":1,"2":1,"3":1,"4":7451,"5":7451,"6":1,"7":1,"8":1,"9":1,"10":7451,"11":7451,"12":1},"f":{"0":1,"1":1},"b":{}},"/home/runner/work/sirdez/sirdez/src/encodings/utf8.ts":{"path":"/home/runner/work/sirdez/sirdez/src/encodings/utf8.ts","statementMap":{"0":{"start":{"line":3,"column":30},"end":{"line":3,"column":47}},"1":{"start":{"line":4,"column":30},"end":{"line":4,"column":47}},"2":{"start":{"line":6,"column":13},"end":{"line":13,"column":2}},"3":{"start":{"line":8,"column":4},"end":{"line":9,"column":25}},"4":{"start":{"line":12,"column":4},"end":{"line":12,"column":62}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":8}},"loc":{"start":{"line":7,"column":18},"end":{"line":10,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":10},"end":{"line":11,"column":11}},"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":62}}}},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":10,"4":10},"f":{"0":10,"1":10},"b":{}},"/home/runner/work/sirdez/sirdez/src/encodings/utf8js.ts":{"path":"/home/runner/work/sirdez/sirdez/src/encodings/utf8js.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":82,"column":2}},"1":{"start":{"line":5,"column":23},"end":{"line":5,"column":27}},"2":{"start":{"line":6,"column":4},"end":{"line":38,"column":null}},"3":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"4":{"start":{"line":7,"column":19},"end":{"line":7,"column":47}},"5":{"start":{"line":8,"column":6},"end":{"line":37,"column":null}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":39}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":16}},"8":{"start":{"line":12,"column":13},"end":{"line":37,"column":null}},"9":{"start":{"line":15,"column":18},"end":{"line":15,"column":37}},"10":{"start":{"line":16,"column":18},"end":{"line":16,"column":29}},"11":{"start":{"line":17,"column":8},"end":{"line":17,"column":50}},"12":{"start":{"line":18,"column":8},"end":{"line":18,"column":19}},"13":{"start":{"line":19,"column":13},"end":{"line":37,"column":null}},"14":{"start":{"line":22,"column":18},"end":{"line":22,"column":39}},"15":{"start":{"line":23,"column":18},"end":{"line":23,"column":38}},"16":{"start":{"line":24,"column":18},"end":{"line":24,"column":36}},"17":{"start":{"line":25,"column":8},"end":{"line":25,"column":58}},"18":{"start":{"line":26,"column":8},"end":{"line":26,"column":19}},"19":{"start":{"line":28,"column":21},"end":{"line":28,"column":52}},"20":{"start":{"line":31,"column":18},"end":{"line":31,"column":40}},"21":{"start":{"line":32,"column":18},"end":{"line":32,"column":39}},"22":{"start":{"line":33,"column":18},"end":{"line":33,"column":37}},"23":{"start":{"line":34,"column":18},"end":{"line":34,"column":29}},"24":{"start":{"line":35,"column":8},"end":{"line":35,"column":62}},"25":{"start":{"line":36,"column":8},"end":{"line":36,"column":19}},"26":{"start":{"line":41,"column":28},"end":{"line":41,"column":30}},"27":{"start":{"line":42,"column":16},"end":{"line":42,"column":28}},"28":{"start":{"line":43,"column":4},"end":{"line":79,"column":null}},"29":{"start":{"line":44,"column":16},"end":{"line":44,"column":40}},"30":{"start":{"line":45,"column":6},"end":{"line":78,"column":null}},"31":{"start":{"line":47,"column":8},"end":{"line":47,"column":22}},"32":{"start":{"line":48,"column":8},"end":{"line":48,"column":16}},"33":{"start":{"line":49,"column":13},"end":{"line":78,"column":null}},"34":{"start":{"line":53,"column":18},"end":{"line":53,"column":46}},"35":{"start":{"line":54,"column":8},"end":{"line":54,"column":19}},"36":{"start":{"line":55,"column":8},"end":{"line":55,"column":51}},"37":{"start":{"line":56,"column":13},"end":{"line":78,"column":null}},"38":{"start":{"line":61,"column":18},"end":{"line":61,"column":46}},"39":{"start":{"line":62,"column":18},"end":{"line":62,"column":46}},"40":{"start":{"line":63,"column":8},"end":{"line":63,"column":19}},"41":{"start":{"line":64,"column":8},"end":{"line":66,"column":10}},"42":{"start":{"line":71,"column":18},"end":{"line":71,"column":43}},"43":{"start":{"line":72,"column":18},"end":{"line":72,"column":33}},"44":{"start":{"line":73,"column":18},"end":{"line":73,"column":37}},"45":{"start":{"line":74,"column":18},"end":{"line":74,"column":35}},"46":{"start":{"line":75,"column":18},"end":{"line":75,"column":26}},"47":{"start":{"line":76,"column":8},"end":{"line":76,"column":34}},"48":{"start":{"line":77,"column":8},"end":{"line":77,"column":19}},"49":{"start":{"line":80,"column":4},"end":{"line":80,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":8}},"loc":{"start":{"line":4,"column":18},"end":{"line":39,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":40,"column":2},"end":{"line":40,"column":8}},"loc":{"start":{"line":40,"column":18},"end":{"line":81,"column":3}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":6},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":6},"end":{"line":37,"column":null}},{"start":{"line":12,"column":13},"end":{"line":37,"column":null}}]},"1":{"loc":{"start":{"line":12,"column":13},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":12,"column":13},"end":{"line":37,"column":null}},{"start":{"line":19,"column":13},"end":{"line":37,"column":null}}]},"2":{"loc":{"start":{"line":19,"column":13},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":13},"end":{"line":37,"column":null}},{"start":{"line":27,"column":13},"end":{"line":37,"column":null}}]},"3":{"loc":{"start":{"line":19,"column":17},"end":{"line":19,"column":48}},"type":"binary-expr","locations":[{"start":{"line":19,"column":17},"end":{"line":19,"column":30}},{"start":{"line":19,"column":34},"end":{"line":19,"column":48}}]},"4":{"loc":{"start":{"line":45,"column":6},"end":{"line":78,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":6},"end":{"line":78,"column":null}},{"start":{"line":49,"column":13},"end":{"line":78,"column":null}}]},"5":{"loc":{"start":{"line":49,"column":13},"end":{"line":78,"column":null}},"type":"if","locations":[{"start":{"line":49,"column":13},"end":{"line":78,"column":null}},{"start":{"line":56,"column":13},"end":{"line":78,"column":null}}]},"6":{"loc":{"start":{"line":56,"column":13},"end":{"line":78,"column":null}},"type":"if","locations":[{"start":{"line":56,"column":13},"end":{"line":78,"column":null}},{"start":{"line":67,"column":13},"end":{"line":78,"column":null}}]}},"s":{"0":14,"1":34084,"2":34083,"3":34083,"4":259229,"5":259229,"6":239091,"7":239087,"8":20138,"9":2731,"10":2731,"11":2731,"12":2731,"13":17407,"14":14420,"15":14420,"16":14420,"17":14420,"18":14420,"19":2987,"20":2987,"21":2987,"22":2987,"23":2987,"24":2987,"25":2986,"26":20598,"27":20598,"28":20598,"29":159896,"30":159896,"31":146176,"32":146176,"33":13720,"34":2090,"35":2090,"36":2090,"37":11630,"38":9812,"39":9812,"40":9812,"41":9812,"42":1818,"43":1818,"44":1818,"45":1818,"46":1818,"47":1818,"48":1818,"49":20598},"f":{"0":34084,"1":20598},"b":{"0":[239091,20138],"1":[2731,17407],"2":[14420,2987],"3":[17407,2989],"4":[146176,13720],"5":[2090,11630],"6":[9812,1818]}},"/home/runner/work/sirdez/sirdez/src/serdes/index.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":27}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":22}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":26}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":25}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14,"2":14,"3":14,"4":14,"5":14,"6":14,"7":14},"f":{},"b":{}},"/home/runner/work/sirdez/sirdez/src/serdes/array.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/array.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":35},"end":{"line":20,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":20,"column":null}},"3":{"start":{"line":7,"column":25},"end":{"line":7,"column":29}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":30}},"5":{"start":{"line":9,"column":6},"end":{"line":11,"column":null}},"6":{"start":{"line":9,"column":19},"end":{"line":9,"column":20}},"7":{"start":{"line":10,"column":8},"end":{"line":10,"column":29}},"8":{"start":{"line":14,"column":21},"end":{"line":14,"column":36}},"9":{"start":{"line":15,"column":19},"end":{"line":15,"column":36}},"10":{"start":{"line":16,"column":6},"end":{"line":18,"column":null}},"11":{"start":{"line":16,"column":19},"end":{"line":16,"column":20}},"12":{"start":{"line":17,"column":8},"end":{"line":17,"column":30}},"13":{"start":{"line":19,"column":6},"end":{"line":19,"column":18}},"14":{"start":{"line":4,"column":13},"end":{"line":4,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":35},"end":{"line":4,"column":36}},"loc":{"start":{"line":5,"column":2},"end":{"line":20,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":12,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":12},"end":{"line":20,"column":5}}}},"branchMap":{},"s":{"0":14,"1":14,"2":3,"3":344,"4":344,"5":344,"6":344,"7":33579,"8":205,"9":205,"10":205,"11":205,"12":20304,"13":205,"14":14},"f":{"0":3,"1":344,"2":205},"b":{}},"/home/runner/work/sirdez/sirdez/src/serdes/optional.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/optional.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":41},"end":{"line":14,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":14,"column":null}},"3":{"start":{"line":7,"column":6},"end":{"line":12,"column":null}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":38}},"5":{"start":{"line":10,"column":8},"end":{"line":10,"column":38}},"6":{"start":{"line":11,"column":8},"end":{"line":11,"column":26}},"7":{"start":{"line":14,"column":14},"end":{"line":14,"column":66}},"8":{"start":{"line":4,"column":13},"end":{"line":4,"column":41}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":41},"end":{"line":4,"column":42}},"loc":{"start":{"line":5,"column":2},"end":{"line":14,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":13,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":66}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":6},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":6},"end":{"line":12,"column":null}},{"start":{"line":9,"column":13},"end":{"line":12,"column":null}}]},"1":{"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":66}},"type":"cond-expr","locations":[{"start":{"line":14,"column":43},"end":{"line":14,"column":54}},{"start":{"line":14,"column":57},"end":{"line":14,"column":66}}]}},"s":{"0":14,"1":14,"2":2,"3":336,"4":159,"5":177,"6":177,"7":203,"8":14},"f":{"0":2,"1":336,"2":203},"b":{"0":[159,177],"1":[96,107]}},"/home/runner/work/sirdez/sirdez/src/serdes/map.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/map.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":31},"end":{"line":21,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":21,"column":null}},"3":{"start":{"line":7,"column":25},"end":{"line":7,"column":42}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":30}},"5":{"start":{"line":9,"column":6},"end":{"line":12,"column":null}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":28}},"7":{"start":{"line":11,"column":8},"end":{"line":11,"column":36}},"8":{"start":{"line":15,"column":21},"end":{"line":15,"column":36}},"9":{"start":{"line":16,"column":60},"end":{"line":16,"column":62}},"10":{"start":{"line":17,"column":6},"end":{"line":19,"column":null}},"11":{"start":{"line":17,"column":19},"end":{"line":17,"column":20}},"12":{"start":{"line":18,"column":8},"end":{"line":18,"column":48}},"13":{"start":{"line":20,"column":6},"end":{"line":20,"column":18}},"14":{"start":{"line":4,"column":13},"end":{"line":4,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":31},"end":{"line":4,"column":32}},"loc":{"start":{"line":5,"column":2},"end":{"line":21,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":13,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":12},"end":{"line":21,"column":5}}}},"branchMap":{},"s":{"0":14,"1":14,"2":1,"3":1,"4":1,"5":1,"6":2,"7":2,"8":1,"9":1,"10":1,"11":1,"12":2,"13":1,"14":14},"f":{"0":1,"1":1,"2":1},"b":{}},"/home/runner/work/sirdez/sirdez/src/serdes/string.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/string.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":37},"end":{"line":17,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":17,"column":null}},"3":{"start":{"line":7,"column":19},"end":{"line":7,"column":24}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":25}},"5":{"start":{"line":9,"column":20},"end":{"line":9,"column":25}},"6":{"start":{"line":10,"column":6},"end":{"line":10,"column":33}},"7":{"start":{"line":11,"column":18},"end":{"line":11,"column":23}},"8":{"start":{"line":12,"column":19},"end":{"line":12,"column":30}},"9":{"start":{"line":13,"column":6},"end":{"line":13,"column":19}},"10":{"start":{"line":14,"column":6},"end":{"line":14,"column":28}},"11":{"start":{"line":15,"column":6},"end":{"line":15,"column":18}},"12":{"start":{"line":17,"column":13},"end":{"line":17,"column":50}},"13":{"start":{"line":4,"column":13},"end":{"line":4,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":37},"end":{"line":4,"column":38}},"loc":{"start":{"line":5,"column":2},"end":{"line":17,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":16,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":50}}}},"branchMap":{},"s":{"0":14,"1":14,"2":10,"3":34090,"4":34090,"5":34090,"6":34090,"7":34084,"8":34084,"9":34084,"10":34084,"11":34084,"12":20604,"13":14},"f":{"0":10,"1":34090,"2":20604},"b":{}},"/home/runner/work/sirdez/sirdez/src/serdes/bytes.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/bytes.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":35},"end":{"line":15,"column":null}},"2":{"start":{"line":5,"column":2},"end":{"line":15,"column":null}},"3":{"start":{"line":7,"column":29},"end":{"line":7,"column":33}},"4":{"start":{"line":8,"column":6},"end":{"line":8,"column":34}},"5":{"start":{"line":9,"column":6},"end":{"line":9,"column":33}},"6":{"start":{"line":10,"column":6},"end":{"line":10,"column":26}},"7":{"start":{"line":13,"column":25},"end":{"line":13,"column":40}},"8":{"start":{"line":14,"column":6},"end":{"line":14,"column":62}},"9":{"start":{"line":4,"column":13},"end":{"line":4,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":35},"end":{"line":4,"column":36}},"loc":{"start":{"line":5,"column":2},"end":{"line":15,"column":null}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":11,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":12},"end":{"line":15,"column":5}}}},"branchMap":{},"s":{"0":14,"1":14,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":14},"f":{"0":1,"1":1,"2":1},"b":{}},"/home/runner/work/sirdez/sirdez/src/serdes/boolean.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/boolean.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":13},"end":{"line":7,"column":2}},"2":{"start":{"line":5,"column":17},"end":{"line":5,"column":55}},"3":{"start":{"line":6,"column":11},"end":{"line":6,"column":39}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":5,"column":17},"end":{"line":5,"column":55}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":39}}}},"branchMap":{},"s":{"0":14,"1":14,"2":2,"3":2},"f":{"0":2,"1":2},"b":{}},"/home/runner/work/sirdez/sirdez/src/serdes/struct.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/struct.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":57}},"1":{"start":{"line":3,"column":15},"end":{"line":4,"column":69}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":69}},"3":{"start":{"line":6,"column":37},"end":{"line":28,"column":1}},"4":{"start":{"line":7,"column":29},"end":{"line":7,"column":52}},"5":{"start":{"line":8,"column":32},"end":{"line":8,"column":64}},"6":{"start":{"line":8,"column":61},"end":{"line":8,"column":63}},"7":{"start":{"line":9,"column":31},"end":{"line":9,"column":56}},"8":{"start":{"line":10,"column":2},"end":{"line":27,"column":4}},"9":{"start":{"line":12,"column":27},"end":{"line":12,"column":34}},"10":{"start":{"line":13,"column":27},"end":{"line":13,"column":34}},"11":{"start":{"line":14,"column":27},"end":{"line":14,"column":34}},"12":{"start":{"line":16,"column":18},"end":{"line":16,"column":50}},"13":{"start":{"line":20,"column":18},"end":{"line":20,"column":50}},"14":{"start":{"line":25,"column":42},"end":{"line":25,"column":45}},"15":{"start":{"line":26,"column":42},"end":{"line":26,"column":45}},"16":{"start":{"line":6,"column":13},"end":{"line":6,"column":37}},"17":{"start":{"line":30,"column":35},"end":{"line":31,"column":20}},"18":{"start":{"line":31,"column":2},"end":{"line":31,"column":20}},"19":{"start":{"line":30,"column":13},"end":{"line":30,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":15},"end":{"line":3,"column":16}},"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":69}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":37},"end":{"line":6,"column":38}},"loc":{"start":{"line":6,"column":52},"end":{"line":28,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":8,"column":54},"end":{"line":8,"column":55}},"loc":{"start":{"line":8,"column":61},"end":{"line":8,"column":63}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":20},"end":{"line":12,"column":21}},"loc":{"start":{"line":12,"column":27},"end":{"line":12,"column":34}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":20},"end":{"line":13,"column":21}},"loc":{"start":{"line":13,"column":27},"end":{"line":13,"column":34}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":20},"end":{"line":14,"column":21}},"loc":{"start":{"line":14,"column":27},"end":{"line":14,"column":34}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":16,"column":11},"end":{"line":16,"column":12}},"loc":{"start":{"line":16,"column":18},"end":{"line":16,"column":50}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":20,"column":11},"end":{"line":20,"column":12}},"loc":{"start":{"line":20,"column":18},"end":{"line":20,"column":50}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":25,"column":29},"end":{"line":25,"column":30}},"loc":{"start":{"line":25,"column":42},"end":{"line":25,"column":45}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":26,"column":29},"end":{"line":26,"column":30}},"loc":{"start":{"line":26,"column":42},"end":{"line":26,"column":45}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":30,"column":35},"end":{"line":30,"column":36}},"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":20}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":16},"end":{"line":4,"column":69}},"type":"cond-expr","locations":[{"start":{"line":4,"column":44},"end":{"line":4,"column":63}},{"start":{"line":4,"column":66},"end":{"line":4,"column":69}}]},"1":{"loc":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"type":"cond-expr","locations":[{"start":{"line":18,"column":36},"end":{"line":18,"column":40}},{"start":{"line":18,"column":43},"end":{"line":18,"column":null}}]}},"s":{"0":14,"1":14,"2":18,"3":14,"4":3,"5":3,"6":9,"7":3,"8":3,"9":9,"10":9,"11":9,"12":9,"13":9,"14":9,"15":9,"16":14,"17":14,"18":1,"19":14},"f":{"0":18,"1":3,"2":9,"3":9,"4":9,"5":9,"6":9,"7":9,"8":9,"9":9,"10":1},"b":{"0":[14,4],"1":[1,2]}},"/home/runner/work/sirdez/sirdez/src/serdes/number.ts":{"path":"/home/runner/work/sirdez/sirdez/src/serdes/number.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":37},"end":{"line":14,"column":1}},"2":{"start":{"line":6,"column":18},"end":{"line":8,"column":11}},"3":{"start":{"line":9,"column":15},"end":{"line":9,"column":26}},"4":{"start":{"line":10,"column":2},"end":{"line":13,"column":12}},"5":{"start":{"line":4,"column":13},"end":{"line":4,"column":37}},"6":{"start":{"line":16,"column":13},"end":{"line":16,"column":39}},"7":{"start":{"line":17,"column":13},"end":{"line":17,"column":41}},"8":{"start":{"line":18,"column":13},"end":{"line":18,"column":41}},"9":{"start":{"line":19,"column":13},"end":{"line":19,"column":37}},"10":{"start":{"line":20,"column":13},"end":{"line":20,"column":39}},"11":{"start":{"line":21,"column":13},"end":{"line":21,"column":39}},"12":{"start":{"line":22,"column":13},"end":{"line":22,"column":47}},"13":{"start":{"line":23,"column":13},"end":{"line":23,"column":45}},"14":{"start":{"line":24,"column":13},"end":{"line":24,"column":43}},"15":{"start":{"line":25,"column":13},"end":{"line":25,"column":43}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":37},"end":{"line":4,"column":38}},"loc":{"start":{"line":4,"column":55},"end":{"line":14,"column":1}}}},"branchMap":{},"s":{"0":14,"1":14,"2":152,"3":152,"4":152,"5":14,"6":14,"7":14,"8":14,"9":14,"10":14,"11":14,"12":14,"13":14,"14":14,"15":14},"f":{"0":152},"b":{}},"/home/runner/work/sirdez/sirdez/src/types/index.ts":{"path":"/home/runner/work/sirdez/sirdez/src/types/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":14,"1":14},"f":{},"b":{}},"/home/runner/work/sirdez/sirdez/src/use.ts":{"path":"/home/runner/work/sirdez/sirdez/src/use.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":null}},"1":{"start":{"line":10,"column":14},"end":{"line":10,"column":29}},"2":{"start":{"line":11,"column":2},"end":{"line":18,"column":4}},"3":{"start":{"line":14,"column":23},"end":{"line":14,"column":65}},"4":{"start":{"line":16,"column":6},"end":{"line":16,"column":51}},"5":{"start":{"line":17,"column":26},"end":{"line":17,"column":53}},"6":{"start":{"line":9,"column":0},"end":{"line":9,"column":16}}},"fnMap":{"0":{"name":"use","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":19}},"loc":{"start":{"line":9,"column":46},"end":{"line":19,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":13},"end":{"line":14,"column":14}},"loc":{"start":{"line":14,"column":23},"end":{"line":14,"column":65}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":15,"column":19},"end":{"line":15,"column":20}},"loc":{"start":{"line":16,"column":6},"end":{"line":16,"column":51}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":15},"end":{"line":17,"column":16}},"loc":{"start":{"line":17,"column":26},"end":{"line":17,"column":53}}}},"branchMap":{},"s":{"0":14,"1":1,"2":1,"3":3,"4":1,"5":3,"6":14},"f":{"0":1,"1":3,"2":1,"3":3},"b":{}},"/home/runner/work/sirdez/sirdez/src/noeval_serdes/index.ts":{"path":"/home/runner/work/sirdez/sirdez/src/noeval_serdes/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":25}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":2,"1":2},"f":{},"b":{}},"/home/runner/work/sirdez/sirdez/src/noeval_serdes/number.ts":{"path":"/home/runner/work/sirdez/sirdez/src/noeval_serdes/number.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":4,"column":13},"end":{"line":7,"column":2}},"2":{"start":{"line":5,"column":17},"end":{"line":5,"column":49}},"3":{"start":{"line":6,"column":11},"end":{"line":6,"column":37}},"4":{"start":{"line":9,"column":13},"end":{"line":19,"column":2}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"6":{"start":{"line":12,"column":4},"end":{"line":12,"column":15}},"7":{"start":{"line":15,"column":17},"end":{"line":15,"column":42}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":15}},"9":{"start":{"line":17,"column":4},"end":{"line":17,"column":16}},"10":{"start":{"line":21,"column":13},"end":{"line":31,"column":2}},"11":{"start":{"line":23,"column":4},"end":{"line":23,"column":36}},"12":{"start":{"line":24,"column":4},"end":{"line":24,"column":15}},"13":{"start":{"line":27,"column":17},"end":{"line":27,"column":42}},"14":{"start":{"line":28,"column":4},"end":{"line":28,"column":15}},"15":{"start":{"line":29,"column":4},"end":{"line":29,"column":16}},"16":{"start":{"line":33,"column":13},"end":{"line":43,"column":2}},"17":{"start":{"line":35,"column":4},"end":{"line":35,"column":39}},"18":{"start":{"line":36,"column":4},"end":{"line":36,"column":15}},"19":{"start":{"line":39,"column":17},"end":{"line":39,"column":45}},"20":{"start":{"line":40,"column":4},"end":{"line":40,"column":15}},"21":{"start":{"line":41,"column":4},"end":{"line":41,"column":16}},"22":{"start":{"line":45,"column":13},"end":{"line":48,"column":2}},"23":{"start":{"line":46,"column":17},"end":{"line":46,"column":48}},"24":{"start":{"line":47,"column":11},"end":{"line":47,"column":36}},"25":{"start":{"line":50,"column":13},"end":{"line":60,"column":2}},"26":{"start":{"line":52,"column":4},"end":{"line":52,"column":35}},"27":{"start":{"line":53,"column":4},"end":{"line":53,"column":15}},"28":{"start":{"line":56,"column":17},"end":{"line":56,"column":41}},"29":{"start":{"line":57,"column":4},"end":{"line":57,"column":15}},"30":{"start":{"line":58,"column":4},"end":{"line":58,"column":16}},"31":{"start":{"line":62,"column":13},"end":{"line":72,"column":2}},"32":{"start":{"line":64,"column":4},"end":{"line":64,"column":35}},"33":{"start":{"line":65,"column":4},"end":{"line":65,"column":15}},"34":{"start":{"line":68,"column":17},"end":{"line":68,"column":41}},"35":{"start":{"line":69,"column":4},"end":{"line":69,"column":15}},"36":{"start":{"line":70,"column":4},"end":{"line":70,"column":16}},"37":{"start":{"line":74,"column":13},"end":{"line":84,"column":2}},"38":{"start":{"line":76,"column":4},"end":{"line":76,"column":38}},"39":{"start":{"line":77,"column":4},"end":{"line":77,"column":15}},"40":{"start":{"line":80,"column":17},"end":{"line":80,"column":44}},"41":{"start":{"line":81,"column":4},"end":{"line":81,"column":15}},"42":{"start":{"line":82,"column":4},"end":{"line":82,"column":16}},"43":{"start":{"line":86,"column":13},"end":{"line":96,"column":2}},"44":{"start":{"line":88,"column":4},"end":{"line":88,"column":37}},"45":{"start":{"line":89,"column":4},"end":{"line":89,"column":15}},"46":{"start":{"line":92,"column":17},"end":{"line":92,"column":43}},"47":{"start":{"line":93,"column":4},"end":{"line":93,"column":15}},"48":{"start":{"line":94,"column":4},"end":{"line":94,"column":16}},"49":{"start":{"line":98,"column":13},"end":{"line":108,"column":2}},"50":{"start":{"line":100,"column":4},"end":{"line":100,"column":37}},"51":{"start":{"line":101,"column":4},"end":{"line":101,"column":15}},"52":{"start":{"line":104,"column":17},"end":{"line":104,"column":43}},"53":{"start":{"line":105,"column":4},"end":{"line":105,"column":15}},"54":{"start":{"line":106,"column":4},"end":{"line":106,"column":16}},"55":{"start":{"line":110,"column":17},"end":{"line":121,"column":11}},"56":{"start":{"line":123,"column":37},"end":{"line":125,"column":63}},"57":{"start":{"line":125,"column":2},"end":{"line":125,"column":63}},"58":{"start":{"line":123,"column":13},"end":{"line":123,"column":37}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":5,"column":17},"end":{"line":5,"column":49}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":11},"end":{"line":6,"column":37}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":16},"end":{"line":13,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":14,"column":10},"end":{"line":18,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":22,"column":2},"end":{"line":22,"column":3}},"loc":{"start":{"line":22,"column":16},"end":{"line":25,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":10},"end":{"line":30,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":34,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":34,"column":16},"end":{"line":37,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":38,"column":2},"end":{"line":38,"column":3}},"loc":{"start":{"line":38,"column":10},"end":{"line":42,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":46,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":46,"column":17},"end":{"line":46,"column":48}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":47,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":47,"column":11},"end":{"line":47,"column":36}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":51,"column":2},"end":{"line":51,"column":3}},"loc":{"start":{"line":51,"column":16},"end":{"line":54,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":55,"column":2},"end":{"line":55,"column":3}},"loc":{"start":{"line":55,"column":10},"end":{"line":59,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":63,"column":16},"end":{"line":66,"column":3}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":67,"column":2},"end":{"line":67,"column":3}},"loc":{"start":{"line":67,"column":10},"end":{"line":71,"column":3}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":75,"column":16},"end":{"line":78,"column":3}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":79,"column":10},"end":{"line":83,"column":3}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":87,"column":2},"end":{"line":87,"column":3}},"loc":{"start":{"line":87,"column":16},"end":{"line":90,"column":3}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":91,"column":2},"end":{"line":91,"column":3}},"loc":{"start":{"line":91,"column":10},"end":{"line":95,"column":3}}},"18":{"name":"(anonymous_18)","decl":{"start":{"line":99,"column":2},"end":{"line":99,"column":3}},"loc":{"start":{"line":99,"column":16},"end":{"line":102,"column":3}}},"19":{"name":"(anonymous_19)","decl":{"start":{"line":103,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":103,"column":10},"end":{"line":107,"column":3}}},"20":{"name":"(anonymous_20)","decl":{"start":{"line":123,"column":37},"end":{"line":123,"column":38}},"loc":{"start":{"line":125,"column":2},"end":{"line":125,"column":63}}}},"branchMap":{},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":2,"29":2,"30":2,"31":2,"32":2,"33":2,"34":2,"35":2,"36":2,"37":2,"38":2,"39":2,"40":2,"41":2,"42":2,"43":2,"44":1,"45":1,"46":1,"47":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"54":1,"55":2,"56":2,"57":12,"58":2},"f":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":1,"17":1,"18":1,"19":1,"20":12},"b":{}},"/home/runner/work/sirdez/sirdez/src/noeval_serdes/struct.ts":{"path":"/home/runner/work/sirdez/sirdez/src/noeval_serdes/struct.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":57}},"1":{"start":{"line":3,"column":37},"end":{"line":20,"column":1}},"2":{"start":{"line":4,"column":14},"end":{"line":4,"column":65}},"3":{"start":{"line":4,"column":50},"end":{"line":4,"column":52}},"4":{"start":{"line":4,"column":62},"end":{"line":4,"column":64}},"5":{"start":{"line":5,"column":2},"end":{"line":19,"column":4}},"6":{"start":{"line":7,"column":6},"end":{"line":9,"column":null}},"7":{"start":{"line":8,"column":8},"end":{"line":8,"column":44}},"8":{"start":{"line":13,"column":19},"end":{"line":13,"column":31}},"9":{"start":{"line":14,"column":6},"end":{"line":16,"column":null}},"10":{"start":{"line":15,"column":8},"end":{"line":15,"column":45}},"11":{"start":{"line":17,"column":6},"end":{"line":17,"column":18}},"12":{"start":{"line":3,"column":13},"end":{"line":3,"column":37}},"13":{"start":{"line":22,"column":35},"end":{"line":23,"column":20}},"14":{"start":{"line":23,"column":2},"end":{"line":23,"column":20}},"15":{"start":{"line":22,"column":13},"end":{"line":22,"column":35}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":37},"end":{"line":3,"column":38}},"loc":{"start":{"line":3,"column":52},"end":{"line":20,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":44},"end":{"line":4,"column":47}},"loc":{"start":{"line":4,"column":50},"end":{"line":4,"column":52}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":55},"end":{"line":4,"column":58}},"loc":{"start":{"line":4,"column":62},"end":{"line":4,"column":64}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":18},"end":{"line":10,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":12},"end":{"line":18,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":22,"column":35},"end":{"line":22,"column":36}},"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":20}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":14},"end":{"line":4,"column":65}},"type":"cond-expr","locations":[{"start":{"line":4,"column":44},"end":{"line":4,"column":52}},{"start":{"line":4,"column":55},"end":{"line":4,"column":65}}]}},"s":{"0":2,"1":2,"2":2,"3":1,"4":1,"5":2,"6":2,"7":4,"8":2,"9":2,"10":4,"11":2,"12":2,"13":2,"14":1,"15":2},"f":{"0":2,"1":1,"2":1,"3":2,"4":2,"5":1},"b":{"0":[1,1]}},"/home/runner/work/sirdez/sirdez/src/node.ts":{"path":"/home/runner/work/sirdez/sirdez/src/node.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":25}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":22}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":3,"2":3,"3":3,"4":3,"5":3},"f":{},"b":{}},"/home/runner/work/sirdez/sirdez/src/node_encodings/utf8.ts":{"path":"/home/runner/work/sirdez/sirdez/src/node_encodings/utf8.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":49}},"1":{"start":{"line":5,"column":13},"end":{"line":11,"column":2}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":52}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":8}},"loc":{"start":{"line":6,"column":18},"end":{"line":8,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":10},"end":{"line":9,"column":11}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1},"f":{"0":1,"1":1},"b":{}},"/home/runner/work/sirdez/sirdez/src/node_encodings/latin1.ts":{"path":"/home/runner/work/sirdez/sirdez/src/node_encodings/latin1.ts","statementMap":{"0":{"start":{"line":3,"column":37},"end":{"line":3,"column":53}},"1":{"start":{"line":5,"column":13},"end":{"line":11,"column":2}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":54}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":55}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":8}},"loc":{"start":{"line":6,"column":18},"end":{"line":8,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":10},"end":{"line":9,"column":11}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":55}}}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1},"f":{"0":1,"1":1},"b":{}},"/home/runner/work/sirdez/sirdez/src/node_encodings/ucs2.ts":{"path":"/home/runner/work/sirdez/sirdez/src/node_encodings/ucs2.ts","statementMap":{"0":{"start":{"line":3,"column":33},"end":{"line":3,"column":49}},"1":{"start":{"line":5,"column":13},"end":{"line":11,"column":2}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":52}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":8}},"loc":{"start":{"line":6,"column":18},"end":{"line":8,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":10},"end":{"line":9,"column":11}},"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":53}}}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1},"f":{"0":1,"1":1},"b":{}}},"config":{"bail":0,"changedFilesWithAncestor":false,"collectCoverage":true,"collectCoverageFrom":[],"coverageDirectory":"../coverage","coverageProvider":"babel","coverageReporters":["text","json-summary","json","lcov"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":1,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/home/runner/work/sirdez/sirdez/node_modules/jest-html-reporters/index.js",{"hideIcon":true,"publicPath":"docs/report","filename":"index.html","pageTitle":"Sir Dez' Report"}]],"rootDir":"/home/runner/work/sirdez/sirdez","runTestsByPath":false,"skipFilter":false,"testFailureExitCode":1,"testPathPattern":"","testResultsProcessor":"/home/runner/work/sirdez/sirdez/scripts/jestJsonReporter.ts","testSequencer":"/home/runner/work/sirdez/sirdez/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"verbose":true,"watch":false,"watchAll":false,"watchman":true},"endTime":1642534734452,"_reporterOptions":{"publicPath":"docs/report","filename":"index.html","expand":false,"pageTitle":"Sir Dez' Report","hideIcon":true,"testCommand":"npx jest","openReport":false,"failureMessageOnly":false,"enableMergeData":false,"dataMergeLevel":1},"attachInfos":{}} \ No newline at end of file diff --git a/docs/report/jest-html-reporters-attach/index/index.js b/docs/report/jest-html-reporters-attach/index/index.js new file mode 100644 index 00000000..5feea82d --- /dev/null +++ b/docs/report/jest-html-reporters-attach/index/index.js @@ -0,0 +1,58 @@ +/*! Copyright Harry All rights reserved. */!function(n){var r={};function a(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.m=n,a.c=r,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)a.d(n,r,function(e){return t[e]}.bind(null,r));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="./jest-html-reporters-attach/index",a(a.s=368)}([function(e,t,n){"use strict";e.exports=n(392)},function(e,t,n){e.exports=n(621)()},function(e,t,n){var r; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var i={}.hasOwnProperty;function l(){for(var e=[],t=0;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,i=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw a}}}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n "),subGroups:!0,tests:c,numFailingTests:c.filter(function(e){return"failed"===e.status}).length,numPassingTests:c.filter(function(e){return"passed"===e.status}).length,numPendingTests:c.filter(function(e){return"pending"===e.status}).length,numTodoTests:c.filter(function(e){return"todo"===e.status}).length};i.push(c)}}catch(e){n.e(e)}finally{n.f()}return i},E=function(e,t){var n=e.numFailingTests,r=e.numPendingTests,a=e.numTodoTests,o="";return e.testExecError||n?o="failed":r?o="pending":a&&(o="todo"),m(o,t)},k="jest_html_reporters_callback__",C={lastPromise:null},S=function(r){var t=C.lastPromise,a=o()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t;case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:return e.abrupt("return",new Promise(function(t,e){var n=document.createElement("script");n.src=r,n.onerror=function(){document.body.removeChild(n),window[k]=null,C.lastPromise===a&&(C.lastPromise=null),e(new Error("'".concat(r,"' jsonp fetch failed")))},window[k]=function(e){document.body.removeChild(n),window[k]=null,C.lastPromise===a&&(C.lastPromise=null),t(e)},document.body.appendChild(n)}));case 8:case"end":return e.stop()}},e,null,[[0,5]])}))();return C.lastPromise=a};(t="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.default:void 0)&&(t.register(m,"getRecordClass","/github/workspace/src/untils/index.js"),t.register(b,"getPercentage","/github/workspace/src/untils/index.js"),t.register(h,"InsuranceNumber","/github/workspace/src/untils/index.js"),t.register(g,"getFormatTime","/github/workspace/src/untils/index.js"),t.register(y,"getFormatData","/github/workspace/src/untils/index.js"),t.register(v,"OFFSETHEIGHT","/github/workspace/src/untils/index.js"),t.register(x,"scrollTo","/github/workspace/src/untils/index.js"),t.register(w,"getExistKeys","/github/workspace/src/untils/index.js"),t.register(_,"formatDate","/github/workspace/src/untils/index.js"),t.register(O,"formatCollapsableData","/github/workspace/src/untils/index.js"),t.register(E,"renderRootRowClass","/github/workspace/src/untils/index.js"),t.register(k,"callback","/github/workspace/src/untils/index.js"),t.register(C,"RUNTIME","/github/workspace/src/untils/index.js"),t.register(S,"fetchWithJsonp","/github/workspace/src/untils/index.js")),(t="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.leaveModule:void 0)&&t(e)}).call(this,M(35)(e))},function(e,t,n){var r=n(17),a=n(398);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);n={insert:"head",singleton:!1},r(a,n);e.exports=a.locals||{}},function(e,t,n){"use strict";var r=n(4),a=n(3);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u=a(n(19)),f=a(n(11)),d=a(n(137)),p=r(n(0)),h=a(n(2)),m=a(n(223)),a=n(435),b=n(154);(0,a.setTwoToneColor)("#1890ff");n=p.forwardRef(function(e,t){var n=e.className,r=e.icon,a=e.spin,o=e.rotate,i=e.tabIndex,l=e.onClick,c=e.twoToneColor,s=(0,d.default)(e,["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"]),e=(0,h.default)("anticon",(0,f.default)({},"anticon-".concat(r.name),Boolean(r.name)),n),n=(0,h.default)({"anticon-spin":!!a||"loading"===r.name}),a=i;void 0===a&&l&&(a=-1);i=o?{msTransform:"rotate(".concat(o,"deg)"),transform:"rotate(".concat(o,"deg)")}:void 0,o=(0,b.normalizeTwoToneColors)(c),c=(0,u.default)(o,2),o=c[0],c=c[1];return p.createElement("span",Object.assign({role:"img","aria-label":r.name},s,{ref:t,tabIndex:a,onClick:l,className:e}),p.createElement(m.default,{className:n,icon:r,primaryColor:o,secondaryColor:c,style:i}))});n.displayName="AntdIcon",n.getTwoToneColor=a.getTwoToneColor,n.setTwoToneColor=a.setTwoToneColor,t.default=n},function(e,t,n){"use strict";var r={};function a(e,t){0}function o(e,t,n){t||r[n]||(e(!1,n),r[n]=!0)}t.a=function(e,t){o(a,e,t)}},function(f,e,d){(function(e){for(var r,a,o,i=d(490),t="undefined"==typeof window?e:window,n=["moz","webkit"],l="AnimationFrame",c=t["request"+l],s=t["cancel"+l]||t["cancelRequest"+l],u=0;!c&&uye&&a?(i=s*s+u*u,l=(o=n-l)*o+(n=r-c)*n,r=Math.sqrt(i),c=Math.sqrt(p),c=(l=a*Math.tan((be-Math.acos((i+p-l)/(2*r*c)))/2))/c,r=l/r,Math.abs(c-1)>ye&&(this._+="L"+(e+c*f)+","+(t+c*d)),this._+="A"+a+","+a+",0,0,"+ +(f*nye||Math.abs(this._y1-s)>ye)&&(this._+="L"+c+","+s),n&&(r<0&&(r=r%ge+ge),ve=a.x),pn(l,"".concat(vn,"-left"),D(e)&&a&&D(a.x)&&e=a.y),pn(l,"".concat(vn,"-top"),D(t)&&a&&D(a.y)&&t>>1;o(e[a],t)<0?n=1+a:r=a}return n},right:function(e,t,n,r){for(null==n&&(n=0),null==r&&(r=e.length);n>>1;0>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Cr(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Cr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=mr.exec(e))?new Pr(t[1],t[2],t[3],1):(t=br.exec(e))?new Pr(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=gr.exec(e))?Cr(t[1],t[2],t[3],t[4]):(t=yr.exec(e))?Cr(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=vr.exec(e))?Nr(t[1],t[2]/100,t[3]/100,1):(t=xr.exec(e))?Nr(t[1],t[2]/100,t[3]/100,t[4]):wr.hasOwnProperty(e)?kr(wr[e]):"transparent"===e?new Pr(NaN,NaN,NaN,0):null}function kr(e){return new Pr(e>>16&255,e>>8&255,255&e,1)}function Cr(e,t,n,r){return r<=0&&(e=t=n=NaN),new Pr(e,t,n,r)}function Sr(e,t,n,r){return 1===arguments.length?((a=e)instanceof pr||(a=Er(a)),a?new Pr((a=a.rgb()).r,a.g,a.b,a.opacity):new Pr):new Pr(e,t,n,null==r?1:r);var a}function Pr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Mr(){return"#"+jr(this.r)+jr(this.g)+jr(this.b)}function Tr(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function jr(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function Nr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||1<=n?e=t=NaN:t<=0&&(e=NaN),new Dr(e,t,n,r)}function Ar(e){if(e instanceof Dr)return new Dr(e.h,e.s,e.l,e.opacity);if(e instanceof pr||(e=Er(e)),!e)return new Dr;if(e instanceof Dr)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),o=Math.max(t,n,r),i=NaN,l=o-a,c=(o+a)/2;return l?(i=t===o?(n-r)/l+6*(nl&&(a=r.slice(l,a),s[c]?s[c]+=a:s[++c]=a),(t=t[0])===(n=n[0])?s[c]?s[c]+=n:s[++c]=n:(s[++c]=null,u.push({i:c,x:qr(t,n)})),l=Yr.lastIndex;return l=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function sa(e){if(!(t=ca.exec(e)))throw new Error("invalid format: "+e);var t;return new ua({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function ua(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}sa.prototype=ua.prototype,ua.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};function fa(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,t=e.slice(0,n);return[1t+1?e.slice(0,t+1)+"."+e.slice(t+1):e+new Array(t-e.length+2).join("0")):e+""}function ha(e){return e}var ma,ba,ga,ya,va={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return 1e21<=Math.abs(e=Math.round(e))?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return pa(100*e,t)},r:pa,s:function(e,t){var n=fa(e,t);if(!n)return e+"";var r=n[0],a=n[1],n=a-(ma=3*Math.max(-8,Math.min(8,Math.floor(a/3))))+1,a=r.length;return n===a?r:at));)o=l[a=(a+1)%l.length];return r.reverse().join(c)}),r=void 0===e.currency?"":e.currency[0]+"",a=void 0===e.currency?"":e.currency[1]+"",_=void 0===e.decimal?".":e.decimal+"",O=void 0===e.numerals?ha:(t=xa.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}),o=void 0===e.percent?"%":e.percent+"",E=void 0===e.minus?"-":e.minus+"",k=void 0===e.nan?"NaN":e.nan+"";function i(e){var c=(e=sa(e)).fill,s=e.align,u=e.sign,t=e.symbol,f=e.zero,d=e.width,p=e.comma,h=e.precision,m=e.trim,b=e.type;"n"===b?(p=!0,b="g"):va[b]||(void 0===h&&(h=12),m=!0,b="g"),(f||"0"===c&&"="===s)&&(f=!0,c="0",s="=");var g="$"===t?r:"#"===t&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",y="$"===t?a:/[%p]/.test(b)?o:"",v=va[b],x=/[defgprs%]/.test(b);function n(e){var t,n,r,a=g,o=y;if("c"===b)o=v(e)+o,e="";else{var i=(e=+e)<0||1/e<0;if(e=isNaN(e)?k:v(Math.abs(e),h),m&&(e=function(e){e:for(var t,n=e.length,r=1,a=-1;r>1)+a+e+o+i.slice(l);break;default:e=i+a+e+o}return O(e)}return h=void 0===h?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),n.toString=function(){return e+""},n}return{format:i,formatPrefix:function(e,t){var n=i(((e=sa(e)).type="f",e)),t=3*Math.max(-8,Math.min(8,Math.floor(da(t)/3))),r=Math.pow(10,-t),a=wa[8+t/3];return function(e){return n(r*e)+a}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),ga=ba.format,ya=ba.formatPrefix;var _a=function(e,t,n,r){var a,o=Qn(e,t,n);switch((r=sa(null==r?",f":r)).type){case"s":var i=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN((a=o,n=i,a=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(da(n)/3)))-da(Math.abs(a)))))||(r.precision=a),ya(r,i);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN((i=o,t=Math.max(Math.abs(e),Math.abs(t)),i=Math.abs(i),t=Math.abs(t)-i,a=Math.max(0,da(t)-da(i))+1))||(r.precision=a-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN((o=o,a=Math.max(0,-da(Math.abs(o)))))||(r.precision=a-2*("%"===r.type))}return ga(r)};function Oa(l){var c=l.domain;return l.ticks=function(e){var t=c();return $n(t[0],t[t.length-1],null==e?10:e)},l.tickFormat=function(e,t){var n=c();return _a(n[0],n[n.length-1],null==e?10:e,t)},l.nice=function(e){null==e&&(e=10);var t,n=c(),r=0,a=n.length-1,o=n[r],i=n[a];return it?r=a:n=a}return t>=e[r]?r:n}}],(t=[{key:"componentWillReceiveProps",value:function(e){var t=this,n=this.props,r=n.data,a=n.width,o=n.x,i=n.travellerWidth,n=n.updateId;(e.data!==r||e.updateId!==n)&&e.data&&e.data.length?this.setState(this.updateScale(e)):e.width===a&&e.x===o&&e.travellerWidth===i||(this.scale.range([e.x,e.x+e.width-e.travellerWidth]),this.scaleValues=this.scale.domain().map(function(e){return t.scale(e)}),this.setState({startX:this.scale(e.startIndex),endX:this.scale(e.endIndex)}))}},{key:"componentWillUnmount",value:function(){this.scale=null,this.scaleValues=null,this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null)}},{key:"getIndex",value:function(e){var t=e.startX,n=e.endX,r=this.props,a=r.gap,e=r.data.length-1,r=Math.min(t,n),n=Math.max(t,n),r=this.constructor.getIndexInRange(this.scaleValues,r),n=this.constructor.getIndexInRange(this.scaleValues,n);return{startIndex:r-r%a,endIndex:n===e?e:n-n%a}}},{key:"getTextOfTick",value:function(e){var t=this.props,n=t.data,r=t.tickFormatter,t=t.dataKey,e=Nl(n[e],t,e);return w()(r)?r(e):e}},{key:"handleSlideDrag",value:function(e){var t=this.state,n=t.slideMoveStartX,r=t.startX,a=t.endX,o=this.props,i=o.x,l=o.width,c=o.travellerWidth,s=o.startIndex,t=o.endIndex,o=o.onChange,n=e.pageX-n;0l?l:a[d];i="M".concat(e,",").concat(t+c*f[0]),0r)&&(t[1]=r),t[0]>r&&(t[0]=r),t[1]=p[0]&&e<=p[1]){a=n[l].index;break}}else{p=Math.min(c,u),u=Math.max(c,u);if((p+s)/2(t[h].coordinate+t[h-1].coordinate)/2&&e<=(t[h].coordinate+t[h+1].coordinate)/2||h===o-1&&e>(t[h].coordinate+t[h-1].coordinate)/2){a=t[h].index;break}}else a=0;return a}(this.calculateTooltipPos(t),a,n,o);if(0<=o&&n){n=n[o]&&n[o].value;return pd({},e,{activeTooltipIndex:o,activeLabel:n,activePayload:this.getTooltipContent(o,n),activeCoordinate:this.getActiveCoordinate(a,o,t)})}return null}},{key:"getTooltipContent",value:function(c,s){var e=this.state,t=e.graphicalItems,u=e.tooltipAxis,f=this.constructor.getDisplayedData(this.props,this.state);return c<0||!t||!t.length||c>=f.length?null:t.reduce(function(e,t){if(t.props.hide)return e;var n=t.props,r=n.dataKey,a=n.name,o=n.unit,i=n.formatter,l=n.data,n=n.tooltipType,l=u.dataKey&&!u.allowDuplicatedCategory?h(l||f,u.dataKey,s):l&&l[c]||f[c];return l?[].concat(fd(e),[pd({},B(t),{dataKey:r,unit:o,formatter:i,name:a||r,color:Dl(t),value:Nl(l,r),type:n,payload:l})]):e},[])}},{key:"getFormatItems",value:function(d,p){var h=this,e=p.graphicalItems,m=p.stackGroups,b=p.offset,g=p.updateId,y=p.dataStartIndex,v=p.dataEndIndex,t=d.barSize,x=d.layout,w=d.barGap,_=d.barCategoryGap,O=d.maxBarSize,n=this.constructor.getAxisNameByLayout(x),E=n.numericAxisName,k=n.cateAxisName,C=this.constructor.hasBar(e),S=C&&function(e){var t=e.barSize,e=e.stackGroups,n=void 0===e?{}:e;if(!n)return{};for(var r={},a=Object.keys(n),o=0,i=a.length;o>0)-d,size:0},o.reduce(function(e,t){var n=[].concat(Pl(e),[{item:t.item,position:{offset:c.offset+c.size+d,size:i?l:t.barSize}}]);return c=n[n.length-1].position,t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){n.push({item:e,position:c})}),n},[])):(r-2*(s=j(n,r,0,!0))-(e-1)*d<=0&&(d=0),1<(u=(r-2*s-(e-1)*d)/e)&&(u>>=0),f=a===+a?Math.min(u,a):u,o.reduce(function(e,t,n){var r=[].concat(Pl(e),[{item:t.item,position:{offset:s+(u+d)*n+(u-f)/2,size:f}}]);return t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:r[r.length-1].position})}),r},[]))}({barGap:w,barCategoryGap:_,bandSize:o,sizeList:S[s],maxBarSize:l}),l=a&&a.type&&a.type.getComposedData;l&&P.push({props:pd({},l(pd({},u,{displayedData:t,props:d,dataKey:i,item:a,bandSize:o,barPosition:s,offset:b,stackedData:c,layout:x,dataStartIndex:y,dataEndIndex:v,onItemMouseLeave:Hl(h.handleItemMouseLeave,null,a.props.onMouseLeave),onItemMouseEnter:Hl(h.handleItemMouseEnter,null,a.props.onMouseEnter)})),(hd(e={key:a.key||"item-".concat(e)},E,u[E]),hd(e,k,u[k]),hd(e,"animationId",g),e)),childIndex:(n=a,e=d.children,r=-1,N.Children.forEach(e,function(e,t){e===n&&(r=t)}),r),item:a})}),P}},{key:"getCursorRectangle",value:function(){var e=this.props.layout,t=this.state,n=t.activeCoordinate,r=t.offset,a=t.tooltipAxisBandSize,t=a/2;return{stroke:"none",fill:"#ccc",x:"horizontal"===e?n.x-t:r.left+.5,y:"horizontal"===e?r.top+.5:n.y-t,width:"horizontal"===e?a:r.width-1,height:"horizontal"===e?r.height-1:a}}},{key:"getCursorPoints",value:function(){var e=this.props.layout,t=this.state,n=t.activeCoordinate,t=t.offset;if("horizontal"===e)s=l=n.x,c=t.top,u=t.top+t.height;else if("vertical"===e)u=c=n.y,l=t.left,s=t.left+t.width;else if(!A()(n.cx)||!A()(n.cy)){if("centric"!==e){var e=n.cx,r=n.cy,a=n.radius,o=n.startAngle,i=n.endAngle;return{points:[ac(e,r,a,o),ac(e,r,a,i)],cx:e,cy:r,radius:a,startAngle:o,endAngle:i}}var r=n.cx,a=n.cy,o=n.innerRadius,i=n.outerRadius,n=n.angle,o=ac(r,a,o,n),n=ac(r,a,i,n),l=o.x,c=o.y,s=n.x,u=n.y}return[{x:l,y:c},{x:s,y:u}]}},{key:"calculateTooltipPos",value:function(e){var t=this.props.layout;return"horizontal"===t?e.x:"vertical"===t?e.y:"centric"===t?e.angle:e.radius}},{key:"inRange",value:function(e,t){var n=this.props.layout;if("horizontal"===n||"vertical"===n){var r=this.state.offset;return e>=r.left&&e<=r.left+r.width&&t>=r.top&&t<=r.top+r.height?{x:e,y:t}:null}n=this.state,r=n.angleAxisMap,n=n.radiusAxisMap;if(r&&n){r=c(r);return lc({x:e,y:t},r)}return null}},{key:"parseEventsOfWrapper",value:function(){var e=this.props.children,e=H(e,xn)&&"axis"===i?{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}:{};return pd({},W(this.props,this.handleOuterEvent),{},e)}},{key:"updateStateOfAxisMapsOffsetAndStackGroups",value:function(e){var n=this,r=e.props,a=e.dataStartIndex,o=e.dataEndIndex,t=e.updateId;if(!V({props:r}))return null;var i=r.children,l=r.layout,c=r.stackOffset,s=r.data,e=r.reverseStackOrder,l=this.constructor.getAxisNameByLayout(l),u=l.numericAxisName,l=l.cateAxisName,f=U(i,b),d=function(a,e,i,l,o,t){if(!a)return null;var n=(t?e.reverse():e).reduce(function(e,t){var n=t.props,r=n.stackId;if(n.hide)return e;var a=t.props[i],o=e[a]||{hasStack:!1,stackGroups:{}};return T(r)?((n=o.stackGroups[r]||{numericAxisId:i,cateAxisId:l,items:[]}).items.push(t),o.hasStack=!0,o.stackGroups[r]=n):o.stackGroups[R("_stackId_")]={numericAxisId:i,cateAxisId:l,items:[t]},Tl({},e,jl({},a,o))},{});return Object.keys(n).reduce(function(e,t){var r=n[t];return r.hasStack&&(r.stackGroups=Object.keys(r.stackGroups).reduce(function(e,t){var n=r.stackGroups[t];return Tl({},e,jl({},t,{numericAxisId:i,cateAxisId:l,items:n.items,stackedData:Kl(a,n.items,o)}))},{})),Tl({},e,jl({},t,r))},{})}(s,f,"".concat(u,"Id"),"".concat(l,"Id"),c,e),p=M.reduce(function(e,t){return pd({},e,hd({},"".concat(t.axisType,"Map"),n.getAxisMap(r,pd({},t,{graphicalItems:f,stackGroups:t.axisType===u&&d,dataStartIndex:a,dataEndIndex:o}))))},{}),h=this.calculateOffset(pd({},p,{props:r,graphicalItems:f}));Object.keys(p).forEach(function(e){p[e]=g(r,p[e],h,e.replace("Map",""),m)});l=p["".concat(l,"Map")],l=this.tooltipTicksGenerator(l),t=this.getFormatItems(r,pd({},p,{dataStartIndex:a,dataEndIndex:o,updateId:t,graphicalItems:f,stackGroups:d,offset:h}));return pd({formatedGraphicalItems:t,graphicalItems:f,offset:h,stackGroups:d},l,{},p)}},{key:"addListener",value:function(){id.on(ld,this.handleReceiveSyncEvent),id.setMaxListeners&&id._maxListeners&&id.setMaxListeners(id._maxListeners+1)}},{key:"removeListener",value:function(){id.removeListener(ld,this.handleReceiveSyncEvent),id.setMaxListeners&&id._maxListeners&&id.setMaxListeners(id._maxListeners-1)}},{key:"calculateOffset",value:function(e){var t=e.props,n=e.graphicalItems,r=e.xAxisMap,a=void 0===r?{}:r,o=e.yAxisMap,i=void 0===o?{}:o,l=t.width,c=t.height,s=t.children,u=t.margin||{},f=H(s,ru),d=H(s,Xe),r=Object.keys(i).reduce(function(e,t){var n=i[t],t=n.orientation;return n.mirror||n.hide?e:pd({},e,hd({},t,e[t]+n.width))},{left:u.left||0,right:u.right||0}),e=Object.keys(a).reduce(function(e,t){var n=a[t],t=n.orientation;return n.mirror||n.hide?e:pd({},e,hd({},t,e[t]+n.height))},{top:u.top||0,bottom:u.bottom||0}),o=pd({},e,{},r),s=o.bottom;return f&&(o.bottom+=f.props.height||ru.defaultProps.height),d&&this.legendInstance&&(u=this.legendInstance.getBBox(),e=o,r=n,f=u,n=(d=t).children,u=d.width,t=d.height,d=d.margin,u=u-(d.left||0)-(d.right||0),d=t-(d.top||0)-(d.bottom||0),n=Rl({children:n,items:r,legendWidth:u,legendHeight:d}),r=e,n&&(u=f||{},d=n.align,f=n.verticalAlign,("vertical"===(n=n.layout)||"horizontal"===n&&"center"===f)&&D(e[d])&&(r=Tl({},e,jl({},d,r[d]+(u.width||0)))),("horizontal"===n||"vertical"===n&&"center"===d)&&D(e[f])&&(r=Tl({},e,jl({},f,r[f]+(u.height||0))))),o=r),pd({brushBottom:s},o,{width:l-o.left-o.right,height:c-o.top-o.bottom})}},{key:"triggerSyncEvent",value:function(e){var t=this.props.syncId;A()(t)||id.emit(ld,t,this.uniqueChartId,e)}},{key:"filterFormatItem",value:function(e,t,n){for(var r=this.state.formatedGraphicalItems,a=0,o=r.length;a * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n";Object(i.useEffect)(function(){x||(Object(d.insertCss)(t,{prepend:!0}),x=!0)},[])}},function(e,t){function r(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn.top&&n.right>n.left?n:null}function we(e){var t,n,r;return e=be.isWindow(e)||9===e.nodeType?(t=be.getWindow(e),n={left:be.getWindowScrollLeft(t),top:be.getWindowScrollTop(t)},r=be.viewportWidth(t),be.viewportHeight(t)):(n=be.offset(e),r=be.outerWidth(e),be.outerHeight(e)),n.width=r,n.height=e,n}function _e(e,t){var n=t.charAt(0),r=t.charAt(1),a=e.width,o=e.height,t=e.left,e=e.top;return"c"===n?e+=o/2:"b"===n&&(e+=o),"c"===r?t+=a/2:"r"===r&&(t+=a),{left:t,top:e}}function Oe(e,t,n,r,a){t=_e(t,n[1]),n=_e(e,n[0]),t=[n.left-t.left,n.top-t.top];return{left:Math.round(e.left-t[0]+r[0]-a[0]),top:Math.round(e.top-t[1]+r[1]-a[1])}}function Ee(e,t,n){return e.leftn.right}function ke(e,t,n){return e.topn.bottom}function Ce(e,t,n){var r=[];return be.each(e,function(e){r.push(e.replace(t,function(e){return n[e]}))}),r}function Se(e,t){return e[t]=-e[t],e}function Pe(e,t){e=/%$/.test(e)?parseInt(e.substring(0,e.length-1),10)/100*t:parseInt(e,10);return e||0}function Me(e,t){e[0]=Pe(e[0],t.width),e[1]=Pe(e[1],t.height)}function Te(e,t,n,r){var a=n.points,o=n.offset||[0,0],i=n.targetOffset||[0,0],l=n.overflow,c=n.source||e,o=[].concat(o),i=[].concat(i),s={},u=0,f=xe(c,!(!(l=l||{})||!l.alwaysByViewport)),d=we(c);Me(o,d),Me(i,t);var p,h,m,b,g,y,v=Oe(d,t,a,o,i),e=be.merge(d,v);return f&&(l.adjustX||l.adjustY)&&r&&(l.adjustX&&Ee(v,d,f)&&(r=Oe(d,t,h=Ce(a,/[lr]/gi,{l:"r",r:"l"}),m=Se(o,0),b=Se(i,0)),g=d,y=f,(r=r).left>y.right||r.left+g.widthb.bottom||h.top+m.height=v.left&&l.left+u.width>v.right&&(u.width-=l.left+u.width-v.right),f.adjustX&&l.left+u.width>v.right&&(l.left=Math.max(v.right-u.width,v.left)),f.adjustY&&l.top=v.top&&l.top+u.height>v.bottom&&(u.height-=l.top+u.height-v.bottom),f.adjustY&&l.top+u.height>v.bottom&&(l.top=Math.max(v.bottom-u.height,v.top)),e=be.mix(l,u))),e.width!==d.width&&be.css(c,"width",be.width(c)+e.width-d.width),e.height!==d.height&&be.css(c,"height",be.height(c)+e.height-d.height),be.offset(c,{left:e.left,top:e.top},{useCssRight:n.useCssRight,useCssBottom:n.useCssBottom,useCssTransform:n.useCssTransform,ignoreShake:n.ignoreShake}),{points:a,offset:o,targetOffset:i,overflow:s}}function je(e,t,n){var t=n.target||t;return Te(e,we(t),n,(t=t,n=n.overflow&&n.overflow.alwaysByViewport,n=xe(t,n),t=we(t),!(!n||t.left+t.width<=n.left||t.top+t.height<=n.top||t.left>=n.right||t.top>=n.bottom)))}je.__getOffsetParent=ye,je.__getVisibleRectForElement=xe;var Ne=n(73);function Ae(e,a){var o=null,i=null;var t=new Ne.default(function(e){var t,n,r=x(e,1)[0].target;document.documentElement.contains(r)&&(r=(e=r.getBoundingClientRect()).width,e=e.height,t=Math.floor(r),n=Math.floor(e),o===t&&i===n||Promise.resolve().then(function(){a({width:t,height:n})}),o=t,i=n)});return e&&t.observe(e),function(){t.disconnect()}}function De(n,r){var a=w.a.useRef(!1),o=w.a.useRef(null);function i(){window.clearTimeout(o.current)}return[function e(t){if(a.current&&!0!==t)i(),o.current=window.setTimeout(function(){a.current=!1,e()},r);else{if(!1===n())return;a.current=!0,i(),o.current=window.setTimeout(function(){a.current=!1},r)}},function(){a.current=!1,i()}]}function Re(e){return"function"!=typeof e?null:e()}function Ie(e){return"object"===_(e)&&e?e:null}c=w.a.forwardRef(function(e,t){var n=e.children,r=e.disabled,a=e.target,f=e.align,d=e.onAlign,o=e.monitorWindowResize,e=e.monitorBufferTime,e=void 0===e?0:e,p=w.a.useRef({}),h=w.a.useRef(),n=w.a.Children.only(n),m=w.a.useRef({});m.current.disabled=r,m.current.target=a,m.current.onAlign=d;var e=x(De(function(){var e,t,n,r=m.current,a=r.disabled,o=r.target;if(a||!o)return!1;var i,l=h.current,c=Re(o),s=Ie(o);p.current.element=c,p.current.point=s;var u=document.activeElement;return c&&function(e){if(!e)return!1;if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox();if(t.width||t.height)return!0}if(e.getBoundingClientRect){e=e.getBoundingClientRect();if(e.width||e.height)return!0}return!1}(c)?i=je(l,c,f):s&&(e=l,t=s,r=f,a=(n=be.getDocument(e)).defaultView||n.parentWindow,o=be.getWindowScrollLeft(a),c=be.getWindowScrollTop(a),s=be.viewportWidth(a),n=be.viewportHeight(a),a="pageX"in t?t.pageX:o+t.clientX,t="pageY"in t?t.pageY:c+t.clientY,n=0<=a&&a<=o+s&&0<=t&&t<=c+n,i=Te(e,{left:a,top:t,width:0,height:0},C({},r,{points:[r.points[0],"cc"]}),n)),n=l,(u=u)!==document.activeElement&&b(n,u)&&"function"==typeof u.focus&&u.focus(),d&&i&&d(l,i),!0},e),2),i=e[0],l=e[1],c=w.a.useRef({cancel:function(){}}),s=w.a.useRef({cancel:function(){}});w.a.useEffect(function(){var e,t=Re(a),n=Ie(a);h.current!==s.current.element&&(s.current.cancel(),s.current.element=h.current,s.current.cancel=Ae(h.current,i)),p.current.element===t&&((e=p.current.point)===(n=n)||e&&n&&("pageX"in n&&"pageY"in n?e.pageX===n.pageX&&e.pageY===n.pageY:"clientX"in n&&"clientY"in n&&(e.clientX===n.clientX&&e.clientY===n.clientY)))||(i(),c.current.element!==t&&(c.current.cancel(),c.current.element=t,c.current.cancel=Ae(t,i)))}),w.a.useEffect(function(){(r?l:i)()},[r]);var u=w.a.useRef(null);return w.a.useEffect(function(){o?u.current||(u.current=Object(y.a)(window,"resize",i)):u.current&&(u.current.remove(),u.current=null)},[o]),w.a.useEffect(function(){return function(){c.current.cancel(),s.current.cancel(),u.current&&u.current.remove(),l()}},[]),w.a.useImperativeHandle(t,function(){return{forceAlign:function(){return i(!0)}}}),w.a.isValidElement(n)&&(n=w.a.cloneElement(n,{ref:Object(g.a)(n.ref,h)})),n});c.displayName="Align";var Le=c,c=n(58),ze=n.n(c);function Fe(e,t,n,r,a,o,i){try{var l=e[o](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,a)}function Ue(l){return function(){var e=this,i=arguments;return new Promise(function(t,n){var r=l.apply(e,i);function a(e){Fe(r,t,n,a,o,"next",e)}function o(e){Fe(r,t,n,a,o,"throw",e)}a(void 0)})}}function He(e,t){var n=Object(L.useState)(null),r=(n=Object(H.a)(n,2))[0],a=n[1],o=Object(L.useRef)();function i(){u.a.cancel(o.current)}return Object(L.useEffect)(function(){a("measure")},[e]),Object(L.useEffect)(function(){"measure"===r&&t(),r&&(o.current=Object(u.a)(Ue(ze.a.mark(function e(){var t,n;return ze.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=We.indexOf(r),(n=We[t+1])&&-1!==t&&a(n);case 3:case"end":return e.stop()}},e)}))))},[r]),Object(L.useEffect)(function(){return function(){i()}},[]),[r,function(e){i(),o.current=Object(u.a)(function(){a(function(e){switch(r){case"align":return"motion";case"motion":return"stable"}return e}),null!=e&&e()})}]}function Be(r){var e=w.a.useState({width:0,height:0}),a=(e=Object(H.a)(e,2))[0],t=e[1];return[w.a.useMemo(function(){var e,t,n={};return r&&(e=a.width,t=a.height,-1!==r.indexOf("height")&&t?n.height=t:-1!==r.indexOf("minHeight")&&t&&(n.minHeight=t),-1!==r.indexOf("width")&&e?n.width=e:-1!==r.indexOf("minWidth")&&e&&(n.minWidth=e)),n},[r,a]),function(e){t({width:e.offsetWidth,height:e.offsetHeight})}]}var We=["measure","align",null,"motion"],c=L.forwardRef(function(e,t){var n=e.visible,r=e.prefixCls,a=e.className,o=e.style,i=e.children,l=e.zIndex,c=e.stretch,s=e.destroyPopupOnHide,u=e.align,f=e.point,d=e.getRootDomNode,p=e.getClassNameFromAlign,h=e.onAlign,m=e.onMouseEnter,b=e.onMouseLeave,g=e.onMouseDown,y=e.onTouchStart,v=Object(L.useRef)(),x=Object(L.useRef)(),w=Object(L.useState)(),_=Object(H.a)(w,2),O=_[0],E=_[1],w=Be(c),_=Object(H.a)(w,2),w=_[0],k=_[1];var _=He(n,function(){c&&k(d())}),_=Object(H.a)(_,2),C=_[0],S=_[1],P=Object(L.useRef)();function M(){var e;null!==(e=v.current)&&void 0!==e&&e.forceAlign()}function T(e,t){var n;"align"===C&&(n=p(t),E(n),O!==n?Promise.resolve().then(function(){M()}):S(function(){var e;null!==(e=P.current)&&void 0!==e&&e.call(P)}),null!=h&&h(e,t))}var j=Object(I.a)({},U(e));function N(){return new Promise(function(e){P.current=e})}["onAppearEnd","onEnterEnd","onLeaveEnd"].forEach(function(e){var n=j[e];j[e]=function(e,t){return S(),null==n?void 0:n(e,t)}}),L.useEffect(function(){j.motionName||"motion"!==C||S()},[j.motionName,C]),L.useImperativeHandle(t,function(){return{forceAlign:M,getElement:function(){return x.current}}});var A=Object(I.a)(Object(I.a)(Object(I.a)({},w),{},{zIndex:l},o),{},{opacity:"motion"!==C&&"stable"!==C&&n?0:void 0,pointerEvents:"stable"===C?void 0:"none"}),D=!0;null==u||!u.points||"align"!==C&&"stable"!==C||(D=!1);var R=i;return 1=D.F1&&t<=D.F12)return!1;switch(t){case D.ALT:case D.CAPS_LOCK:case D.CONTEXT_MENU:case D.CTRL:case D.DOWN:case D.END:case D.ESC:case D.HOME:case D.INSERT:case D.LEFT:case D.MAC_FF_META:case D.META:case D.NUMLOCK:case D.NUM_CENTER:case D.PAGE_DOWN:case D.PAGE_UP:case D.PAUSE:case D.PRINT_SCREEN:case D.RIGHT:case D.SHIFT:case D.UP:case D.WIN_KEY:case D.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=D.ZERO&&e<=D.NINE)return!0;if(e>=D.NUM_ZERO&&e<=D.NUM_MULTIPLY)return!0;if(e>=D.A&&e<=D.Z)return!0;if(-1!==window.navigator.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case D.SPACE:case D.QUESTION_MARK:case D.NUM_PLUS:case D.NUM_MINUS:case D.NUM_PERIOD:case D.NUM_DIVISION:case D.SEMICOLON:case D.DASH:case D.EQUALS:case D.COMMA:case D.PERIOD:case D.SLASH:case D.APOSTROPHE:case D.SINGLE_QUOTE:case D.OPEN_SQUARE_BRACKET:case D.BACKSLASH:case D.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},R=D;var I=n(47);var b=n(2),L=n.n(b);function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=o.subMenuTitle.offsetWidth||(e.style.minWidth="".concat(o.subMenuTitle.offsetWidth,"px")))},o.saveSubMenuTitle=function(e){o.subMenuTitle=e},o.getBaseProps=function(){var e=f(o).props;return{mode:"horizontal"===e.mode?"vertical":e.mode,visible:o.props.isOpen,level:e.level+1,inlineIndent:e.inlineIndent,focusable:!1,onClick:o.onSubMenuClick,onSelect:o.onSelect,onDeselect:o.onDeselect,onDestroy:o.onDestroy,selectedKeys:e.selectedKeys,eventKey:"".concat(e.eventKey,"-menu-"),openKeys:e.openKeys,motion:e.motion,onOpenChange:o.onOpenChange,subMenuOpenDelay:e.subMenuOpenDelay,parentMenu:f(o),subMenuCloseDelay:e.subMenuCloseDelay,forceSubMenuRender:e.forceSubMenuRender,triggerSubMenuAction:e.triggerSubMenuAction,builtinPlacements:e.builtinPlacements,defaultActiveFirst:e.store.getState().defaultActiveFirst[ie(e.eventKey)],multiple:e.multiple,prefixCls:e.rootPrefixCls,id:o.internalMenuId,manualRef:o.saveMenuInstance,itemIcon:e.itemIcon,expandIcon:e.expandIcon,direction:e.direction}},o.getMotion=function(e,t){var n=f(o).haveRendered,r=o.props,a=r.motion,r=r.rootPrefixCls;return x(x({},a),{},{leavedClassName:"".concat(r,"-hidden"),removeOnLeave:!1,motionAppear:n||!t||"inline"!==e})};var t=e.store,n=e.eventKey,r=t.getState().defaultActiveFirst,e=o.isRootMenu=!1;return r&&(e=r[n]),_e(t,n,e),o}return o(i,[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var e=this,t=this.props,n=t.mode,r=t.parentMenu,a=t.manualRef,t=t.isOpen;a&&a(this),"horizontal"===n&&null!=r&&r.isRootMenu&&t&&(this.minWidthTimeout=setTimeout(function(){return e.adjustWidth()},0))}},{key:"componentWillUnmount",value:function(){var e=this.props,t=e.onDestroy,e=e.eventKey;t&&t(e),this.minWidthTimeout&&clearTimeout(this.minWidthTimeout),this.mouseenterTimeout&&clearTimeout(this.mouseenterTimeout)}},{key:"renderChildren",value:function(n){var r=this,a=this.getBaseProps(),e=this.getMotion(a.mode,a.visible);if(this.haveRendered=!0,this.haveOpened=this.haveOpened||a.visible||a.forceSubMenuRender,!this.haveOpened)return w.createElement("div",null);var o=a.direction;return w.createElement(ge.default,Object.assign({visible:a.visible},e),function(e){var t=e.className,e=e.style,t=L()("".concat(a.prefixCls,"-sub"),t,v({},"".concat(a.prefixCls,"-rtl"),"rtl"===o));return w.createElement(Te,Object.assign({},a,{id:r.internalMenuId,className:t,style:e}),n)})}},{key:"render",value:function(){var t=x({},this.props),e=t.isOpen,n=this.getPrefixCls(),r="inline"===t.mode,a=L()(n,"".concat(n,"-").concat(t.mode),(v(g={},t.className,!!t.className),v(g,this.getOpenClassName(),e),v(g,this.getActiveClassName(),t.active||e&&!r),v(g,this.getDisabledClassName(),t.disabled),v(g,this.getSelectedClassName(),this.isChildrenSelected()),g));this.internalMenuId||(t.eventKey?this.internalMenuId="".concat(t.eventKey,"$Menu"):(xe+=1,this.internalMenuId="$__$".concat(xe,"$Menu")));var o={},i={},l={};t.disabled||(o={onMouseLeave:this.onMouseLeave,onMouseEnter:this.onMouseEnter},i={onClick:this.onTitleClick},l={onMouseEnter:this.onTitleMouseEnter,onMouseLeave:this.onTitleMouseLeave});var c={},s=t.direction;r&&("rtl"===s?c.paddingRight=t.inlineIndent*t.level:c.paddingLeft=t.inlineIndent*t.level);var u={};this.props.isOpen&&(u={"aria-owns":this.internalMenuId});var f=null;"horizontal"!==t.mode&&(f=this.props.expandIcon,"function"==typeof this.props.expandIcon&&(f=w.createElement(this.props.expandIcon,x({},this.props))));var d=w.createElement("div",Object.assign({ref:this.saveSubMenuTitle,style:c,className:"".concat(n,"-title"),role:"button"},l,i,{"aria-expanded":e},u,{"aria-haspopup":"true",title:"string"==typeof t.title?t.title:void 0}),t.title,f||w.createElement("i",{className:"".concat(n,"-arrow")})),p=this.renderChildren(t.children),h=null!==(y=t.parentMenu)&&void 0!==y&&y.isRootMenu?t.parentMenu.props.getPopupContainer:function(e){return e.parentNode},m=we[t.mode],b=t.popupOffset?{offset:t.popupOffset}:{},g="inline"===t.mode?"":t.popupClassName;g+="rtl"===s?" ".concat(n,"-rtl"):"";var c=t.disabled,l=t.triggerSubMenuAction,i=t.subMenuOpenDelay,u=t.forceSubMenuRender,f=t.subMenuCloseDelay,y=t.builtinPlacements;ce.forEach(function(e){return delete t[e]}),delete t.onClick;y="rtl"===s?Object.assign({},ve,y):Object.assign({},ye,y);return delete t.direction,w.createElement("li",Object.assign({},t,o,{className:a,role:"menuitem"}),r&&d,r&&p,!r&&w.createElement(be.a,{prefixCls:n,popupClassName:L()("".concat(n,"-popup"),g),getPopupContainer:h,builtinPlacements:y,popupPlacement:m,popupVisible:e,popupAlign:b,popup:p,action:c?[]:[l],mouseEnterDelay:i,mouseLeaveDelay:f,onPopupVisibleChange:this.onPopupVisibleChange,forceRender:u},d))}}]),i}();n.defaultProps={onMouseEnter:ae,onMouseLeave:ae,onTitleMouseEnter:ae,onTitleMouseLeave:ae,onTitleClick:ae,manualRef:ae,mode:"vertical",title:""};b=M(function(e,t){var n=e.openKeys,r=e.activeKey,a=e.selectedKeys,e=t.eventKey,t=t.subMenuKey;return{isOpen:-1t+ke&&(r=-1,u.menuItemSizes.forEach(function(e){(n+=e)+u.overflowedIndicatorWidth<=t&&(r+=1)})),u.setState({lastVisibleIndex:r}))},u}return o(t,[{key:"componentDidMount",value:function(){var t=this;if(this.setChildrenWidthAndResize(),1===this.props.level&&"horizontal"===this.props.mode){var e=he.findDOMNode(this);if(!e)return;this.resizeObserver=new me.default(function(e){e.forEach(function(){var e=t.cancelFrameId;cancelAnimationFrame(e),t.cancelFrameId=requestAnimationFrame(t.setChildrenWidthAndResize)})}),[].slice.call(e.children).concat(e).forEach(function(e){t.resizeObserver.observe(e)}),"undefined"!=typeof MutationObserver&&(this.mutationObserver=new MutationObserver(function(){t.resizeObserver.disconnect(),[].slice.call(e.children).concat(e).forEach(function(e){t.resizeObserver.observe(e)}),t.setChildrenWidthAndResize()}),this.mutationObserver.observe(e,{attributes:!1,childList:!0,subTree:!1}))}}},{key:"componentWillUnmount",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),this.mutationObserver&&this.mutationObserver.disconnect(),cancelAnimationFrame(this.cancelFrameId)}},{key:"renderChildren",value:function(o){var i=this,l=this.state.lastVisibleIndex;return(o||[]).reduce(function(e,t,n){var r=t;if("horizontal"!==i.props.mode)return[].concat(de(e),[r]);var a=i.getOverflowedSubMenuItem(t.props.eventKey,[]);void 0!==l&&-1!==i.props.className.indexOf("".concat(i.props.prefixCls,"-root"))&&(l children");r=e}}),r}var o,r=n(13),u=n.n(r),i={transitionstart:{transition:"transitionstart",WebkitTransition:"webkitTransitionStart",MozTransition:"mozTransitionStart",OTransition:"oTransitionStart",msTransition:"MSTransitionStart"},animationstart:{animation:"animationstart",WebkitAnimation:"webkitAnimationStart",MozAnimation:"mozAnimationStart",OAnimation:"oAnimationStart",msAnimation:"MSAnimationStart"}},l={transitionend:{transition:"transitionend",WebkitTransition:"webkitTransitionEnd",MozTransition:"mozTransitionEnd",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd"},animationend:{animation:"animationend",WebkitAnimation:"webkitAnimationEnd",MozAnimation:"mozAnimationEnd",OAnimation:"oAnimationEnd",msAnimation:"MSAnimationEnd"}},c=[],s=[];function m(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r,a=e[n];for(r in a)if(r in o){t.push(a[r]);break}}}function b(e,t,n){e.addEventListener(t,n,!1)}function g(e,t,n){e.removeEventListener(t,n,!1)}"undefined"!=typeof window&&"undefined"!=typeof document&&(o=document.createElement("div").style,"AnimationEvent"in window||(delete i.animationstart.animation,delete l.animationend.animation),"TransitionEvent"in window||(delete i.transitionstart.transition,delete l.transitionend.transition),m(i,c),m(l,s));var y={startEvents:c,addStartEventListener:function(t,n){0!==c.length?c.forEach(function(e){b(t,e,n)}):window.setTimeout(n,0)},removeStartEventListener:function(t,n){0!==c.length&&c.forEach(function(e){g(t,e,n)})},endEvents:s,addEndEventListener:function(t,n){0!==s.length?s.forEach(function(e){b(t,e,n)}):window.setTimeout(n,0)},removeEndEventListener:function(t,n){0!==s.length&&s.forEach(function(e){g(t,e,n)})}},v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x=0!==y.endEvents.length,w=["Webkit","Moz","O","ms"],_=["-webkit-","-moz-","-o-","ms-",""];function O(e,t){for(var n=window.getComputedStyle(e,null),r="",a=0;a<_.length&&!(r=n.getPropertyValue(_[a]+t));a++);return r}function E(e){var t,n,r,a;x&&(t=parseFloat(O(e,"transition-delay"))||0,n=parseFloat(O(e,"transition-duration"))||0,a=parseFloat(O(e,"animation-delay"))||0,r=parseFloat(O(e,"animation-duration"))||0,a=Math.max(n+t,r+a),e.rcEndAnimTimeout=setTimeout(function(){e.rcEndAnimTimeout=null,e.rcEndListener&&e.rcEndListener()},1e3*a+200))}function k(e){e.rcEndAnimTimeout&&(clearTimeout(e.rcEndAnimTimeout),e.rcEndAnimTimeout=null)}r=function(t,e,n){var r="object"===(void 0===e?"undefined":v(e)),a=r?e.name:e,o=r?e.active:e+"-active",i=n,e=void 0,l=void 0;return n&&"[object Object]"===Object.prototype.toString.call(n)&&(i=n.end,e=n.start,l=n.active),t.rcEndListener&&t.rcEndListener(),t.rcEndListener=function(e){e&&e.target!==t||(t.rcAnimTimeout&&(clearTimeout(t.rcAnimTimeout),t.rcAnimTimeout=null),k(t),t.classList.remove(a),t.classList.remove(o),y.removeEndEventListener(t,t.rcEndListener),t.rcEndListener=null,i&&i())},y.addEndEventListener(t,t.rcEndListener),e&&e(),t.classList.add(a),t.rcAnimTimeout=setTimeout(function(){t.rcAnimTimeout=null,t.classList.add(o),l&&l(),E(t)},0),{stop:function(){t.rcEndListener&&t.rcEndListener()}}};r.style=function(t,n,r){t.rcEndListener&&t.rcEndListener(),t.rcEndListener=function(e){e&&e.target!==t||(t.rcAnimTimeout&&(clearTimeout(t.rcAnimTimeout),t.rcAnimTimeout=null),k(t),y.removeEndEventListener(t,t.rcEndListener),t.rcEndListener=null,r&&r())},y.addEndEventListener(t,t.rcEndListener),t.rcAnimTimeout=setTimeout(function(){for(var e in n)n.hasOwnProperty(e)&&(t.style[e]=n[e]);t.rcAnimTimeout=null,E(t)},0)},r.setTransition=function(t,e,n){var r=e,a=n;void 0===n&&(a=r,r=""),r=r||"",w.forEach(function(e){t.style[e+"Transition"+r]=a})},r.isCssAnimationSupported=x;var C=r,S={isAppearSupported:function(e){return e.transitionName&&e.transitionAppear||e.animation.appear},isEnterSupported:function(e){return e.transitionName&&e.transitionEnter||e.animation.enter},isLeaveSupported:function(e){return e.transitionName&&e.transitionLeave||e.animation.leave},allowAppearCallback:function(e){return e.transitionAppear||e.animation.appear},allowEnterCallback:function(e){return e.transitionEnter||e.animation.enter},allowLeaveCallback:function(e){return e.transitionLeave||e.animation.leave}},r=function(e,t,n){return t&&P(e.prototype,t),n&&P(e,n),e};function P(e,t){for(var n=0;n children");return f.a.createElement(j,{key:t.key,ref:function(e){n.childrenRefs[t.key]=e},animation:e.animation,transitionName:e.transitionName,transitionEnter:e.transitionEnter,transitionAppear:e.transitionAppear,transitionLeave:e.transitionLeave},t)}));var a=e.component;if(a){t=e;return"string"==typeof a&&(t=N({className:e.className,style:e.style},e.componentProps)),f.a.createElement(a,t,r)}return r[0]||null}}]),r=L;function L(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,L);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(L.__proto__||Object.getPrototypeOf(L)).call(this,e));return z.call(t),t.currentlyAnimatingKeys={},t.keysToEnter=[],t.keysToLeave=[],t.state={children:d(R(e))},t.childrenRefs={},t}r.isAnimate=!0,r.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:I,onEnter:I,onLeave:I,onAppear:I};var z=function(){var c=this;this.performEnter=function(e){c.childrenRefs[e]&&(c.currentlyAnimatingKeys[e]=!0,c.childrenRefs[e].componentWillEnter(c.handleDoneAdding.bind(c,e,"enter")))},this.performAppear=function(e){c.childrenRefs[e]&&(c.currentlyAnimatingKeys[e]=!0,c.childrenRefs[e].componentWillAppear(c.handleDoneAdding.bind(c,e,"appear")))},this.handleDoneAdding=function(e,t){var n,r=c.props;delete c.currentlyAnimatingKeys[e],r.exclusive&&r!==c.nextProps||(n=d(R(r)),c.isValidChildByKey(n,e)?"appear"===t?S.allowAppearCallback(r)&&(r.onAppear(e),r.onEnd(e,!0)):S.allowEnterCallback(r)&&(r.onEnter(e),r.onEnd(e,!0)):c.performLeave(e))},this.performLeave=function(e){c.childrenRefs[e]&&(c.currentlyAnimatingKeys[e]=!0,c.childrenRefs[e].componentWillLeave(c.handleDoneLeaving.bind(c,e)))},this.handleDoneLeaving=function(e){var t,n,r,a,o,i,l=c.props;delete c.currentlyAnimatingKeys[e],l.exclusive&&l!==c.nextProps||(t=d(R(l)),c.isValidChildByKey(t,e)?c.performEnter(e):(n=function(){S.allowLeaveCallback(l)&&(l.onLeave(e),l.onEnd(e,!1))},r=c.state.children,a=t,o=l.showProp,(i=r.length===a.length)&&r.forEach(function(e,t){t=a[t];e&&t&&(e&&!t||!e&&t||e.key!==t.key||o&&e.props[o]!==t.props[o])&&(i=!1)}),i?n():c.setState({children:t},n)))}};t.default=a(r)},function(e,t,n){"use strict";function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}n.d(t,"a",function(){return r});var o=n(41),i=n(143);function r(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=a(n);return e=r?(e=a(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!==Object(o.a)(e)&&"function"!=typeof e?Object(i.a)(t):e}}},function(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}n.d(t,"a",function(){return a})},function(e,t,n){var r=n(46),a=n(615);e.exports=function(e,t){return e&&e.length?a(e,r(t,2)):[]}},function(e,t,n){n=n(666)();e.exports=n},function(e,t,n){"use strict";n(21),n(150)},function(e,t,n){"use strict";n(21),n(150)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function t(e){var n=1e.length)&&(t=e.length);for(var n=0,r=new Array(t);ny&&(a.current=y);y=r?F.createElement("div",{className:"".concat(i,"-pagination")},F.createElement(V.default,(0,R.default)({},a,{onChange:p,onShowSizeChange:e}))):null,p=(0,D.default)(h);r&&h.length>(a.current-1)*a.pageSize&&(p=(0,D.default)(h).splice((a.current-1)*a.pageSize,a.pageSize));var M,T,j=(0,B.default)(),N=F.useMemo(function(){for(var e=0;ee.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);na;)i(r,n=t[a++])&&(~c(o,n)||o.push(n));return o}},function(e,t,n){var r=n(245)("keys"),a=n(244);e.exports=function(e){return r[e]||(r[e]=a(e))}},function(e,t,n){var r=n(160);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(78),a=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&a(e)===e}},function(t,e,n){(function(e){e="object"==typeof e&&e&&e.Object===Object&&e;t.exports=e}).call(this,n(99))},function(e,t,n){var r=n(123),a=n(557),o=n(558),i=n(559),l=n(560),n=n(561);function c(e){e=this.__data__=new r(e);this.size=e.size}c.prototype.clear=a,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=l,c.prototype.set=n,e.exports=c},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var b=n(170),g=n(257),y=n(171);e.exports=function(e,t,n,r,a,o){var i=1&n,l=e.length,c=t.length;if(l!=c&&!(i&&le.e^o.s<0?1:-1;for(t=0,n=(r=o.d.length)<(a=e.d.length)?r:a;te.d[t]^o.s<0?1:-1;return r===a?0:athis.d.length-2},c.isNegative=c.isneg=function(){return this.s<0},c.isPositive=c.ispos=function(){return 0=a.toExpPos):(s(e,1,o),void 0===t?t=a.rounding:s(t,0,8),E(r=N(new a(r),e,t),e<=(n=j(r))||n<=a.toExpNeg,e));return e},c.toSignificantDigits=c.tosd=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(s(e,1,o),void 0===t?t=n.rounding:s(t,0,8)),N(new n(this),e,t)},c.toString=c.valueOf=c.val=c.toJSON=function(){var e=j(this),t=this.constructor;return E(this,e<=t.toExpNeg||e>=t.toExpPos)};var v=function(e,t,n,r){var a,o,i,l,c,s,u,f,d,p,h,m,b,g,y,v,x,w=e.constructor,_=e.s==t.s?1:-1,O=e.d,E=t.d;if(!e.s)return new w(e);if(!t.s)throw Error(k+"Division by zero");for(o=e.e-t.e,v=E.length,g=O.length,u=(_=new w(_)).d=[],i=0;E[i]==(O[i]||0);)++i;if(E[i]>(O[i]||0)&&--o,(h=null==n?n=w.precision:r?n+(j(e)-j(t))+1:n)<0)return new w(0);if(h=h/S+2|0,i=0,1==v)for(E=E[l=0],h++;(i=C/2&&++y;l=0,(a=M(E,f,v,d))<0?(p=f[0],v!=d&&(p=p*C+(f[1]||0)),1<(l=p/y|0)?(C<=l&&(l=C-1),1==(a=M(c=P(E,l),f,s=c.length,d=f.length))&&(l--,T(c,vt[a]?1:-1;break}return o}function T(e,t,n){for(var r=0;n--;)e[n]-=r,r=e[n]e.LN10.sd())throw g=!0,n&&(e.precision=n),Error(k+"LN10 precision limit exceeded");return N(new e(e.LN10),t)}function w(e){for(var t="";e--;)t+="0";return t}function _(e,t){var n,r,a,o,i,l,c,s,u,f=1,d=e,p=d.d,h=d.constructor,m=h.precision;if(d.s<1)throw Error(k+(d.s?"NaN":"-Infinity"));if(d.eq(b))return new h(0);if(s=null==t?(g=!1,m):t,d.eq(10))return null==t&&(g=!0),x(h,s);if(s+=10,h.precision=s,r=(n=y(p)).charAt(0),o=j(d),!(Math.abs(o)<15e14))return c=x(h,s+2,m).times(o+""),d=_(new h(r+"."+n.slice(1)),s-10).plus(c),h.precision=m,null==t?(g=!0,N(d,m)):d;for(;r<7&&1!=r||1==r&&3m||e.e<-m))throw Error(d+n)}else e.s=0,e.e=0,e.d=[0];return e}function N(e,t,n){for(var r,a,o,i,l,c,s=e.d,u=1,f=s[0];10<=f;f/=10)u++;if((r=t-u)<0)r+=S,a=t,l=s[c=0];else{if(c=Math.ceil((r+1)/S),(f=s.length)<=c)return e;for(l=f=s[c],u=1;10<=f;f/=10)u++;a=(r%=S)-S+u}if(void 0!==n&&(o=l/(f=h(10,u-a-1))%10|0,i=t<0||void 0!==s[c+1]||l%f,i=n<4?(o||i)&&(0==n||n==(e.s<0?3:2)):5m||e.e<-m))throw Error(d+j(e));return e}function n(e,t){var n,r,a,o,i,l,c,s,u,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new f(e),g?N(t,d):t;if(c=e.d,u=t.d,r=t.e,e=e.e,c=c.slice(),i=e-r){for(l=(s=i<0)?(n=c,i=-i,u.length):(n=u,r=e,c.length),(a=Math.max(Math.ceil(d/S),l)+2)t&&(e.length=t,1)}function D(e){if(!e||"object"!=typeof e)throw Error(k+"Object expected");for(var t,n,r=["precision",1,o,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0],a=0;a","lt":"<","quot":"\\""}')},function(e){e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},function(e,t,n){"use strict";var r=n(4),a=n(3);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var M=a(n(11)),T=r(n(0)),j=a(n(2)),N=a(n(181)),A=a(n(723)),D=a(n(40)),n=function(e){var t=e.icon,n=e.onCancel,r=e.onOk,a=e.close,o=e.zIndex,i=e.afterClose,l=e.visible,c=e.keyboard,s=e.centered,u=e.getContainer,f=e.maskStyle,d=e.okText,p=e.okButtonProps,h=e.cancelText,m=e.cancelButtonProps,b=e.direction,g=e.prefixCls,y=e.rootPrefixCls;(0,D.default)(!("string"==typeof t&&2e.length)&&(t=e.length);for(var n=0,r=new Array(t);n "))})}(e)},t.convertTreeToData=function(e){return function r(e){return(0,o.default)(e).map(function(e){if(!(0,f.isTreeNode)(e))return(0,h.default)(!e,"Tree/TreeNode can only accept TreeNode as children."),null;var t=e.key,n=e.props,e=n.children,n=(0,a.default)(n,["children"]),n=(0,p.default)({key:t},n),e=r(e);return e.length&&(n.children=e),n}).filter(function(e){return e})}(e)},t.flattenTreeData=function(){var e=0e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=i&&(r.updateKey=e[0].notice.updateKey||e[0].notice.key,e.shift()),e.push({notice:r,holderCallback:a})),{notices:e}})},n.remove=function(t){n.setState(function(e){return{notices:e.notices.filter(function(e){return e.notice.key!==t})}})},n}return i(t,[{key:"getTransitionName",value:function(){var e=this.props,t=e.prefixCls,n=e.animation,e=this.props.transitionName;return!e&&n&&(e="".concat(t,"-").concat(n)),e}},{key:"render",value:function(){var i=this,l=this.state.notices,e=this.props,c=e.prefixCls,t=e.className,s=e.closeIcon,n=e.style,e=l.map(function(e,t){var n=e.notice,r=e.holderCallback,e=Boolean(t===l.length-1&&n.updateKey),a=n.updateKey?n.updateKey:n.key,t=function(){var t=[].slice.call(arguments,0);return 1===t.length?t[0]:function(){for(var e=0;e()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},y={integer:function(e){return y.number(e)&&parseInt(e,10)===e},float:function(e){return y.number(e)&&!y.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"==typeof e&&!y.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&!!e.match(r.email)&&e.length<255},url:function(e){return"string"==typeof e&&!!e.match(r.url)},hex:function(e){return"string"==typeof e&&!!e.match(r.hex)}};var v={required:f,whitespace:function(e,t,n,r,a){!/^\s+$/.test(t)&&""!==t||r.push(m(a.messages.whitespace,e.fullField))},type:function(e,t,n,r,a){e.required&&void 0===t?f(e,t,n,r,a):(n=e.type,-1<["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(n)?y[n](t)||r.push(m(a.messages.types[n],e.fullField,e.type)):n&&typeof t!==e.type&&r.push(m(a.messages.types[n],e.fullField,e.type)))},range:function(e,t,n,r,a){var o="number"==typeof e.len,i="number"==typeof e.min,l="number"==typeof e.max,c=t,s=null,u="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(u?s="number":f?s="string":d&&(s="array"),!s)return!1;d&&(c=t.length),f&&(c=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),o?c!==e.len&&r.push(m(a.messages[s].len,e.fullField,e.len)):i&&!l&&ce.max?r.push(m(a.messages[s].max,e.fullField,e.max)):i&&l&&(ce.max)&&r.push(m(a.messages[s].range,e.fullField,e.min,e.max))},enum:function(e,t,n,r,a){e.enum=Array.isArray(e.enum)?e.enum:[],-1===e.enum.indexOf(t)&&r.push(m(a.messages.enum,e.fullField,e.enum.join(", ")))},pattern:function(e,t,n,r,a){e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(m(a.messages.pattern.mismatch,e.fullField,t,e.pattern))):"string"==typeof e.pattern&&(new RegExp(e.pattern).test(t)||r.push(m(a.messages.pattern.mismatch,e.fullField,t,e.pattern))))}};function x(e,t,n,r,a){var o=e.type,i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t,o)&&!e.required)return n();v.required(e,t,r,i,a,o),c(t,o)||v.type(e,t,r,i,a)}n(i)}var w={string:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t,"string")&&!e.required)return n();v.required(e,t,r,o,a,"string"),c(t,"string")||(v.type(e,t,r,o,a),v.range(e,t,r,o,a),v.pattern(e,t,r,o,a),!0===e.whitespace&&v.whitespace(e,t,r,o,a))}n(o)},method:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a),void 0!==t&&v.type(e,t,r,o,a)}n(o)},number:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(""===t&&(t=void 0),c(t)&&!e.required)return n();v.required(e,t,r,o,a),void 0!==t&&(v.type(e,t,r,o,a),v.range(e,t,r,o,a))}n(o)},boolean:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a),void 0!==t&&v.type(e,t,r,o,a)}n(o)},regexp:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a),c(t)||v.type(e,t,r,o,a)}n(o)},integer:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a),void 0!==t&&(v.type(e,t,r,o,a),v.range(e,t,r,o,a))}n(o)},float:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a),void 0!==t&&(v.type(e,t,r,o,a),v.range(e,t,r,o,a))}n(o)},array:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t,"array")&&!e.required)return n();v.required(e,t,r,o,a,"array"),c(t,"array")||(v.type(e,t,r,o,a),v.range(e,t,r,o,a))}n(o)},object:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a),void 0!==t&&v.type(e,t,r,o,a)}n(o)},enum:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a),void 0!==t&&v.enum(e,t,r,o,a)}n(o)},pattern:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t,"string")&&!e.required)return n();v.required(e,t,r,o,a),c(t,"string")||v.pattern(e,t,r,o,a)}n(o)},date:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t,"date")&&!e.required)return n();v.required(e,t,r,o,a),c(t,"date")||(t=t instanceof Date?t:new Date(t),v.type(e,t,r,o,a),t&&v.range(e,t.getTime(),r,o,a))}n(o)},url:x,hex:x,email:x,required:function(e,t,n,r,a){var o=[],i=Array.isArray(t)?"array":typeof t;v.required(e,t,r,o,a,i),n(o)},any:function(e,t,n,r,a){var o=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(c(t)&&!e.required)return n();v.required(e,t,r,o,a)}n(o)}};function _(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var O=_();function E(e){this.rules=null,this._messages=O,this.define(e)}E.prototype={messages:function(e){return e&&(this._messages=u(_(),e)),this._messages},define:function(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");var t,n;for(t in this.rules={},e)e.hasOwnProperty(t)&&(n=e[t],this.rules[t]=Array.isArray(n)?n:[n])},validate:function(n,e,t){var r=this;void 0===e&&(e={}),void 0===t&&(t=function(){});var a,o,i=n,f=e,l=t;if("function"==typeof f&&(l=f,f={}),!this.rules||0===Object.keys(this.rules).length)return l&&l(),Promise.resolve();f.messages?((t=this.messages())===O&&(t=_()),u(t,f.messages),f.messages=t):f.messages=this.messages();var c={};(f.keys||Object.keys(this.rules)).forEach(function(t){a=r.rules[t],o=i[t],a.forEach(function(e){"function"==typeof e.transform&&(i===n&&(i=p({},i)),o=i[t]=e.transform(o)),(e="function"==typeof e?{validator:e}:p({},e)).validator=r.getValidationMethod(e),e.field=t,e.fullField=e.fullField||t,e.type=r.getType(e),e.validator&&(c[t]=c[t]||[],c[t].push({rule:e,value:o,source:i,field:t}))})});var d={};return s(c,f,function(i,l){var e,c=i.rule,s=!("object"!==c.type&&"array"!==c.type||"object"!=typeof c.fields&&"object"!=typeof c.defaultField);function u(e,t){return p(p({},t),{},{fullField:c.fullField+"."+e})}function t(e){void 0===e&&(e=[]);var n=e;if(Array.isArray(n)||(n=[n]),!f.suppressWarning&&n.length&&E.warning("async-validator:",n),n.length&&c.message&&(n=[].concat(c.message)),n=n.map(g(c)),f.first&&n.length)return d[c.field]=1,l(n);if(s){if(c.required&&!i.value)return c.message?n=[].concat(c.message).map(g(c)):f.error&&(n=[f.error(c,m(f.messages.required,c.field))]),l(n);var t,r,a={};if(c.defaultField)for(var o in i.value)i.value.hasOwnProperty(o)&&(a[o]=c.defaultField);for(t in a=p(p({},a),i.rule.fields)){a.hasOwnProperty(t)&&(r=Array.isArray(a[t])?a[t]:[a[t]],a[t]=r.map(u.bind(null,t)))}e=new E(a);e.messages(f.messages),i.rule.options&&(i.rule.options.messages=f.messages,i.rule.options.error=f.error),e.validate(i.value,i.rule.options||f,function(e){var t=[];n&&n.length&&t.push.apply(t,n),e&&e.length&&t.push.apply(t,e),l(t.length?t:null)})}else l(n)}s=s&&(c.required||!c.required&&i.value),c.field=i.field,c.asyncValidator?e=c.asyncValidator(c,i.value,t,i.source,f):c.validator&&(!0===(e=c.validator(c,i.value,t,i.source,f))?t():!1===e?t(c.message||c.field+" fails"):e instanceof Array?t(e):e instanceof Error&&t(e.message)),e&&e.then&&e.then(function(){return t()},t)},function(e){!function(e){var t,n,r=[],a={};for(t=0;t>>0,r;for(r=0;r0){for(n=0;n=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var R=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,I=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,L={},z={};function F(e,t,n,r){var a=r;if(typeof r==="string"){a=function(){return this[r]()}}if(e){z[e]=a}if(t){z[t[0]]=function(){return D(a.apply(this,arguments),t[1],t[2])}}if(n){z[n]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)}}}function U(e){if(e.match(/\[[\s\S]/)){return e.replace(/^\[|\]$/g,"")}return e.replace(/\\/g,"")}function H(r){var a=r.match(R),e,o;for(e=0,o=a.length;e=0&&I.test(e)){e=e.replace(I,r);I.lastIndex=0;n-=1}return e}var K={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function V(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];if(t||!n){return t}this._longDateFormat[e]=n.match(R).map(function(e){if(e==="MMMM"||e==="MM"||e==="DD"||e==="dddd"){return e.slice(1)}return e}).join("");return this._longDateFormat[e]}var q="Invalid date";function G(){return this._invalidDate}var Y="%d",$=/\d{1,2}/;function X(e){return this._ordinal.replace("%d",e)}var Q={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Z(e,t,n,r){var a=this._relativeTime[n];return P(a)?a(e,t,n,r):a.replace(/%d/i,e)}function J(e,t){var n=this._relativeTime[e>0?"future":"past"];return P(n)?n(t):n.replace(/%s/i,t)}var ee={};function te(e,t){var n=e.toLowerCase();ee[n]=ee[n+"s"]=ee[t]=e}function ne(e){return typeof e==="string"?ee[e]||ee[e.toLowerCase()]:undefined}function re(e){var t={},n,r;for(r in e){if(c(e,r)){n=ne(r);if(n){t[n]=e[r]}}}return t}var ae={};function oe(e,t){ae[e]=t}function ie(e){var t=[],n;for(n in e){if(c(e,n)){t.push({unit:n,priority:ae[n]})}}t.sort(function(e,t){return e.priority-t.priority});return t}function le(e){return e%4===0&&e%100!==0||e%400===0}function ce(e){if(e<0){return Math.ceil(e)||0}else{return Math.floor(e)}}function se(e){var t=+e,n=0;if(t!==0&&isFinite(t)){n=ce(t)}return n}function ue(t,n){return function(e){if(e!=null){de(this,t,e);u.updateOffset(this,n);return this}else{return fe(this,t)}}}function fe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function de(e,t,n){if(e.isValid()&&!isNaN(n)){if(t==="FullYear"&&le(e.year())&&e.month()===1&&e.date()===29){n=se(n);e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Ze(n,e.month()))}else{e._d["set"+(e._isUTC?"UTC":"")+t](n)}}}function pe(e){e=ne(e);if(P(this[e])){return this[e]()}return this}function he(e,t){if(typeof e==="object"){e=re(e);var n=ie(e),r;for(r=0;r68?1900:2e3)};var mt=ue("FullYear",true);function bt(){return le(this.year())}function gt(e,t,n,r,a,o,i){var l;if(e<100&&e>=0){l=new Date(e+400,t,n,r,a,o,i);if(isFinite(l.getFullYear())){l.setFullYear(e)}}else{l=new Date(e,t,n,r,a,o,i)}return l}function yt(e){var t,n;if(e<100&&e>=0){n=Array.prototype.slice.call(arguments);n[0]=e+400;t=new Date(Date.UTC.apply(null,n));if(isFinite(t.getUTCFullYear())){t.setUTCFullYear(e)}}else{t=new Date(Date.UTC.apply(null,arguments))}return t}function vt(e,t,n){var r=7+t-n,a=(7+yt(e,0,r).getUTCDay()-t)%7;return-a+r-1}function xt(e,t,n,r,a){var o=(7+n-r)%7,i=vt(e,r,a),l=1+7*(t-1)+o+i,c,s;if(l<=0){c=e-1;s=ht(c)+l}else if(l>ht(e)){c=e+1;s=l-ht(e)}else{c=e;s=l}return{year:c,dayOfYear:s}}function wt(e,t,n){var r=vt(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1,o,i;if(a<1){i=e.year()-1;o=a+_t(i,t,n)}else if(a>_t(e.year(),t,n)){o=a-_t(e.year(),t,n);i=e.year()+1}else{i=e.year();o=a}return{week:o,year:i}}function _t(e,t,n){var r=vt(e,t,n),a=vt(e+1,t,n);return(ht(e)-r+a)/7}function Ot(e){return wt(e,this._week.dow,this._week.doy).week}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),te("week","w"),te("isoWeek","W"),oe("week",5),oe("isoWeek",5),Ae("w",xe),Ae("ww",xe,be),Ae("W",xe),Ae("WW",xe,be),Fe(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=se(e)});var Et={dow:0,doy:6};function kt(){return this._week.dow}function Ct(){return this._week.doy}function St(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function Pt(e){var t=wt(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}function Mt(e,t){if(typeof e!=="string"){return e}if(!isNaN(e)){return parseInt(e,10)}e=t.weekdaysParse(e);if(typeof e==="number"){return e}return null}function Tt(e,t){if(typeof e==="string"){return t.weekdaysParse(e)%7||7}return isNaN(e)?null:e}function jt(e,t){return e.slice(t,7).concat(e.slice(0,t))}F("d",0,"do","day"),F("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),F("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),F("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),te("day","d"),te("weekday","e"),te("isoWeekday","E"),oe("day",11),oe("weekday",11),oe("isoWeekday",11),Ae("d",xe),Ae("e",xe),Ae("E",xe),Ae("dd",function(e,t){return t.weekdaysMinRegex(e)}),Ae("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Ae("dddd",function(e,t){return t.weekdaysRegex(e)}),Fe(["dd","ddd","dddd"],function(e,t,n,r){var a=n._locale.weekdaysParse(e,r,n._strict);if(a!=null){t.d=a}else{m(n).invalidWeekday=e}}),Fe(["d","e","E"],function(e,t,n,r){t[r]=se(e)});var Nt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),At="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Dt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Rt=je,It=je,Lt=je;function zt(e,t){var n=i(this._weekdays)?this._weekdays:this._weekdays[e&&e!==true&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===true?jt(n,this._week.dow):e?n[e.day()]:n}function Ft(e){return e===true?jt(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ut(e){return e===true?jt(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ht(e,t,n){var r,a,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[];this._shortWeekdaysParse=[];this._minWeekdaysParse=[];for(r=0;r<7;++r){o=h([2e3,1]).day(r);this._minWeekdaysParse[r]=this.weekdaysMin(o,"").toLocaleLowerCase();this._shortWeekdaysParse[r]=this.weekdaysShort(o,"").toLocaleLowerCase();this._weekdaysParse[r]=this.weekdays(o,"").toLocaleLowerCase()}}if(n){if(t==="dddd"){a=Xe.call(this._weekdaysParse,i);return a!==-1?a:null}else if(t==="ddd"){a=Xe.call(this._shortWeekdaysParse,i);return a!==-1?a:null}else{a=Xe.call(this._minWeekdaysParse,i);return a!==-1?a:null}}else{if(t==="dddd"){a=Xe.call(this._weekdaysParse,i);if(a!==-1){return a}a=Xe.call(this._shortWeekdaysParse,i);if(a!==-1){return a}a=Xe.call(this._minWeekdaysParse,i);return a!==-1?a:null}else if(t==="ddd"){a=Xe.call(this._shortWeekdaysParse,i);if(a!==-1){return a}a=Xe.call(this._weekdaysParse,i);if(a!==-1){return a}a=Xe.call(this._minWeekdaysParse,i);return a!==-1?a:null}else{a=Xe.call(this._minWeekdaysParse,i);if(a!==-1){return a}a=Xe.call(this._weekdaysParse,i);if(a!==-1){return a}a=Xe.call(this._shortWeekdaysParse,i);return a!==-1?a:null}}}function Bt(e,t,n){var r,a,o;if(this._weekdaysParseExact){return Ht.call(this,e,t,n)}if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[]}for(r=0;r<7;r++){a=h([2e3,1]).day(r);if(n&&!this._fullWeekdaysParse[r]){this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i");this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i");this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")}if(!this._weekdaysParse[r]){o="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,"");this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")}if(n&&t==="dddd"&&this._fullWeekdaysParse[r].test(e)){return r}else if(n&&t==="ddd"&&this._shortWeekdaysParse[r].test(e)){return r}else if(n&&t==="dd"&&this._minWeekdaysParse[r].test(e)){return r}else if(!n&&this._weekdaysParse[r].test(e)){return r}}}function Wt(e){if(!this.isValid()){return e!=null?this:NaN}var t=this._isUTC?this._d.getUTCDay():this._d.getDay();if(e!=null){e=Mt(e,this.localeData());return this.add(e-t,"d")}else{return t}}function Kt(e){if(!this.isValid()){return e!=null?this:NaN}var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function Vt(e){if(!this.isValid()){return e!=null?this:NaN}if(e!=null){var t=Tt(e,this.localeData());return this.day(this.day()%7?t:t-7)}else{return this.day()||7}}function qt(e){if(this._weekdaysParseExact){if(!c(this,"_weekdaysRegex")){$t.call(this)}if(e){return this._weekdaysStrictRegex}else{return this._weekdaysRegex}}else{if(!c(this,"_weekdaysRegex")){this._weekdaysRegex=Rt}return this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex}}function Gt(e){if(this._weekdaysParseExact){if(!c(this,"_weekdaysRegex")){$t.call(this)}if(e){return this._weekdaysShortStrictRegex}else{return this._weekdaysShortRegex}}else{if(!c(this,"_weekdaysShortRegex")){this._weekdaysShortRegex=It}return this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}}function Yt(e){if(this._weekdaysParseExact){if(!c(this,"_weekdaysRegex")){$t.call(this)}if(e){return this._weekdaysMinStrictRegex}else{return this._weekdaysMinRegex}}else{if(!c(this,"_weekdaysMinRegex")){this._weekdaysMinRegex=Lt}return this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}}function $t(){function e(e,t){return t.length-e.length}var t=[],n=[],r=[],a=[],o,i,l,c,s;for(o=0;o<7;o++){i=h([2e3,1]).day(o);l=Ie(this.weekdaysMin(i,""));c=Ie(this.weekdaysShort(i,""));s=Ie(this.weekdays(i,""));t.push(l);n.push(c);r.push(s);a.push(l);a.push(c);a.push(s)}t.sort(e);n.sort(e);r.sort(e);a.sort(e);this._weekdaysRegex=new RegExp("^("+a.join("|")+")","i");this._weekdaysShortRegex=this._weekdaysRegex;this._weekdaysMinRegex=this._weekdaysRegex;this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i");this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i");this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function Xt(){return this.hours()%12||12}function Qt(){return this.hours()||24}function Zt(e,t){F(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Jt(e,t){return t._meridiemParse}function en(e){return(e+"").toLowerCase().charAt(0)==="p"}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,Xt),F("k",["kk",2],0,Qt),F("hmm",0,0,function(){return""+Xt.apply(this)+D(this.minutes(),2)}),F("hmmss",0,0,function(){return""+Xt.apply(this)+D(this.minutes(),2)+D(this.seconds(),2)}),F("Hmm",0,0,function(){return""+this.hours()+D(this.minutes(),2)}),F("Hmmss",0,0,function(){return""+this.hours()+D(this.minutes(),2)+D(this.seconds(),2)}),Zt("a",true),Zt("A",false),te("hour","h"),oe("hour",13),Ae("a",Jt),Ae("A",Jt),Ae("H",xe),Ae("h",xe),Ae("k",xe),Ae("HH",xe,be),Ae("hh",xe,be),Ae("kk",xe,be),Ae("hmm",we),Ae("hmmss",_e),Ae("Hmm",we),Ae("Hmmss",_e),ze(["H","HH"],Ke),ze(["k","kk"],function(e,t,n){var r=se(e);t[Ke]=r===24?0:r}),ze(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e);n._meridiem=e}),ze(["h","hh"],function(e,t,n){t[Ke]=se(e);m(n).bigHour=true}),ze("hmm",function(e,t,n){var r=e.length-2;t[Ke]=se(e.substr(0,r));t[Ve]=se(e.substr(r));m(n).bigHour=true}),ze("hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[Ke]=se(e.substr(0,r));t[Ve]=se(e.substr(r,2));t[qe]=se(e.substr(a));m(n).bigHour=true}),ze("Hmm",function(e,t,n){var r=e.length-2;t[Ke]=se(e.substr(0,r));t[Ve]=se(e.substr(r))}),ze("Hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[Ke]=se(e.substr(0,r));t[Ve]=se(e.substr(r,2));t[qe]=se(e.substr(a))});var tn,nn=ue("Hours",true);function rn(e,t,n){if(e>11){return n?"pm":"PM"}else{return n?"am":"AM"}}var an={calendar:N,longDateFormat:K,invalidDate:q,ordinal:Y,dayOfMonthOrdinalParse:$,relativeTime:Q,months:Je,monthsShort:et,week:Et,weekdays:Nt,weekdaysMin:Dt,weekdaysShort:At,meridiemParse:/[ap]\.?m?\.?/i},on={},ln={},cn;function sn(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n0){a=dn(o.slice(0,n).join("-"));if(a){return a}if(r&&r.length>=n&&sn(o,r)>=n-1){break}n--}t++}return cn}function dn(t){var e=null,n;if(on[t]===undefined&&typeof si!=="undefined"&&si&&si.exports){try{e=cn._abbr;n=ui;!function e(){var t=new Error("Cannot find module 'undefined'");t.code="MODULE_NOT_FOUND";throw t}();pn(e)}catch(e){on[t]=null}}return on[t]}function pn(e,t){var n;if(e){if(o(t)){n=bn(e)}else{n=hn(e,t)}if(n){cn=n}else{if(typeof console!=="undefined"&&console.warn){console.warn("Locale "+e+" not found. Did you forget to load it?")}}}return cn._abbr}function hn(e,t){if(t!==null){var n,r=an;t.abbr=e;if(on[e]!=null){S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change "+"an existing locale. moment.defineLocale(localeName, "+"config) should only be used for creating a new locale "+"See http://momentjs.com/guides/#/warnings/define-locale/ for more info.");r=on[e]._config}else if(t.parentLocale!=null){if(on[t.parentLocale]!=null){r=on[t.parentLocale]._config}else{n=dn(t.parentLocale);if(n!=null){r=n._config}else{if(!ln[t.parentLocale]){ln[t.parentLocale]=[]}ln[t.parentLocale].push({name:e,config:t});return null}}}on[e]=new j(T(r,t));if(ln[e]){ln[e].forEach(function(e){hn(e.name,e.config)})}pn(e);return on[e]}else{delete on[e];return null}}function mn(e,t){if(null!=t){var t,n,r=an;null!=on[e]&&null!=on[e].parentLocale?on[e].set(T(on[e]._config,t)):(null!=(n=dn(e))&&(r=n._config),t=T(r,t),null==n&&(t.abbr=e),(t=new j(t)).parentLocale=on[e],on[e]=t),pn(e)}else null!=on[e]&&(null!=on[e].parentLocale?(on[e]=on[e].parentLocale,e===pn()&&pn(e)):null!=on[e]&&delete on[e]);return on[e]}function bn(e){var t;if(e&&e._locale&&e._locale._abbr){e=e._locale._abbr}if(!e){return cn}if(!i(e)){t=dn(e);if(t){return t}e=[e]}return fn(e)}function gn(){return C(on)}function yn(e){var t,n=e._a;if(n&&m(e).overflow===-2){t=n[Be]<0||n[Be]>11?Be:n[We]<1||n[We]>Ze(n[He],n[Be])?We:n[Ke]<0||n[Ke]>24||n[Ke]===24&&(n[Ve]!==0||n[qe]!==0||n[Ge]!==0)?Ke:n[Ve]<0||n[Ve]>59?Ve:n[qe]<0||n[qe]>59?qe:n[Ge]<0||n[Ge]>999?Ge:-1;if(m(e)._overflowDayOfYear&&(tWe)){t=We}if(m(e)._overflowWeeks&&t===-1){t=Ye}if(m(e)._overflowWeekday&&t===-1){t=$e}m(e).overflow=t}return e}var vn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,xn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wn=/Z|[+-]\d\d(?::?\d\d)?/,_n=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,false],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,false],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,false],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,false],["YYYY",/\d{4}/,false]],On=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],En=/^\/?Date\((-?\d+)/i,kn=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Cn={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Sn(e){var t,n,r=e._i,a=vn.exec(r)||xn.exec(r),o,i,l,c;if(a){m(e).iso=true;for(t=0,n=_n.length;tht(i)||e._dayOfYear===0){m(e)._overflowDayOfYear=true}n=yt(i,0,e._dayOfYear);e._a[Be]=n.getUTCMonth();e._a[We]=n.getUTCDate()}for(t=0;t<3&&e._a[t]==null;++t){e._a[t]=r[t]=a[t]}for(;t<7;t++){e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t]}if(e._a[Ke]===24&&e._a[Ve]===0&&e._a[qe]===0&&e._a[Ge]===0){e._nextDay=true;e._a[Ke]=0}e._d=(e._useUTC?yt:gt).apply(null,r);o=e._useUTC?e._d.getUTCDay():e._d.getDay();if(e._tzm!=null){e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm)}if(e._nextDay){e._a[Ke]=24}if(e._w&&typeof e._w.d!=="undefined"&&e._w.d!==o){m(e).weekdayMismatch=true}}function zn(e){var t,n,r,a,o,i,l,c,s;t=e._w;if(t.GG!=null||t.W!=null||t.E!=null){o=1;i=4;n=Rn(t.GG,e._a[He],wt(Gn(),1,4).year);r=Rn(t.W,1);a=Rn(t.E,1);if(a<1||a>7){c=true}}else{o=e._locale._week.dow;i=e._locale._week.doy;s=wt(Gn(),o,i);n=Rn(t.gg,e._a[He],s.year);r=Rn(t.w,s.week);if(t.d!=null){a=t.d;if(a<0||a>6){c=true}}else if(t.e!=null){a=t.e+o;if(t.e<0||t.e>6){c=true}}else{a=o}}if(r<1||r>_t(n,o,i)){m(e)._overflowWeeks=true}else if(c!=null){m(e)._overflowWeekday=true}else{l=xt(n,r,a,o,i);e._a[He]=l.year;e._dayOfYear=l.dayOfYear}}function Fn(e){if(e._f===u.ISO_8601){Sn(e);return}if(e._f===u.RFC_2822){An(e);return}e._a=[];m(e).empty=true;var t=""+e._i,n,r,a,o,i,l=t.length,c=0,s;a=W(e._f,e._locale).match(R)||[];for(n=0;n0){m(e).unusedInput.push(i)}t=t.slice(t.indexOf(r)+r.length);c+=r.length}if(z[o]){if(r){m(e).empty=false}else{m(e).unusedTokens.push(o)}Ue(o,r,e)}else if(e._strict&&!r){m(e).unusedTokens.push(o)}}m(e).charsLeftOver=l-c;if(t.length>0){m(e).unusedInput.push(t)}if(e._a[Ke]<=12&&m(e).bigHour===true&&e._a[Ke]>0){m(e).bigHour=undefined}m(e).parsedDateParts=e._a.slice(0);m(e).meridiem=e._meridiem;e._a[Ke]=Un(e._locale,e._a[Ke],e._meridiem);s=m(e).era;if(s!==null){e._a[He]=e._locale.erasConvertYear(s,e._a[He])}Ln(e);yn(e)}function Un(e,t,n){var r;if(n==null){return t}if(e.meridiemHour!=null){return e.meridiemHour(t,n)}else if(e.isPM!=null){r=e.isPM(n);if(r&&t<12){t+=12}if(!r&&t===12){t=0}return t}else{return t}}function Hn(e){var t,n,r,a,o,i,l=false;if(e._f.length===0){m(e).invalidFormat=true;e._d=new Date(NaN);return}for(a=0;athis?this:e}else{return g()}});function Xn(e,t){var n,r;if(t.length===1&&i(t[0])){t=t[0]}if(!t.length){return Gn()}n=t[0];for(r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function xr(){if(!o(this._isDSTShifted)){return this._isDSTShifted}var e={},t;x(e,this);e=Kn(e);if(e._a){t=e._isUTC?h(e._a):Gn(e._a);this._isDSTShifted=this.isValid()&&lr(e._a,t.toArray())>0}else{this._isDSTShifted=false}return this._isDSTShifted}function wr(){return this.isValid()?!this._isUTC:false}function _r(){return this.isValid()?this._isUTC:false}function Or(){return this.isValid()?this._isUTC&&this._offset===0:false}u.updateOffset=function(){};var Er=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,kr=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Cr(e,t){var n=e,r=null,a,o,i;if(or(e)){n={ms:e._milliseconds,d:e._days,M:e._months}}else if(f(e)||!isNaN(+e)){n={};if(t){n[t]=+e}else{n.milliseconds=+e}}else if(r=Er.exec(e)){a=r[1]==="-"?-1:1;n={y:0,d:se(r[We])*a,h:se(r[Ke])*a,m:se(r[Ve])*a,s:se(r[qe])*a,ms:se(ir(r[Ge]*1e3))*a}}else if(r=kr.exec(e)){a=r[1]==="-"?-1:1;n={y:Sr(r[2],a),M:Sr(r[3],a),w:Sr(r[4],a),d:Sr(r[5],a),h:Sr(r[6],a),m:Sr(r[7],a),s:Sr(r[8],a)}}else if(n==null){n={}}else if(typeof n==="object"&&("from"in n||"to"in n)){i=Mr(Gn(n.from),Gn(n.to));n={};n.ms=i.milliseconds;n.M=i.months}o=new ar(n);if(or(e)&&c(e,"_locale")){o._locale=e._locale}if(or(e)&&c(e,"_isValid")){o._isValid=e._isValid}return o}function Sr(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Pr(e,t){var n={};n.months=t.month()-e.month()+(t.year()-e.year())*12;if(e.clone().add(n.months,"M").isAfter(t)){--n.months}n.milliseconds=+t-+e.clone().add(n.months,"M");return n}function Mr(e,t){var n;if(!(e.isValid()&&t.isValid())){return{milliseconds:0,months:0}}t=fr(t,e);if(e.isBefore(t)){n=Pr(e,t)}else{n=Pr(t,e);n.milliseconds=-n.milliseconds;n.months=-n.months}return n}function Tr(a,o){return function(e,t){var n,r;if(t!==null&&!isNaN(+t)){S(o,"moment()."+o+"(period, number) is deprecated. Please use moment()."+o+"(number, period). "+"See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.");r=e;e=t;t=r}n=Cr(e,t);jr(this,n,a);return this}}function jr(e,t,n,r){var a=t._milliseconds,o=ir(t._days),i=ir(t._months);if(!e.isValid()){return}r=r==null?true:r;if(i){ct(e,fe(e,"Month")+i*n)}if(o){de(e,"Date",fe(e,"Date")+o*n)}if(a){e._d.setTime(e._d.valueOf()+a*n)}if(r){u.updateOffset(e,o||i)}}Cr.fn=ar.prototype,Cr.invalid=rr;var Nr=Tr(1,"add"),Ar=Tr(-1,"subtract");function Dr(e){return typeof e==="string"||e instanceof String}function Rr(e){return _(e)||d(e)||Dr(e)||f(e)||Lr(e)||Ir(e)||e===null||e===undefined}function Ir(e){var t=l(e)&&!s(e),n=false,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a,o;for(a=0;an.valueOf()}else{return n.valueOf()9999){return B(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ")}if(P(Date.prototype.toISOString)){if(t){return this.toDate().toISOString()}else{return new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",B(n,"Z"))}}return B(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Zr(){if(!this.isValid()){return"moment.invalid(/* "+this._i+" */)"}var e="moment",t="",n,r,a,o;if(!this.isLocal()){e=this.utcOffset()===0?"moment.utc":"moment.parseZone";t="Z"}n="["+e+'("]';r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";a="-MM-DD[T]HH:mm:ss.SSS";o=t+'[")]';return this.format(n+r+a+o)}function Jr(e){if(!e){e=this.isUtc()?u.defaultFormatUtc:u.defaultFormat}var t=B(this,e);return this.localeData().postformat(t)}function ea(e,t){if(this.isValid()&&(_(e)&&e.isValid()||Gn(e).isValid())){return Cr({to:this,from:e}).locale(this.locale()).humanize(!t)}else{return this.localeData().invalidDate()}}function ta(e){return this.from(Gn(),e)}function na(e,t){if(this.isValid()&&(_(e)&&e.isValid()||Gn(e).isValid())){return Cr({from:this,to:e}).locale(this.locale()).humanize(!t)}else{return this.localeData().invalidDate()}}function ra(e){return this.to(Gn(),e)}function aa(e){var t;if(e===undefined){return this._locale._abbr}else{t=bn(e);if(t!=null){this._locale=t}return this}}u.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",u.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var oa=E("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){if(e===undefined){return this.localeData()}else{return this.locale(e)}});function ia(){return this._locale}var la=1e3,ca=60*la,sa=60*ca,ua=(365*400+97)*24*sa;function fa(e,t){return(e%t+t)%t}function da(e,t,n){if(e<100&&e>=0){return new Date(e+400,t,n)-ua}else{return new Date(e,t,n).valueOf()}}function pa(e,t,n){if(e<100&&e>=0){return Date.UTC(e+400,t,n)-ua}else{return Date.UTC(e,t,n)}}function ha(e){var t,n;e=ne(e);if(e===undefined||e==="millisecond"||!this.isValid()){return this}n=this._isUTC?pa:da;switch(e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf();t-=fa(t+(this._isUTC?0:this.utcOffset()*ca),sa);break;case"minute":t=this._d.valueOf();t-=fa(t,ca);break;case"second":t=this._d.valueOf();t-=fa(t,la);break}this._d.setTime(t);u.updateOffset(this,true);return this}function ma(e){var t,n;e=ne(e);if(e===undefined||e==="millisecond"||!this.isValid()){return this}n=this._isUTC?pa:da;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf();t+=sa-fa(t+(this._isUTC?0:this.utcOffset()*ca),sa)-1;break;case"minute":t=this._d.valueOf();t+=ca-fa(t,ca)-1;break;case"second":t=this._d.valueOf();t+=la-fa(t,la)-1;break}this._d.setTime(t);u.updateOffset(this,true);return this}function ba(){return this._d.valueOf()-(this._offset||0)*6e4}function ga(){return Math.floor(this.valueOf()/1e3)}function ya(){return new Date(this.valueOf())}function va(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function xa(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function wa(){return this.isValid()?this.toISOString():null}function _a(){return b(this)}function Oa(){return p({},m(this))}function Ea(){return m(this).overflow}function ka(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Ca(e,t){var n,r,a,o=this._eras||bn("en")._eras;for(n=0,r=o.length;n=0){return o[r]}}}function Pa(e,t){var n=e.since<=e.until?+1:-1;if(t===undefined){return u(e.since).year()}else{return u(e.since).year()+(t-e.offset)*n}}function Ma(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;eo){t=o}return $a.call(this,e,t,n,r,a)}}function $a(e,t,n,r,a){var o=xt(e,t,n,r,a),i=yt(o.year,0,o.dayOfYear);this.year(i.getUTCFullYear());this.month(i.getUTCMonth());this.date(i.getUTCDate());return this}function Xa(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}F("N",0,0,"eraAbbr"),F("NN",0,0,"eraAbbr"),F("NNN",0,0,"eraAbbr"),F("NNNN",0,0,"eraName"),F("NNNNN",0,0,"eraNarrow"),F("y",["y",1],"yo","eraYear"),F("y",["yy",2],0,"eraYear"),F("y",["yyy",3],0,"eraYear"),F("y",["yyyy",4],0,"eraYear"),Ae("N",Ia),Ae("NN",Ia),Ae("NNN",Ia),Ae("NNNN",La),Ae("NNNNN",za),ze(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,r){var a=n._locale.erasParse(e,r,n._strict);if(a){m(n).era=a}else{m(n).invalidEra=e}}),Ae("y",Ce),Ae("yy",Ce),Ae("yyy",Ce),Ae("yyyy",Ce),Ae("yo",Fa),ze(["y","yy","yyy","yyyy"],He),ze(["yo"],function(e,t,n,r){var a;if(n._locale._eraYearOrdinalRegex){a=e.match(n._locale._eraYearOrdinalRegex)}if(n._locale.eraYearOrdinalParse){t[He]=n._locale.eraYearOrdinalParse(e,a)}else{t[He]=parseInt(e,10)}}),F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Ha("gggg","weekYear"),Ha("ggggg","weekYear"),Ha("GGGG","isoWeekYear"),Ha("GGGGG","isoWeekYear"),te("weekYear","gg"),te("isoWeekYear","GG"),oe("weekYear",1),oe("isoWeekYear",1),Ae("G",Se),Ae("g",Se),Ae("GG",xe,be),Ae("gg",xe,be),Ae("GGGG",Ee,ye),Ae("gggg",Ee,ye),Ae("GGGGG",ke,ve),Ae("ggggg",ke,ve),Fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,r){t[r.substr(0,2)]=se(e)}),Fe(["gg","GG"],function(e,t,n,r){t[r]=u.parseTwoDigitYear(e)}),F("Q",0,"Qo","quarter"),te("quarter","Q"),oe("quarter",7),Ae("Q",me),ze("Q",function(e,t){t[Be]=(se(e)-1)*3}),F("D",["DD",2],"Do","date"),te("date","D"),oe("date",9),Ae("D",xe),Ae("DD",xe,be),Ae("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ze(["D","DD"],We),ze("Do",function(e,t){t[We]=se(e.match(xe)[0])});var Qa=ue("Date",true);function Za(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}F("DDD",["DDDD",3],"DDDo","dayOfYear"),te("dayOfYear","DDD"),oe("dayOfYear",4),Ae("DDD",Oe),Ae("DDDD",ge),ze(["DDD","DDDD"],function(e,t,n){n._dayOfYear=se(e)}),F("m",["mm",2],0,"minute"),te("minute","m"),oe("minute",14),Ae("m",xe),Ae("mm",xe,be),ze(["m","mm"],Ve);var Ja=ue("Minutes",false);F("s",["ss",2],0,"second"),te("second","s"),oe("second",15),Ae("s",xe),Ae("ss",xe,be),ze(["s","ss"],qe);var eo=ue("Seconds",false),to,no;for(F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,function(){return this.millisecond()*10}),F(0,["SSSSS",5],0,function(){return this.millisecond()*100}),F(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),F(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),F(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),F(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),te("millisecond","ms"),oe("millisecond",16),Ae("S",Oe,me),Ae("SS",Oe,be),Ae("SSS",Oe,ge),to="SSSS";to.length<=9;to+="S"){Ae(to,Ce)}function ro(e,t){t[Ge]=se(("0."+e)*1e3)}for(to="S";to.length<=9;to+="S"){ze(to,ro)}function ao(){return this._isUTC?"UTC":""}function oo(){return this._isUTC?"Coordinated Universal Time":""}no=ue("Milliseconds",false),F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var io=w.prototype;if(io.add=Nr,io.calendar=Ur,io.clone=Hr,io.diff=Yr,io.endOf=ma,io.format=Jr,io.from=ea,io.fromNow=ta,io.to=na,io.toNow=ra,io.get=pe,io.invalidAt=Ea,io.isAfter=Br,io.isBefore=Wr,io.isBetween=Kr,io.isSame=Vr,io.isSameOrAfter=qr,io.isSameOrBefore=Gr,io.isValid=_a,io.lang=oa,io.locale=aa,io.localeData=ia,io.max=$n,io.min=Yn,io.parsingFlags=Oa,io.set=he,io.startOf=ha,io.subtract=Ar,io.toArray=va,io.toObject=xa,io.toDate=ya,io.toISOString=Qr,io.inspect=Zr,typeof Symbol!=="undefined"&&Symbol.for!=null){io[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}}function lo(e){return Gn(1e3*e)}function co(){return Gn.apply(null,arguments).parseZone()}function so(e){return e}io.toJSON=wa,io.toString=Xr,io.unix=ga,io.valueOf=ba,io.creationData=ka,io.eraName=Ma,io.eraNarrow=Ta,io.eraAbbr=ja,io.eraYear=Na,io.year=mt,io.isLeapYear=bt,io.weekYear=Ba,io.isoWeekYear=Wa,io.quarter=io.quarters=Xa,io.month=st,io.daysInMonth=ut,io.week=io.weeks=St,io.isoWeek=io.isoWeeks=Pt,io.weeksInYear=qa,io.weeksInWeekYear=Ga,io.isoWeeksInYear=Ka,io.isoWeeksInISOWeekYear=Va,io.date=Qa,io.day=io.days=Wt,io.weekday=Kt,io.isoWeekday=Vt,io.dayOfYear=Za,io.hour=io.hours=nn,io.minute=io.minutes=Ja,io.second=io.seconds=eo,io.millisecond=io.milliseconds=no,io.utcOffset=pr,io.utc=mr,io.local=br,io.parseZone=gr,io.hasAlignedHourOffset=yr,io.isDST=vr,io.isLocal=wr,io.isUtcOffset=_r,io.isUtc=Or,io.isUTC=Or,io.zoneAbbr=ao,io.zoneName=oo,io.dates=E("dates accessor is deprecated. Use date instead.",Qa),io.months=E("months accessor is deprecated. Use month instead",st),io.years=E("years accessor is deprecated. Use year instead",mt),io.zone=E("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",hr),io.isDSTShifted=E("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",xr);var uo=j.prototype;function fo(e,t,n,r){var a=bn(),o=h().set(r,t);return a[n](o,e)}function po(e,t,n){if(f(e)){t=e;e=undefined}e=e||"";if(t!=null){return fo(e,t,n,"month")}var r,a=[];for(r=0;r<12;r++){a[r]=fo(e,r,n,"month")}return a}function ho(e,t,n,r){if(typeof e==="boolean"){if(f(t)){n=t;t=undefined}t=t||""}else{t=e;n=t;e=false;if(f(t)){n=t;t=undefined}t=t||""}var a=bn(),o=e?a._week.dow:0,i,l=[];if(n!=null){return fo(t,(n+o)%7,r,"day")}for(i=0;i<7;i++){l[i]=fo(t,(i+o)%7,r,"day")}return l}function mo(e,t){return po(e,t,"months")}function bo(e,t){return po(e,t,"monthsShort")}function go(e,t,n){return ho(e,t,n,"weekdays")}function yo(e,t,n){return ho(e,t,n,"weekdaysShort")}function vo(e,t,n){return ho(e,t,n,"weekdaysMin")}uo.calendar=A,uo.longDateFormat=V,uo.invalidDate=G,uo.ordinal=X,uo.preparse=so,uo.postformat=so,uo.relativeTime=Z,uo.pastFuture=J,uo.set=M,uo.eras=Ca,uo.erasParse=Sa,uo.erasConvertYear=Pa,uo.erasAbbrRegex=Da,uo.erasNameRegex=Aa,uo.erasNarrowRegex=Ra,uo.months=at,uo.monthsShort=ot,uo.monthsParse=lt,uo.monthsRegex=dt,uo.monthsShortRegex=ft,uo.week=Ot,uo.firstDayOfYear=Ct,uo.firstDayOfWeek=kt,uo.weekdays=zt,uo.weekdaysMin=Ut,uo.weekdaysShort=Ft,uo.weekdaysParse=Bt,uo.weekdaysRegex=qt,uo.weekdaysShortRegex=Gt,uo.weekdaysMinRegex=Yt,uo.isPM=en,uo.meridiem=rn,pn("en",{eras:[{since:"0001-01-01",until:+Infinity,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-Infinity,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=se(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+n}}),u.lang=E("moment.lang is deprecated. Use moment.locale instead.",pn),u.langData=E("moment.langData is deprecated. Use moment.localeData instead.",bn);var xo=Math.abs;function wo(){var e=this._data;return this._milliseconds=xo(this._milliseconds),this._days=xo(this._days),this._months=xo(this._months),e.milliseconds=xo(e.milliseconds),e.seconds=xo(e.seconds),e.minutes=xo(e.minutes),e.hours=xo(e.hours),e.months=xo(e.months),e.years=xo(e.years),this}function _o(e,t,n,r){var a=Cr(t,n);e._milliseconds+=r*a._milliseconds;e._days+=r*a._days;e._months+=r*a._months;return e._bubble()}function Oo(e,t){return _o(this,e,t,1)}function Eo(e,t){return _o(this,e,t,-1)}function ko(e){if(e<0){return Math.floor(e)}else{return Math.ceil(e)}}function Co(){var e=this._milliseconds,t=this._days,n=this._months,r=this._data;if(!(0<=e&&0<=t&&0<=n||e<=0&&t<=0&&n<=0))e+=864e5*ko(Po(n)+t),n=t=0;return r.milliseconds=e%1e3,e=ce(e/1e3),r.seconds=e%60,e=ce(e/60),r.minutes=e%60,e=ce(e/60),r.hours=e%24,t+=ce(e/24),e=ce(So(t)),n+=e,t-=ko(Po(e)),e=ce(n/12),n%=12,r.days=t,r.months=n,r.years=e,this}function So(e){return e*4800/146097}function Po(e){return e*146097/4800}function Mo(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=ne(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+So(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Po(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}}function To(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*se(this._months/12):NaN}function jo(e){return function(){return this.as(e)}}var No=jo("ms"),Ao=jo("s"),Do=jo("m"),Ro=jo("h"),Io=jo("d"),Lo=jo("w"),zo=jo("M"),Fo=jo("Q"),Uo=jo("y");function Ho(){return Cr(this)}function Bo(e){return e=ne(e),this.isValid()?this[e+"s"]():NaN}function Wo(e){return function(){return this.isValid()?this._data[e]:NaN}}var Ko=Wo("milliseconds"),Vo=Wo("seconds"),qo=Wo("minutes"),Go=Wo("hours"),Yo=Wo("days"),$o=Wo("months"),Xo=Wo("years");function Qo(){return ce(this.days()/7)}var Zo=Math.round,Jo={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function ei(e,t,n,r,a){return a.relativeTime(t||1,!!n,e,r)}function ti(e,t,n,r){var a=Cr(e).abs(),o=Zo(a.as("s")),i=Zo(a.as("m")),l=Zo(a.as("h")),c=Zo(a.as("d")),s=Zo(a.as("M")),u=Zo(a.as("w")),a=Zo(a.as("y")),c=(o<=n.ss?["s",o]:o0)-(e<0)||+e}function li(){if(!this.isValid()){return this.localeData().invalidDate()}var e=oi(this._milliseconds)/1e3,t=oi(this._days),n=oi(this._months),r,a,o,i,l=this.asSeconds(),c,s,u,f;if(!l){return"P0D"}r=ce(e/60);a=ce(r/60);e%=60;r%=60;o=ce(n/12);n%=12;i=e?e.toFixed(3).replace(/\.?0+$/,""):"";c=l<0?"-":"";s=ii(this._months)!==ii(l)?"-":"";u=ii(this._days)!==ii(l)?"-":"";f=ii(this._milliseconds)!==ii(l)?"-":"";return c+"P"+(o?s+o+"Y":"")+(n?s+n+"M":"")+(t?u+t+"D":"")+(a||r||e?"T":"")+(a?f+a+"H":"")+(r?f+r+"M":"")+(e?f+i+"S":"")}var ci=ar.prototype;return ci.isValid=function(){return this._isValid},ci.abs=function(){var e=this._data;return this._milliseconds=xo(this._milliseconds),this._days=xo(this._days),this._months=xo(this._months),e.milliseconds=xo(e.milliseconds),e.seconds=xo(e.seconds),e.minutes=xo(e.minutes),e.hours=xo(e.hours),e.months=xo(e.months),e.years=xo(e.years),this},ci.add=function(e,t){return _o(this,e,t,1)},ci.subtract=function(e,t){return _o(this,e,t,-1)},ci.as=function(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=ne(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+So(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Po(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}},ci.asMilliseconds=No,ci.asSeconds=Ao,ci.asMinutes=Do,ci.asHours=Ro,ci.asDays=Io,ci.asWeeks=Lo,ci.asMonths=zo,ci.asQuarters=Fo,ci.asYears=Uo,ci.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*se(this._months/12):NaN},ci._bubble=function(){var e=this._milliseconds,t=this._days,n=this._months,r=this._data;0<=e&&0<=t&&0<=n||e<=0&&t<=0&&n<=0||(e+=864e5*ko(Po(n)+t),n=t=0);return r.milliseconds=e%1e3,e=ce(e/1e3),r.seconds=e%60,e=ce(e/60),r.minutes=e%60,e=ce(e/60),r.hours=e%24,t+=ce(e/24),e=ce(So(t)),n+=e,t-=ko(Po(e)),e=ce(n/12),n%=12,r.days=t,r.months=n,r.years=e,this},ci.clone=function(){return Cr(this)},ci.get=function(e){return e=ne(e),this.isValid()?this[e+"s"]():NaN},ci.milliseconds=Ko,ci.seconds=Vo,ci.minutes=qo,ci.hours=Go,ci.days=Yo,ci.weeks=function(){return ce(this.days()/7)},ci.months=$o,ci.years=Xo,ci.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n=!1,r=Jo;"object"==typeof e&&(t=e,e=!1);"boolean"==typeof e&&(n=e);"object"==typeof t&&(r=Object.assign({},Jo,t),null!=t.s&&null==t.ss&&(r.ss=t.s-1));t=this.localeData(),r=function(e,t,n,r){var a=Cr(e).abs(),o=Zo(a.as("s")),i=Zo(a.as("m")),l=Zo(a.as("h")),c=Zo(a.as("d")),s=Zo(a.as("M")),u=Zo(a.as("w")),a=Zo(a.as("y")),c=(o<=n.ss?["s",o]:oo.length){var l=u(e);if(c!==null){e.seed=c}o.push(l)}e.count=a;return o}t=f(e);n=d(t,e);r=p(t,n,e);return h([t,n,r],e)};function f(e){if(s.length>0){var t=_(e.hue);var n=g(t);var r=(t[1]-t[0])/s.length;var a=parseInt((n-t[0])/r);if(s[a]===true){a=(a+2)%s.length}else{s[a]=true}var o=(t[0]+a*r)%359,i=(t[0]+(a+1)*r)%359;t=[o,i];n=g(t);if(n<0){n=360+n}return n}else{var t=m(e.hue);n=g(t);if(n<0){n=360+n}return n}}function d(e,t){if(t.hue==="monochrome"){return 0}if(t.luminosity==="random"){return g([0,100])}var n=i(e);var r=n[0],a=n[1];switch(t.luminosity){case"bright":r=55;break;case"dark":r=a-10;break;case"light":a=55;break}return g([r,a])}function p(e,t,n){var r=o(e,t),a=100;switch(n.luminosity){case"dark":a=r+20;break;case"light":r=(a+r)/2;break;case"random":r=0;a=100;break}return g([r,a])}function h(e,t){switch(t.format){case"hsvArray":return e;case"hslArray":return x(e);case"hsl":var n=x(e);return"hsl("+n[0]+", "+n[1]+"%, "+n[2]+"%)";case"hsla":var r=x(e);var a=t.alpha||Math.random();return"hsla("+r[0]+", "+r[1]+"%, "+r[2]+"%, "+a+")";case"rgbArray":return v(e);case"rgb":var o=v(e);return"rgb("+o.join(", ")+")";case"rgba":var i=v(e);var a=t.alpha||Math.random();return"rgba("+i.join(", ")+", "+a+")";default:return y(e)}}function o(e,t){var n=b(e).lowerBounds;for(var r=0;r=a&&t<=i){var c=(l-o)/(i-a),s=o-c*a;return c*t+s}}return 0}function m(e){if(typeof parseInt(e)==="number"){var t=parseInt(e);if(t<360&&t>0){return[t,t]}}if(typeof e==="string"){if(l[e]){var n=l[e];if(n.hueRange){return n.hueRange}}else if(e.match(/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i)){var r=a(e)[0];return[r,r]}}return[0,360]}function i(e){return b(e).saturationRange}function b(e){if(e>=334&&e<=360){e-=360}for(var t in l){var n=l[t];if(n.hueRange&&e>=n.hueRange[0]&&e<=n.hueRange[1]){return l[t]}}return"Color not found"}function g(e){if(c===null){var t=.618033988749895;var n=Math.random();n+=t;n%=1;return Math.floor(e[0]+n*(e[1]+1-e[0]))}else{var r=e[1]||1;var a=e[0]||0;c=(c*9301+49297)%233280;var o=c/233280;return Math.floor(a+o*(r-a))}}function y(e){var t=v(e);function n(e){var t=e.toString(16);return t.length==1?"0"+t:t}var r="#"+n(t[0])+n(t[1])+n(t[2]);return r}function e(e,t,n){var r=n[0][0],a=n[n.length-1][0],o=n[n.length-1][1],i=n[0][1];l[e]={hueRange:t,lowerBounds:n,saturationRange:[r,a],brightnessRange:[o,i]}}function t(){e("monochrome",null,[[0,0],[100,0]]);e("red",[-26,18],[[20,100],[30,92],[40,89],[50,85],[60,78],[70,70],[80,60],[90,55],[100,50]]);e("orange",[18,46],[[20,100],[30,93],[40,88],[50,86],[60,85],[70,70],[100,70]]);e("yellow",[46,62],[[25,100],[40,94],[50,89],[60,86],[70,84],[80,82],[90,80],[100,75]]);e("green",[62,178],[[30,100],[40,90],[50,85],[60,81],[70,74],[80,64],[90,50],[100,40]]);e("blue",[178,257],[[20,100],[30,86],[40,80],[50,74],[60,60],[70,52],[80,44],[90,39],[100,35]]);e("purple",[257,282],[[20,100],[30,87],[40,79],[50,70],[60,65],[70,59],[80,52],[90,45],[100,42]]);e("pink",[282,334],[[20,100],[30,90],[40,86],[60,84],[80,80],[90,75],[100,73]])}function v(e){var t=e[0];if(t===0){t=1}if(t===360){t=359}t=t/360;var n=e[1]/100,r=e[2]/100;var a=Math.floor(t*6),o=t*6-a,i=r*(1-n),l=r*(1-o*n),c=r*(1-(1-o)*n),s=256,u=256,f=256;switch(a){case 0:s=r;u=c;f=i;break;case 1:s=l;u=r;f=i;break;case 2:s=i;u=r;f=c;break;case 3:s=i;u=l;f=r;break;case 4:s=c;u=i;f=r;break;case 5:s=r;u=i;f=l;break}var d=[Math.floor(s*255),Math.floor(u*255),Math.floor(f*255)];return d}function a(e){e=e.replace(/^#/,"");e=e.length===3?e.replace(/(.)/g,"$1$1"):e;var t=parseInt(e.substr(0,2),16)/255,n=parseInt(e.substr(2,2),16)/255,r=parseInt(e.substr(4,2),16)/255;var a=Math.max(t,n,r),o=a-Math.min(t,n,r),i=a?o/a:0;switch(a){case t:return[60*((n-r)/o%6)||0,i,a];case n:return[60*((r-t)/o+2)||0,i,a];case r:return[60*((t-n)/o+4)||0,i,a]}}function x(e){var t=e[0],n=e[1]/100,r=e[2]/100,a=(2-n)*r;return[t,Math.round(n*r/(a<1?a:2-a)*1e4)/100,a/2*100]}function w(e){var t=0;for(var n=0;n!==e.length;n++){if(t>=Number.MAX_SAFE_INTEGER)break;t+=e.charCodeAt(n)}return t}function _(e){if(!isNaN(e)){var t=parseInt(e);if(t<360&&t>0){return b(e).hueRange}}else if(typeof e==="string"){if(l[e]){var n=l[e];if(n.hueRange){return n.hueRange}}else if(e.match(/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i)){var r=a(e)[0];return b(r).hueRange}}return[0,360]}return u}(),e&&e.exports&&(n=e.exports=t),n.randomColor=t}).call(this,t(117)(e))},function(e,t,n){var r=n(103),a=n(623),o=n(270),i=n(630),o=o(function(e){var t=r(e,i);return t.length&&t[0]===e[0]?a(t):[]});e.exports=o},function(e,t,n){var r=n(259),a=n(632),o=n(46),i=n(14);e.exports=function(e,t){return(i(e)?r:a)(e,o(t,3))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,a=n(651),n=(r=a)&&r.__esModule?r:{default:r};t.default=n.default},function(e,t,n){var r=n(63),a=n(654),o=n(55),i=Function.prototype,n=Object.prototype,l=i.toString,c=n.hasOwnProperty,s=l.call(Object);e.exports=function(e){return!(!o(e)||"[object Object]"!=r(e))&&(null===(e=a(e))||"function"==typeof(e=c.call(e,"constructor")&&e.constructor)&&e instanceof e&&l.call(e)==s)}},function(e,t,n){var r=n(277),a=n(655);e.exports=function(e,t){return r(a(e,t),1)}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var a=n(257),o=n(46),i=n(668),l=n(14),c=n(130);e.exports=function(e,t,n){var r=l(e)?a:i;return n&&c(e,t,n)&&(t=void 0),r(e,o(t,3))}},function(e,t,n){n=n(672)(n(673));e.exports=n},function(e,t,n){var o=n(138),i=n(33);e.exports=function(e,t,n){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return i(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),o(e,t,{leading:r,maxWait:t,trailing:a})}},function(e,t,n){"use strict";var r,a="object"==typeof Reflect?Reflect:null,c=a&&"function"==typeof a.apply?a.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=a&&"function"==typeof a.ownKeys?a.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function i(){i.init.call(this)}e.exports=i,e.exports.once=function(a,o){return new Promise(function(e,t){function n(){void 0!==r&&a.removeListener("error",r),e([].slice.call(arguments))}var r;"error"!==o&&(r=function(e){a.removeListener(o,n),t(e)},a.once("error",r)),a.once(o,n)})},(i.EventEmitter=i).prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var l=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?i.defaultMaxListeners:e._maxListeners}function f(e,t,n,r){var a,o;return s(n),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),o=a[t]),void 0===o?(o=a[t]=n,++e._eventsCount):("function"==typeof o?o=a[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),0<(n=u(e))&&o.length>n&&!o.warned&&(o.warned=!0,(n=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit")).name="MaxListenersExceededWarning",n.emitter=e,n.type=t,n.count=o.length,console&&console.warn)),e}function d(e,t,n){e={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},t=function(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}.bind(e);return t.listener=n,e.wrapFn=t}function p(e,t,n){e=e._events;if(void 0===e)return[];t=e[t];return void 0===t?[]:"function"==typeof t?n?[t.listener||t]:[t]:n?function(e){for(var t=new Array(e.length),n=0;n "),e=r?a:e;return f.a.createElement(d.a,{overlayStyle:{maxWidth:"800px"},title:e},f.a.createElement("div",null,f.a.createElement("span",{className:"inner_path_text"},t)))},C=[{title:"title",key:"Name",ellipsis:!0,render:t},{title:"UseTime",key:"UseTime",render:s,width:"150px"},{title:"status",align:"center",width:"150px",render:function(e){return(e.subGroups?Object(_.b):E)(e)}},{width:"100px",title:"action",key:"operation",render:function(e){var t=e.failureMessages,n=e.fullName,r=e.fileAttachInfos;return!e.subGroups&&f.a.createElement(w.a,{caseAttachInfos:r[n],failureMessage:t[0],fullName:n})}}],n=function(e){var t=e.data,n=void 0===t?[]:t,r=e.defaultMerge,a=e.defaultMergeLevel,t=8"},0:function(){return e.length&&f(e)},1:function(){return l(e,"b")},3:function(){return l(e,"i")},4:function(){return l(e,"u")},8:function(){return p(e,"display:none")},9:function(){return l(e,"strike")},22:function(){return p(e,"font-weight:normal;text-decoration:none;font-style:normal")},23:function(){return b(e,"i")},24:function(){return b(e,"u")},39:function(){return h(e,n.fg)},49:function(){return m(e,n.bg)},53:function(){return p(e,"text-decoration:overline")}};a[t]?r=a[t]():4"}).join("")}function r(e,t){for(var n=[],r=e;r<=t;r++)n.push(r);return n}function d(e){var t=null;return 0===(e=parseInt(e,10))?t="all":1===e?t="bold":2"].join("")}function p(e,t){return l(e,"span",t)}function h(e,t){return l(e,"span","color:"+t)}function m(e,t){return l(e,"span","background-color:"+t)}function b(e,t){var n;if(e.slice(-1)[0]===t&&(n=e.pop()),n)return""}function g(e,t,l){var c=!1,n=3;function r(){return""}function a(e){return t.newline?l("display",-1):l("text",e),""}var o=[{pattern:/^\x08+/,sub:r},{pattern:/^\x1b\[[012]?K/,sub:r},{pattern:/^\x1b\[\(B/,sub:r},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:function(e){return l("rgb",e),""}},{pattern:/^\x1b\[38;5;(\d+)m/,sub:function(e,t){return l("xterm256",t),""}},{pattern:/^\n/,sub:a},{pattern:/^\r+\n/,sub:a},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:function(e,t){c=!0,0===t.trim().length&&(t="0"),t=t.trimRight(";").split(";");var n=!0,r=!1,a=void 0;try{for(var o=t[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var i=i.value;l("display",i)}}catch(e){r=!0,a=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw a}}return""}},{pattern:/^\x1b\[\d?J/,sub:r},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:r},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:r},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:function(e){return l("text",e),""}}];var i,s=[],u=e.length;e:for(;0]/;e.exports=function(e){var t,n=""+e,e=i.exec(n);if(!e)return n;var r="",a=0,o=0;for(a=e.index;a