From 3d87a2b9aef3cf89d7c33c9d1201683d64026f6b Mon Sep 17 00:00:00 2001 From: Mirek Rusin Date: Thu, 22 Aug 2024 13:07:59 +0200 Subject: [PATCH] cov --- .gitignore | 7 +- coverage/clover.xml | 1511 --------- coverage/coverage-final.json | 95 - coverage/lcov-report/base.css | 224 -- coverage/lcov-report/block-navigation.js | 87 - coverage/lcov-report/favicon.png | Bin 445 -> 0 bytes coverage/lcov-report/index.html | 131 - coverage/lcov-report/prettify.css | 1 - coverage/lcov-report/prettify.js | 2 - coverage/lcov-report/sort-arrow-sprite.png | Bin 138 -> 0 bytes coverage/lcov-report/sorter.js | 196 -- coverage/lcov-report/src/and.ts.html | 100 - .../lcov-report/src/assign-object.ts.html | 214 -- coverage/lcov-report/src/assign.ts.html | 169 - coverage/lcov-report/src/auto.ts.html | 265 -- coverage/lcov-report/src/between.ts.html | 121 - coverage/lcov-report/src/columns.ts.html | 151 - coverage/lcov-report/src/defined.ts.html | 130 - coverage/lcov-report/src/delete.ts.html | 142 - coverage/lcov-report/src/demargin.ts.html | 184 - coverage/lcov-report/src/distinct.ts.html | 151 - coverage/lcov-report/src/eq.ts.html | 169 - coverage/lcov-report/src/exists.ts.html | 133 - coverage/lcov-report/src/fallback.ts.html | 118 - coverage/lcov-report/src/false-value.ts.html | 133 - coverage/lcov-report/src/gt.ts.html | 124 - coverage/lcov-report/src/gte.ts.html | 124 - coverage/lcov-report/src/identifier.ts.html | 331 -- coverage/lcov-report/src/identifiers.ts.html | 130 - coverage/lcov-report/src/in.ts.html | 157 - coverage/lcov-report/src/indent-tail.ts.html | 115 - coverage/lcov-report/src/index.html | 1496 -------- coverage/lcov-report/src/index.ts.html | 643 ---- .../src/inline-table-of-column.ts.html | 169 - .../src/inline-table-of-objects.ts.html | 166 - .../lcov-report/src/insert-ignore.ts.html | 265 -- .../src/insert-not-matched.ts.html | 274 -- .../lcov-report/src/insert-object.ts.html | 178 - .../lcov-report/src/insert-objects.ts.html | 241 -- coverage/lcov-report/src/interpolate.ts.html | 277 -- coverage/lcov-report/src/interpolate1.ts.html | 139 - coverage/lcov-report/src/is-defined.ts.html | 142 - coverage/lcov-report/src/is-null.ts.html | 112 - coverage/lcov-report/src/is-object.ts.html | 106 - coverage/lcov-report/src/is-string.ts.html | 109 - coverage/lcov-report/src/is.ts.html | 133 - coverage/lcov-report/src/json-modify.ts.html | 190 -- .../lcov-report/src/json-path-exists.ts.html | 91 - coverage/lcov-report/src/json-path.ts.html | 154 - coverage/lcov-report/src/json-query.ts.html | 91 - coverage/lcov-report/src/json-value.ts.html | 91 - coverage/lcov-report/src/json.ts.html | 133 - .../lcov-report/src/keys-of-objects.ts.html | 178 - coverage/lcov-report/src/keywords.ts.html | 3022 ----------------- coverage/lcov-report/src/like.ts.html | 160 - .../src/limited-hints-identifier.ts.html | 127 - coverage/lcov-report/src/line.ts.html | 145 - coverage/lcov-report/src/lines.ts.html | 136 - coverage/lcov-report/src/list.ts.html | 154 - .../lcov-report/src/logical-false.ts.html | 133 - coverage/lcov-report/src/logical-true.ts.html | 133 - coverage/lcov-report/src/lt.ts.html | 124 - coverage/lcov-report/src/lte.ts.html | 124 - .../src/margin-of-first-line.ts.html | 124 - .../src/margin-of-last-line.ts.html | 106 - coverage/lcov-report/src/maybe-line.ts.html | 145 - coverage/lcov-report/src/maybe-lines.ts.html | 145 - coverage/lcov-report/src/merge-1n.ts.html | 220 -- coverage/lcov-report/src/modify-jsons.ts.html | 271 -- coverage/lcov-report/src/ne.ts.html | 139 - coverage/lcov-report/src/ng.ts.html | 109 - coverage/lcov-report/src/nl.ts.html | 109 - coverage/lcov-report/src/not-between.ts.html | 121 - coverage/lcov-report/src/not-distinct.ts.html | 130 - coverage/lcov-report/src/not-in.ts.html | 133 - coverage/lcov-report/src/not.ts.html | 100 - coverage/lcov-report/src/now.ts.html | 103 - coverage/lcov-report/src/nstring.ts.html | 124 - coverage/lcov-report/src/null.ts.html | 103 - coverage/lcov-report/src/number.ts.html | 121 - coverage/lcov-report/src/object-id.ts.html | 109 - coverage/lcov-report/src/op.ts.html | 136 - coverage/lcov-report/src/or.ts.html | 100 - coverage/lcov-report/src/order-by.ts.html | 112 - coverage/lcov-report/src/pick.ts.html | 127 - .../lcov-report/src/quoted-nstring.ts.html | 184 - .../lcov-report/src/random-identifier.ts.html | 133 - coverage/lcov-report/src/raw.ts.html | 109 - .../lcov-report/src/replace-objects.ts.html | 271 -- coverage/lcov-report/src/row.ts.html | 118 - coverage/lcov-report/src/rowset.ts.html | 121 - .../src/sanitised-identifier.ts.html | 115 - coverage/lcov-report/src/sanitised.ts.html | 109 - coverage/lcov-report/src/select.ts.html | 166 - coverage/lcov-report/src/star.ts.html | 121 - .../src/table-hint-limited.ts.html | 250 -- coverage/lcov-report/src/template.ts.html | 118 - coverage/lcov-report/src/test/client.ts.html | 514 --- coverage/lcov-report/src/test/index.html | 116 - coverage/lcov-report/src/top.ts.html | 175 - coverage/lcov-report/src/true-value.ts.html | 133 - coverage/lcov-report/src/unique.ts.html | 136 - coverage/lcov-report/src/unix.ts.html | 103 - .../lcov-report/src/update-objects.ts.html | 259 -- coverage/lcov-report/src/update.ts.html | 199 -- .../lcov-report/src/upsert-objects.ts.html | 295 -- coverage/lcov-report/src/where.ts.html | 664 ---- coverage/lcov.info | 2725 --------------- 108 files changed, 4 insertions(+), 25068 deletions(-) delete mode 100644 coverage/clover.xml delete mode 100644 coverage/coverage-final.json delete mode 100644 coverage/lcov-report/base.css delete mode 100644 coverage/lcov-report/block-navigation.js delete mode 100644 coverage/lcov-report/favicon.png delete mode 100644 coverage/lcov-report/index.html delete mode 100644 coverage/lcov-report/prettify.css delete mode 100644 coverage/lcov-report/prettify.js delete mode 100644 coverage/lcov-report/sort-arrow-sprite.png delete mode 100644 coverage/lcov-report/sorter.js delete mode 100644 coverage/lcov-report/src/and.ts.html delete mode 100644 coverage/lcov-report/src/assign-object.ts.html delete mode 100644 coverage/lcov-report/src/assign.ts.html delete mode 100644 coverage/lcov-report/src/auto.ts.html delete mode 100644 coverage/lcov-report/src/between.ts.html delete mode 100644 coverage/lcov-report/src/columns.ts.html delete mode 100644 coverage/lcov-report/src/defined.ts.html delete mode 100644 coverage/lcov-report/src/delete.ts.html delete mode 100644 coverage/lcov-report/src/demargin.ts.html delete mode 100644 coverage/lcov-report/src/distinct.ts.html delete mode 100644 coverage/lcov-report/src/eq.ts.html delete mode 100644 coverage/lcov-report/src/exists.ts.html delete mode 100644 coverage/lcov-report/src/fallback.ts.html delete mode 100644 coverage/lcov-report/src/false-value.ts.html delete mode 100644 coverage/lcov-report/src/gt.ts.html delete mode 100644 coverage/lcov-report/src/gte.ts.html delete mode 100644 coverage/lcov-report/src/identifier.ts.html delete mode 100644 coverage/lcov-report/src/identifiers.ts.html delete mode 100644 coverage/lcov-report/src/in.ts.html delete mode 100644 coverage/lcov-report/src/indent-tail.ts.html delete mode 100644 coverage/lcov-report/src/index.html delete mode 100644 coverage/lcov-report/src/index.ts.html delete mode 100644 coverage/lcov-report/src/inline-table-of-column.ts.html delete mode 100644 coverage/lcov-report/src/inline-table-of-objects.ts.html delete mode 100644 coverage/lcov-report/src/insert-ignore.ts.html delete mode 100644 coverage/lcov-report/src/insert-not-matched.ts.html delete mode 100644 coverage/lcov-report/src/insert-object.ts.html delete mode 100644 coverage/lcov-report/src/insert-objects.ts.html delete mode 100644 coverage/lcov-report/src/interpolate.ts.html delete mode 100644 coverage/lcov-report/src/interpolate1.ts.html delete mode 100644 coverage/lcov-report/src/is-defined.ts.html delete mode 100644 coverage/lcov-report/src/is-null.ts.html delete mode 100644 coverage/lcov-report/src/is-object.ts.html delete mode 100644 coverage/lcov-report/src/is-string.ts.html delete mode 100644 coverage/lcov-report/src/is.ts.html delete mode 100644 coverage/lcov-report/src/json-modify.ts.html delete mode 100644 coverage/lcov-report/src/json-path-exists.ts.html delete mode 100644 coverage/lcov-report/src/json-path.ts.html delete mode 100644 coverage/lcov-report/src/json-query.ts.html delete mode 100644 coverage/lcov-report/src/json-value.ts.html delete mode 100644 coverage/lcov-report/src/json.ts.html delete mode 100644 coverage/lcov-report/src/keys-of-objects.ts.html delete mode 100644 coverage/lcov-report/src/keywords.ts.html delete mode 100644 coverage/lcov-report/src/like.ts.html delete mode 100644 coverage/lcov-report/src/limited-hints-identifier.ts.html delete mode 100644 coverage/lcov-report/src/line.ts.html delete mode 100644 coverage/lcov-report/src/lines.ts.html delete mode 100644 coverage/lcov-report/src/list.ts.html delete mode 100644 coverage/lcov-report/src/logical-false.ts.html delete mode 100644 coverage/lcov-report/src/logical-true.ts.html delete mode 100644 coverage/lcov-report/src/lt.ts.html delete mode 100644 coverage/lcov-report/src/lte.ts.html delete mode 100644 coverage/lcov-report/src/margin-of-first-line.ts.html delete mode 100644 coverage/lcov-report/src/margin-of-last-line.ts.html delete mode 100644 coverage/lcov-report/src/maybe-line.ts.html delete mode 100644 coverage/lcov-report/src/maybe-lines.ts.html delete mode 100644 coverage/lcov-report/src/merge-1n.ts.html delete mode 100644 coverage/lcov-report/src/modify-jsons.ts.html delete mode 100644 coverage/lcov-report/src/ne.ts.html delete mode 100644 coverage/lcov-report/src/ng.ts.html delete mode 100644 coverage/lcov-report/src/nl.ts.html delete mode 100644 coverage/lcov-report/src/not-between.ts.html delete mode 100644 coverage/lcov-report/src/not-distinct.ts.html delete mode 100644 coverage/lcov-report/src/not-in.ts.html delete mode 100644 coverage/lcov-report/src/not.ts.html delete mode 100644 coverage/lcov-report/src/now.ts.html delete mode 100644 coverage/lcov-report/src/nstring.ts.html delete mode 100644 coverage/lcov-report/src/null.ts.html delete mode 100644 coverage/lcov-report/src/number.ts.html delete mode 100644 coverage/lcov-report/src/object-id.ts.html delete mode 100644 coverage/lcov-report/src/op.ts.html delete mode 100644 coverage/lcov-report/src/or.ts.html delete mode 100644 coverage/lcov-report/src/order-by.ts.html delete mode 100644 coverage/lcov-report/src/pick.ts.html delete mode 100644 coverage/lcov-report/src/quoted-nstring.ts.html delete mode 100644 coverage/lcov-report/src/random-identifier.ts.html delete mode 100644 coverage/lcov-report/src/raw.ts.html delete mode 100644 coverage/lcov-report/src/replace-objects.ts.html delete mode 100644 coverage/lcov-report/src/row.ts.html delete mode 100644 coverage/lcov-report/src/rowset.ts.html delete mode 100644 coverage/lcov-report/src/sanitised-identifier.ts.html delete mode 100644 coverage/lcov-report/src/sanitised.ts.html delete mode 100644 coverage/lcov-report/src/select.ts.html delete mode 100644 coverage/lcov-report/src/star.ts.html delete mode 100644 coverage/lcov-report/src/table-hint-limited.ts.html delete mode 100644 coverage/lcov-report/src/template.ts.html delete mode 100644 coverage/lcov-report/src/test/client.ts.html delete mode 100644 coverage/lcov-report/src/test/index.html delete mode 100644 coverage/lcov-report/src/top.ts.html delete mode 100644 coverage/lcov-report/src/true-value.ts.html delete mode 100644 coverage/lcov-report/src/unique.ts.html delete mode 100644 coverage/lcov-report/src/unix.ts.html delete mode 100644 coverage/lcov-report/src/update-objects.ts.html delete mode 100644 coverage/lcov-report/src/update.ts.html delete mode 100644 coverage/lcov-report/src/upsert-objects.ts.html delete mode 100644 coverage/lcov-report/src/where.ts.html delete mode 100644 coverage/lcov.info diff --git a/.gitignore b/.gitignore index 7f4a63d..ebca015 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ -cjs -mjs -node_modules .vscode/configurationCache.log .vscode/dryrun.log .vscode/targets.log +cjs +coverage +mjs +node_modules diff --git a/coverage/clover.xml b/coverage/clover.xml deleted file mode 100644 index 87d8d97..0000000 --- a/coverage/clover.xml +++ /dev/null @@ -1,1511 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json deleted file mode 100644 index b59059e..0000000 --- a/coverage/coverage-final.json +++ /dev/null @@ -1,95 +0,0 @@ -{"/Users/Mirek.Rusin/tsql/src/and.ts": {"path":"/Users/Mirek.Rusin/tsql/src/and.ts","statementMap":{"0":{"start":{"line":3,"column":9},"end":{"line":3,"column":null}},"1":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"2":{"start":{"line":1,"column":20},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":15},"end":{"line":5,"column":18}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":28,"2":22,"3":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/assign-object.ts": {"path":"/Users/Mirek.Rusin/tsql/src/assign-object.ts","statementMap":{"0":{"start":{"line":15,"column":16},"end":{"line":15,"column":28}},"1":{"start":{"line":43,"column":0},"end":{"line":43,"column":15}},"2":{"start":{"line":1,"column":19},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":16,"column":41},"end":{"line":16,"column":43}},"8":{"start":{"line":17,"column":45},"end":{"line":17,"column":null}},"9":{"start":{"line":18,"column":2},"end":{"line":31,"column":null}},"10":{"start":{"line":19,"column":4},"end":{"line":29,"column":null}},"11":{"start":{"line":20,"column":35},"end":{"line":20,"column":null}},"12":{"start":{"line":21,"column":6},"end":{"line":27,"column":null}},"13":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"14":{"start":{"line":30,"column":4},"end":{"line":30,"column":null}},"15":{"start":{"line":32,"column":2},"end":{"line":39,"column":null}},"16":{"start":{"line":33,"column":14},"end":{"line":37,"column":null}},"17":{"start":{"line":38,"column":4},"end":{"line":38,"column":null}},"18":{"start":{"line":40,"column":2},"end":{"line":40,"column":null}},"19":{"start":{"line":43,"column":15},"end":{"line":43,"column":27}}},"fnMap":{"0":{"name":"assignObject","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":28}},"loc":{"start":{"line":15,"column":60},"end":{"line":41,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":4},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":29,"column":null}}]},"1":{"loc":{"start":{"line":23,"column":12},"end":{"line":23,"column":52}},"type":"binary-expr","locations":[{"start":{"line":23,"column":12},"end":{"line":23,"column":36}},{"start":{"line":23,"column":40},"end":{"line":23,"column":52}}]}},"s":{"0":0,"1":10,"2":22,"3":22,"4":22,"5":22,"6":22,"7":10,"8":10,"9":10,"10":22,"11":3,"12":3,"13":3,"14":19,"15":10,"16":1,"17":1,"18":10,"19":22},"f":{"0":10},"b":{"0":[3],"1":[3,1]}} -,"/Users/Mirek.Rusin/tsql/src/assign.ts": {"path":"/Users/Mirek.Rusin/tsql/src/assign.ts","statementMap":{"0":{"start":{"line":14,"column":16},"end":{"line":14,"column":22}},"1":{"start":{"line":28,"column":0},"end":{"line":28,"column":15}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":14},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":15,"column":2},"end":{"line":17,"column":null}},"7":{"start":{"line":16,"column":4},"end":{"line":16,"column":null}},"8":{"start":{"line":18,"column":2},"end":{"line":20,"column":null}},"9":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"10":{"start":{"line":21,"column":2},"end":{"line":23,"column":null}},"11":{"start":{"line":22,"column":4},"end":{"line":22,"column":null}},"12":{"start":{"line":24,"column":31},"end":{"line":24,"column":null}},"13":{"start":{"line":25,"column":2},"end":{"line":25,"column":null}},"14":{"start":{"line":28,"column":15},"end":{"line":28,"column":21}}},"fnMap":{"0":{"name":"assign","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":22}},"loc":{"start":{"line":14,"column":60},"end":{"line":26,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":null}}]},"1":{"loc":{"start":{"line":18,"column":2},"end":{"line":20,"column":null}},"type":"if","locations":[{"start":{"line":18,"column":2},"end":{"line":20,"column":null}}]},"2":{"loc":{"start":{"line":21,"column":2},"end":{"line":23,"column":null}},"type":"if","locations":[{"start":{"line":21,"column":2},"end":{"line":23,"column":null}}]}},"s":{"0":0,"1":31,"2":22,"3":22,"4":22,"5":22,"6":31,"7":9,"8":22,"9":15,"10":7,"11":6,"12":1,"13":1,"14":22},"f":{"0":31},"b":{"0":[9],"1":[15],"2":[6]}} -,"/Users/Mirek.Rusin/tsql/src/auto.ts": {"path":"/Users/Mirek.Rusin/tsql/src/auto.ts","statementMap":{"0":{"start":{"line":33,"column":13},"end":{"line":33,"column":17}},"1":{"start":{"line":60,"column":0},"end":{"line":60,"column":15}},"2":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":20},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":18},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":19},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":16},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":14},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":22},"end":{"line":8,"column":null}},"10":{"start":{"line":34,"column":2},"end":{"line":58,"column":null}},"11":{"start":{"line":35,"column":4},"end":{"line":37,"column":null}},"12":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"13":{"start":{"line":38,"column":4},"end":{"line":57,"column":null}},"14":{"start":{"line":39,"column":24},"end":{"line":39,"column":null}},"15":{"start":{"line":40,"column":21},"end":{"line":40,"column":null}},"16":{"start":{"line":41,"column":22},"end":{"line":41,"column":null}},"17":{"start":{"line":42,"column":21},"end":{"line":42,"column":null}},"18":{"start":{"line":44,"column":8},"end":{"line":46,"column":null}},"19":{"start":{"line":45,"column":10},"end":{"line":45,"column":null}},"20":{"start":{"line":47,"column":8},"end":{"line":49,"column":null}},"21":{"start":{"line":48,"column":10},"end":{"line":48,"column":null}},"22":{"start":{"line":50,"column":8},"end":{"line":52,"column":null}},"23":{"start":{"line":51,"column":10},"end":{"line":51,"column":null}},"24":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"25":{"start":{"line":56,"column":8},"end":{"line":56,"column":null}},"26":{"start":{"line":60,"column":15},"end":{"line":60,"column":19}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":34,"column":3},"end":{"line":58,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":4},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":37,"column":null}}]},"1":{"loc":{"start":{"line":38,"column":4},"end":{"line":57,"column":null}},"type":"switch","locations":[{"start":{"line":39,"column":6},"end":{"line":39,"column":null}},{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},{"start":{"line":41,"column":6},"end":{"line":41,"column":null}},{"start":{"line":42,"column":6},"end":{"line":42,"column":null}},{"start":{"line":43,"column":6},"end":{"line":54,"column":null}},{"start":{"line":55,"column":6},"end":{"line":56,"column":null}}]},"2":{"loc":{"start":{"line":41,"column":29},"end":{"line":41,"column":59}},"type":"cond-expr","locations":[{"start":{"line":41,"column":37},"end":{"line":41,"column":46}},{"start":{"line":41,"column":49},"end":{"line":41,"column":59}}]},"3":{"loc":{"start":{"line":44,"column":8},"end":{"line":46,"column":null}},"type":"if","locations":[{"start":{"line":44,"column":8},"end":{"line":46,"column":null}}]},"4":{"loc":{"start":{"line":47,"column":8},"end":{"line":49,"column":null}},"type":"if","locations":[{"start":{"line":47,"column":8},"end":{"line":49,"column":null}}]},"5":{"loc":{"start":{"line":50,"column":8},"end":{"line":52,"column":null}},"type":"if","locations":[{"start":{"line":50,"column":8},"end":{"line":52,"column":null}}]},"6":{"loc":{"start":{"line":50,"column":12},"end":{"line":50,"column":70}},"type":"binary-expr","locations":[{"start":{"line":50,"column":12},"end":{"line":50,"column":45}},{"start":{"line":50,"column":45},"end":{"line":50,"column":70}}]}},"s":{"0":0,"1":8879,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":22,"11":13442,"12":9096,"13":4346,"14":1,"15":75,"16":9,"17":4246,"18":15,"19":7,"20":8,"21":0,"22":8,"23":0,"24":8,"25":0,"26":22},"f":{"0":13442},"b":{"0":[9096],"1":[1,75,9,4246,15,0],"2":[6,3],"3":[7],"4":[0],"5":[0],"6":[8,8]}} -,"/Users/Mirek.Rusin/tsql/src/between.ts": {"path":"/Users/Mirek.Rusin/tsql/src/between.ts","statementMap":{"0":{"start":{"line":6,"column":13},"end":{"line":6,"column":20}},"1":{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":17},"end":{"line":3,"column":null}},"5":{"start":{"line":7,"column":2},"end":{"line":10,"column":58}},"6":{"start":{"line":8,"column":4},"end":{"line":10,"column":58}},"7":{"start":{"line":12,"column":15},"end":{"line":12,"column":22}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":6}},"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":58}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":58}},"type":"cond-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":9,"column":null}},{"start":{"line":10,"column":6},"end":{"line":10,"column":58}}]},"1":{"loc":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":32}},{"start":{"line":8,"column":32},"end":{"line":8,"column":null}}]}},"s":{"0":0,"1":22,"2":22,"3":22,"4":22,"5":22,"6":1,"7":22},"f":{"0":1},"b":{"0":[0,1],"1":[1,1]}} -,"/Users/Mirek.Rusin/tsql/src/columns.ts": {"path":"/Users/Mirek.Rusin/tsql/src/columns.ts","statementMap":{"0":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"1":{"start":{"line":22,"column":0},"end":{"line":22,"column":15}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"5":{"start":{"line":12,"column":2},"end":{"line":20,"column":null}},"6":{"start":{"line":13,"column":35},"end":{"line":13,"column":37}},"7":{"start":{"line":14,"column":4},"end":{"line":18,"column":null}},"8":{"start":{"line":15,"column":6},"end":{"line":17,"column":null}},"9":{"start":{"line":16,"column":8},"end":{"line":16,"column":null}},"10":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"11":{"start":{"line":19,"column":32},"end":{"line":19,"column":null}},"12":{"start":{"line":22,"column":15},"end":{"line":22,"column":22}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":85},"end":{"line":20,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":19,"column":27},"end":{"line":19,"column":32}},"loc":{"start":{"line":19,"column":32},"end":{"line":19,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":49},"end":{"line":12,"column":85}},"type":"default-arg","locations":[{"start":{"line":12,"column":83},"end":{"line":12,"column":85}}]},"1":{"loc":{"start":{"line":15,"column":6},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":17,"column":null}}]},"2":{"loc":{"start":{"line":16,"column":20},"end":{"line":16,"column":60}},"type":"cond-expr","locations":[{"start":{"line":16,"column":43},"end":{"line":16,"column":49}},{"start":{"line":16,"column":49},"end":{"line":16,"column":60}}]}},"s":{"0":0,"1":0,"2":22,"3":22,"4":22,"5":22,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":22},"f":{"0":0,"1":0},"b":{"0":[0],"1":[0],"2":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/defined.ts": {"path":"/Users/Mirek.Rusin/tsql/src/defined.ts","statementMap":{"0":{"start":{"line":15,"column":0},"end":{"line":15,"column":15}},"1":{"start":{"line":3,"column":2},"end":{"line":13,"column":null}},"2":{"start":{"line":4,"column":20},"end":{"line":4,"column":null}},"3":{"start":{"line":5,"column":4},"end":{"line":11,"column":null}},"4":{"start":{"line":6,"column":6},"end":{"line":10,"column":null}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":null}},"6":{"start":{"line":12,"column":4},"end":{"line":12,"column":null}},"7":{"start":{"line":15,"column":15},"end":{"line":15,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":2},"end":{"line":3,"column":3}},"loc":{"start":{"line":3,"column":3},"end":{"line":13,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":6},"end":{"line":10,"column":null}},"type":"if","locations":[{"start":{"line":6,"column":6},"end":{"line":10,"column":null}}]}},"s":{"0":10,"1":22,"2":10,"3":10,"4":24,"5":1,"6":10,"7":22},"f":{"0":10},"b":{"0":[1]}} -,"/Users/Mirek.Rusin/tsql/src/delete.ts": {"path":"/Users/Mirek.Rusin/tsql/src/delete.ts","statementMap":{"0":{"start":{"line":19,"column":0},"end":{"line":19,"column":15}},"1":{"start":{"line":10,"column":13},"end":{"line":10,"column":20}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":17},"end":{"line":3,"column":null}},"5":{"start":{"line":6,"column":17},"end":{"line":6,"column":null}},"6":{"start":{"line":7,"column":20},"end":{"line":7,"column":null}},"7":{"start":{"line":11,"column":2},"end":{"line":16,"column":null}},"8":{"start":{"line":12,"column":4},"end":{"line":16,"column":null}},"9":{"start":{"line":19,"column":15},"end":{"line":19,"column":22}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":12,"column":4},"end":{"line":16,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":6},"end":{"line":16,"column":null}},"type":"cond-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":47}},{"start":{"line":16,"column":8},"end":{"line":16,"column":null}}]}},"s":{"0":13,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":13,"9":22},"f":{"0":13},"b":{"0":[13,0]}} -,"/Users/Mirek.Rusin/tsql/src/demargin.ts": {"path":"/Users/Mirek.Rusin/tsql/src/demargin.ts","statementMap":{"0":{"start":{"line":33,"column":0},"end":{"line":33,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":21}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":31,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"5":{"start":{"line":7,"column":6},"end":{"line":7,"column":null}},"6":{"start":{"line":9,"column":18},"end":{"line":9,"column":null}},"7":{"start":{"line":10,"column":4},"end":{"line":12,"column":null}},"8":{"start":{"line":10,"column":60},"end":{"line":10,"column":72}},"9":{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},"10":{"start":{"line":13,"column":4},"end":{"line":15,"column":null}},"11":{"start":{"line":13,"column":75},"end":{"line":13,"column":87}},"12":{"start":{"line":14,"column":6},"end":{"line":14,"column":null}},"13":{"start":{"line":16,"column":17},"end":{"line":16,"column":null}},"14":{"start":{"line":17,"column":4},"end":{"line":24,"column":null}},"15":{"start":{"line":18,"column":6},"end":{"line":23,"column":null}},"16":{"start":{"line":18,"column":19},"end":{"line":18,"column":22}},"17":{"start":{"line":19,"column":8},"end":{"line":22,"column":null}},"18":{"start":{"line":20,"column":10},"end":{"line":20,"column":null}},"19":{"start":{"line":21,"column":10},"end":{"line":21,"column":null}},"20":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"21":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"22":{"start":{"line":28,"column":4},"end":{"line":30,"column":null}},"23":{"start":{"line":29,"column":16},"end":{"line":29,"column":null}},"24":{"start":{"line":33,"column":15},"end":{"line":33,"column":23}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":5,"column":3},"end":{"line":31,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":10,"column":55},"end":{"line":10,"column":60}},"loc":{"start":{"line":10,"column":60},"end":{"line":10,"column":72}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":13,"column":70},"end":{"line":13,"column":75}},"loc":{"start":{"line":13,"column":75},"end":{"line":13,"column":87}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":11},"end":{"line":29,"column":16}},"loc":{"start":{"line":29,"column":16},"end":{"line":29,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":null}}]},"1":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":null}}]},"2":{"loc":{"start":{"line":10,"column":8},"end":{"line":10,"column":72}},"type":"binary-expr","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":30}},{"start":{"line":10,"column":30},"end":{"line":10,"column":72}}]},"3":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":null}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":null}}]},"4":{"loc":{"start":{"line":13,"column":8},"end":{"line":13,"column":87}},"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":30}},{"start":{"line":13,"column":30},"end":{"line":13,"column":87}}]},"5":{"loc":{"start":{"line":19,"column":8},"end":{"line":22,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":8},"end":{"line":22,"column":null}}]},"6":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":null}}]}},"s":{"0":421,"1":0,"2":22,"3":22,"4":421,"5":0,"6":421,"7":421,"8":340,"9":81,"10":421,"11":683,"12":66,"13":421,"14":421,"15":6910,"16":6910,"17":65027,"18":6909,"19":6909,"20":421,"21":0,"22":421,"23":6910,"24":22},"f":{"0":421,"1":340,"2":683,"3":6910},"b":{"0":[0],"1":[81],"2":[421,421],"3":[66],"4":[421,421],"5":[6909],"6":[0]}} -,"/Users/Mirek.Rusin/tsql/src/distinct.ts": {"path":"/Users/Mirek.Rusin/tsql/src/distinct.ts","statementMap":{"0":{"start":{"line":22,"column":0},"end":{"line":22,"column":15}},"1":{"start":{"line":13,"column":13},"end":{"line":13,"column":21}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"5":{"start":{"line":14,"column":2},"end":{"line":20,"column":null}},"6":{"start":{"line":15,"column":4},"end":{"line":17,"column":null}},"7":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"8":{"start":{"line":18,"column":17},"end":{"line":18,"column":null}},"9":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"10":{"start":{"line":22,"column":15},"end":{"line":22,"column":23}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":14,"column":20},"end":{"line":20,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":null}}]},"1":{"loc":{"start":{"line":15,"column":8},"end":{"line":15,"column":66}},"type":"binary-expr","locations":[{"start":{"line":15,"column":8},"end":{"line":15,"column":38}},{"start":{"line":15,"column":38},"end":{"line":15,"column":66}}]}},"s":{"0":22,"1":0,"2":22,"3":22,"4":22,"5":22,"6":0,"7":0,"8":0,"9":0,"10":22},"f":{"0":0},"b":{"0":[0],"1":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/eq.ts": {"path":"/Users/Mirek.Rusin/tsql/src/eq.ts","statementMap":{"0":{"start":{"line":28,"column":0},"end":{"line":28,"column":15}},"1":{"start":{"line":22,"column":13},"end":{"line":22,"column":15}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":19},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":8,"column":2},"end":{"line":11,"column":20}},"7":{"start":{"line":9,"column":4},"end":{"line":11,"column":20}},"8":{"start":{"line":23,"column":2},"end":{"line":26,"column":46}},"9":{"start":{"line":24,"column":4},"end":{"line":26,"column":46}},"10":{"start":{"line":28,"column":15},"end":{"line":28,"column":17}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":9,"column":4},"end":{"line":11,"column":20}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":46}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":4},"end":{"line":11,"column":20}},"type":"cond-expr","locations":[{"start":{"line":10,"column":6},"end":{"line":10,"column":19}},{"start":{"line":11,"column":6},"end":{"line":11,"column":20}}]},"1":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":46}},"type":"cond-expr","locations":[{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},{"start":{"line":26,"column":6},"end":{"line":26,"column":46}}]}},"s":{"0":85,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":53,"8":22,"9":64,"10":22},"f":{"0":53,"1":64},"b":{"0":[15,38],"1":[11,53]}} -,"/Users/Mirek.Rusin/tsql/src/exists.ts": {"path":"/Users/Mirek.Rusin/tsql/src/exists.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":19}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"5":{"start":{"line":6,"column":20},"end":{"line":6,"column":null}},"6":{"start":{"line":10,"column":2},"end":{"line":14,"column":null}},"7":{"start":{"line":11,"column":19},"end":{"line":11,"column":null}},"8":{"start":{"line":12,"column":19},"end":{"line":12,"column":null}},"9":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"10":{"start":{"line":16,"column":15},"end":{"line":16,"column":21}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":24},"end":{"line":14,"column":null}}}},"branchMap":{},"s":{"0":0,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":0,"8":0,"9":0,"10":22},"f":{"0":0},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/fallback.ts": {"path":"/Users/Mirek.Rusin/tsql/src/fallback.ts","statementMap":{"0":{"start":{"line":11,"column":0},"end":{"line":11,"column":15}},"1":{"start":{"line":5,"column":13},"end":{"line":5,"column":21}},"2":{"start":{"line":1,"column":14},"end":{"line":1,"column":null}},"3":{"start":{"line":6,"column":2},"end":{"line":9,"column":null}},"4":{"start":{"line":7,"column":4},"end":{"line":9,"column":null}},"5":{"start":{"line":11,"column":15},"end":{"line":11,"column":23}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":6}},"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":null}},"type":"cond-expr","locations":[{"start":{"line":8,"column":6},"end":{"line":8,"column":null}},{"start":{"line":9,"column":6},"end":{"line":9,"column":null}}]}},"s":{"0":105,"1":0,"2":22,"3":22,"4":105,"5":22},"f":{"0":105},"b":{"0":[35,70]}} -,"/Users/Mirek.Rusin/tsql/src/false-value.ts": {"path":"/Users/Mirek.Rusin/tsql/src/false-value.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":13,"column":13},"end":{"line":13,"column":23}},"2":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"3":{"start":{"line":14,"column":2},"end":{"line":14,"column":null}},"4":{"start":{"line":16,"column":15},"end":{"line":16,"column":25}}},"fnMap":{},"branchMap":{},"s":{"0":3,"1":0,"2":22,"3":22,"4":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/gt.ts": {"path":"/Users/Mirek.Rusin/tsql/src/gt.ts","statementMap":{"0":{"start":{"line":13,"column":0},"end":{"line":13,"column":15}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":15}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":10,"column":2},"end":{"line":11,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"5":{"start":{"line":13,"column":15},"end":{"line":13,"column":17}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}}}},"branchMap":{},"s":{"0":24,"1":0,"2":22,"3":22,"4":5,"5":22},"f":{"0":5},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/gte.ts": {"path":"/Users/Mirek.Rusin/tsql/src/gte.ts","statementMap":{"0":{"start":{"line":13,"column":0},"end":{"line":13,"column":15}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":16}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":10,"column":2},"end":{"line":11,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"5":{"start":{"line":13,"column":15},"end":{"line":13,"column":18}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}}}},"branchMap":{},"s":{"0":22,"1":0,"2":22,"3":22,"4":1,"5":22},"f":{"0":1},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/identifier.ts": {"path":"/Users/Mirek.Rusin/tsql/src/identifier.ts","statementMap":{"0":{"start":{"line":82,"column":0},"end":{"line":82,"column":15}},"1":{"start":{"line":40,"column":16},"end":{"line":40,"column":26}},"2":{"start":{"line":11,"column":16},"end":{"line":11,"column":23}},"3":{"start":{"line":78,"column":16},"end":{"line":78,"column":30}},"4":{"start":{"line":71,"column":16},"end":{"line":71,"column":25}},"5":{"start":{"line":66,"column":16},"end":{"line":66,"column":25}},"6":{"start":{"line":19,"column":16},"end":{"line":19,"column":21}},"7":{"start":{"line":1,"column":20},"end":{"line":1,"column":null}},"8":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"9":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"10":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"11":{"start":{"line":20,"column":2},"end":{"line":20,"column":null}},"12":{"start":{"line":41,"column":2},"end":{"line":43,"column":null}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":null}},"14":{"start":{"line":44,"column":2},"end":{"line":58,"column":null}},"15":{"start":{"line":45,"column":4},"end":{"line":48,"column":null}},"16":{"start":{"line":46,"column":35},"end":{"line":46,"column":null}},"17":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"18":{"start":{"line":49,"column":4},"end":{"line":52,"column":null}},"19":{"start":{"line":50,"column":35},"end":{"line":50,"column":null}},"20":{"start":{"line":51,"column":6},"end":{"line":51,"column":null}},"21":{"start":{"line":53,"column":4},"end":{"line":56,"column":null}},"22":{"start":{"line":54,"column":35},"end":{"line":54,"column":null}},"23":{"start":{"line":55,"column":6},"end":{"line":55,"column":null}},"24":{"start":{"line":57,"column":4},"end":{"line":57,"column":null}},"25":{"start":{"line":57,"column":45},"end":{"line":57,"column":72}},"26":{"start":{"line":59,"column":2},"end":{"line":61,"column":null}},"27":{"start":{"line":59,"column":47},"end":{"line":59,"column":88}},"28":{"start":{"line":60,"column":4},"end":{"line":60,"column":null}},"29":{"start":{"line":60,"column":50},"end":{"line":60,"column":64}},"30":{"start":{"line":62,"column":2},"end":{"line":62,"column":null}},"31":{"start":{"line":67,"column":2},"end":{"line":67,"column":null}},"32":{"start":{"line":72,"column":2},"end":{"line":74,"column":null}},"33":{"start":{"line":79,"column":2},"end":{"line":79,"column":null}},"34":{"start":{"line":82,"column":15},"end":{"line":82,"column":25}}},"fnMap":{"0":{"name":"isPlain","decl":{"start":{"line":11,"column":16},"end":{"line":11,"column":23}},"loc":{"start":{"line":11,"column":37},"end":{"line":16,"column":null}}},"1":{"name":"quote","decl":{"start":{"line":19,"column":16},"end":{"line":19,"column":21}},"loc":{"start":{"line":19,"column":36},"end":{"line":21,"column":null}}},"2":{"name":"identifier","decl":{"start":{"line":40,"column":16},"end":{"line":40,"column":26}},"loc":{"start":{"line":40,"column":44},"end":{"line":63,"column":null}}},"3":{"name":"(anonymous_12)","decl":{"start":{"line":57,"column":40},"end":{"line":57,"column":45}},"loc":{"start":{"line":57,"column":45},"end":{"line":57,"column":72}}},"4":{"name":"(anonymous_13)","decl":{"start":{"line":59,"column":42},"end":{"line":59,"column":47}},"loc":{"start":{"line":59,"column":47},"end":{"line":59,"column":88}}},"5":{"name":"(anonymous_14)","decl":{"start":{"line":60,"column":45},"end":{"line":60,"column":50}},"loc":{"start":{"line":60,"column":50},"end":{"line":60,"column":64}}},"6":{"name":"jsonValue","decl":{"start":{"line":66,"column":16},"end":{"line":66,"column":25}},"loc":{"start":{"line":66,"column":61},"end":{"line":68,"column":null}}},"7":{"name":"jsonQuery","decl":{"start":{"line":71,"column":16},"end":{"line":71,"column":25}},"loc":{"start":{"line":71,"column":81},"end":{"line":75,"column":null}}},"8":{"name":"jsonPathExists","decl":{"start":{"line":78,"column":16},"end":{"line":78,"column":30}},"loc":{"start":{"line":78,"column":66},"end":{"line":80,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":14,"column":null}},"type":"binary-expr","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":34}},{"start":{"line":14,"column":4},"end":{"line":14,"column":null}}]},"1":{"loc":{"start":{"line":41,"column":2},"end":{"line":43,"column":null}},"type":"if","locations":[{"start":{"line":41,"column":2},"end":{"line":43,"column":null}}]},"2":{"loc":{"start":{"line":44,"column":2},"end":{"line":58,"column":null}},"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":58,"column":null}}]},"3":{"loc":{"start":{"line":45,"column":4},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":48,"column":null}}]},"4":{"loc":{"start":{"line":49,"column":4},"end":{"line":52,"column":null}},"type":"if","locations":[{"start":{"line":49,"column":4},"end":{"line":52,"column":null}}]},"5":{"loc":{"start":{"line":53,"column":4},"end":{"line":56,"column":null}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":56,"column":null}}]},"6":{"loc":{"start":{"line":57,"column":45},"end":{"line":57,"column":72}},"type":"cond-expr","locations":[{"start":{"line":57,"column":58},"end":{"line":57,"column":62}},{"start":{"line":57,"column":62},"end":{"line":57,"column":72}}]},"7":{"loc":{"start":{"line":59,"column":2},"end":{"line":61,"column":null}},"type":"if","locations":[{"start":{"line":59,"column":2},"end":{"line":61,"column":null}}]},"8":{"loc":{"start":{"line":59,"column":6},"end":{"line":59,"column":91}},"type":"binary-expr","locations":[{"start":{"line":59,"column":6},"end":{"line":59,"column":30}},{"start":{"line":59,"column":30},"end":{"line":59,"column":91}}]},"9":{"loc":{"start":{"line":59,"column":47},"end":{"line":59,"column":88}},"type":"binary-expr","locations":[{"start":{"line":59,"column":47},"end":{"line":59,"column":72}},{"start":{"line":59,"column":72},"end":{"line":59,"column":88}}]},"10":{"loc":{"start":{"line":72,"column":9},"end":{"line":74,"column":null}},"type":"cond-expr","locations":[{"start":{"line":73,"column":4},"end":{"line":73,"column":null}},{"start":{"line":74,"column":4},"end":{"line":74,"column":null}}]}},"s":{"0":343,"1":0,"2":0,"3":22,"4":22,"5":22,"6":0,"7":22,"8":22,"9":22,"10":424,"11":159,"12":485,"13":1,"14":484,"15":425,"16":6,"17":6,"18":419,"19":1,"20":1,"21":418,"22":2,"23":2,"24":416,"25":424,"26":59,"27":118,"28":59,"29":118,"30":0,"31":6,"32":1,"33":2,"34":22},"f":{"0":424,"1":159,"2":485,"3":424,"4":118,"5":118,"6":6,"7":1,"8":2},"b":{"0":[424,282],"1":[1],"2":[425],"3":[6],"4":[1],"5":[2],"6":[265,159],"7":[59],"8":[59,59],"9":[118,0],"10":[1,0]}} -,"/Users/Mirek.Rusin/tsql/src/identifiers.ts": {"path":"/Users/Mirek.Rusin/tsql/src/identifiers.ts","statementMap":{"0":{"start":{"line":15,"column":0},"end":{"line":15,"column":15}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":24}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":12,"column":2},"end":{"line":13,"column":null}},"5":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}},"6":{"start":{"line":15,"column":15},"end":{"line":15,"column":26}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":null}}}},"branchMap":{},"s":{"0":0,"1":0,"2":22,"3":22,"4":22,"5":0,"6":22},"f":{"0":0},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/in.ts": {"path":"/Users/Mirek.Rusin/tsql/src/in.ts","statementMap":{"0":{"start":{"line":24,"column":0},"end":{"line":24,"column":15}},"1":{"start":{"line":16,"column":13},"end":{"line":16,"column":16}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":19},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":16},"end":{"line":5,"column":null}},"7":{"start":{"line":7,"column":25},"end":{"line":7,"column":null}},"8":{"start":{"line":17,"column":2},"end":{"line":22,"column":20}},"9":{"start":{"line":18,"column":4},"end":{"line":22,"column":20}},"10":{"start":{"line":24,"column":15},"end":{"line":24,"column":18}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":18,"column":4},"end":{"line":22,"column":20}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":4},"end":{"line":22,"column":20}},"type":"cond-expr","locations":[{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},{"start":{"line":20,"column":6},"end":{"line":22,"column":20}}]},"1":{"loc":{"start":{"line":20,"column":6},"end":{"line":22,"column":20}},"type":"cond-expr","locations":[{"start":{"line":21,"column":8},"end":{"line":21,"column":45}},{"start":{"line":22,"column":8},"end":{"line":22,"column":20}}]},"2":{"loc":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"type":"binary-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":11}},{"start":{"line":20,"column":11},"end":{"line":20,"column":26}},{"start":{"line":20,"column":26},"end":{"line":20,"column":null}}]}},"s":{"0":32,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":22,"9":11,"10":22},"f":{"0":11},"b":{"0":[2,9],"1":[5,4],"2":[9,7,7]}} -,"/Users/Mirek.Rusin/tsql/src/indent-tail.ts": {"path":"/Users/Mirek.Rusin/tsql/src/indent-tail.ts","statementMap":{"0":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"1":{"start":{"line":3,"column":2},"end":{"line":8,"column":null}},"2":{"start":{"line":4,"column":4},"end":{"line":8,"column":null}},"3":{"start":{"line":10,"column":15},"end":{"line":10,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":2},"end":{"line":3,"column":3}},"loc":{"start":{"line":4,"column":4},"end":{"line":8,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":8,"column":null}},"type":"cond-expr","locations":[{"start":{"line":5,"column":6},"end":{"line":7,"column":null}},{"start":{"line":8,"column":6},"end":{"line":8,"column":null}}]}},"s":{"0":705,"1":22,"2":705,"3":22},"f":{"0":705},"b":{"0":[236,469]}} -,"/Users/Mirek.Rusin/tsql/src/index.ts": {"path":"/Users/Mirek.Rusin/tsql/src/index.ts","statementMap":{"0":{"start":{"line":184,"column":2},"end":{"line":184,"column":15}},"1":{"start":{"line":164,"column":2},"end":{"line":164,"column":null}},"2":{"start":{"line":165,"column":2},"end":{"line":165,"column":null}},"3":{"start":{"line":185,"column":2},"end":{"line":185,"column":25}},"4":{"start":{"line":168,"column":2},"end":{"line":168,"column":18}},"5":{"start":{"line":91,"column":2},"end":{"line":91,"column":null}},"6":{"start":{"line":92,"column":2},"end":{"line":92,"column":null}},"7":{"start":{"line":93,"column":2},"end":{"line":93,"column":null}},"8":{"start":{"line":94,"column":2},"end":{"line":94,"column":null}},"9":{"start":{"line":95,"column":2},"end":{"line":95,"column":null}},"10":{"start":{"line":96,"column":2},"end":{"line":96,"column":null}},"11":{"start":{"line":97,"column":2},"end":{"line":97,"column":13}},"12":{"start":{"line":98,"column":2},"end":{"line":98,"column":null}},"13":{"start":{"line":99,"column":2},"end":{"line":99,"column":null}},"14":{"start":{"line":100,"column":2},"end":{"line":100,"column":null}},"15":{"start":{"line":101,"column":2},"end":{"line":101,"column":null}},"16":{"start":{"line":102,"column":2},"end":{"line":102,"column":null}},"17":{"start":{"line":103,"column":2},"end":{"line":103,"column":null}},"18":{"start":{"line":104,"column":2},"end":{"line":104,"column":null}},"19":{"start":{"line":105,"column":2},"end":{"line":105,"column":null}},"20":{"start":{"line":181,"column":2},"end":{"line":182,"column":16}},"21":{"start":{"line":106,"column":2},"end":{"line":106,"column":null}},"22":{"start":{"line":107,"column":2},"end":{"line":107,"column":null}},"23":{"start":{"line":183,"column":2},"end":{"line":183,"column":17}},"24":{"start":{"line":108,"column":2},"end":{"line":108,"column":9}},"25":{"start":{"line":109,"column":2},"end":{"line":109,"column":null}},"26":{"start":{"line":110,"column":2},"end":{"line":110,"column":null}},"27":{"start":{"line":111,"column":2},"end":{"line":111,"column":null}},"28":{"start":{"line":112,"column":2},"end":{"line":112,"column":null}},"29":{"start":{"line":113,"column":2},"end":{"line":113,"column":null}},"30":{"start":{"line":114,"column":2},"end":{"line":114,"column":null}},"31":{"start":{"line":115,"column":2},"end":{"line":115,"column":null}},"32":{"start":{"line":116,"column":2},"end":{"line":116,"column":null}},"33":{"start":{"line":117,"column":2},"end":{"line":117,"column":null}},"34":{"start":{"line":118,"column":2},"end":{"line":118,"column":null}},"35":{"start":{"line":119,"column":2},"end":{"line":119,"column":null}},"36":{"start":{"line":120,"column":2},"end":{"line":120,"column":null}},"37":{"start":{"line":121,"column":2},"end":{"line":121,"column":null}},"38":{"start":{"line":122,"column":2},"end":{"line":122,"column":null}},"39":{"start":{"line":123,"column":2},"end":{"line":123,"column":null}},"40":{"start":{"line":124,"column":2},"end":{"line":124,"column":null}},"41":{"start":{"line":125,"column":2},"end":{"line":125,"column":null}},"42":{"start":{"line":126,"column":2},"end":{"line":126,"column":null}},"43":{"start":{"line":127,"column":2},"end":{"line":127,"column":null}},"44":{"start":{"line":128,"column":2},"end":{"line":128,"column":null}},"45":{"start":{"line":129,"column":2},"end":{"line":129,"column":null}},"46":{"start":{"line":130,"column":2},"end":{"line":130,"column":null}},"47":{"start":{"line":131,"column":2},"end":{"line":131,"column":null}},"48":{"start":{"line":132,"column":2},"end":{"line":132,"column":null}},"49":{"start":{"line":133,"column":2},"end":{"line":133,"column":null}},"50":{"start":{"line":134,"column":2},"end":{"line":134,"column":null}},"51":{"start":{"line":135,"column":2},"end":{"line":135,"column":null}},"52":{"start":{"line":136,"column":2},"end":{"line":136,"column":null}},"53":{"start":{"line":137,"column":2},"end":{"line":137,"column":null}},"54":{"start":{"line":138,"column":2},"end":{"line":138,"column":null}},"55":{"start":{"line":139,"column":2},"end":{"line":139,"column":null}},"56":{"start":{"line":140,"column":2},"end":{"line":140,"column":null}},"57":{"start":{"line":141,"column":2},"end":{"line":141,"column":null}},"58":{"start":{"line":142,"column":2},"end":{"line":142,"column":null}},"59":{"start":{"line":143,"column":2},"end":{"line":143,"column":null}},"60":{"start":{"line":144,"column":2},"end":{"line":144,"column":null}},"61":{"start":{"line":145,"column":2},"end":{"line":145,"column":null}},"62":{"start":{"line":146,"column":2},"end":{"line":146,"column":null}},"63":{"start":{"line":147,"column":2},"end":{"line":147,"column":null}},"64":{"start":{"line":148,"column":2},"end":{"line":148,"column":null}},"65":{"start":{"line":149,"column":2},"end":{"line":149,"column":null}},"66":{"start":{"line":150,"column":2},"end":{"line":150,"column":null}},"67":{"start":{"line":151,"column":2},"end":{"line":151,"column":null}},"68":{"start":{"line":152,"column":2},"end":{"line":152,"column":11}},"69":{"start":{"line":153,"column":2},"end":{"line":153,"column":13}},"70":{"start":{"line":154,"column":2},"end":{"line":154,"column":null}},"71":{"start":{"line":155,"column":2},"end":{"line":155,"column":null}},"72":{"start":{"line":156,"column":2},"end":{"line":156,"column":null}},"73":{"start":{"line":157,"column":2},"end":{"line":157,"column":null}},"74":{"start":{"line":158,"column":2},"end":{"line":158,"column":null}},"75":{"start":{"line":159,"column":2},"end":{"line":159,"column":null}},"76":{"start":{"line":160,"column":2},"end":{"line":160,"column":null}},"77":{"start":{"line":161,"column":2},"end":{"line":161,"column":null}},"78":{"start":{"line":162,"column":2},"end":{"line":162,"column":null}},"79":{"start":{"line":163,"column":2},"end":{"line":163,"column":null}},"80":{"start":{"line":166,"column":2},"end":{"line":166,"column":null}},"81":{"start":{"line":167,"column":2},"end":{"line":167,"column":null}},"82":{"start":{"line":169,"column":2},"end":{"line":169,"column":null}},"83":{"start":{"line":170,"column":2},"end":{"line":170,"column":null}},"84":{"start":{"line":171,"column":2},"end":{"line":171,"column":null}},"85":{"start":{"line":172,"column":2},"end":{"line":172,"column":null}},"86":{"start":{"line":173,"column":2},"end":{"line":173,"column":null}},"87":{"start":{"line":174,"column":2},"end":{"line":174,"column":null}},"88":{"start":{"line":176,"column":2},"end":{"line":176,"column":null}},"89":{"start":{"line":177,"column":2},"end":{"line":177,"column":null}},"90":{"start":{"line":178,"column":2},"end":{"line":178,"column":null}},"91":{"start":{"line":1,"column":34},"end":{"line":1,"column":null}},"92":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"93":{"start":{"line":3,"column":19},"end":{"line":3,"column":null}},"94":{"start":{"line":4,"column":25},"end":{"line":4,"column":null}},"95":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"96":{"start":{"line":6,"column":20},"end":{"line":6,"column":null}},"97":{"start":{"line":7,"column":20},"end":{"line":7,"column":null}},"98":{"start":{"line":8,"column":20},"end":{"line":8,"column":null}},"99":{"start":{"line":9,"column":21},"end":{"line":9,"column":null}},"100":{"start":{"line":10,"column":21},"end":{"line":10,"column":null}},"101":{"start":{"line":11,"column":15},"end":{"line":11,"column":null}},"102":{"start":{"line":12,"column":19},"end":{"line":12,"column":null}},"103":{"start":{"line":13,"column":21},"end":{"line":13,"column":null}},"104":{"start":{"line":14,"column":23},"end":{"line":14,"column":null}},"105":{"start":{"line":15,"column":15},"end":{"line":15,"column":null}},"106":{"start":{"line":16,"column":16},"end":{"line":16,"column":null}},"107":{"start":{"line":17,"column":23},"end":{"line":17,"column":null}},"108":{"start":{"line":18,"column":24},"end":{"line":18,"column":null}},"109":{"start":{"line":19,"column":16},"end":{"line":19,"column":null}},"110":{"start":{"line":20,"column":23},"end":{"line":20,"column":null}},"111":{"start":{"line":21,"column":32},"end":{"line":21,"column":null}},"112":{"start":{"line":22,"column":33},"end":{"line":22,"column":null}},"113":{"start":{"line":23,"column":25},"end":{"line":23,"column":null}},"114":{"start":{"line":24,"column":29},"end":{"line":24,"column":null}},"115":{"start":{"line":25,"column":25},"end":{"line":25,"column":null}},"116":{"start":{"line":26,"column":26},"end":{"line":26,"column":null}},"117":{"start":{"line":27,"column":24},"end":{"line":27,"column":null}},"118":{"start":{"line":28,"column":25},"end":{"line":28,"column":null}},"119":{"start":{"line":29,"column":15},"end":{"line":29,"column":null}},"120":{"start":{"line":30,"column":19},"end":{"line":30,"column":null}},"121":{"start":{"line":31,"column":21},"end":{"line":31,"column":null}},"122":{"start":{"line":32,"column":17},"end":{"line":32,"column":null}},"123":{"start":{"line":33,"column":23},"end":{"line":33,"column":null}},"124":{"start":{"line":34,"column":21},"end":{"line":34,"column":null}},"125":{"start":{"line":35,"column":27},"end":{"line":35,"column":null}},"126":{"start":{"line":36,"column":22},"end":{"line":36,"column":null}},"127":{"start":{"line":37,"column":22},"end":{"line":37,"column":null}},"128":{"start":{"line":38,"column":26},"end":{"line":38,"column":null}},"129":{"start":{"line":39,"column":17},"end":{"line":39,"column":null}},"130":{"start":{"line":40,"column":35},"end":{"line":40,"column":null}},"131":{"start":{"line":41,"column":17},"end":{"line":41,"column":null}},"132":{"start":{"line":42,"column":18},"end":{"line":42,"column":null}},"133":{"start":{"line":43,"column":17},"end":{"line":43,"column":null}},"134":{"start":{"line":44,"column":25},"end":{"line":44,"column":null}},"135":{"start":{"line":45,"column":24},"end":{"line":45,"column":null}},"136":{"start":{"line":46,"column":15},"end":{"line":46,"column":null}},"137":{"start":{"line":47,"column":16},"end":{"line":47,"column":null}},"138":{"start":{"line":48,"column":30},"end":{"line":48,"column":null}},"139":{"start":{"line":49,"column":29},"end":{"line":49,"column":null}},"140":{"start":{"line":50,"column":22},"end":{"line":50,"column":null}},"141":{"start":{"line":51,"column":23},"end":{"line":51,"column":null}},"142":{"start":{"line":52,"column":20},"end":{"line":52,"column":null}},"143":{"start":{"line":53,"column":24},"end":{"line":53,"column":null}},"144":{"start":{"line":54,"column":15},"end":{"line":54,"column":null}},"145":{"start":{"line":55,"column":15},"end":{"line":55,"column":null}},"146":{"start":{"line":56,"column":15},"end":{"line":56,"column":null}},"147":{"start":{"line":57,"column":16},"end":{"line":57,"column":null}},"148":{"start":{"line":58,"column":23},"end":{"line":58,"column":null}},"149":{"start":{"line":59,"column":24},"end":{"line":59,"column":null}},"150":{"start":{"line":60,"column":18},"end":{"line":60,"column":null}},"151":{"start":{"line":61,"column":16},"end":{"line":61,"column":null}},"152":{"start":{"line":62,"column":20},"end":{"line":62,"column":null}},"153":{"start":{"line":63,"column":18},"end":{"line":63,"column":null}},"154":{"start":{"line":64,"column":20},"end":{"line":64,"column":null}},"155":{"start":{"line":65,"column":21},"end":{"line":65,"column":null}},"156":{"start":{"line":66,"column":15},"end":{"line":66,"column":null}},"157":{"start":{"line":67,"column":20},"end":{"line":67,"column":null}},"158":{"start":{"line":68,"column":17},"end":{"line":68,"column":null}},"159":{"start":{"line":69,"column":26},"end":{"line":69,"column":null}},"160":{"start":{"line":70,"column":29},"end":{"line":70,"column":null}},"161":{"start":{"line":71,"column":16},"end":{"line":71,"column":null}},"162":{"start":{"line":72,"column":27},"end":{"line":72,"column":null}},"163":{"start":{"line":73,"column":16},"end":{"line":73,"column":null}},"164":{"start":{"line":74,"column":19},"end":{"line":74,"column":null}},"165":{"start":{"line":75,"column":22},"end":{"line":75,"column":null}},"166":{"start":{"line":76,"column":32},"end":{"line":76,"column":null}},"167":{"start":{"line":77,"column":19},"end":{"line":77,"column":null}},"168":{"start":{"line":78,"column":17},"end":{"line":78,"column":null}},"169":{"start":{"line":79,"column":21},"end":{"line":79,"column":null}},"170":{"start":{"line":80,"column":16},"end":{"line":80,"column":null}},"171":{"start":{"line":81,"column":22},"end":{"line":81,"column":null}},"172":{"start":{"line":83,"column":19},"end":{"line":83,"column":null}},"173":{"start":{"line":84,"column":17},"end":{"line":84,"column":null}},"174":{"start":{"line":85,"column":19},"end":{"line":85,"column":null}},"175":{"start":{"line":86,"column":26},"end":{"line":86,"column":null}},"176":{"start":{"line":87,"column":26},"end":{"line":87,"column":null}},"177":{"start":{"line":88,"column":18},"end":{"line":88,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":0,"2":0,"3":1,"4":0,"5":6,"6":9,"7":5,"8":1,"9":0,"10":0,"11":13,"12":15,"13":0,"14":11,"15":0,"16":0,"17":0,"18":2,"19":0,"20":31,"21":0,"22":0,"23":0,"24":10,"25":0,"26":0,"27":1,"28":10,"29":0,"30":10,"31":7,"32":0,"33":0,"34":6,"35":6,"36":0,"37":0,"38":3,"39":8,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":5,"48":1,"49":0,"50":19,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":5,"58":2,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":0,"70":0,"71":6,"72":3,"73":0,"74":0,"75":0,"76":4,"77":0,"78":0,"79":0,"80":0,"81":0,"82":37,"83":0,"84":0,"85":0,"86":0,"87":6,"88":0,"89":0,"90":24,"91":22,"92":22,"93":22,"94":22,"95":22,"96":22,"97":22,"98":22,"99":22,"100":22,"101":22,"102":22,"103":22,"104":22,"105":22,"106":22,"107":22,"108":22,"109":22,"110":22,"111":22,"112":22,"113":22,"114":22,"115":22,"116":22,"117":22,"118":22,"119":22,"120":22,"121":22,"122":22,"123":22,"124":22,"125":22,"126":22,"127":22,"128":22,"129":22,"130":22,"131":22,"132":22,"133":22,"134":22,"135":22,"136":22,"137":22,"138":22,"139":22,"140":22,"141":22,"142":22,"143":22,"144":22,"145":22,"146":22,"147":22,"148":22,"149":22,"150":22,"151":22,"152":22,"153":22,"154":22,"155":22,"156":22,"157":22,"158":22,"159":22,"160":22,"161":22,"162":22,"163":22,"164":22,"165":22,"166":22,"167":22,"168":22,"169":22,"170":22,"171":22,"172":22,"173":22,"174":22,"175":22,"176":22,"177":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/inline-table-of-column.ts": {"path":"/Users/Mirek.Rusin/tsql/src/inline-table-of-column.ts","statementMap":{"0":{"start":{"line":28,"column":0},"end":{"line":28,"column":15}},"1":{"start":{"line":13,"column":13},"end":{"line":13,"column":32}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":16},"end":{"line":3,"column":null}},"5":{"start":{"line":6,"column":17},"end":{"line":6,"column":null}},"6":{"start":{"line":14,"column":2},"end":{"line":26,"column":null}},"7":{"start":{"line":15,"column":4},"end":{"line":17,"column":null}},"8":{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},"9":{"start":{"line":18,"column":19},"end":{"line":18,"column":null}},"10":{"start":{"line":19,"column":20},"end":{"line":19,"column":null}},"11":{"start":{"line":20,"column":20},"end":{"line":20,"column":null}},"12":{"start":{"line":20,"column":41},"end":{"line":20,"column":54}},"13":{"start":{"line":21,"column":4},"end":{"line":25,"column":null}},"14":{"start":{"line":28,"column":15},"end":{"line":28,"column":34}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":14,"column":46},"end":{"line":26,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":36},"end":{"line":20,"column":41}},"loc":{"start":{"line":20,"column":41},"end":{"line":20,"column":54}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":4},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":17,"column":null}}]}},"s":{"0":4,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":4,"8":0,"9":4,"10":4,"11":4,"12":11,"13":4,"14":22},"f":{"0":4,"1":11},"b":{"0":[0]}} -,"/Users/Mirek.Rusin/tsql/src/inline-table-of-objects.ts": {"path":"/Users/Mirek.Rusin/tsql/src/inline-table-of-objects.ts","statementMap":{"0":{"start":{"line":27,"column":0},"end":{"line":27,"column":15}},"1":{"start":{"line":15,"column":13},"end":{"line":15,"column":33}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":26},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":16},"end":{"line":5,"column":null}},"7":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"8":{"start":{"line":16,"column":2},"end":{"line":25,"column":null}},"9":{"start":{"line":17,"column":19},"end":{"line":17,"column":null}},"10":{"start":{"line":18,"column":17},"end":{"line":18,"column":null}},"11":{"start":{"line":19,"column":21},"end":{"line":19,"column":null}},"12":{"start":{"line":20,"column":20},"end":{"line":20,"column":null}},"13":{"start":{"line":20,"column":47},"end":{"line":20,"column":89}},"14":{"start":{"line":20,"column":67},"end":{"line":20,"column":89}},"15":{"start":{"line":21,"column":4},"end":{"line":24,"column":null}},"16":{"start":{"line":27,"column":15},"end":{"line":27,"column":35}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":16,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":16,"column":69},"end":{"line":25,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":37},"end":{"line":20,"column":47}},"loc":{"start":{"line":20,"column":47},"end":{"line":20,"column":89}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":20,"column":60},"end":{"line":20,"column":67}},"loc":{"start":{"line":20,"column":67},"end":{"line":20,"column":89}}}},"branchMap":{"0":{"loc":{"start":{"line":18,"column":17},"end":{"line":18,"column":null}},"type":"binary-expr","locations":[{"start":{"line":18,"column":17},"end":{"line":18,"column":30}},{"start":{"line":18,"column":30},"end":{"line":18,"column":null}}]}},"s":{"0":15,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":22,"9":15,"10":15,"11":15,"12":15,"13":3037,"14":3073,"15":15,"16":22},"f":{"0":15,"1":3037,"2":3073},"b":{"0":[15,1]}} -,"/Users/Mirek.Rusin/tsql/src/insert-ignore.ts": {"path":"/Users/Mirek.Rusin/tsql/src/insert-ignore.ts","statementMap":{"0":{"start":{"line":60,"column":0},"end":{"line":60,"column":15}},"1":{"start":{"line":28,"column":13},"end":{"line":28,"column":25}},"2":{"start":{"line":13,"column":13},"end":{"line":13,"column":27}},"3":{"start":{"line":17,"column":13},"end":{"line":17,"column":27}},"4":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"6":{"start":{"line":3,"column":15},"end":{"line":3,"column":null}},"7":{"start":{"line":4,"column":16},"end":{"line":4,"column":null}},"8":{"start":{"line":5,"column":33},"end":{"line":5,"column":null}},"9":{"start":{"line":6,"column":26},"end":{"line":6,"column":null}},"10":{"start":{"line":7,"column":16},"end":{"line":7,"column":null}},"11":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"12":{"start":{"line":14,"column":2},"end":{"line":15,"column":null}},"13":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"14":{"start":{"line":18,"column":2},"end":{"line":19,"column":null}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"16":{"start":{"line":29,"column":2},"end":{"line":58,"column":null}},"17":{"start":{"line":39,"column":4},"end":{"line":41,"column":null}},"18":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"19":{"start":{"line":43,"column":4},"end":{"line":45,"column":null}},"20":{"start":{"line":44,"column":6},"end":{"line":44,"column":null}},"21":{"start":{"line":47,"column":23},"end":{"line":47,"column":null}},"22":{"start":{"line":48,"column":16},"end":{"line":48,"column":null}},"23":{"start":{"line":48,"column":39},"end":{"line":48,"column":null}},"24":{"start":{"line":49,"column":19},"end":{"line":49,"column":null}},"25":{"start":{"line":49,"column":42},"end":{"line":49,"column":null}},"26":{"start":{"line":51,"column":4},"end":{"line":57,"column":null}},"27":{"start":{"line":60,"column":15},"end":{"line":60,"column":27}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":null}},"loc":{"start":{"line":36,"column":10},"end":{"line":58,"column":null}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":48,"column":34},"end":{"line":48,"column":39}},"loc":{"start":{"line":48,"column":39},"end":{"line":48,"column":null}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":49,"column":37},"end":{"line":49,"column":42}},"loc":{"start":{"line":49,"column":42},"end":{"line":49,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":4},"end":{"line":36,"column":10}},"type":"default-arg","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":10}}]},"1":{"loc":{"start":{"line":34,"column":6},"end":{"line":34,"column":null}},"type":"default-arg","locations":[{"start":{"line":34,"column":14},"end":{"line":34,"column":null}}]},"2":{"loc":{"start":{"line":39,"column":4},"end":{"line":41,"column":null}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":41,"column":null}}]},"3":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":null}}]},"4":{"loc":{"start":{"line":47,"column":23},"end":{"line":47,"column":null}},"type":"binary-expr","locations":[{"start":{"line":47,"column":23},"end":{"line":47,"column":42}},{"start":{"line":47,"column":42},"end":{"line":47,"column":null}}]}},"s":{"0":10,"1":0,"2":0,"3":0,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":22,"11":22,"12":22,"13":10,"14":22,"15":20,"16":22,"17":10,"18":0,"19":10,"20":0,"21":10,"22":10,"23":10,"24":10,"25":10,"26":10,"27":22},"f":{"0":10,"1":20,"2":10,"3":10,"4":10},"b":{"0":[0],"1":[2],"2":[0],"3":[0],"4":[10,10]}} -,"/Users/Mirek.Rusin/tsql/src/insert-not-matched.ts": {"path":"/Users/Mirek.Rusin/tsql/src/insert-not-matched.ts","statementMap":{"0":{"start":{"line":63,"column":0},"end":{"line":63,"column":15}},"1":{"start":{"line":30,"column":13},"end":{"line":30,"column":29}},"2":{"start":{"line":13,"column":13},"end":{"line":13,"column":27}},"3":{"start":{"line":17,"column":13},"end":{"line":17,"column":27}},"4":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"6":{"start":{"line":3,"column":15},"end":{"line":3,"column":null}},"7":{"start":{"line":4,"column":33},"end":{"line":4,"column":null}},"8":{"start":{"line":5,"column":26},"end":{"line":5,"column":null}},"9":{"start":{"line":6,"column":35},"end":{"line":6,"column":null}},"10":{"start":{"line":7,"column":16},"end":{"line":7,"column":null}},"11":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"12":{"start":{"line":14,"column":2},"end":{"line":15,"column":null}},"13":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"14":{"start":{"line":18,"column":2},"end":{"line":19,"column":null}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}},"16":{"start":{"line":31,"column":2},"end":{"line":61,"column":null}},"17":{"start":{"line":41,"column":4},"end":{"line":43,"column":null}},"18":{"start":{"line":42,"column":6},"end":{"line":42,"column":null}},"19":{"start":{"line":45,"column":4},"end":{"line":47,"column":null}},"20":{"start":{"line":46,"column":6},"end":{"line":46,"column":null}},"21":{"start":{"line":49,"column":19},"end":{"line":49,"column":null}},"22":{"start":{"line":50,"column":23},"end":{"line":50,"column":null}},"23":{"start":{"line":51,"column":16},"end":{"line":51,"column":null}},"24":{"start":{"line":51,"column":39},"end":{"line":51,"column":null}},"25":{"start":{"line":53,"column":4},"end":{"line":60,"column":null}},"26":{"start":{"line":63,"column":15},"end":{"line":63,"column":31}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":null}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":null}},"loc":{"start":{"line":38,"column":10},"end":{"line":61,"column":null}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":51,"column":34},"end":{"line":51,"column":39}},"loc":{"start":{"line":51,"column":39},"end":{"line":51,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":4},"end":{"line":38,"column":10}},"type":"default-arg","locations":[{"start":{"line":38,"column":8},"end":{"line":38,"column":10}}]},"1":{"loc":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"type":"default-arg","locations":[{"start":{"line":36,"column":14},"end":{"line":36,"column":null}}]},"2":{"loc":{"start":{"line":41,"column":4},"end":{"line":43,"column":null}},"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":43,"column":null}}]},"3":{"loc":{"start":{"line":45,"column":4},"end":{"line":47,"column":null}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":47,"column":null}}]},"4":{"loc":{"start":{"line":50,"column":23},"end":{"line":50,"column":null}},"type":"binary-expr","locations":[{"start":{"line":50,"column":23},"end":{"line":50,"column":42}},{"start":{"line":50,"column":42},"end":{"line":50,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":22,"11":22,"12":22,"13":0,"14":22,"15":0,"16":22,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":22},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/insert-object.ts": {"path":"/Users/Mirek.Rusin/tsql/src/insert-object.ts","statementMap":{"0":{"start":{"line":31,"column":0},"end":{"line":31,"column":15}},"1":{"start":{"line":16,"column":13},"end":{"line":16,"column":25}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":20},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":15},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":17,"column":2},"end":{"line":29,"column":null}},"8":{"start":{"line":18,"column":20},"end":{"line":18,"column":null}},"9":{"start":{"line":19,"column":17},"end":{"line":19,"column":null}},"10":{"start":{"line":20,"column":4},"end":{"line":22,"column":null}},"11":{"start":{"line":21,"column":6},"end":{"line":21,"column":null}},"12":{"start":{"line":23,"column":19},"end":{"line":23,"column":null}},"13":{"start":{"line":24,"column":18},"end":{"line":24,"column":null}},"14":{"start":{"line":25,"column":20},"end":{"line":25,"column":null}},"15":{"start":{"line":25,"column":39},"end":{"line":25,"column":49}},"16":{"start":{"line":26,"column":4},"end":{"line":28,"column":null}},"17":{"start":{"line":31,"column":15},"end":{"line":31,"column":27}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":17,"column":2},"end":{"line":17,"column":3}},"loc":{"start":{"line":17,"column":57},"end":{"line":29,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":25,"column":34},"end":{"line":25,"column":39}},"loc":{"start":{"line":25,"column":39},"end":{"line":25,"column":49}}}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":4},"end":{"line":22,"column":null}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":22,"column":null}}]},"1":{"loc":{"start":{"line":26,"column":11},"end":{"line":28,"column":64}},"type":"cond-expr","locations":[{"start":{"line":27,"column":6},"end":{"line":27,"column":81}},{"start":{"line":28,"column":6},"end":{"line":28,"column":64}}]}},"s":{"0":10,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":10,"9":10,"10":10,"11":0,"12":10,"13":10,"14":10,"15":23,"16":10,"17":22},"f":{"0":10,"1":23},"b":{"0":[0],"1":[0,10]}} -,"/Users/Mirek.Rusin/tsql/src/insert-objects.ts": {"path":"/Users/Mirek.Rusin/tsql/src/insert-objects.ts","statementMap":{"0":{"start":{"line":52,"column":0},"end":{"line":52,"column":15}},"1":{"start":{"line":18,"column":13},"end":{"line":18,"column":26}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":33},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":26},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":16},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":17},"end":{"line":7,"column":null}},"9":{"start":{"line":19,"column":2},"end":{"line":50,"column":null}},"10":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"11":{"start":{"line":26,"column":6},"end":{"line":26,"column":null}},"12":{"start":{"line":29,"column":4},"end":{"line":31,"column":null}},"13":{"start":{"line":30,"column":6},"end":{"line":30,"column":null}},"14":{"start":{"line":33,"column":19},"end":{"line":33,"column":null}},"15":{"start":{"line":34,"column":17},"end":{"line":34,"column":null}},"16":{"start":{"line":35,"column":18},"end":{"line":35,"column":null}},"17":{"start":{"line":37,"column":4},"end":{"line":43,"column":null}},"18":{"start":{"line":38,"column":6},"end":{"line":42,"column":null}},"19":{"start":{"line":45,"column":20},"end":{"line":45,"column":null}},"20":{"start":{"line":45,"column":47},"end":{"line":45,"column":null}},"21":{"start":{"line":45,"column":67},"end":{"line":45,"column":null}},"22":{"start":{"line":46,"column":4},"end":{"line":49,"column":null}},"23":{"start":{"line":52,"column":15},"end":{"line":52,"column":28}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":19,"column":2},"end":{"line":19,"column":null}},"loc":{"start":{"line":22,"column":4},"end":{"line":50,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":45,"column":37},"end":{"line":45,"column":47}},"loc":{"start":{"line":45,"column":47},"end":{"line":45,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":45,"column":60},"end":{"line":45,"column":67}},"loc":{"start":{"line":45,"column":67},"end":{"line":45,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":27,"column":null}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":27,"column":null}}]},"1":{"loc":{"start":{"line":29,"column":4},"end":{"line":31,"column":null}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":31,"column":null}}]},"2":{"loc":{"start":{"line":34,"column":17},"end":{"line":34,"column":null}},"type":"binary-expr","locations":[{"start":{"line":34,"column":17},"end":{"line":34,"column":30}},{"start":{"line":34,"column":30},"end":{"line":34,"column":null}}]},"3":{"loc":{"start":{"line":37,"column":4},"end":{"line":43,"column":null}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":43,"column":null}}]}},"s":{"0":7,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":7,"11":0,"12":7,"13":1,"14":6,"15":6,"16":6,"17":6,"18":2,"19":4,"20":1104,"21":1107,"22":4,"23":22},"f":{"0":7,"1":1104,"2":1107},"b":{"0":[0],"1":[1],"2":[6,6],"3":[2]}} -,"/Users/Mirek.Rusin/tsql/src/interpolate.ts": {"path":"/Users/Mirek.Rusin/tsql/src/interpolate.ts","statementMap":{"0":{"start":{"line":64,"column":0},"end":{"line":64,"column":15}},"1":{"start":{"line":38,"column":13},"end":{"line":38,"column":24}},"2":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"3":{"start":{"line":12,"column":16},"end":{"line":12,"column":null}},"4":{"start":{"line":15,"column":20},"end":{"line":15,"column":null}},"5":{"start":{"line":18,"column":12},"end":{"line":18,"column":null}},"6":{"start":{"line":19,"column":2},"end":{"line":21,"column":null}},"7":{"start":{"line":20,"column":4},"end":{"line":20,"column":null}},"8":{"start":{"line":24,"column":17},"end":{"line":24,"column":null}},"9":{"start":{"line":27,"column":17},"end":{"line":27,"column":37}},"10":{"start":{"line":30,"column":2},"end":{"line":30,"column":null}},"11":{"start":{"line":31,"column":2},"end":{"line":31,"column":null}},"12":{"start":{"line":39,"column":2},"end":{"line":62,"column":null}},"13":{"start":{"line":40,"column":4},"end":{"line":42,"column":null}},"14":{"start":{"line":41,"column":6},"end":{"line":41,"column":null}},"15":{"start":{"line":43,"column":4},"end":{"line":45,"column":null}},"16":{"start":{"line":44,"column":6},"end":{"line":44,"column":null}},"17":{"start":{"line":46,"column":4},"end":{"line":48,"column":null}},"18":{"start":{"line":47,"column":6},"end":{"line":47,"column":null}},"19":{"start":{"line":49,"column":19},"end":{"line":49,"column":null}},"20":{"start":{"line":50,"column":25},"end":{"line":50,"column":27}},"21":{"start":{"line":52,"column":6},"end":{"line":55,"column":null}},"22":{"start":{"line":53,"column":8},"end":{"line":53,"column":null}},"23":{"start":{"line":54,"column":8},"end":{"line":54,"column":null}},"24":{"start":{"line":56,"column":4},"end":{"line":56,"column":null}},"25":{"start":{"line":57,"column":4},"end":{"line":60,"column":null}},"26":{"start":{"line":57,"column":17},"end":{"line":57,"column":20}},"27":{"start":{"line":58,"column":6},"end":{"line":58,"column":null}},"28":{"start":{"line":59,"column":6},"end":{"line":59,"column":null}},"29":{"start":{"line":61,"column":4},"end":{"line":61,"column":null}},"30":{"start":{"line":64,"column":15},"end":{"line":64,"column":26}}},"fnMap":{"0":{"name":"updateMargin","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":22}},"loc":{"start":{"line":9,"column":58},"end":{"line":32,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":39,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":39,"column":29},"end":{"line":62,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":52,"column":6},"end":{"line":52,"column":7}},"loc":{"start":{"line":52,"column":7},"end":{"line":55,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":9},"end":{"line":19,"column":51}},"type":"binary-expr","locations":[{"start":{"line":19,"column":9},"end":{"line":19,"column":27}},{"start":{"line":19,"column":31},"end":{"line":19,"column":51}}]},"1":{"loc":{"start":{"line":30,"column":25},"end":{"line":30,"column":null}},"type":"cond-expr","locations":[{"start":{"line":30,"column":37},"end":{"line":30,"column":46}},{"start":{"line":30,"column":46},"end":{"line":30,"column":null}}]},"2":{"loc":{"start":{"line":30,"column":70},"end":{"line":30,"column":null}},"type":"cond-expr","locations":[{"start":{"line":30,"column":91},"end":{"line":30,"column":100}},{"start":{"line":30,"column":100},"end":{"line":30,"column":null}}]},"3":{"loc":{"start":{"line":31,"column":23},"end":{"line":31,"column":null}},"type":"binary-expr","locations":[{"start":{"line":31,"column":24},"end":{"line":31,"column":42}},{"start":{"line":31,"column":46},"end":{"line":31,"column":54}},{"start":{"line":31,"column":60},"end":{"line":31,"column":null}}]},"4":{"loc":{"start":{"line":40,"column":4},"end":{"line":42,"column":null}},"type":"if","locations":[{"start":{"line":40,"column":4},"end":{"line":42,"column":null}}]},"5":{"loc":{"start":{"line":40,"column":8},"end":{"line":40,"column":50}},"type":"binary-expr","locations":[{"start":{"line":40,"column":8},"end":{"line":40,"column":30}},{"start":{"line":40,"column":30},"end":{"line":40,"column":50}}]},"6":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":null}}]},"7":{"loc":{"start":{"line":43,"column":8},"end":{"line":43,"column":48}},"type":"binary-expr","locations":[{"start":{"line":43,"column":8},"end":{"line":43,"column":30}},{"start":{"line":43,"column":30},"end":{"line":43,"column":48}}]},"8":{"loc":{"start":{"line":46,"column":4},"end":{"line":48,"column":null}},"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":48,"column":null}}]}},"s":{"0":406,"1":0,"2":22,"3":1816,"4":1816,"5":1816,"6":1816,"7":2025,"8":1816,"9":1816,"10":1816,"11":1816,"12":22,"13":406,"14":0,"15":406,"16":0,"17":406,"18":0,"19":406,"20":406,"21":406,"22":1816,"23":1816,"24":406,"25":406,"26":406,"27":705,"28":705,"29":406,"30":22},"f":{"0":1816,"1":406,"2":1816},"b":{"0":[3841,3316],"1":[273,1543],"2":[494,1049],"3":[1816,1229,767],"4":[0],"5":[406,406],"6":[0],"7":[406,0],"8":[0]}} -,"/Users/Mirek.Rusin/tsql/src/interpolate1.ts": {"path":"/Users/Mirek.Rusin/tsql/src/interpolate1.ts","statementMap":{"0":{"start":{"line":18,"column":0},"end":{"line":18,"column":15}},"1":{"start":{"line":2,"column":13},"end":{"line":2,"column":25}},"2":{"start":{"line":3,"column":2},"end":{"line":16,"column":null}},"3":{"start":{"line":4,"column":4},"end":{"line":6,"column":null}},"4":{"start":{"line":5,"column":6},"end":{"line":5,"column":null}},"5":{"start":{"line":7,"column":4},"end":{"line":9,"column":null}},"6":{"start":{"line":8,"column":6},"end":{"line":8,"column":null}},"7":{"start":{"line":10,"column":26},"end":{"line":10,"column":null}},"8":{"start":{"line":11,"column":4},"end":{"line":14,"column":null}},"9":{"start":{"line":11,"column":17},"end":{"line":11,"column":20}},"10":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"11":{"start":{"line":13,"column":6},"end":{"line":13,"column":null}},"12":{"start":{"line":15,"column":4},"end":{"line":15,"column":null}},"13":{"start":{"line":18,"column":15},"end":{"line":18,"column":27}}},"fnMap":{"0":{"name":"(anonymous_3)","decl":{"start":{"line":3,"column":2},"end":{"line":3,"column":9}},"loc":{"start":{"line":3,"column":18},"end":{"line":16,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":6,"column":null}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":6,"column":null}}]},"1":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":null}}]}},"s":{"0":78,"1":0,"2":22,"3":78,"4":0,"5":78,"6":0,"7":78,"8":78,"9":78,"10":27,"11":27,"12":78,"13":22},"f":{"0":78},"b":{"0":[0],"1":[0]}} -,"/Users/Mirek.Rusin/tsql/src/is-defined.ts": {"path":"/Users/Mirek.Rusin/tsql/src/is-defined.ts","statementMap":{"0":{"start":{"line":9,"column":16},"end":{"line":9,"column":29}},"1":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"2":{"start":{"line":10,"column":2},"end":{"line":12,"column":null}},"3":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"4":{"start":{"line":13,"column":2},"end":{"line":17,"column":null}},"5":{"start":{"line":14,"column":4},"end":{"line":16,"column":null}},"6":{"start":{"line":16,"column":17},"end":{"line":16,"column":null}},"7":{"start":{"line":18,"column":2},"end":{"line":18,"column":null}}},"fnMap":{"0":{"name":"isDefined","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":29}},"loc":{"start":{"line":9,"column":37},"end":{"line":19,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":12},"end":{"line":16,"column":17}},"loc":{"start":{"line":16,"column":17},"end":{"line":16,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":null}}]},"1":{"loc":{"start":{"line":13,"column":2},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":17,"column":null}}]}},"s":{"0":90,"1":22,"2":127,"3":13,"4":114,"5":114,"6":114,"7":0},"f":{"0":127,"1":114},"b":{"0":[13],"1":[114]}} -,"/Users/Mirek.Rusin/tsql/src/is-null.ts": {"path":"/Users/Mirek.Rusin/tsql/src/is-null.ts","statementMap":{"0":{"start":{"line":9,"column":0},"end":{"line":9,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":19}},"2":{"start":{"line":1,"column":22},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":7,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":7,"column":null}},"5":{"start":{"line":9,"column":15},"end":{"line":9,"column":21}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":7,"column":null}},"type":"binary-expr","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},{"start":{"line":7,"column":5},"end":{"line":7,"column":31}},{"start":{"line":7,"column":35},"end":{"line":7,"column":null}}]}},"s":{"0":69,"1":0,"2":22,"3":22,"4":69,"5":22},"f":{"0":69},"b":{"0":[69,53,15]}} -,"/Users/Mirek.Rusin/tsql/src/is-object.ts": {"path":"/Users/Mirek.Rusin/tsql/src/is-object.ts","statementMap":{"0":{"start":{"line":1,"column":16},"end":{"line":1,"column":25}},"1":{"start":{"line":2,"column":2},"end":{"line":5,"column":null}}},"fnMap":{"0":{"name":"isObject","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":25}},"loc":{"start":{"line":1,"column":39},"end":{"line":7,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":5,"column":null}},"type":"binary-expr","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":null}},{"start":{"line":4,"column":4},"end":{"line":4,"column":null}},{"start":{"line":5,"column":4},"end":{"line":5,"column":null}}]}},"s":{"0":263,"1":263},"f":{"0":263},"b":{"0":[263,239,236]}} -,"/Users/Mirek.Rusin/tsql/src/is-string.ts": {"path":"/Users/Mirek.Rusin/tsql/src/is-string.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"1":{"start":{"line":2,"column":13},"end":{"line":2,"column":21}},"2":{"start":{"line":5,"column":2},"end":{"line":6,"column":null}},"3":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"4":{"start":{"line":8,"column":15},"end":{"line":8,"column":23}}},"fnMap":{"0":{"name":"(anonymous_3)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"type":"binary-expr","locations":[{"start":{"line":6,"column":4},"end":{"line":6,"column":33}},{"start":{"line":6,"column":33},"end":{"line":6,"column":null}}]}},"s":{"0":4685,"1":0,"2":22,"3":4685,"4":22},"f":{"0":4685},"b":{"0":[4685,0]}} -,"/Users/Mirek.Rusin/tsql/src/is.ts": {"path":"/Users/Mirek.Rusin/tsql/src/is.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":12,"column":2},"end":{"line":14,"column":null}},"2":{"start":{"line":13,"column":4},"end":{"line":14,"column":null}},"3":{"start":{"line":14,"column":6},"end":{"line":14,"column":null}},"4":{"start":{"line":16,"column":15},"end":{"line":16,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":35}},"loc":{"start":{"line":13,"column":4},"end":{"line":14,"column":null}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":14,"column":6},"end":{"line":14,"column":null}}}},"branchMap":{},"s":{"0":6,"1":22,"2":6,"3":6,"4":22},"f":{"0":6,"1":6},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/json-modify.ts": {"path":"/Users/Mirek.Rusin/tsql/src/json-modify.ts","statementMap":{"0":{"start":{"line":35,"column":0},"end":{"line":35,"column":15}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":23}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":22},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"6":{"start":{"line":8,"column":2},"end":{"line":33,"column":null}},"7":{"start":{"line":9,"column":18},"end":{"line":9,"column":null}},"8":{"start":{"line":10,"column":4},"end":{"line":32,"column":null}},"9":{"start":{"line":11,"column":6},"end":{"line":24,"column":null}},"10":{"start":{"line":12,"column":22},"end":{"line":12,"column":null}},"11":{"start":{"line":13,"column":8},"end":{"line":23,"column":null}},"12":{"start":{"line":25,"column":6},"end":{"line":31,"column":null}},"13":{"start":{"line":35,"column":15},"end":{"line":35,"column":25}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":14},"end":{"line":33,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":25}},"loc":{"start":{"line":10,"column":33},"end":{"line":32,"column":7}}}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":6},"end":{"line":24,"column":null}},"type":"if","locations":[{"start":{"line":11,"column":6},"end":{"line":24,"column":null}}]}},"s":{"0":3,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":3,"8":3,"9":6,"10":2,"11":2,"12":4,"13":22},"f":{"0":3,"1":6},"b":{"0":[2]}} -,"/Users/Mirek.Rusin/tsql/src/json-path-exists.ts": {"path":"/Users/Mirek.Rusin/tsql/src/json-path-exists.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":15}},"1":{"start":{"line":1,"column":31},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":15},"end":{"line":2,"column":29}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":22,"2":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/json-path.ts": {"path":"/Users/Mirek.Rusin/tsql/src/json-path.ts","statementMap":{"0":{"start":{"line":23,"column":0},"end":{"line":23,"column":15}},"1":{"start":{"line":5,"column":13},"end":{"line":5,"column":21}},"2":{"start":{"line":2,"column":13},"end":{"line":2,"column":15}},"3":{"start":{"line":2,"column":18},"end":{"line":2,"column":null}},"4":{"start":{"line":6,"column":2},"end":{"line":21,"column":null}},"5":{"start":{"line":7,"column":4},"end":{"line":9,"column":null}},"6":{"start":{"line":8,"column":6},"end":{"line":8,"column":null}},"7":{"start":{"line":10,"column":28},"end":{"line":10,"column":30}},"8":{"start":{"line":11,"column":4},"end":{"line":13,"column":null}},"9":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"10":{"start":{"line":14,"column":4},"end":{"line":16,"column":null}},"11":{"start":{"line":15,"column":6},"end":{"line":15,"column":null}},"12":{"start":{"line":17,"column":4},"end":{"line":19,"column":null}},"13":{"start":{"line":18,"column":6},"end":{"line":18,"column":null}},"14":{"start":{"line":20,"column":4},"end":{"line":20,"column":null}},"15":{"start":{"line":23,"column":15},"end":{"line":23,"column":23}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":6,"column":85},"end":{"line":21,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":17},"end":{"line":6,"column":85}},"type":"default-arg","locations":[{"start":{"line":6,"column":83},"end":{"line":6,"column":85}}]},"1":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":null}}]},"2":{"loc":{"start":{"line":11,"column":4},"end":{"line":13,"column":null}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":13,"column":null}}]},"3":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":null}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":16,"column":null}}]},"4":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":null}},"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":19,"column":null}}]}},"s":{"0":20,"1":0,"2":0,"3":22,"4":22,"5":20,"6":5,"7":15,"8":15,"9":2,"10":15,"11":1,"12":15,"13":2,"14":13,"15":22},"f":{"0":20},"b":{"0":[18],"1":[5],"2":[2],"3":[1],"4":[2]}} -,"/Users/Mirek.Rusin/tsql/src/json-query.ts": {"path":"/Users/Mirek.Rusin/tsql/src/json-query.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":15}},"1":{"start":{"line":1,"column":26},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":15},"end":{"line":2,"column":24}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":22,"2":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/json-value.ts": {"path":"/Users/Mirek.Rusin/tsql/src/json-value.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":15}},"1":{"start":{"line":1,"column":26},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":15},"end":{"line":2,"column":24}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":22,"2":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/json.ts": {"path":"/Users/Mirek.Rusin/tsql/src/json.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":10,"column":13},"end":{"line":10,"column":17}},"2":{"start":{"line":1,"column":18},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":20},"end":{"line":2,"column":null}},"4":{"start":{"line":11,"column":2},"end":{"line":14,"column":null}},"5":{"start":{"line":12,"column":4},"end":{"line":14,"column":null}},"6":{"start":{"line":16,"column":15},"end":{"line":16,"column":19}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":12,"column":4},"end":{"line":14,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":4},"end":{"line":14,"column":null}},"type":"cond-expr","locations":[{"start":{"line":13,"column":6},"end":{"line":13,"column":11}},{"start":{"line":14,"column":6},"end":{"line":14,"column":null}}]}},"s":{"0":8,"1":0,"2":22,"3":22,"4":22,"5":8,"6":22},"f":{"0":8},"b":{"0":[0,8]}} -,"/Users/Mirek.Rusin/tsql/src/keys-of-objects.ts": {"path":"/Users/Mirek.Rusin/tsql/src/keys-of-objects.ts","statementMap":{"0":{"start":{"line":31,"column":0},"end":{"line":31,"column":15}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":26}},"2":{"start":{"line":2,"column":13},"end":{"line":2,"column":17}},"3":{"start":{"line":3,"column":2},"end":{"line":4,"column":null}},"4":{"start":{"line":4,"column":4},"end":{"line":4,"column":null}},"5":{"start":{"line":4,"column":50},"end":{"line":4,"column":61}},"6":{"start":{"line":12,"column":2},"end":{"line":29,"column":null}},"7":{"start":{"line":13,"column":4},"end":{"line":15,"column":null}},"8":{"start":{"line":14,"column":6},"end":{"line":14,"column":null}},"9":{"start":{"line":16,"column":4},"end":{"line":18,"column":null}},"10":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"11":{"start":{"line":19,"column":17},"end":{"line":19,"column":null}},"12":{"start":{"line":20,"column":4},"end":{"line":25,"column":null}},"13":{"start":{"line":20,"column":17},"end":{"line":20,"column":20}},"14":{"start":{"line":21,"column":20},"end":{"line":21,"column":null}},"15":{"start":{"line":22,"column":6},"end":{"line":24,"column":null}},"16":{"start":{"line":23,"column":8},"end":{"line":23,"column":null}},"17":{"start":{"line":28,"column":4},"end":{"line":28,"column":null}},"18":{"start":{"line":31,"column":15},"end":{"line":31,"column":28}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":3,"column":2},"end":{"line":3,"column":3}},"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":4,"column":40},"end":{"line":4,"column":41}},"loc":{"start":{"line":4,"column":50},"end":{"line":4,"column":61}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":12,"column":3},"end":{"line":29,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":null}},"type":"binary-expr","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":27}},{"start":{"line":4,"column":31},"end":{"line":4,"column":null}}]},"1":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":null}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":15,"column":null}}]},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":null}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":null}}]},"3":{"loc":{"start":{"line":22,"column":6},"end":{"line":24,"column":null}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":24,"column":null}}]}},"s":{"0":21,"1":0,"2":0,"3":22,"4":4124,"5":4152,"6":22,"7":21,"8":0,"9":21,"10":0,"11":21,"12":21,"13":21,"14":4124,"15":4124,"16":0,"17":21,"18":22},"f":{"0":4124,"1":4152,"2":21},"b":{"0":[4124,4124],"1":[0],"2":[0],"3":[0]}} -,"/Users/Mirek.Rusin/tsql/src/keywords.ts": {"path":"/Users/Mirek.Rusin/tsql/src/keywords.ts","statementMap":{"0":{"start":{"line":979,"column":0},"end":{"line":979,"column":15}},"1":{"start":{"line":1,"column":18},"end":{"line":973,"column":null}},"2":{"start":{"line":977,"column":2},"end":{"line":977,"column":null}},"3":{"start":{"line":977,"column":30},"end":{"line":977,"column":52}},"4":{"start":{"line":979,"column":15},"end":{"line":979,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":977,"column":19},"end":{"line":977,"column":20}},"loc":{"start":{"line":977,"column":30},"end":{"line":977,"column":52}}}},"branchMap":{},"s":{"0":424,"1":22,"2":22,"3":21362,"4":22},"f":{"0":21362},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/like.ts": {"path":"/Users/Mirek.Rusin/tsql/src/like.ts","statementMap":{"0":{"start":{"line":25,"column":0},"end":{"line":25,"column":15}},"1":{"start":{"line":19,"column":13},"end":{"line":19,"column":17}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":19},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":20},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":9,"column":2},"end":{"line":12,"column":40}},"8":{"start":{"line":10,"column":4},"end":{"line":12,"column":40}},"9":{"start":{"line":20,"column":2},"end":{"line":23,"column":48}},"10":{"start":{"line":21,"column":4},"end":{"line":23,"column":48}},"11":{"start":{"line":25,"column":15},"end":{"line":25,"column":19}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":40}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":48}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":40}},"type":"cond-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":19}},{"start":{"line":12,"column":6},"end":{"line":12,"column":40}}]},"1":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":48}},"type":"cond-expr","locations":[{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},{"start":{"line":23,"column":6},"end":{"line":23,"column":48}}]}},"s":{"0":22,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":1,"9":22,"10":1,"11":22},"f":{"0":1,"1":1},"b":{"0":[0,1],"1":[0,1]}} -,"/Users/Mirek.Rusin/tsql/src/limited-hints-identifier.ts": {"path":"/Users/Mirek.Rusin/tsql/src/limited-hints-identifier.ts","statementMap":{"0":{"start":{"line":14,"column":0},"end":{"line":14,"column":15}},"1":{"start":{"line":1,"column":34},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":23},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":17},"end":{"line":3,"column":null}},"4":{"start":{"line":4,"column":21},"end":{"line":4,"column":null}},"5":{"start":{"line":9,"column":2},"end":{"line":12,"column":null}},"6":{"start":{"line":10,"column":4},"end":{"line":12,"column":null}},"7":{"start":{"line":14,"column":15},"end":{"line":14,"column":null}}},"fnMap":{"0":{"name":"(anonymous_5)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":null}},"type":"cond-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":86}},{"start":{"line":12,"column":6},"end":{"line":12,"column":null}}]},"1":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":null}},"type":"binary-expr","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":13}},{"start":{"line":10,"column":13},"end":{"line":10,"column":null}}]}},"s":{"0":20,"1":22,"2":22,"3":22,"4":22,"5":22,"6":20,"7":22},"f":{"0":20},"b":{"0":[18,2],"1":[20,20]}} -,"/Users/Mirek.Rusin/tsql/src/line.ts": {"path":"/Users/Mirek.Rusin/tsql/src/line.ts","statementMap":{"0":{"start":{"line":20,"column":0},"end":{"line":20,"column":15}},"1":{"start":{"line":14,"column":13},"end":{"line":14,"column":17}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"4":{"start":{"line":15,"column":2},"end":{"line":18,"column":null}},"5":{"start":{"line":16,"column":22},"end":{"line":16,"column":null}},"6":{"start":{"line":16,"column":43},"end":{"line":16,"column":null}},"7":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"8":{"start":{"line":17,"column":44},"end":{"line":17,"column":65}},"9":{"start":{"line":20,"column":15},"end":{"line":20,"column":19}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":2},"end":{"line":15,"column":3}},"loc":{"start":{"line":15,"column":6},"end":{"line":18,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":16,"column":38},"end":{"line":16,"column":43}},"loc":{"start":{"line":16,"column":43},"end":{"line":16,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":17,"column":39},"end":{"line":17,"column":44}},"loc":{"start":{"line":17,"column":44},"end":{"line":17,"column":65}}}},"branchMap":{},"s":{"0":13,"1":0,"2":22,"3":22,"4":22,"5":13,"6":26,"7":13,"8":26,"9":22},"f":{"0":13,"1":26,"2":26},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/lines.ts": {"path":"/Users/Mirek.Rusin/tsql/src/lines.ts","statementMap":{"0":{"start":{"line":17,"column":0},"end":{"line":17,"column":15}},"1":{"start":{"line":8,"column":13},"end":{"line":8,"column":18}},"2":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"3":{"start":{"line":9,"column":2},"end":{"line":15,"column":null}},"4":{"start":{"line":10,"column":19},"end":{"line":10,"column":null}},"5":{"start":{"line":11,"column":4},"end":{"line":13,"column":null}},"6":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"8":{"start":{"line":17,"column":15},"end":{"line":17,"column":20}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":6}},"loc":{"start":{"line":9,"column":44},"end":{"line":15,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":28},"end":{"line":9,"column":44}},"type":"default-arg","locations":[{"start":{"line":9,"column":40},"end":{"line":9,"column":44}}]},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":13,"column":null}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":13,"column":null}}]}},"s":{"0":5,"1":0,"2":22,"3":22,"4":5,"5":5,"6":2,"7":3,"8":22},"f":{"0":5},"b":{"0":[4],"1":[2]}} -,"/Users/Mirek.Rusin/tsql/src/list.ts": {"path":"/Users/Mirek.Rusin/tsql/src/list.ts","statementMap":{"0":{"start":{"line":23,"column":0},"end":{"line":23,"column":15}},"1":{"start":{"line":12,"column":13},"end":{"line":12,"column":17}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"4":{"start":{"line":13,"column":2},"end":{"line":21,"column":null}},"5":{"start":{"line":14,"column":20},"end":{"line":17,"column":null}},"6":{"start":{"line":15,"column":19},"end":{"line":15,"column":null}},"7":{"start":{"line":16,"column":16},"end":{"line":16,"column":null}},"8":{"start":{"line":17,"column":19},"end":{"line":17,"column":null}},"9":{"start":{"line":18,"column":4},"end":{"line":20,"column":null}},"10":{"start":{"line":23,"column":15},"end":{"line":23,"column":19}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":6}},"loc":{"start":{"line":13,"column":90},"end":{"line":21,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":15,"column":14},"end":{"line":15,"column":19}},"loc":{"start":{"line":15,"column":19},"end":{"line":15,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":16,"column":11},"end":{"line":16,"column":16}},"loc":{"start":{"line":16,"column":16},"end":{"line":16,"column":null}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":17,"column":14},"end":{"line":17,"column":19}},"loc":{"start":{"line":17,"column":19},"end":{"line":17,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":28},"end":{"line":13,"column":72}},"type":"default-arg","locations":[{"start":{"line":13,"column":68},"end":{"line":13,"column":72}}]},"1":{"loc":{"start":{"line":13,"column":74},"end":{"line":13,"column":90}},"type":"default-arg","locations":[{"start":{"line":13,"column":86},"end":{"line":13,"column":90}}]},"2":{"loc":{"start":{"line":18,"column":11},"end":{"line":20,"column":null}},"type":"cond-expr","locations":[{"start":{"line":19,"column":6},"end":{"line":19,"column":null}},{"start":{"line":20,"column":6},"end":{"line":20,"column":null}}]}},"s":{"0":4274,"1":0,"2":22,"3":22,"4":22,"5":4274,"6":8524,"7":8512,"8":8512,"9":4274,"10":22},"f":{"0":4274,"1":8524,"2":8512,"3":8512},"b":{"0":[65],"1":[4245],"2":[4270,4]}} -,"/Users/Mirek.Rusin/tsql/src/logical-false.ts": {"path":"/Users/Mirek.Rusin/tsql/src/logical-false.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":13,"column":13},"end":{"line":13,"column":25}},"2":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"3":{"start":{"line":14,"column":2},"end":{"line":14,"column":null}},"4":{"start":{"line":16,"column":15},"end":{"line":16,"column":27}}},"fnMap":{},"branchMap":{},"s":{"0":8,"1":0,"2":22,"3":22,"4":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/logical-true.ts": {"path":"/Users/Mirek.Rusin/tsql/src/logical-true.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":13,"column":13},"end":{"line":13,"column":24}},"2":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"3":{"start":{"line":14,"column":2},"end":{"line":14,"column":null}},"4":{"start":{"line":16,"column":15},"end":{"line":16,"column":26}}},"fnMap":{},"branchMap":{},"s":{"0":25,"1":0,"2":22,"3":22,"4":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/lt.ts": {"path":"/Users/Mirek.Rusin/tsql/src/lt.ts","statementMap":{"0":{"start":{"line":13,"column":0},"end":{"line":13,"column":15}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":15}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":10,"column":2},"end":{"line":11,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"5":{"start":{"line":13,"column":15},"end":{"line":13,"column":17}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}}}},"branchMap":{},"s":{"0":22,"1":0,"2":22,"3":22,"4":2,"5":22},"f":{"0":2},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/lte.ts": {"path":"/Users/Mirek.Rusin/tsql/src/lte.ts","statementMap":{"0":{"start":{"line":13,"column":0},"end":{"line":13,"column":15}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":16}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":10,"column":2},"end":{"line":11,"column":null}},"4":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"5":{"start":{"line":13,"column":15},"end":{"line":13,"column":18}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}}}},"branchMap":{},"s":{"0":22,"1":0,"2":22,"3":22,"4":2,"5":22},"f":{"0":2},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/margin-of-first-line.ts": {"path":"/Users/Mirek.Rusin/tsql/src/margin-of-first-line.ts","statementMap":{"0":{"start":{"line":13,"column":0},"end":{"line":13,"column":15}},"1":{"start":{"line":3,"column":2},"end":{"line":11,"column":null}},"2":{"start":{"line":4,"column":12},"end":{"line":4,"column":null}},"3":{"start":{"line":5,"column":4},"end":{"line":9,"column":null}},"4":{"start":{"line":6,"column":6},"end":{"line":8,"column":null}},"5":{"start":{"line":7,"column":8},"end":{"line":7,"column":null}},"6":{"start":{"line":10,"column":4},"end":{"line":10,"column":null}},"7":{"start":{"line":13,"column":15},"end":{"line":13,"column":null}}},"fnMap":{"0":{"name":"(anonymous_1)","decl":{"start":{"line":3,"column":2},"end":{"line":3,"column":3}},"loc":{"start":{"line":3,"column":3},"end":{"line":11,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":6},"end":{"line":8,"column":null}},"type":"if","locations":[{"start":{"line":6,"column":6},"end":{"line":8,"column":null}}]},"1":{"loc":{"start":{"line":6,"column":10},"end":{"line":6,"column":47}},"type":"binary-expr","locations":[{"start":{"line":6,"column":10},"end":{"line":6,"column":29}},{"start":{"line":6,"column":29},"end":{"line":6,"column":47}}]}},"s":{"0":14,"1":24,"2":14,"3":14,"4":16,"5":6,"6":14,"7":24},"f":{"0":14},"b":{"0":[6],"1":[16,8]}} -,"/Users/Mirek.Rusin/tsql/src/margin-of-last-line.ts": {"path":"/Users/Mirek.Rusin/tsql/src/margin-of-last-line.ts","statementMap":{"0":{"start":{"line":7,"column":0},"end":{"line":7,"column":15}},"1":{"start":{"line":1,"column":30},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":2},"end":{"line":5,"column":null}},"3":{"start":{"line":5,"column":4},"end":{"line":5,"column":null}},"4":{"start":{"line":7,"column":15},"end":{"line":7,"column":null}}},"fnMap":{"0":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":3}},"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":null}}}},"branchMap":{},"s":{"0":8,"1":23,"2":23,"3":8,"4":23},"f":{"0":8},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/maybe-line.ts": {"path":"/Users/Mirek.Rusin/tsql/src/maybe-line.ts","statementMap":{"0":{"start":{"line":20,"column":0},"end":{"line":20,"column":15}},"1":{"start":{"line":12,"column":13},"end":{"line":12,"column":22}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"4":{"start":{"line":13,"column":2},"end":{"line":18,"column":null}},"5":{"start":{"line":14,"column":22},"end":{"line":14,"column":null}},"6":{"start":{"line":14,"column":43},"end":{"line":14,"column":null}},"7":{"start":{"line":15,"column":4},"end":{"line":17,"column":null}},"8":{"start":{"line":16,"column":39},"end":{"line":16,"column":60}},"9":{"start":{"line":20,"column":15},"end":{"line":20,"column":24}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":13,"column":6},"end":{"line":18,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":38},"end":{"line":14,"column":43}},"loc":{"start":{"line":14,"column":43},"end":{"line":14,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":16,"column":34},"end":{"line":16,"column":39}},"loc":{"start":{"line":16,"column":39},"end":{"line":16,"column":60}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":11},"end":{"line":17,"column":null}},"type":"cond-expr","locations":[{"start":{"line":16,"column":6},"end":{"line":16,"column":null}},{"start":{"line":17,"column":6},"end":{"line":17,"column":null}}]}},"s":{"0":0,"1":0,"2":22,"3":22,"4":22,"5":0,"6":0,"7":0,"8":0,"9":22},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/maybe-lines.ts": {"path":"/Users/Mirek.Rusin/tsql/src/maybe-lines.ts","statementMap":{"0":{"start":{"line":20,"column":0},"end":{"line":20,"column":15}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":23}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"4":{"start":{"line":7,"column":2},"end":{"line":18,"column":null}},"5":{"start":{"line":9,"column":6},"end":{"line":13,"column":null}},"6":{"start":{"line":10,"column":21},"end":{"line":10,"column":null}},"7":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}},"8":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}},"9":{"start":{"line":13,"column":18},"end":{"line":13,"column":null}},"10":{"start":{"line":14,"column":4},"end":{"line":16,"column":null}},"11":{"start":{"line":15,"column":6},"end":{"line":15,"column":null}},"12":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"13":{"start":{"line":20,"column":15},"end":{"line":20,"column":25}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":6}},"loc":{"start":{"line":7,"column":44},"end":{"line":18,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":10,"column":16},"end":{"line":10,"column":21}},"loc":{"start":{"line":10,"column":21},"end":{"line":10,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":11,"column":13},"end":{"line":11,"column":18}},"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":null}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":21}},"loc":{"start":{"line":12,"column":21},"end":{"line":12,"column":null}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":13,"column":13},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":18},"end":{"line":13,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":28},"end":{"line":7,"column":44}},"type":"default-arg","locations":[{"start":{"line":7,"column":40},"end":{"line":7,"column":44}}]},"1":{"loc":{"start":{"line":14,"column":4},"end":{"line":16,"column":null}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":16,"column":null}}]}},"s":{"0":5,"1":0,"2":22,"3":22,"4":22,"5":5,"6":10,"7":7,"8":7,"9":7,"10":5,"11":2,"12":3,"13":22},"f":{"0":5,"1":10,"2":7,"3":7,"4":7},"b":{"0":[0],"1":[2]}} -,"/Users/Mirek.Rusin/tsql/src/merge-1n.ts": {"path":"/Users/Mirek.Rusin/tsql/src/merge-1n.ts","statementMap":{"0":{"start":{"line":45,"column":0},"end":{"line":45,"column":15}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":20}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":24},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":35},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":16},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":12,"column":2},"end":{"line":43,"column":null}},"8":{"start":{"line":21,"column":19},"end":{"line":21,"column":null}},"9":{"start":{"line":22,"column":21},"end":{"line":22,"column":null}},"10":{"start":{"line":23,"column":21},"end":{"line":23,"column":null}},"11":{"start":{"line":24,"column":4},"end":{"line":26,"column":null}},"12":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"13":{"start":{"line":27,"column":4},"end":{"line":29,"column":null}},"14":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"15":{"start":{"line":30,"column":4},"end":{"line":42,"column":null}},"16":{"start":{"line":45,"column":15},"end":{"line":45,"column":22}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":null}},"loc":{"start":{"line":19,"column":10},"end":{"line":43,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":10}},"type":"default-arg","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":10}}]},"1":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"type":"default-arg","locations":[{"start":{"line":17,"column":14},"end":{"line":17,"column":null}}]},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":26,"column":null}},"type":"if","locations":[{"start":{"line":24,"column":4},"end":{"line":26,"column":null}}]},"3":{"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":29,"column":null}}]}},"s":{"0":5,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":5,"9":5,"10":5,"11":5,"12":0,"13":5,"14":1,"15":4,"16":22},"f":{"0":5},"b":{"0":[1],"1":[1],"2":[0],"3":[1]}} -,"/Users/Mirek.Rusin/tsql/src/modify-jsons.ts": {"path":"/Users/Mirek.Rusin/tsql/src/modify-jsons.ts","statementMap":{"0":{"start":{"line":62,"column":0},"end":{"line":62,"column":15}},"1":{"start":{"line":23,"column":13},"end":{"line":23,"column":19}},"2":{"start":{"line":33,"column":13},"end":{"line":33,"column":24}},"3":{"start":{"line":15,"column":13},"end":{"line":15,"column":27}},"4":{"start":{"line":19,"column":13},"end":{"line":19,"column":27}},"5":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"6":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"7":{"start":{"line":3,"column":15},"end":{"line":3,"column":null}},"8":{"start":{"line":4,"column":33},"end":{"line":4,"column":null}},"9":{"start":{"line":5,"column":26},"end":{"line":5,"column":null}},"10":{"start":{"line":6,"column":17},"end":{"line":6,"column":null}},"11":{"start":{"line":9,"column":17},"end":{"line":9,"column":null}},"12":{"start":{"line":10,"column":19},"end":{"line":10,"column":null}},"13":{"start":{"line":16,"column":2},"end":{"line":17,"column":null}},"14":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"15":{"start":{"line":20,"column":2},"end":{"line":21,"column":null}},"16":{"start":{"line":21,"column":4},"end":{"line":21,"column":null}},"17":{"start":{"line":24,"column":2},"end":{"line":29,"column":null}},"18":{"start":{"line":25,"column":4},"end":{"line":29,"column":null}},"19":{"start":{"line":29,"column":38},"end":{"line":29,"column":138}},"20":{"start":{"line":33,"column":27},"end":{"line":60,"column":null}},"21":{"start":{"line":38,"column":2},"end":{"line":40,"column":null}},"22":{"start":{"line":39,"column":4},"end":{"line":39,"column":null}},"23":{"start":{"line":42,"column":17},"end":{"line":42,"column":null}},"24":{"start":{"line":43,"column":21},"end":{"line":43,"column":null}},"25":{"start":{"line":44,"column":17},"end":{"line":44,"column":null}},"26":{"start":{"line":44,"column":40},"end":{"line":44,"column":null}},"27":{"start":{"line":45,"column":22},"end":{"line":45,"column":null}},"28":{"start":{"line":45,"column":45},"end":{"line":45,"column":null}},"29":{"start":{"line":46,"column":18},"end":{"line":49,"column":null}},"30":{"start":{"line":47,"column":21},"end":{"line":47,"column":null}},"31":{"start":{"line":47,"column":52},"end":{"line":47,"column":65}},"32":{"start":{"line":48,"column":4},"end":{"line":48,"column":null}},"33":{"start":{"line":51,"column":14},"end":{"line":51,"column":null}},"34":{"start":{"line":51,"column":37},"end":{"line":51,"column":null}},"35":{"start":{"line":53,"column":2},"end":{"line":59,"column":null}},"36":{"start":{"line":62,"column":15},"end":{"line":62,"column":26}}},"fnMap":{"0":{"name":"(anonymous_7)","decl":{"start":{"line":16,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}}},"1":{"name":"(anonymous_8)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":null}}},"2":{"name":"(anonymous_9)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":25,"column":4},"end":{"line":29,"column":null}}},"3":{"name":"(anonymous_10)","decl":{"start":{"line":29,"column":22},"end":{"line":29,"column":23}},"loc":{"start":{"line":29,"column":38},"end":{"line":29,"column":138}}},"4":{"name":"(anonymous_11)","decl":{"start":{"line":33,"column":27},"end":{"line":33,"column":null}},"loc":{"start":{"line":35,"column":2},"end":{"line":60,"column":null}}},"5":{"name":"(anonymous_12)","decl":{"start":{"line":44,"column":35},"end":{"line":44,"column":40}},"loc":{"start":{"line":44,"column":40},"end":{"line":44,"column":null}}},"6":{"name":"(anonymous_13)","decl":{"start":{"line":45,"column":40},"end":{"line":45,"column":45}},"loc":{"start":{"line":45,"column":45},"end":{"line":45,"column":null}}},"7":{"name":"(anonymous_14)","decl":{"start":{"line":46,"column":39},"end":{"line":46,"column":null}},"loc":{"start":{"line":46,"column":39},"end":{"line":49,"column":null}}},"8":{"name":"(anonymous_15)","decl":{"start":{"line":47,"column":47},"end":{"line":47,"column":52}},"loc":{"start":{"line":47,"column":52},"end":{"line":47,"column":65}}},"9":{"name":"(anonymous_16)","decl":{"start":{"line":51,"column":32},"end":{"line":51,"column":37}},"loc":{"start":{"line":51,"column":37},"end":{"line":51,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":40,"column":null}}]}},"s":{"0":2,"1":0,"2":0,"3":0,"4":0,"5":22,"6":22,"7":22,"8":22,"9":22,"10":22,"11":22,"12":22,"13":22,"14":7,"15":22,"16":6,"17":22,"18":2,"19":5,"20":22,"21":2,"22":0,"23":2,"24":2,"25":2,"26":4,"27":2,"28":4,"29":2,"30":2,"31":4,"32":2,"33":2,"34":2,"35":2,"36":22},"f":{"0":7,"1":6,"2":2,"3":5,"4":2,"5":4,"6":4,"7":2,"8":4,"9":2},"b":{"0":[0]}} -,"/Users/Mirek.Rusin/tsql/src/ne.ts": {"path":"/Users/Mirek.Rusin/tsql/src/ne.ts","statementMap":{"0":{"start":{"line":18,"column":0},"end":{"line":18,"column":15}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":15}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":19},"end":{"line":3,"column":null}},"5":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"6":{"start":{"line":8,"column":2},"end":{"line":16,"column":null}},"7":{"start":{"line":9,"column":4},"end":{"line":11,"column":null}},"8":{"start":{"line":10,"column":6},"end":{"line":10,"column":null}},"9":{"start":{"line":12,"column":15},"end":{"line":12,"column":null}},"10":{"start":{"line":13,"column":4},"end":{"line":15,"column":null}},"11":{"start":{"line":18,"column":15},"end":{"line":18,"column":17}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":8,"column":20},"end":{"line":16,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":4},"end":{"line":11,"column":null}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":11,"column":null}}]},"1":{"loc":{"start":{"line":13,"column":11},"end":{"line":15,"column":27}},"type":"cond-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":29}},{"start":{"line":15,"column":6},"end":{"line":15,"column":27}}]}},"s":{"0":22,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":1,"8":0,"9":1,"10":1,"11":22},"f":{"0":1},"b":{"0":[0],"1":[0,1]}} -,"/Users/Mirek.Rusin/tsql/src/ng.ts": {"path":"/Users/Mirek.Rusin/tsql/src/ng.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":6,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"5":{"start":{"line":8,"column":15},"end":{"line":8,"column":17}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}}}},"branchMap":{},"s":{"0":22,"1":0,"2":22,"3":22,"4":1,"5":22},"f":{"0":1},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/nl.ts": {"path":"/Users/Mirek.Rusin/tsql/src/nl.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":15}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":6,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"5":{"start":{"line":8,"column":15},"end":{"line":8,"column":17}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}}}},"branchMap":{},"s":{"0":22,"1":0,"2":22,"3":22,"4":1,"5":22},"f":{"0":1},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/not-between.ts": {"path":"/Users/Mirek.Rusin/tsql/src/not-between.ts","statementMap":{"0":{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":23}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":17},"end":{"line":3,"column":null}},"5":{"start":{"line":7,"column":2},"end":{"line":10,"column":62}},"6":{"start":{"line":8,"column":4},"end":{"line":10,"column":62}},"7":{"start":{"line":12,"column":15},"end":{"line":12,"column":25}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":6}},"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":62}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":62}},"type":"cond-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":9,"column":null}},{"start":{"line":10,"column":6},"end":{"line":10,"column":62}}]},"1":{"loc":{"start":{"line":8,"column":4},"end":{"line":8,"column":null}},"type":"binary-expr","locations":[{"start":{"line":8,"column":4},"end":{"line":8,"column":32}},{"start":{"line":8,"column":32},"end":{"line":8,"column":null}}]}},"s":{"0":22,"1":0,"2":22,"3":22,"4":22,"5":22,"6":1,"7":22},"f":{"0":1},"b":{"0":[0,1],"1":[1,1]}} -,"/Users/Mirek.Rusin/tsql/src/not-distinct.ts": {"path":"/Users/Mirek.Rusin/tsql/src/not-distinct.ts","statementMap":{"0":{"start":{"line":15,"column":0},"end":{"line":15,"column":15}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":24}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"5":{"start":{"line":7,"column":2},"end":{"line":13,"column":null}},"6":{"start":{"line":8,"column":4},"end":{"line":10,"column":null}},"7":{"start":{"line":9,"column":6},"end":{"line":9,"column":null}},"8":{"start":{"line":11,"column":17},"end":{"line":11,"column":null}},"9":{"start":{"line":12,"column":4},"end":{"line":12,"column":null}},"10":{"start":{"line":15,"column":15},"end":{"line":15,"column":26}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":7,"column":20},"end":{"line":13,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":4},"end":{"line":10,"column":null}}]},"1":{"loc":{"start":{"line":8,"column":8},"end":{"line":8,"column":66}},"type":"binary-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":38}},{"start":{"line":8,"column":38},"end":{"line":8,"column":66}}]}},"s":{"0":44,"1":0,"2":22,"3":22,"4":22,"5":22,"6":0,"7":0,"8":0,"9":0,"10":22},"f":{"0":0},"b":{"0":[0],"1":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/not-in.ts": {"path":"/Users/Mirek.Rusin/tsql/src/not-in.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":8,"column":13},"end":{"line":8,"column":18}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":19},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":16},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":9,"column":2},"end":{"line":14,"column":44}},"8":{"start":{"line":10,"column":4},"end":{"line":14,"column":44}},"9":{"start":{"line":16,"column":15},"end":{"line":16,"column":20}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":3}},"loc":{"start":{"line":10,"column":4},"end":{"line":14,"column":44}}}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":4},"end":{"line":14,"column":44}},"type":"cond-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},{"start":{"line":12,"column":6},"end":{"line":14,"column":44}}]},"1":{"loc":{"start":{"line":12,"column":6},"end":{"line":14,"column":44}},"type":"cond-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":49}},{"start":{"line":14,"column":8},"end":{"line":14,"column":44}}]},"2":{"loc":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"type":"binary-expr","locations":[{"start":{"line":12,"column":6},"end":{"line":12,"column":11}},{"start":{"line":12,"column":11},"end":{"line":12,"column":26}},{"start":{"line":12,"column":26},"end":{"line":12,"column":null}}]}},"s":{"0":44,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":1,"9":22},"f":{"0":1},"b":{"0":[0,1],"1":[1,0],"2":[1,1,1]}} -,"/Users/Mirek.Rusin/tsql/src/not.ts": {"path":"/Users/Mirek.Rusin/tsql/src/not.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"1":{"start":{"line":3,"column":9},"end":{"line":3,"column":null}},"2":{"start":{"line":1,"column":20},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":15},"end":{"line":5,"column":18}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":22,"3":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/now.ts": {"path":"/Users/Mirek.Rusin/tsql/src/now.ts","statementMap":{"0":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"1":{"start":{"line":3,"column":13},"end":{"line":3,"column":16}},"2":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":null}},"4":{"start":{"line":6,"column":15},"end":{"line":6,"column":18}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":0,"2":22,"3":22,"4":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/nstring.ts": {"path":"/Users/Mirek.Rusin/tsql/src/nstring.ts","statementMap":{"0":{"start":{"line":13,"column":0},"end":{"line":13,"column":15}},"1":{"start":{"line":5,"column":13},"end":{"line":5,"column":20}},"2":{"start":{"line":1,"column":26},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":14},"end":{"line":2,"column":null}},"4":{"start":{"line":6,"column":2},"end":{"line":11,"column":null}},"5":{"start":{"line":7,"column":4},"end":{"line":11,"column":null}},"6":{"start":{"line":13,"column":15},"end":{"line":13,"column":22}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":11,"column":null}},"type":"cond-expr","locations":[{"start":{"line":8,"column":6},"end":{"line":8,"column":null}},{"start":{"line":9,"column":6},"end":{"line":11,"column":null}}]},"1":{"loc":{"start":{"line":9,"column":6},"end":{"line":11,"column":null}},"type":"cond-expr","locations":[{"start":{"line":10,"column":8},"end":{"line":10,"column":null}},{"start":{"line":11,"column":8},"end":{"line":11,"column":null}}]}},"s":{"0":4264,"1":0,"2":22,"3":22,"4":22,"5":4264,"6":22},"f":{"0":4264},"b":{"0":[0,4264],"1":[0,4264]}} -,"/Users/Mirek.Rusin/tsql/src/null.ts": {"path":"/Users/Mirek.Rusin/tsql/src/null.ts","statementMap":{"0":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"1":{"start":{"line":3,"column":13},"end":{"line":3,"column":18}},"2":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"3":{"start":{"line":4,"column":2},"end":{"line":4,"column":null}},"4":{"start":{"line":6,"column":15},"end":{"line":6,"column":20}}},"fnMap":{},"branchMap":{},"s":{"0":9,"1":0,"2":22,"3":22,"4":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/number.ts": {"path":"/Users/Mirek.Rusin/tsql/src/number.ts","statementMap":{"0":{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":19}},"2":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":10,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"5":{"start":{"line":7,"column":6},"end":{"line":7,"column":null}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"7":{"start":{"line":12,"column":15},"end":{"line":12,"column":21}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":5,"column":3},"end":{"line":10,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":null}}]}},"s":{"0":75,"1":0,"2":22,"3":22,"4":75,"5":0,"6":75,"7":22},"f":{"0":75},"b":{"0":[0]}} -,"/Users/Mirek.Rusin/tsql/src/object-id.ts": {"path":"/Users/Mirek.Rusin/tsql/src/object-id.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":21}},"2":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":6,"column":28}},"4":{"start":{"line":6,"column":4},"end":{"line":6,"column":28}},"5":{"start":{"line":8,"column":15},"end":{"line":8,"column":23}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":28}}}},"branchMap":{},"s":{"0":0,"1":0,"2":22,"3":22,"4":0,"5":22},"f":{"0":0},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/op.ts": {"path":"/Users/Mirek.Rusin/tsql/src/op.ts","statementMap":{"0":{"start":{"line":17,"column":0},"end":{"line":17,"column":15}},"1":{"start":{"line":11,"column":13},"end":{"line":11,"column":15}},"2":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":16},"end":{"line":3,"column":null}},"5":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"6":{"start":{"line":12,"column":2},"end":{"line":15,"column":57}},"7":{"start":{"line":13,"column":4},"end":{"line":15,"column":57}},"8":{"start":{"line":17,"column":15},"end":{"line":17,"column":17}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":12,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":57}}}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":15,"column":57}},"type":"cond-expr","locations":[{"start":{"line":14,"column":6},"end":{"line":14,"column":null}},{"start":{"line":15,"column":6},"end":{"line":15,"column":57}}]}},"s":{"0":12,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":12,"8":22},"f":{"0":12},"b":{"0":[0,12]}} -,"/Users/Mirek.Rusin/tsql/src/or.ts": {"path":"/Users/Mirek.Rusin/tsql/src/or.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"1":{"start":{"line":3,"column":9},"end":{"line":3,"column":null}},"2":{"start":{"line":1,"column":19},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":15},"end":{"line":5,"column":17}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":0,"2":22,"3":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/order-by.ts": {"path":"/Users/Mirek.Rusin/tsql/src/order-by.ts","statementMap":{"0":{"start":{"line":9,"column":0},"end":{"line":9,"column":15}},"1":{"start":{"line":1,"column":36},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":16},"end":{"line":3,"column":null}},"4":{"start":{"line":6,"column":2},"end":{"line":7,"column":null}},"5":{"start":{"line":7,"column":4},"end":{"line":7,"column":null}},"6":{"start":{"line":7,"column":24},"end":{"line":7,"column":null}},"7":{"start":{"line":9,"column":15},"end":{"line":9,"column":null}}},"fnMap":{"0":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":7,"column":19},"end":{"line":7,"column":24}},"loc":{"start":{"line":7,"column":24},"end":{"line":7,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":24},"end":{"line":7,"column":null}},"type":"cond-expr","locations":[{"start":{"line":7,"column":41},"end":{"line":7,"column":70}},{"start":{"line":7,"column":70},"end":{"line":7,"column":null}}]}},"s":{"0":3,"1":22,"2":22,"3":22,"4":22,"5":3,"6":4,"7":22},"f":{"0":3,"1":4},"b":{"0":[2,2]}} -,"/Users/Mirek.Rusin/tsql/src/pick.ts": {"path":"/Users/Mirek.Rusin/tsql/src/pick.ts","statementMap":{"0":{"start":{"line":14,"column":0},"end":{"line":14,"column":15}},"1":{"start":{"line":3,"column":13},"end":{"line":3,"column":17}},"2":{"start":{"line":4,"column":2},"end":{"line":12,"column":null}},"3":{"start":{"line":5,"column":44},"end":{"line":5,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":10,"column":null}},"5":{"start":{"line":7,"column":6},"end":{"line":9,"column":null}},"6":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"7":{"start":{"line":14,"column":15},"end":{"line":14,"column":19}}},"fnMap":{"0":{"name":"(anonymous_3)","decl":{"start":{"line":4,"column":2},"end":{"line":4,"column":3}},"loc":{"start":{"line":4,"column":36},"end":{"line":12,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":20},"end":{"line":9,"column":19}},"type":"cond-expr","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":null}},{"start":{"line":9,"column":8},"end":{"line":9,"column":19}}]}},"s":{"0":0,"1":0,"2":22,"3":0,"4":0,"5":0,"6":0,"7":22},"f":{"0":0},"b":{"0":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/quoted-nstring.ts": {"path":"/Users/Mirek.Rusin/tsql/src/quoted-nstring.ts","statementMap":{"0":{"start":{"line":33,"column":0},"end":{"line":33,"column":15}},"1":{"start":{"line":25,"column":13},"end":{"line":25,"column":26}},"2":{"start":{"line":3,"column":21},"end":{"line":3,"column":null}},"3":{"start":{"line":6,"column":2},"end":{"line":7,"column":null}},"4":{"start":{"line":7,"column":4},"end":{"line":7,"column":null}},"5":{"start":{"line":10,"column":2},"end":{"line":15,"column":null}},"6":{"start":{"line":11,"column":4},"end":{"line":13,"column":null}},"7":{"start":{"line":12,"column":6},"end":{"line":12,"column":null}},"8":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"9":{"start":{"line":18,"column":2},"end":{"line":23,"column":null}},"10":{"start":{"line":19,"column":4},"end":{"line":21,"column":null}},"11":{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},"12":{"start":{"line":22,"column":4},"end":{"line":22,"column":null}},"13":{"start":{"line":26,"column":2},"end":{"line":31,"column":null}},"14":{"start":{"line":27,"column":4},"end":{"line":29,"column":null}},"15":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"16":{"start":{"line":30,"column":4},"end":{"line":30,"column":null}},"17":{"start":{"line":33,"column":15},"end":{"line":33,"column":28}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":2},"end":{"line":6,"column":3}},"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":10,"column":3},"end":{"line":15,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":3},"end":{"line":23,"column":null}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":26,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":26,"column":3},"end":{"line":31,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":13},"end":{"line":7,"column":76}},"type":"cond-expr","locations":[{"start":{"line":7,"column":42},"end":{"line":7,"column":72}},{"start":{"line":7,"column":72},"end":{"line":7,"column":76}}]},"1":{"loc":{"start":{"line":11,"column":4},"end":{"line":13,"column":null}},"type":"if","locations":[{"start":{"line":11,"column":4},"end":{"line":13,"column":null}}]},"2":{"loc":{"start":{"line":19,"column":4},"end":{"line":21,"column":null}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":21,"column":null}}]},"3":{"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":29,"column":null}}]}},"s":{"0":4264,"1":0,"2":22,"3":22,"4":4267,"5":22,"6":4265,"7":4263,"8":2,"9":22,"10":4264,"11":4263,"12":1,"13":22,"14":4264,"15":0,"16":4264,"17":22},"f":{"0":4267,"1":4265,"2":4264,"3":4264},"b":{"0":[0,4267],"1":[4263],"2":[4263],"3":[0]}} -,"/Users/Mirek.Rusin/tsql/src/random-identifier.ts": {"path":"/Users/Mirek.Rusin/tsql/src/random-identifier.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":1,"column":23},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"3":{"start":{"line":7,"column":2},"end":{"line":10,"column":null}},"4":{"start":{"line":8,"column":18},"end":{"line":8,"column":null}},"5":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"6":{"start":{"line":13,"column":2},"end":{"line":14,"column":null}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}},"8":{"start":{"line":14,"column":57},"end":{"line":14,"column":73}},"9":{"start":{"line":16,"column":15},"end":{"line":16,"column":null}}},"fnMap":{"0":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"loc":{"start":{"line":7,"column":2},"end":{"line":10,"column":null}}},"1":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":3}},"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":null}}},"2":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":51},"end":{"line":14,"column":57}},"loc":{"start":{"line":14,"column":57},"end":{"line":14,"column":73}}}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":3},"end":{"line":13,"column":14}},"type":"default-arg","locations":[{"start":{"line":13,"column":12},"end":{"line":13,"column":14}}]},"1":{"loc":{"start":{"line":13,"column":16},"end":{"line":13,"column":27}},"type":"default-arg","locations":[{"start":{"line":13,"column":25},"end":{"line":13,"column":27}}]}},"s":{"0":2,"1":22,"2":22,"3":22,"4":32,"5":32,"6":22,"7":2,"8":32,"9":22},"f":{"0":32,"1":2,"2":32},"b":{"0":[0],"1":[0]}} -,"/Users/Mirek.Rusin/tsql/src/raw.ts": {"path":"/Users/Mirek.Rusin/tsql/src/raw.ts","statementMap":{"0":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":16}},"2":{"start":{"line":1,"column":14},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":6,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}},"5":{"start":{"line":8,"column":15},"end":{"line":8,"column":18}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":3}},"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":null}}}},"branchMap":{},"s":{"0":9282,"1":0,"2":22,"3":22,"4":9282,"5":22},"f":{"0":9282},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/replace-objects.ts": {"path":"/Users/Mirek.Rusin/tsql/src/replace-objects.ts","statementMap":{"0":{"start":{"line":62,"column":0},"end":{"line":62,"column":15}},"1":{"start":{"line":19,"column":13},"end":{"line":19,"column":27}},"2":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":19},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":15},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":15},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":33},"end":{"line":5,"column":null}},"7":{"start":{"line":6,"column":26},"end":{"line":6,"column":null}},"8":{"start":{"line":7,"column":35},"end":{"line":7,"column":null}},"9":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"10":{"start":{"line":9,"column":16},"end":{"line":9,"column":null}},"11":{"start":{"line":10,"column":17},"end":{"line":10,"column":null}},"12":{"start":{"line":15,"column":23},"end":{"line":15,"column":null}},"13":{"start":{"line":15,"column":43},"end":{"line":15,"column":null}},"14":{"start":{"line":16,"column":23},"end":{"line":16,"column":null}},"15":{"start":{"line":16,"column":43},"end":{"line":16,"column":null}},"16":{"start":{"line":20,"column":2},"end":{"line":60,"column":null}},"17":{"start":{"line":32,"column":4},"end":{"line":34,"column":null}},"18":{"start":{"line":33,"column":6},"end":{"line":33,"column":null}},"19":{"start":{"line":36,"column":19},"end":{"line":36,"column":null}},"20":{"start":{"line":38,"column":4},"end":{"line":40,"column":null}},"21":{"start":{"line":39,"column":6},"end":{"line":39,"column":null}},"22":{"start":{"line":42,"column":23},"end":{"line":42,"column":null}},"23":{"start":{"line":43,"column":23},"end":{"line":43,"column":null}},"24":{"start":{"line":44,"column":23},"end":{"line":44,"column":null}},"25":{"start":{"line":45,"column":20},"end":{"line":45,"column":null}},"26":{"start":{"line":45,"column":45},"end":{"line":45,"column":null}},"27":{"start":{"line":46,"column":16},"end":{"line":46,"column":null}},"28":{"start":{"line":46,"column":39},"end":{"line":46,"column":null}},"29":{"start":{"line":48,"column":4},"end":{"line":59,"column":null}},"30":{"start":{"line":62,"column":15},"end":{"line":62,"column":29}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":23},"end":{"line":15,"column":24}},"loc":{"start":{"line":15,"column":43},"end":{"line":15,"column":null}}},"1":{"name":"(anonymous_5)","decl":{"start":{"line":16,"column":23},"end":{"line":16,"column":24}},"loc":{"start":{"line":16,"column":43},"end":{"line":16,"column":null}}},"2":{"name":"(anonymous_6)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":null}},"loc":{"start":{"line":29,"column":10},"end":{"line":60,"column":null}}},"3":{"name":"(anonymous_7)","decl":{"start":{"line":45,"column":40},"end":{"line":45,"column":45}},"loc":{"start":{"line":45,"column":45},"end":{"line":45,"column":null}}},"4":{"name":"(anonymous_8)","decl":{"start":{"line":46,"column":34},"end":{"line":46,"column":39}},"loc":{"start":{"line":46,"column":39},"end":{"line":46,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":10}},"type":"default-arg","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":10}}]},"1":{"loc":{"start":{"line":32,"column":4},"end":{"line":34,"column":null}},"type":"if","locations":[{"start":{"line":32,"column":4},"end":{"line":34,"column":null}}]},"2":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":null}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":40,"column":null}}]},"3":{"loc":{"start":{"line":42,"column":23},"end":{"line":42,"column":null}},"type":"binary-expr","locations":[{"start":{"line":42,"column":23},"end":{"line":42,"column":42}},{"start":{"line":42,"column":42},"end":{"line":42,"column":null}}]},"4":{"loc":{"start":{"line":43,"column":23},"end":{"line":43,"column":null}},"type":"binary-expr","locations":[{"start":{"line":43,"column":23},"end":{"line":43,"column":42}},{"start":{"line":43,"column":42},"end":{"line":43,"column":null}}]},"5":{"loc":{"start":{"line":44,"column":23},"end":{"line":44,"column":null}},"type":"binary-expr","locations":[{"start":{"line":44,"column":23},"end":{"line":44,"column":42}},{"start":{"line":44,"column":42},"end":{"line":44,"column":null}}]}},"s":{"0":0,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":22,"11":22,"12":22,"13":0,"14":22,"15":0,"16":22,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":22},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/row.ts": {"path":"/Users/Mirek.Rusin/tsql/src/row.ts","statementMap":{"0":{"start":{"line":11,"column":0},"end":{"line":11,"column":15}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":16}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":16},"end":{"line":3,"column":null}},"5":{"start":{"line":8,"column":2},"end":{"line":9,"column":null}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"7":{"start":{"line":11,"column":15},"end":{"line":11,"column":18}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":6}},"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":15},"end":{"line":8,"column":36}},"type":"default-arg","locations":[{"start":{"line":8,"column":32},"end":{"line":8,"column":36}}]}},"s":{"0":4191,"1":0,"2":22,"3":22,"4":22,"5":22,"6":4191,"7":22},"f":{"0":4191},"b":{"0":[4191]}} -,"/Users/Mirek.Rusin/tsql/src/rowset.ts": {"path":"/Users/Mirek.Rusin/tsql/src/rowset.ts","statementMap":{"0":{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":19}},"2":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"3":{"start":{"line":5,"column":2},"end":{"line":10,"column":null}},"4":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"5":{"start":{"line":7,"column":6},"end":{"line":7,"column":null}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"7":{"start":{"line":12,"column":15},"end":{"line":12,"column":21}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":5,"column":2},"end":{"line":5,"column":6}},"loc":{"start":{"line":5,"column":6},"end":{"line":10,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":null}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":null}}]}},"s":{"0":0,"1":0,"2":22,"3":22,"4":0,"5":0,"6":0,"7":22},"f":{"0":0},"b":{"0":[0]}} -,"/Users/Mirek.Rusin/tsql/src/sanitised-identifier.ts": {"path":"/Users/Mirek.Rusin/tsql/src/sanitised-identifier.ts","statementMap":{"0":{"start":{"line":5,"column":13},"end":{"line":5,"column":32}},"1":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"2":{"start":{"line":1,"column":14},"end":{"line":1,"column":null}},"3":{"start":{"line":3,"column":12},"end":{"line":3,"column":null}},"4":{"start":{"line":10,"column":15},"end":{"line":10,"column":34}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":970,"2":22,"3":22,"4":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/sanitised.ts": {"path":"/Users/Mirek.Rusin/tsql/src/sanitised.ts","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":22}},"1":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"2":{"start":{"line":1,"column":12},"end":{"line":1,"column":null}},"3":{"start":{"line":8,"column":15},"end":{"line":8,"column":24}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":31625,"2":22,"3":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/select.ts": {"path":"/Users/Mirek.Rusin/tsql/src/select.ts","statementMap":{"0":{"start":{"line":27,"column":0},"end":{"line":27,"column":15}},"1":{"start":{"line":9,"column":13},"end":{"line":9,"column":16}},"2":{"start":{"line":13,"column":13},"end":{"line":13,"column":19}},"3":{"start":{"line":1,"column":21},"end":{"line":1,"column":null}},"4":{"start":{"line":2,"column":15},"end":{"line":2,"column":null}},"5":{"start":{"line":3,"column":17},"end":{"line":3,"column":null}},"6":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"7":{"start":{"line":5,"column":14},"end":{"line":5,"column":null}},"8":{"start":{"line":7,"column":17},"end":{"line":7,"column":null}},"9":{"start":{"line":10,"column":2},"end":{"line":11,"column":null}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}},"11":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"12":{"start":{"line":14,"column":2},"end":{"line":25,"column":null}},"13":{"start":{"line":15,"column":18},"end":{"line":15,"column":null}},"14":{"start":{"line":15,"column":38},"end":{"line":15,"column":null}},"15":{"start":{"line":16,"column":4},"end":{"line":18,"column":null}},"16":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"17":{"start":{"line":19,"column":18},"end":{"line":19,"column":null}},"18":{"start":{"line":20,"column":4},"end":{"line":23,"column":null}},"19":{"start":{"line":27,"column":15},"end":{"line":27,"column":21}}},"fnMap":{"0":{"name":"(anonymous_5)","decl":{"start":{"line":10,"column":2},"end":{"line":10,"column":3}},"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":null}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":11,"column":11},"end":{"line":11,"column":16}},"loc":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}}},"2":{"name":"(anonymous_7)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":3}},"loc":{"start":{"line":14,"column":91},"end":{"line":25,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":15,"column":33},"end":{"line":15,"column":38}},"loc":{"start":{"line":15,"column":38},"end":{"line":15,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":16},"end":{"line":11,"column":null}},"type":"cond-expr","locations":[{"start":{"line":11,"column":33},"end":{"line":11,"column":37}},{"start":{"line":11,"column":37},"end":{"line":11,"column":null}}]},"1":{"loc":{"start":{"line":14,"column":29},"end":{"line":14,"column":91}},"type":"default-arg","locations":[{"start":{"line":14,"column":89},"end":{"line":14,"column":91}}]},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":null}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":null}}]},"3":{"loc":{"start":{"line":19,"column":18},"end":{"line":19,"column":null}},"type":"cond-expr","locations":[{"start":{"line":19,"column":33},"end":{"line":19,"column":44}},{"start":{"line":19,"column":44},"end":{"line":19,"column":null}}]},"4":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":null}},"type":"cond-expr","locations":[{"start":{"line":23,"column":22},"end":{"line":23,"column":42}},{"start":{"line":23,"column":45},"end":{"line":23,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":22,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":0,"11":0,"12":22,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":22},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0],"2":[0],"3":[0,0],"4":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/star.ts": {"path":"/Users/Mirek.Rusin/tsql/src/star.ts","statementMap":{"0":{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},"1":{"start":{"line":6,"column":13},"end":{"line":6,"column":17}},"2":{"start":{"line":1,"column":15},"end":{"line":1,"column":null}},"3":{"start":{"line":4,"column":17},"end":{"line":4,"column":null}},"4":{"start":{"line":7,"column":2},"end":{"line":10,"column":13}},"5":{"start":{"line":8,"column":4},"end":{"line":10,"column":13}},"6":{"start":{"line":12,"column":15},"end":{"line":12,"column":19}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":3}},"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":13}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":4},"end":{"line":10,"column":13}},"type":"cond-expr","locations":[{"start":{"line":9,"column":6},"end":{"line":9,"column":26}},{"start":{"line":10,"column":6},"end":{"line":10,"column":13}}]}},"s":{"0":0,"1":0,"2":22,"3":22,"4":22,"5":0,"6":22},"f":{"0":0},"b":{"0":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/table-hint-limited.ts": {"path":"/Users/Mirek.Rusin/tsql/src/table-hint-limited.ts","statementMap":{"0":{"start":{"line":49,"column":13},"end":{"line":49,"column":22}},"1":{"start":{"line":27,"column":13},"end":{"line":27,"column":19}},"2":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"3":{"start":{"line":27,"column":22},"end":{"line":47,"column":null}},"4":{"start":{"line":50,"column":2},"end":{"line":55,"column":null}},"5":{"start":{"line":51,"column":4},"end":{"line":53,"column":null}},"6":{"start":{"line":52,"column":6},"end":{"line":52,"column":null}},"7":{"start":{"line":54,"column":4},"end":{"line":54,"column":null}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":50,"column":3},"end":{"line":55,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":51,"column":4},"end":{"line":53,"column":null}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":53,"column":null}}]}},"s":{"0":18,"1":0,"2":22,"3":22,"4":22,"5":18,"6":0,"7":18},"f":{"0":18},"b":{"0":[0]}} -,"/Users/Mirek.Rusin/tsql/src/template.ts": {"path":"/Users/Mirek.Rusin/tsql/src/template.ts","statementMap":{"0":{"start":{"line":11,"column":0},"end":{"line":11,"column":15}},"1":{"start":{"line":7,"column":13},"end":{"line":7,"column":21}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":24},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":16},"end":{"line":4,"column":null}},"6":{"start":{"line":8,"column":2},"end":{"line":9,"column":null}},"7":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}},"8":{"start":{"line":11,"column":15},"end":{"line":11,"column":23}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":8,"column":2},"end":{"line":8,"column":3}},"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":null}}}},"branchMap":{},"s":{"0":406,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":406,"8":22},"f":{"0":406},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/top.ts": {"path":"/Users/Mirek.Rusin/tsql/src/top.ts","statementMap":{"0":{"start":{"line":30,"column":0},"end":{"line":30,"column":15}},"1":{"start":{"line":14,"column":13},"end":{"line":14,"column":16}},"2":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":17},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":19},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":16},"end":{"line":4,"column":null}},"6":{"start":{"line":15,"column":2},"end":{"line":28,"column":null}},"7":{"start":{"line":16,"column":4},"end":{"line":18,"column":null}},"8":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"9":{"start":{"line":19,"column":28},"end":{"line":21,"column":null}},"10":{"start":{"line":22,"column":4},"end":{"line":26,"column":null}},"11":{"start":{"line":30,"column":15},"end":{"line":30,"column":18}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":2},"end":{"line":15,"column":3}},"loc":{"start":{"line":15,"column":13},"end":{"line":28,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":3},"end":{"line":15,"column":8}},"type":"default-arg","locations":[{"start":{"line":15,"column":7},"end":{"line":15,"column":8}}]},"1":{"loc":{"start":{"line":16,"column":4},"end":{"line":18,"column":null}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":18,"column":null}}]},"2":{"loc":{"start":{"line":19,"column":28},"end":{"line":21,"column":null}},"type":"cond-expr","locations":[{"start":{"line":20,"column":6},"end":{"line":20,"column":null}},{"start":{"line":21,"column":6},"end":{"line":21,"column":null}}]},"3":{"loc":{"start":{"line":25,"column":6},"end":{"line":25,"column":null}},"type":"cond-expr","locations":[{"start":{"line":25,"column":16},"end":{"line":25,"column":33}},{"start":{"line":25,"column":33},"end":{"line":25,"column":null}}]}},"s":{"0":0,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":0,"8":0,"9":0,"10":0,"11":22},"f":{"0":0},"b":{"0":[0],"1":[0],"2":[0,0],"3":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/true-value.ts": {"path":"/Users/Mirek.Rusin/tsql/src/true-value.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"1":{"start":{"line":13,"column":13},"end":{"line":13,"column":22}},"2":{"start":{"line":2,"column":16},"end":{"line":2,"column":null}},"3":{"start":{"line":14,"column":2},"end":{"line":14,"column":null}},"4":{"start":{"line":16,"column":15},"end":{"line":16,"column":24}}},"fnMap":{},"branchMap":{},"s":{"0":8,"1":0,"2":22,"3":22,"4":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/unique.ts": {"path":"/Users/Mirek.Rusin/tsql/src/unique.ts","statementMap":{"0":{"start":{"line":17,"column":0},"end":{"line":17,"column":15}},"1":{"start":{"line":4,"column":16},"end":{"line":4,"column":22}},"2":{"start":{"line":5,"column":14},"end":{"line":5,"column":null}},"3":{"start":{"line":6,"column":22},"end":{"line":6,"column":24}},"4":{"start":{"line":7,"column":2},"end":{"line":13,"column":null}},"5":{"start":{"line":8,"column":24},"end":{"line":8,"column":null}},"6":{"start":{"line":9,"column":4},"end":{"line":12,"column":null}},"7":{"start":{"line":10,"column":6},"end":{"line":10,"column":null}},"8":{"start":{"line":11,"column":6},"end":{"line":11,"column":null}},"9":{"start":{"line":14,"column":2},"end":{"line":14,"column":null}},"10":{"start":{"line":17,"column":15},"end":{"line":17,"column":21}}},"fnMap":{"0":{"name":"unique","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":22}},"loc":{"start":{"line":4,"column":34},"end":{"line":15,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":4},"end":{"line":12,"column":null}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":12,"column":null}}]}},"s":{"0":78,"1":0,"2":78,"3":78,"4":78,"5":108,"6":108,"7":105,"8":105,"9":78,"10":22},"f":{"0":78},"b":{"0":[105]}} -,"/Users/Mirek.Rusin/tsql/src/unix.ts": {"path":"/Users/Mirek.Rusin/tsql/src/unix.ts","statementMap":{"0":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"1":{"start":{"line":1,"column":17},"end":{"line":1,"column":null}},"2":{"start":{"line":4,"column":2},"end":{"line":4,"column":56}},"3":{"start":{"line":6,"column":15},"end":{"line":6,"column":null}}},"fnMap":{},"branchMap":{},"s":{"0":0,"1":22,"2":22,"3":22},"f":{},"b":{}} -,"/Users/Mirek.Rusin/tsql/src/update-objects.ts": {"path":"/Users/Mirek.Rusin/tsql/src/update-objects.ts","statementMap":{"0":{"start":{"line":58,"column":0},"end":{"line":58,"column":15}},"1":{"start":{"line":14,"column":13},"end":{"line":14,"column":27}},"2":{"start":{"line":18,"column":13},"end":{"line":18,"column":27}},"3":{"start":{"line":23,"column":13},"end":{"line":23,"column":26}},"4":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":19},"end":{"line":2,"column":null}},"6":{"start":{"line":3,"column":15},"end":{"line":3,"column":null}},"7":{"start":{"line":4,"column":15},"end":{"line":4,"column":null}},"8":{"start":{"line":5,"column":33},"end":{"line":5,"column":null}},"9":{"start":{"line":6,"column":26},"end":{"line":6,"column":null}},"10":{"start":{"line":7,"column":35},"end":{"line":7,"column":null}},"11":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"12":{"start":{"line":9,"column":17},"end":{"line":9,"column":null}},"13":{"start":{"line":15,"column":2},"end":{"line":16,"column":null}},"14":{"start":{"line":16,"column":4},"end":{"line":16,"column":null}},"15":{"start":{"line":19,"column":2},"end":{"line":20,"column":null}},"16":{"start":{"line":20,"column":4},"end":{"line":20,"column":null}},"17":{"start":{"line":24,"column":2},"end":{"line":56,"column":null}},"18":{"start":{"line":35,"column":4},"end":{"line":37,"column":null}},"19":{"start":{"line":36,"column":6},"end":{"line":36,"column":null}},"20":{"start":{"line":39,"column":4},"end":{"line":41,"column":null}},"21":{"start":{"line":40,"column":6},"end":{"line":40,"column":null}},"22":{"start":{"line":43,"column":19},"end":{"line":43,"column":null}},"23":{"start":{"line":44,"column":23},"end":{"line":44,"column":null}},"24":{"start":{"line":45,"column":23},"end":{"line":45,"column":null}},"25":{"start":{"line":46,"column":20},"end":{"line":46,"column":null}},"26":{"start":{"line":46,"column":45},"end":{"line":46,"column":null}},"27":{"start":{"line":47,"column":16},"end":{"line":47,"column":null}},"28":{"start":{"line":47,"column":39},"end":{"line":47,"column":null}},"29":{"start":{"line":49,"column":4},"end":{"line":55,"column":null}},"30":{"start":{"line":58,"column":15},"end":{"line":58,"column":28}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":15,"column":2},"end":{"line":15,"column":3}},"loc":{"start":{"line":16,"column":4},"end":{"line":16,"column":null}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":19,"column":2},"end":{"line":19,"column":3}},"loc":{"start":{"line":20,"column":4},"end":{"line":20,"column":null}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":24,"column":2},"end":{"line":24,"column":null}},"loc":{"start":{"line":32,"column":10},"end":{"line":56,"column":null}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":46,"column":40},"end":{"line":46,"column":45}},"loc":{"start":{"line":46,"column":45},"end":{"line":46,"column":null}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":47,"column":34},"end":{"line":47,"column":39}},"loc":{"start":{"line":47,"column":39},"end":{"line":47,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":4},"end":{"line":32,"column":10}},"type":"default-arg","locations":[{"start":{"line":32,"column":8},"end":{"line":32,"column":10}}]},"1":{"loc":{"start":{"line":30,"column":6},"end":{"line":30,"column":null}},"type":"default-arg","locations":[{"start":{"line":30,"column":14},"end":{"line":30,"column":null}}]},"2":{"loc":{"start":{"line":35,"column":4},"end":{"line":37,"column":null}},"type":"if","locations":[{"start":{"line":35,"column":4},"end":{"line":37,"column":null}}]},"3":{"loc":{"start":{"line":39,"column":4},"end":{"line":41,"column":null}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":41,"column":null}}]},"4":{"loc":{"start":{"line":44,"column":23},"end":{"line":44,"column":null}},"type":"binary-expr","locations":[{"start":{"line":44,"column":23},"end":{"line":44,"column":42}},{"start":{"line":44,"column":42},"end":{"line":44,"column":null}}]},"5":{"loc":{"start":{"line":45,"column":23},"end":{"line":45,"column":null}},"type":"binary-expr","locations":[{"start":{"line":45,"column":23},"end":{"line":45,"column":42}},{"start":{"line":45,"column":42},"end":{"line":45,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":22,"11":22,"12":22,"13":22,"14":0,"15":22,"16":0,"17":22,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":22},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0,0],"5":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/update.ts": {"path":"/Users/Mirek.Rusin/tsql/src/update.ts","statementMap":{"0":{"start":{"line":38,"column":0},"end":{"line":38,"column":15}},"1":{"start":{"line":12,"column":13},"end":{"line":12,"column":19}},"2":{"start":{"line":1,"column":25},"end":{"line":1,"column":null}},"3":{"start":{"line":2,"column":21},"end":{"line":2,"column":null}},"4":{"start":{"line":3,"column":35},"end":{"line":3,"column":null}},"5":{"start":{"line":4,"column":24},"end":{"line":4,"column":null}},"6":{"start":{"line":5,"column":17},"end":{"line":5,"column":null}},"7":{"start":{"line":9,"column":20},"end":{"line":9,"column":null}},"8":{"start":{"line":13,"column":2},"end":{"line":36,"column":null}},"9":{"start":{"line":21,"column":4},"end":{"line":23,"column":null}},"10":{"start":{"line":22,"column":6},"end":{"line":22,"column":null}},"11":{"start":{"line":24,"column":19},"end":{"line":24,"column":null}},"12":{"start":{"line":25,"column":19},"end":{"line":25,"column":58}},"13":{"start":{"line":26,"column":20},"end":{"line":26,"column":null}},"14":{"start":{"line":27,"column":4},"end":{"line":29,"column":null}},"15":{"start":{"line":28,"column":6},"end":{"line":28,"column":null}},"16":{"start":{"line":30,"column":4},"end":{"line":35,"column":null}},"17":{"start":{"line":38,"column":15},"end":{"line":38,"column":21}}},"fnMap":{"0":{"name":"(anonymous_4)","decl":{"start":{"line":13,"column":2},"end":{"line":13,"column":null}},"loc":{"start":{"line":19,"column":10},"end":{"line":36,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":4},"end":{"line":19,"column":10}},"type":"default-arg","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":10}}]},"1":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":null}},"type":"default-arg","locations":[{"start":{"line":17,"column":14},"end":{"line":17,"column":null}}]},"2":{"loc":{"start":{"line":21,"column":4},"end":{"line":23,"column":null}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":23,"column":null}}]},"3":{"loc":{"start":{"line":25,"column":19},"end":{"line":25,"column":58}},"type":"binary-expr","locations":[{"start":{"line":25,"column":19},"end":{"line":25,"column":47}},{"start":{"line":25,"column":47},"end":{"line":25,"column":58}}]},"4":{"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":null}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":29,"column":null}}]}},"s":{"0":6,"1":0,"2":22,"3":22,"4":22,"5":22,"6":22,"7":22,"8":22,"9":6,"10":1,"11":5,"12":5,"13":5,"14":5,"15":1,"16":4,"17":22},"f":{"0":6},"b":{"0":[5],"1":[5],"2":[1],"3":[5,0],"4":[1]}} -,"/Users/Mirek.Rusin/tsql/src/upsert-objects.ts": {"path":"/Users/Mirek.Rusin/tsql/src/upsert-objects.ts","statementMap":{"0":{"start":{"line":70,"column":0},"end":{"line":70,"column":15}},"1":{"start":{"line":15,"column":13},"end":{"line":15,"column":27}},"2":{"start":{"line":19,"column":13},"end":{"line":19,"column":27}},"3":{"start":{"line":30,"column":13},"end":{"line":30,"column":26}},"4":{"start":{"line":1,"column":16},"end":{"line":1,"column":null}},"5":{"start":{"line":2,"column":19},"end":{"line":2,"column":null}},"6":{"start":{"line":3,"column":15},"end":{"line":3,"column":null}},"7":{"start":{"line":4,"column":15},"end":{"line":4,"column":null}},"8":{"start":{"line":5,"column":33},"end":{"line":5,"column":null}},"9":{"start":{"line":6,"column":26},"end":{"line":6,"column":null}},"10":{"start":{"line":7,"column":35},"end":{"line":7,"column":null}},"11":{"start":{"line":8,"column":17},"end":{"line":8,"column":null}},"12":{"start":{"line":9,"column":16},"end":{"line":9,"column":null}},"13":{"start":{"line":10,"column":17},"end":{"line":10,"column":null}},"14":{"start":{"line":16,"column":2},"end":{"line":17,"column":null}},"15":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}},"16":{"start":{"line":20,"column":2},"end":{"line":21,"column":null}},"17":{"start":{"line":21,"column":4},"end":{"line":21,"column":null}},"18":{"start":{"line":31,"column":2},"end":{"line":68,"column":null}},"19":{"start":{"line":43,"column":4},"end":{"line":45,"column":null}},"20":{"start":{"line":44,"column":6},"end":{"line":44,"column":null}},"21":{"start":{"line":47,"column":4},"end":{"line":49,"column":null}},"22":{"start":{"line":48,"column":6},"end":{"line":48,"column":null}},"23":{"start":{"line":51,"column":19},"end":{"line":51,"column":null}},"24":{"start":{"line":52,"column":23},"end":{"line":52,"column":null}},"25":{"start":{"line":53,"column":23},"end":{"line":53,"column":null}},"26":{"start":{"line":54,"column":23},"end":{"line":54,"column":null}},"27":{"start":{"line":55,"column":20},"end":{"line":55,"column":null}},"28":{"start":{"line":55,"column":45},"end":{"line":55,"column":null}},"29":{"start":{"line":56,"column":16},"end":{"line":56,"column":null}},"30":{"start":{"line":56,"column":39},"end":{"line":56,"column":null}},"31":{"start":{"line":58,"column":4},"end":{"line":67,"column":null}},"32":{"start":{"line":70,"column":15},"end":{"line":70,"column":28}}},"fnMap":{"0":{"name":"(anonymous_6)","decl":{"start":{"line":16,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":null}}},"1":{"name":"(anonymous_7)","decl":{"start":{"line":20,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":null}}},"2":{"name":"(anonymous_8)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":null}},"loc":{"start":{"line":40,"column":10},"end":{"line":68,"column":null}}},"3":{"name":"(anonymous_9)","decl":{"start":{"line":55,"column":40},"end":{"line":55,"column":45}},"loc":{"start":{"line":55,"column":45},"end":{"line":55,"column":null}}},"4":{"name":"(anonymous_10)","decl":{"start":{"line":56,"column":34},"end":{"line":56,"column":39}},"loc":{"start":{"line":56,"column":39},"end":{"line":56,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":4},"end":{"line":40,"column":10}},"type":"default-arg","locations":[{"start":{"line":40,"column":8},"end":{"line":40,"column":10}}]},"1":{"loc":{"start":{"line":38,"column":6},"end":{"line":38,"column":null}},"type":"default-arg","locations":[{"start":{"line":38,"column":14},"end":{"line":38,"column":null}}]},"2":{"loc":{"start":{"line":43,"column":4},"end":{"line":45,"column":null}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":45,"column":null}}]},"3":{"loc":{"start":{"line":47,"column":4},"end":{"line":49,"column":null}},"type":"if","locations":[{"start":{"line":47,"column":4},"end":{"line":49,"column":null}}]},"4":{"loc":{"start":{"line":52,"column":23},"end":{"line":52,"column":null}},"type":"binary-expr","locations":[{"start":{"line":52,"column":23},"end":{"line":52,"column":42}},{"start":{"line":52,"column":42},"end":{"line":52,"column":null}}]},"5":{"loc":{"start":{"line":53,"column":23},"end":{"line":53,"column":null}},"type":"binary-expr","locations":[{"start":{"line":53,"column":23},"end":{"line":53,"column":42}},{"start":{"line":53,"column":42},"end":{"line":53,"column":null}}]},"6":{"loc":{"start":{"line":54,"column":23},"end":{"line":54,"column":null}},"type":"binary-expr","locations":[{"start":{"line":54,"column":23},"end":{"line":54,"column":42}},{"start":{"line":54,"column":42},"end":{"line":54,"column":null}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":22,"5":22,"6":22,"7":22,"8":22,"9":22,"10":22,"11":22,"12":22,"13":22,"14":22,"15":0,"16":22,"17":0,"18":22,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":22},"f":{"0":0,"1":0,"2":0,"3":0,"4":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0]}} -,"/Users/Mirek.Rusin/tsql/src/where.ts": {"path":"/Users/Mirek.Rusin/tsql/src/where.ts","statementMap":{"0":{"start":{"line":164,"column":16},"end":{"line":164,"column":19}},"1":{"start":{"line":193,"column":0},"end":{"line":193,"column":15}},"2":{"start":{"line":187,"column":16},"end":{"line":187,"column":19}},"3":{"start":{"line":179,"column":16},"end":{"line":179,"column":18}},"4":{"start":{"line":122,"column":16},"end":{"line":122,"column":21}},"5":{"start":{"line":151,"column":16},"end":{"line":151,"column":21}},"6":{"start":{"line":1,"column":26},"end":{"line":1,"column":null}},"7":{"start":{"line":2,"column":25},"end":{"line":2,"column":null}},"8":{"start":{"line":3,"column":17},"end":{"line":3,"column":null}},"9":{"start":{"line":4,"column":20},"end":{"line":4,"column":null}},"10":{"start":{"line":5,"column":21},"end":{"line":5,"column":null}},"11":{"start":{"line":6,"column":15},"end":{"line":6,"column":null}},"12":{"start":{"line":7,"column":15},"end":{"line":7,"column":null}},"13":{"start":{"line":8,"column":16},"end":{"line":8,"column":null}},"14":{"start":{"line":9,"column":16},"end":{"line":9,"column":null}},"15":{"start":{"line":10,"column":25},"end":{"line":10,"column":null}},"16":{"start":{"line":11,"column":17},"end":{"line":11,"column":null}},"17":{"start":{"line":12,"column":25},"end":{"line":12,"column":null}},"18":{"start":{"line":13,"column":24},"end":{"line":13,"column":null}},"19":{"start":{"line":14,"column":15},"end":{"line":14,"column":null}},"20":{"start":{"line":15,"column":16},"end":{"line":15,"column":null}},"21":{"start":{"line":16,"column":15},"end":{"line":16,"column":null}},"22":{"start":{"line":17,"column":15},"end":{"line":17,"column":null}},"23":{"start":{"line":18,"column":15},"end":{"line":18,"column":null}},"24":{"start":{"line":19,"column":23},"end":{"line":19,"column":null}},"25":{"start":{"line":20,"column":24},"end":{"line":20,"column":null}},"26":{"start":{"line":21,"column":18},"end":{"line":21,"column":null}},"27":{"start":{"line":22,"column":16},"end":{"line":22,"column":null}},"28":{"start":{"line":23,"column":14},"end":{"line":23,"column":null}},"29":{"start":{"line":24,"column":21},"end":{"line":24,"column":null}},"30":{"start":{"line":25,"column":19},"end":{"line":25,"column":null}},"31":{"start":{"line":31,"column":14},"end":{"line":33,"column":null}},"32":{"start":{"line":37,"column":15},"end":{"line":55,"column":null}},"33":{"start":{"line":59,"column":16},"end":{"line":62,"column":null}},"34":{"start":{"line":68,"column":2},"end":{"line":70,"column":null}},"35":{"start":{"line":69,"column":4},"end":{"line":69,"column":null}},"36":{"start":{"line":72,"column":2},"end":{"line":78,"column":null}},"37":{"start":{"line":73,"column":4},"end":{"line":76,"column":null}},"38":{"start":{"line":74,"column":6},"end":{"line":74,"column":null}},"39":{"start":{"line":75,"column":6},"end":{"line":75,"column":null}},"40":{"start":{"line":77,"column":4},"end":{"line":77,"column":null}},"41":{"start":{"line":79,"column":2},"end":{"line":79,"column":null}},"42":{"start":{"line":83,"column":2},"end":{"line":85,"column":null}},"43":{"start":{"line":84,"column":4},"end":{"line":84,"column":null}},"44":{"start":{"line":86,"column":15},"end":{"line":86,"column":null}},"45":{"start":{"line":87,"column":2},"end":{"line":118,"column":null}},"46":{"start":{"line":88,"column":19},"end":{"line":88,"column":59}},"47":{"start":{"line":89,"column":4},"end":{"line":117,"column":null}},"48":{"start":{"line":92,"column":8},"end":{"line":94,"column":null}},"49":{"start":{"line":93,"column":10},"end":{"line":93,"column":null}},"50":{"start":{"line":95,"column":8},"end":{"line":97,"column":null}},"51":{"start":{"line":96,"column":10},"end":{"line":96,"column":null}},"52":{"start":{"line":98,"column":8},"end":{"line":98,"column":null}},"53":{"start":{"line":102,"column":8},"end":{"line":104,"column":null}},"54":{"start":{"line":103,"column":10},"end":{"line":103,"column":null}},"55":{"start":{"line":105,"column":8},"end":{"line":107,"column":null}},"56":{"start":{"line":106,"column":10},"end":{"line":106,"column":null}},"57":{"start":{"line":108,"column":8},"end":{"line":108,"column":null}},"58":{"start":{"line":110,"column":8},"end":{"line":116,"column":null}},"59":{"start":{"line":119,"column":2},"end":{"line":119,"column":null}},"60":{"start":{"line":123,"column":2},"end":{"line":125,"column":null}},"61":{"start":{"line":124,"column":4},"end":{"line":124,"column":null}},"62":{"start":{"line":126,"column":14},"end":{"line":126,"column":null}},"63":{"start":{"line":127,"column":2},"end":{"line":138,"column":null}},"64":{"start":{"line":128,"column":19},"end":{"line":128,"column":58}},"65":{"start":{"line":129,"column":4},"end":{"line":134,"column":null}},"66":{"start":{"line":130,"column":6},"end":{"line":132,"column":null}},"67":{"start":{"line":131,"column":8},"end":{"line":131,"column":null}},"68":{"start":{"line":133,"column":6},"end":{"line":133,"column":null}},"69":{"start":{"line":135,"column":4},"end":{"line":137,"column":null}},"70":{"start":{"line":136,"column":6},"end":{"line":136,"column":null}},"71":{"start":{"line":139,"column":2},"end":{"line":142,"column":null}},"72":{"start":{"line":140,"column":20},"end":{"line":140,"column":null}},"73":{"start":{"line":140,"column":51},"end":{"line":140,"column":null}},"74":{"start":{"line":141,"column":4},"end":{"line":141,"column":null}},"75":{"start":{"line":143,"column":2},"end":{"line":143,"column":null}},"76":{"start":{"line":152,"column":2},"end":{"line":152,"column":null}},"77":{"start":{"line":165,"column":14},"end":{"line":165,"column":null}},"78":{"start":{"line":166,"column":2},"end":{"line":168,"column":null}},"79":{"start":{"line":167,"column":4},"end":{"line":167,"column":null}},"80":{"start":{"line":169,"column":2},"end":{"line":169,"column":null}},"81":{"start":{"line":180,"column":14},"end":{"line":180,"column":null}},"82":{"start":{"line":181,"column":2},"end":{"line":183,"column":null}},"83":{"start":{"line":182,"column":4},"end":{"line":182,"column":null}},"84":{"start":{"line":184,"column":2},"end":{"line":184,"column":null}},"85":{"start":{"line":188,"column":2},"end":{"line":190,"column":null}},"86":{"start":{"line":193,"column":15},"end":{"line":193,"column":20}}},"fnMap":{"0":{"name":"single","decl":{"start":{"line":67,"column":9},"end":{"line":67,"column":16}},"loc":{"start":{"line":67,"column":30},"end":{"line":80,"column":null}}},"1":{"name":"visitEntry","decl":{"start":{"line":82,"column":9},"end":{"line":82,"column":20}},"loc":{"start":{"line":82,"column":47},"end":{"line":120,"column":null}}},"2":{"name":"visit","decl":{"start":{"line":122,"column":16},"end":{"line":122,"column":21}},"loc":{"start":{"line":122,"column":36},"end":{"line":144,"column":null}}},"3":{"name":"(anonymous_11)","decl":{"start":{"line":140,"column":46},"end":{"line":140,"column":51}},"loc":{"start":{"line":140,"column":51},"end":{"line":140,"column":null}}},"4":{"name":"where","decl":{"start":{"line":151,"column":16},"end":{"line":151,"column":21}},"loc":{"start":{"line":151,"column":34},"end":{"line":153,"column":null}}},"5":{"name":"and","decl":{"start":{"line":164,"column":16},"end":{"line":164,"column":19}},"loc":{"start":{"line":164,"column":48},"end":{"line":170,"column":null}}},"6":{"name":"or","decl":{"start":{"line":179,"column":16},"end":{"line":179,"column":18}},"loc":{"start":{"line":179,"column":47},"end":{"line":185,"column":null}}},"7":{"name":"not","decl":{"start":{"line":187,"column":16},"end":{"line":187,"column":19}},"loc":{"start":{"line":187,"column":42},"end":{"line":191,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":68,"column":2},"end":{"line":70,"column":null}},"type":"if","locations":[{"start":{"line":68,"column":2},"end":{"line":70,"column":null}}]},"1":{"loc":{"start":{"line":73,"column":4},"end":{"line":76,"column":null}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":76,"column":null}}]},"2":{"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":null}},"type":"if","locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":null}}]},"3":{"loc":{"start":{"line":87,"column":2},"end":{"line":118,"column":null}},"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":118,"column":null}}]},"4":{"loc":{"start":{"line":87,"column":6},"end":{"line":87,"column":30}},"type":"binary-expr","locations":[{"start":{"line":87,"column":6},"end":{"line":87,"column":14}},{"start":{"line":87,"column":14},"end":{"line":87,"column":30}}]},"5":{"loc":{"start":{"line":89,"column":4},"end":{"line":117,"column":null}},"type":"switch","locations":[{"start":{"line":90,"column":6},"end":{"line":90,"column":null}},{"start":{"line":91,"column":6},"end":{"line":98,"column":null}},{"start":{"line":99,"column":6},"end":{"line":99,"column":null}},{"start":{"line":100,"column":6},"end":{"line":100,"column":null}},{"start":{"line":101,"column":6},"end":{"line":108,"column":null}},{"start":{"line":109,"column":6},"end":{"line":116,"column":null}}]},"6":{"loc":{"start":{"line":92,"column":8},"end":{"line":94,"column":null}},"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":94,"column":null}}]},"7":{"loc":{"start":{"line":95,"column":8},"end":{"line":97,"column":null}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":97,"column":null}}]},"8":{"loc":{"start":{"line":95,"column":12},"end":{"line":95,"column":57}},"type":"binary-expr","locations":[{"start":{"line":95,"column":12},"end":{"line":95,"column":38}},{"start":{"line":95,"column":38},"end":{"line":95,"column":57}}]},"9":{"loc":{"start":{"line":102,"column":8},"end":{"line":104,"column":null}},"type":"if","locations":[{"start":{"line":102,"column":8},"end":{"line":104,"column":null}}]},"10":{"loc":{"start":{"line":105,"column":8},"end":{"line":107,"column":null}},"type":"if","locations":[{"start":{"line":105,"column":8},"end":{"line":107,"column":null}}]},"11":{"loc":{"start":{"line":123,"column":2},"end":{"line":125,"column":null}},"type":"if","locations":[{"start":{"line":123,"column":2},"end":{"line":125,"column":null}}]},"12":{"loc":{"start":{"line":127,"column":2},"end":{"line":138,"column":null}},"type":"if","locations":[{"start":{"line":127,"column":2},"end":{"line":138,"column":null}}]},"13":{"loc":{"start":{"line":129,"column":4},"end":{"line":134,"column":null}},"type":"if","locations":[{"start":{"line":129,"column":4},"end":{"line":134,"column":null}}]},"14":{"loc":{"start":{"line":129,"column":8},"end":{"line":129,"column":51}},"type":"binary-expr","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":28}},{"start":{"line":129,"column":28},"end":{"line":129,"column":51}}]},"15":{"loc":{"start":{"line":130,"column":6},"end":{"line":132,"column":null}},"type":"if","locations":[{"start":{"line":130,"column":6},"end":{"line":132,"column":null}}]},"16":{"loc":{"start":{"line":135,"column":4},"end":{"line":137,"column":null}},"type":"if","locations":[{"start":{"line":135,"column":4},"end":{"line":137,"column":null}}]},"17":{"loc":{"start":{"line":139,"column":2},"end":{"line":142,"column":null}},"type":"if","locations":[{"start":{"line":139,"column":2},"end":{"line":142,"column":null}}]},"18":{"loc":{"start":{"line":166,"column":2},"end":{"line":168,"column":null}},"type":"if","locations":[{"start":{"line":166,"column":2},"end":{"line":168,"column":null}}]},"19":{"loc":{"start":{"line":181,"column":2},"end":{"line":183,"column":null}},"type":"if","locations":[{"start":{"line":181,"column":2},"end":{"line":183,"column":null}}]},"20":{"loc":{"start":{"line":188,"column":9},"end":{"line":190,"column":null}},"type":"cond-expr","locations":[{"start":{"line":189,"column":4},"end":{"line":189,"column":33}},{"start":{"line":190,"column":4},"end":{"line":190,"column":null}}]}},"s":{"0":22,"1":42,"2":22,"3":22,"4":0,"5":0,"6":22,"7":22,"8":22,"9":22,"10":22,"11":22,"12":22,"13":22,"14":22,"15":22,"16":22,"17":22,"18":22,"19":22,"20":22,"21":22,"22":22,"23":22,"24":22,"25":22,"26":22,"27":22,"28":22,"29":22,"30":22,"31":22,"32":22,"33":22,"34":103,"35":27,"36":76,"37":80,"38":74,"39":74,"40":6,"41":70,"42":53,"43":6,"44":47,"45":47,"46":17,"47":17,"48":2,"49":0,"50":2,"51":0,"52":2,"53":2,"54":0,"55":2,"56":0,"57":2,"58":13,"59":30,"60":170,"61":114,"62":56,"63":56,"64":49,"65":49,"66":8,"67":0,"68":8,"69":41,"70":2,"71":46,"72":46,"73":53,"74":46,"75":0,"76":139,"77":79,"78":79,"79":6,"80":73,"81":9,"82":9,"83":4,"84":5,"85":2,"86":22},"f":{"0":103,"1":53,"2":170,"3":53,"4":139,"5":79,"6":9,"7":2},"b":{"0":[27],"1":[74],"2":[6],"3":[17],"4":[47,19],"5":[1,2,1,1,2,13],"6":[0],"7":[0],"8":[2,2],"9":[0],"10":[0],"11":[114],"12":[49],"13":[8],"14":[49,8],"15":[0],"16":[2],"17":[46],"18":[6],"19":[4],"20":[2,0]}} -,"/Users/Mirek.Rusin/tsql/src/test/client.ts": {"path":"/Users/Mirek.Rusin/tsql/src/test/client.ts","statementMap":{"0":{"start":{"line":5,"column":21},"end":{"line":5,"column":null}},"1":{"start":{"line":1,"column":36},"end":{"line":1,"column":null}},"2":{"start":{"line":2,"column":22},"end":{"line":2,"column":null}},"3":{"start":{"line":3,"column":29},"end":{"line":3,"column":null}},"4":{"start":{"line":18,"column":4},"end":{"line":28,"column":null}},"5":{"start":{"line":32,"column":16},"end":{"line":32,"column":null}},"6":{"start":{"line":33,"column":4},"end":{"line":33,"column":null}},"7":{"start":{"line":34,"column":4},"end":{"line":34,"column":null}},"8":{"start":{"line":38,"column":16},"end":{"line":38,"column":null}},"9":{"start":{"line":39,"column":4},"end":{"line":39,"column":null}},"10":{"start":{"line":40,"column":4},"end":{"line":40,"column":null}},"11":{"start":{"line":44,"column":21},"end":{"line":44,"column":null}},"12":{"start":{"line":45,"column":4},"end":{"line":45,"column":null}},"13":{"start":{"line":46,"column":4},"end":{"line":46,"column":null}},"14":{"start":{"line":50,"column":4},"end":{"line":54,"column":null}},"15":{"start":{"line":51,"column":6},"end":{"line":53,"column":null}},"16":{"start":{"line":52,"column":8},"end":{"line":52,"column":null}},"17":{"start":{"line":58,"column":4},"end":{"line":58,"column":null}},"18":{"start":{"line":62,"column":4},"end":{"line":80,"column":null}},"19":{"start":{"line":63,"column":6},"end":{"line":66,"column":null}},"20":{"start":{"line":64,"column":8},"end":{"line":64,"column":null}},"21":{"start":{"line":65,"column":8},"end":{"line":65,"column":null}},"22":{"start":{"line":67,"column":24},"end":{"line":67,"column":null}},"23":{"start":{"line":68,"column":22},"end":{"line":78,"column":null}},"24":{"start":{"line":69,"column":8},"end":{"line":71,"column":null}},"25":{"start":{"line":70,"column":10},"end":{"line":70,"column":null}},"26":{"start":{"line":72,"column":8},"end":{"line":76,"column":null}},"27":{"start":{"line":73,"column":10},"end":{"line":75,"column":null}},"28":{"start":{"line":74,"column":12},"end":{"line":74,"column":null}},"29":{"start":{"line":77,"column":8},"end":{"line":77,"column":null}},"30":{"start":{"line":79,"column":6},"end":{"line":79,"column":null}},"31":{"start":{"line":84,"column":4},"end":{"line":84,"column":null}},"32":{"start":{"line":88,"column":4},"end":{"line":88,"column":null}},"33":{"start":{"line":88,"column":48},"end":{"line":88,"column":54}},"34":{"start":{"line":92,"column":16},"end":{"line":92,"column":null}},"35":{"start":{"line":93,"column":4},"end":{"line":93,"column":null}},"36":{"start":{"line":97,"column":4},"end":{"line":97,"column":null}},"37":{"start":{"line":101,"column":4},"end":{"line":101,"column":null}},"38":{"start":{"line":105,"column":4},"end":{"line":105,"column":null}},"39":{"start":{"line":109,"column":4},"end":{"line":109,"column":null}},"40":{"start":{"line":113,"column":4},"end":{"line":113,"column":null}},"41":{"start":{"line":117,"column":4},"end":{"line":117,"column":null}},"42":{"start":{"line":121,"column":4},"end":{"line":121,"column":null}},"43":{"start":{"line":133,"column":4},"end":{"line":133,"column":null}},"44":{"start":{"line":140,"column":4},"end":{"line":140,"column":null}}},"fnMap":{"0":{"name":"(anonymous_5)","decl":{"start":{"line":9,"column":2},"end":{"line":9,"column":14}},"loc":{"start":{"line":17,"column":10},"end":{"line":29,"column":null}}},"1":{"name":"(anonymous_6)","decl":{"start":{"line":31,"column":2},"end":{"line":31,"column":15}},"loc":{"start":{"line":31,"column":48},"end":{"line":35,"column":null}}},"2":{"name":"(anonymous_7)","decl":{"start":{"line":37,"column":2},"end":{"line":37,"column":15}},"loc":{"start":{"line":37,"column":46},"end":{"line":41,"column":null}}},"3":{"name":"(anonymous_8)","decl":{"start":{"line":43,"column":2},"end":{"line":43,"column":15}},"loc":{"start":{"line":43,"column":24},"end":{"line":47,"column":null}}},"4":{"name":"(anonymous_9)","decl":{"start":{"line":49,"column":2},"end":{"line":49,"column":8}},"loc":{"start":{"line":49,"column":33},"end":{"line":55,"column":null}}},"5":{"name":"(anonymous_10)","decl":{"start":{"line":50,"column":23},"end":{"line":50,"column":24}},"loc":{"start":{"line":50,"column":33},"end":{"line":54,"column":null}}},"6":{"name":"(anonymous_11)","decl":{"start":{"line":51,"column":30},"end":{"line":51,"column":31}},"loc":{"start":{"line":51,"column":31},"end":{"line":53,"column":null}}},"7":{"name":"(anonymous_12)","decl":{"start":{"line":57,"column":2},"end":{"line":57,"column":10}},"loc":{"start":{"line":57,"column":10},"end":{"line":59,"column":null}}},"8":{"name":"(anonymous_13)","decl":{"start":{"line":61,"column":2},"end":{"line":61,"column":8}},"loc":{"start":{"line":61,"column":70},"end":{"line":81,"column":null}}},"9":{"name":"(anonymous_14)","decl":{"start":{"line":62,"column":23},"end":{"line":62,"column":24}},"loc":{"start":{"line":62,"column":33},"end":{"line":80,"column":null}}},"10":{"name":"(anonymous_15)","decl":{"start":{"line":68,"column":45},"end":{"line":68,"column":46}},"loc":{"start":{"line":68,"column":62},"end":{"line":78,"column":null}}},"11":{"name":"(anonymous_16)","decl":{"start":{"line":83,"column":2},"end":{"line":83,"column":8}},"loc":{"start":{"line":83,"column":63},"end":{"line":85,"column":null}}},"12":{"name":"(anonymous_17)","decl":{"start":{"line":87,"column":2},"end":{"line":87,"column":8}},"loc":{"start":{"line":87,"column":62},"end":{"line":89,"column":null}}},"13":{"name":"(anonymous_18)","decl":{"start":{"line":88,"column":43},"end":{"line":88,"column":48}},"loc":{"start":{"line":88,"column":48},"end":{"line":88,"column":54}}},"14":{"name":"(anonymous_19)","decl":{"start":{"line":91,"column":2},"end":{"line":91,"column":8}},"loc":{"start":{"line":91,"column":64},"end":{"line":94,"column":null}}},"15":{"name":"(anonymous_20)","decl":{"start":{"line":96,"column":2},"end":{"line":96,"column":8}},"loc":{"start":{"line":96,"column":78},"end":{"line":98,"column":null}}},"16":{"name":"(anonymous_21)","decl":{"start":{"line":100,"column":2},"end":{"line":100,"column":8}},"loc":{"start":{"line":100,"column":79},"end":{"line":102,"column":null}}},"17":{"name":"(anonymous_22)","decl":{"start":{"line":104,"column":2},"end":{"line":104,"column":8}},"loc":{"start":{"line":104,"column":44},"end":{"line":106,"column":null}}},"18":{"name":"(anonymous_23)","decl":{"start":{"line":108,"column":2},"end":{"line":108,"column":8}},"loc":{"start":{"line":108,"column":71},"end":{"line":110,"column":null}}},"19":{"name":"(anonymous_24)","decl":{"start":{"line":112,"column":2},"end":{"line":112,"column":8}},"loc":{"start":{"line":112,"column":97},"end":{"line":114,"column":null}}},"20":{"name":"(anonymous_25)","decl":{"start":{"line":116,"column":2},"end":{"line":116,"column":8}},"loc":{"start":{"line":116,"column":106},"end":{"line":118,"column":null}}},"21":{"name":"(anonymous_26)","decl":{"start":{"line":120,"column":2},"end":{"line":120,"column":8}},"loc":{"start":{"line":120,"column":93},"end":{"line":122,"column":null}}},"22":{"name":"(anonymous_27)","decl":{"start":{"line":124,"column":2},"end":{"line":124,"column":8}},"loc":{"start":{"line":132,"column":4},"end":{"line":134,"column":null}}},"23":{"name":"(anonymous_28)","decl":{"start":{"line":136,"column":2},"end":{"line":136,"column":8}},"loc":{"start":{"line":139,"column":4},"end":{"line":141,"column":null}}}},"branchMap":{"0":{"loc":{"start":{"line":9,"column":14},"end":{"line":17,"column":8}},"type":"default-arg","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":8}}]},"1":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":21}},"type":"default-arg","locations":[{"start":{"line":10,"column":15},"end":{"line":10,"column":21}}]},"2":{"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":19}},"type":"default-arg","locations":[{"start":{"line":11,"column":15},"end":{"line":11,"column":19}}]},"3":{"loc":{"start":{"line":12,"column":4},"end":{"line":12,"column":38}},"type":"default-arg","locations":[{"start":{"line":12,"column":15},"end":{"line":12,"column":38}}]},"4":{"loc":{"start":{"line":19,"column":14},"end":{"line":19,"column":null}},"type":"binary-expr","locations":[{"start":{"line":19,"column":14},"end":{"line":19,"column":36}},{"start":{"line":19,"column":40},"end":{"line":19,"column":null}}]},"5":{"loc":{"start":{"line":52,"column":8},"end":{"line":52,"column":null}},"type":"cond-expr","locations":[{"start":{"line":52,"column":22},"end":{"line":52,"column":36}},{"start":{"line":52,"column":36},"end":{"line":52,"column":null}}]},"6":{"loc":{"start":{"line":63,"column":6},"end":{"line":66,"column":null}},"type":"if","locations":[{"start":{"line":63,"column":6},"end":{"line":66,"column":null}}]},"7":{"loc":{"start":{"line":69,"column":8},"end":{"line":71,"column":null}},"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":71,"column":null}}]},"8":{"loc":{"start":{"line":96,"column":40},"end":{"line":96,"column":76}},"type":"default-arg","locations":[{"start":{"line":96,"column":60},"end":{"line":96,"column":76}}]},"9":{"loc":{"start":{"line":100,"column":41},"end":{"line":100,"column":77}},"type":"default-arg","locations":[{"start":{"line":100,"column":61},"end":{"line":100,"column":77}}]},"10":{"loc":{"start":{"line":129,"column":4},"end":{"line":131,"column":10}},"type":"default-arg","locations":[{"start":{"line":131,"column":8},"end":{"line":131,"column":10}}]},"11":{"loc":{"start":{"line":129,"column":6},"end":{"line":129,"column":null}},"type":"default-arg","locations":[{"start":{"line":129,"column":14},"end":{"line":129,"column":null}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":4,"5":2,"6":2,"7":2,"8":0,"9":0,"10":0,"11":2,"12":2,"13":2,"14":4,"15":4,"16":4,"17":4,"18":69,"19":69,"20":0,"21":0,"22":69,"23":69,"24":69,"25":0,"26":69,"27":50,"28":95,"29":69,"30":69,"31":25,"32":11,"33":11,"34":10,"35":10,"36":9,"37":13,"38":2,"39":10,"40":7,"41":7,"42":0,"43":4,"44":1},"f":{"0":4,"1":2,"2":0,"3":2,"4":4,"5":4,"6":4,"7":4,"8":69,"9":69,"10":69,"11":25,"12":11,"13":11,"14":10,"15":9,"16":13,"17":2,"18":10,"19":7,"20":7,"21":0,"22":4,"23":1},"b":{"0":[0],"1":[0],"2":[4],"3":[4],"4":[4,4],"5":[0,4],"6":[0],"7":[0],"8":[6],"9":[13],"10":[4],"11":[4]}} -} diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css deleted file mode 100644 index f418035..0000000 --- a/coverage/lcov-report/base.css +++ /dev/null @@ -1,224 +0,0 @@ -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/coverage/lcov-report/block-navigation.js b/coverage/lcov-report/block-navigation.js deleted file mode 100644 index cc12130..0000000 --- a/coverage/lcov-report/block-navigation.js +++ /dev/null @@ -1,87 +0,0 @@ -/* 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/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png deleted file mode 100644 index c1525b811a167671e9de1fa78aab9f5c0b61cef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 77.05% - Statements - 1041/1351 -
- - -
- 58.78% - Branches - 174/296 -
- - -
- 78.68% - Functions - 144/183 -
- - -
- 77.48% - Lines - 943/1217 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
src -
-
76.79%1003/130658.51%165/28276.72%122/15977.23%906/1173
src/test -
-
84.44%38/4564.28%9/1491.66%22/2484.09%37/44
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7c..0000000 --- a/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.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/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js deleted file mode 100644 index b322523..0000000 --- a/coverage/lcov-report/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* 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/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 6ed68316eb3f65dec9063332d2f69bf3093bbfab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc diff --git a/coverage/lcov-report/sorter.js b/coverage/lcov-report/sorter.js deleted file mode 100644 index 2bb296a..0000000 --- a/coverage/lcov-report/sorter.js +++ /dev/null @@ -1,196 +0,0 @@ -/* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - if ( - row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()) - ) { - row.style.display = ''; - } else { - row.style.display = 'none'; - } - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - 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/coverage/lcov-report/src/and.ts.html b/coverage/lcov-report/src/and.ts.html deleted file mode 100644 index 8999056..0000000 --- a/coverage/lcov-report/src/and.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/and.ts - - - - - - - - - -
-
-

All files / src and.ts

-
- -
- 75% - Statements - 3/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 66.66% - Lines - 2/3 -
- - -
-

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

- -
-
-

-
1 -2 -3 -4 -5 -622x -  -  -  -28x - 
import { and } from './where.js'
- 
-export { and }
- 
-export default and
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/assign-object.ts.html b/coverage/lcov-report/src/assign-object.ts.html deleted file mode 100644 index 89162ef..0000000 --- a/coverage/lcov-report/src/assign-object.ts.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for src/assign-object.ts - - - - - - - - - -
-
-

All files / src assign-object.ts

-
- -
- 95% - Statements - 19/20 -
- - -
- 100% - Branches - 3/3 -
- - -
- 100% - Functions - 1/1 -
- - -
- 94.73% - Lines - 18/19 -
- - -
-

- 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 -4422x -22x -22x -22x -22x -  -  -  -  -  -  -  -  -  -  -10x -10x -10x -22x -3x -3x -  -  -  -  -  -  -3x -  -19x -  -10x -1x -  -  -  -  -1x -  -10x -  -  -22x - 
import assign from './assign.js'
-import id from './identifier.js'
-import jsonPath from './json-path.js'
-import list from './list.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns assigment clause based on provided record, ie. for UPDATE SET.
- *
- * `undefined` entries are filtered out.
- *
- * Propagates undefined if there are no non-undefined entries.
- */
-export function assignObject(record: Record<string, unknown>): undefined | S {
-  const assignments: (undefined | S)[] = []
-  const jsonAssignments: Record<string, S> = {}
-  for (const [ lvalue, rvalue ] of Object.entries(record)) {
-    if (lvalue.indexOf('->') !== -1) {
-      const [ llvalue, lrvalue ] = lvalue.split('->')
-      jsonAssignments[llvalue] = tsql`
-        json_modify(
-          ${jsonAssignments[llvalue] ?? id(llvalue)},
-          ${jsonPath(lrvalue)},
-          ${rvalue}
-        )
-      `
-      continue
-    }
-    assignments.push(assign(id(lvalue), rvalue))
-  }
-  for (const [ lvalue, rvalue ] of Object.entries(jsonAssignments)) {
-    const a = assign(id(lvalue), tsql`
-      (
-        ${rvalue}
-      )
-    `)
-    assignments.push(a)
-  }
-  return list(assignments, undefined, ',\n')
-}
- 
-export default assignObject
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/assign.ts.html b/coverage/lcov-report/src/assign.ts.html deleted file mode 100644 index 6c64703..0000000 --- a/coverage/lcov-report/src/assign.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/assign.ts - - - - - - - - - -
-
-

All files / src assign.ts

-
- -
- 93.33% - Statements - 14/15 -
- - -
- 100% - Branches - 3/3 -
- - -
- 100% - Functions - 1/1 -
- - -
- 92.85% - Lines - 13/14 -
- - -
-

- 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 -2922x -22x -22x -22x -  -  -  -  -  -  -  -  -  -  -31x -9x -  -22x -15x -  -7x -6x -  -1x -1x -  -  -31x - 
import id from './identifier.js'
-import jsonPath from './json-path.js'
-import S from './sanitised.js'
-import tsql from './template.js'
-import type Sid from './sanitised-identifier.js'
- 
-/**
- * @returns assigment operator LHS = RHS.
- *
- * `undefined` RHS is propagated.
- *
- * `null` RHS is left as is LHS = null.
- */
-export function assign(lvalue: Sid | string, rvalue: unknown): undefined | S {
-  if (typeof rvalue === 'undefined') {
-    return undefined
-  }
-  if (lvalue instanceof S) {
-    return tsql`${lvalue} = ${rvalue}`
-  }
-  if (lvalue.indexOf('->') === -1) {
-    return tsql`${id(lvalue)} = ${rvalue}`
-  }
-  const [ llvalue, lrvalue ] = lvalue.split('->')
-  return tsql`${id(llvalue)} = json_modify(${id(llvalue)}, ${jsonPath(lrvalue)}, ${rvalue})`
-}
- 
-export default assign
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/auto.ts.html b/coverage/lcov-report/src/auto.ts.html deleted file mode 100644 index 92adbf3..0000000 --- a/coverage/lcov-report/src/auto.ts.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - Code coverage report for src/auto.ts - - - - - - - - - -
-
-

All files / src auto.ts

-
- -
- 85.18% - Statements - 23/27 -
- - -
- 78.57% - Branches - 11/14 -
- - -
- 100% - Functions - 1/1 -
- - -
- 84.61% - Lines - 22/26 -
- - -
-

- 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 -6122x -22x -22x -22x -22x -22x -22x -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x -13442x -9096x -  -4346x -1x -75x -9x -4246x -  -15x -7x -  -8x -  -  -8x -  -  -8x -  -  -  -  -  -  -8879x - 
import falseValue from './false-value.js'
-import json from './json.js'
-import nstring from './nstring.js'
-import null_ from './null.js'
-import number from './number.js'
-import raw from './raw.js'
-import S from './sanitised.js'
-import trueValue from './true-value.js'
- 
-/**
- * @returns automatically sanitised value.
- *
- * Already sanitised values are returned as is.
- *
- * `undefined` and `null` return sanitised `null`.
- *
- * Finite numbers return sanitised, decimal numbers.
- *
- * Booleans return sanitised `1` (true) or `0` (false).
- *
- * Strings return sanitised unicode strings, ie. `N'foo'`.
- *
- * Dates return ISO strings.
- *
- * Buffers return hex literals.
- *
- * Other objects return json-stringified, sanitised unicode strings, ie. `{foo:1}` returns `N'{"foo":1}'`.
- *
- * @throws {TypeError} for non-finite numbers (not supported by mssql).
- *
- * @throws {TypeError} for all other values.
- */
-export const auto =
-  (value: unknown): S => {
-    if (value instanceof S) {
-      return value
-    }
-    switch (typeof value) {
-      case 'undefined': return null_
-      case 'number': return number(value)
-      case 'boolean': return value ? trueValue : falseValue
-      case 'string': return nstring(value)
-      case 'object': {
-        if (value === null) {
-          return null_
-        }
-        Iif (value instanceof Date) {
-          return nstring(value.toISOString())
-        }
-        Iif (typeof Buffer !== 'undefined' && value instanceof Buffer) {
-          return raw('0x' + value.toString('hex'))
-        }
-        return json(value)
-      }
-      default:
-        throw new TypeError(`Unable to auto generate sql for ${value}.`)
-    }
-  }
- 
-export default auto
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/between.ts.html b/coverage/lcov-report/src/between.ts.html deleted file mode 100644 index fe8376a..0000000 --- a/coverage/lcov-report/src/between.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/between.ts - - - - - - - - - -
-
-

All files / src between.ts

-
- -
- 87.5% - Statements - 7/8 -
- - -
- 75% - Branches - 3/4 -
- - -
- 100% - Functions - 1/1 -
- - -
- 85.71% - Lines - 6/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 -1322x -22x -22x -  -  -  -22x -1x -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
- 
-export const between =
-  <T>(l: string | S, r: undefined | null | [beginExpression: T, endExpression: T]): undefined | S =>
-    typeof l === 'undefined' || r == null ?
-      undefined :
-      tsql`${fallback(l, id)} between ${r[0]} and ${r[1]}`
- 
-export default between
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/columns.ts.html b/coverage/lcov-report/src/columns.ts.html deleted file mode 100644 index 327b7c7..0000000 --- a/coverage/lcov-report/src/columns.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/columns.ts - - - - - - - - - -
-
-

All files / src columns.ts

-
- -
- 38.46% - Statements - 5/13 -
- - -
- 0% - Branches - 0/4 -
- - -
- 0% - Functions - 0/2 -
- - -
- 45.45% - Lines - 5/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 -22 -2322x -22x -22x -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -22x - 
import id from './identifier.js'
-import list from './list.js'
-import fallback from './fallback.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns column projection based on provided record and optional filter.
- *
- * Propagates `undefined` if there are no non-`undefined` entries.
- */
-export const columns =
-  (record: Record<string, boolean | string | S>, filter: Record<string, boolean> = {}): undefined | S => {
-    const values: (string | S)[] = []
-    for (const key of Object.keys(record)) {
-      Iif (filter[key] !== false) {
-        values.push(record[key] === true ? key : record[key] as string | S)
-      }
-    }
-    return list(values.map(_ => fallback(_, id)))
-  }
- 
-export default columns
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/defined.ts.html b/coverage/lcov-report/src/defined.ts.html deleted file mode 100644 index 6f5e845..0000000 --- a/coverage/lcov-report/src/defined.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/defined.ts - - - - - - - - - -
-
-

All files / src defined.ts

-
- -
- 100% - Statements - 8/8 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 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  -  -22x -10x -10x -24x -  -  -1x -  -  -10x -  -  -22x - 
/** @returns object without undefined values. */
-const defined =
-  (object: Record<string, unknown>): Record<string, unknown> => {
-    const object_ = Object.assign({}, object)
-    for (const key in object) {
-      if (typeof object_[key] === 'undefined') {
- 
-        // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
-        delete object_[key]
-      }
-    }
-    return object_
-  }
- 
-export default defined
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/delete.ts.html b/coverage/lcov-report/src/delete.ts.html deleted file mode 100644 index 456e608..0000000 --- a/coverage/lcov-report/src/delete.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/delete.ts - - - - - - - - - -
-
-

All files / src delete.ts

-
- -
- 90% - Statements - 9/10 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 88.88% - Lines - 8/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 -17 -18 -19 -2022x -22x -22x -  -  -22x -22x -  -  -  -22x -13x -  -  -  -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import line from './line.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import tsql from './template.js'
-import whereOf from './where.js'
- 
-/** @returns DELETE DML for table with optional WHERE clause. */
-export const delete_ =
-  (table: Sid | string, where?: S | Record<string, unknown>): S =>
-    line(
-      tsql`delete from ${id(table)}`,
-      where ?
-        tsql`where ${fallback(where, whereOf)}` :
-        undefined
-    )
- 
-export default delete_
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/demargin.ts.html b/coverage/lcov-report/src/demargin.ts.html deleted file mode 100644 index bd8a944..0000000 --- a/coverage/lcov-report/src/demargin.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/demargin.ts - - - - - - - - - -
-
-

All files / src demargin.ts

-
- -
- 88% - Statements - 22/25 -
- - -
- 77.77% - Branches - 7/9 -
- - -
- 100% - Functions - 4/4 -
- - -
- 85.71% - Lines - 18/21 -
- - -
-

- 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 -3422x -  -  -  -22x -421x -  -  -421x -421x -81x -  -683x -66x -  -421x -421x -6910x -65027x -6909x -6909x -  -  -  -421x -  -  -421x -6910x -  -  -  -421x - 
import isString from './is-string.js'
- 
-/** @internal */
-export const demargin =
-  (value: string): string => {
-    Iif (!isString(value)) {
-      throw new TypeError(`Expected value to be string, got ${value}.`)
-    }
-    const lines = value.split('\n')
-    if ((lines.length > 0) && lines[0].split('').every(_ => _ === ' ')) {
-      lines.shift()
-    }
-    if ((lines.length > 0) && lines[lines.length - 1].split('').every(_ => _ === ' ')) {
-      lines.pop()
-    }
-    let margin = Infinity
-    for (const line of lines) {
-      for (let i = 0; i < line.length; i++) {
-        if (line[i] !== ' ') {
-          margin = Math.min(margin, i)
-          break
-        }
-      }
-    }
-    Iif (margin === Infinity) {
-      return lines.join('\n')
-    }
-    return lines
-      .map(_ => _.slice(margin))
-      .join('\n')
-  }
- 
-export default demargin
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/distinct.ts.html b/coverage/lcov-report/src/distinct.ts.html deleted file mode 100644 index 63f07af..0000000 --- a/coverage/lcov-report/src/distinct.ts.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - Code coverage report for src/distinct.ts - - - - - - - - - -
-
-

All files / src distinct.ts

-
- -
- 54.54% - Statements - 6/11 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/1 -
- - -
- 50% - Lines - 5/10 -
- - -
-

- 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 -2322x -22x -22x -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import template from './template.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns emulated NULL aware comparision.
- *
- * MSSQL doesn't support IS DISTINCT FROM comparision directly.
- *
- * Single invocation of RHS is not guaranteed.
- */
-export const distinct =
-  (lhs: S | string, rhs: unknown): undefined | S => {
-    Iif (typeof lhs === 'undefined' || typeof rhs === 'undefined') {
-      return undefined
-    }
-    const lhs_ = fallback(lhs, id)
-    return template`((${lhs_} <> ${rhs} or ${lhs_} is null or ${rhs} is null) and not (${lhs_} is null and ${rhs} is null))`
-  }
- 
-export default distinct
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/eq.ts.html b/coverage/lcov-report/src/eq.ts.html deleted file mode 100644 index 19729b4..0000000 --- a/coverage/lcov-report/src/eq.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/eq.ts - - - - - - - - - -
-
-

All files / src eq.ts

-
- -
- 90.9% - Statements - 10/11 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 2/2 -
- - -
- 90% - Lines - 9/10 -
- - -
-

- 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 -2922x -22x -22x -22x -  -  -  -22x -53x -  -  -  -  -  -  -  -  -  -  -  -  -  -22x -64x -  -  -  -85x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import isNull from './is-null.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
- 
-const rhsEq =
-  (rhs: unknown): S =>
-    isNull(rhs) ?
-      tsql`is null` :
-      tsql`= ${rhs}`
- 
-/**
- * @returns comparision expression.
- *
- * `null` RHS returns LHS IS NULL.
- *
- * `undefined` RHS propagates.
- *
- * @see distinct for NULL aware comparision.
- */
-export const eq =
-  (lhs: S | string, rhs: unknown): undefined | S =>
-    typeof rhs === 'undefined' ?
-      undefined :
-      tsql`${fallback(lhs, id)} ${rhsEq(rhs)}`
- 
-export default eq
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/exists.ts.html b/coverage/lcov-report/src/exists.ts.html deleted file mode 100644 index e8f22ec..0000000 --- a/coverage/lcov-report/src/exists.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/exists.ts - - - - - - - - - -
-
-

All files / src exists.ts

-
- -
- 54.54% - Statements - 6/11 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 60% - Lines - 6/10 -
- - -
-

- 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 -1722x -22x -  -  -22x -22x -  -  -  -22x -  -  -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import tsql from './template.js'
-import whereOf from './where.js'
- 
-/** @returns EXISTS query for table with WHERE clause. */
-export const exists =
-  (table: Sid | string, where: S | Record<string, unknown>): S => {
-    const table_ = id(table)
-    const where_ = fallback(where, whereOf)
-    return tsql`exists (select top 1 1 from ${table_} where ${where_})`
-  }
- 
-export default exists
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/fallback.ts.html b/coverage/lcov-report/src/fallback.ts.html deleted file mode 100644 index a41fdc9..0000000 --- a/coverage/lcov-report/src/fallback.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/fallback.ts - - - - - - - - - -
-
-

All files / src fallback.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -1222x -  -  -  -  -22x -105x -  -  -  -105x - 
import S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-/** @returns sanitised value as is, otherwise falls back to provided sanitation function. */
-export const fallback =
-  <T>(x: T, f: (_: Exclude<T, S | Sid>) => undefined | S): undefined | S =>
-    x instanceof S ?
-      x :
-      f(x as Exclude<T, S | Sid>)
- 
-export default fallback
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/false-value.ts.html b/coverage/lcov-report/src/false-value.ts.html deleted file mode 100644 index 066488f..0000000 --- a/coverage/lcov-report/src/false-value.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/false-value.ts - - - - - - - - - -
-
-

All files / src false-value.ts

-
- -
- 80% - Statements - 4/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 75% - Lines - 3/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 -13 -14 -15 -16 -17  -22x -  -  -  -  -  -  -  -  -  -  -  -22x -  -22x - 
import type S from './sanitised.js'
-import raw from './raw.js'
- 
-/**
- * Value boolean false – 0 casted as BIT.
- *
- * Logical booleans can be used in condition expressions, ie. WHERE clause.
- *
- * Value booleans can be used in assignment statements, ie. UPDATE SET clause.
- *
- * @see falseValue for value boolean variant.
- */
-export const falseValue: S =
-  raw('cast(0 as bit)')
- 
-export default falseValue
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/gt.ts.html b/coverage/lcov-report/src/gt.ts.html deleted file mode 100644 index 9f20729..0000000 --- a/coverage/lcov-report/src/gt.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/gt.ts - - - - - - - - - -
-
-

All files / src gt.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -1422x -  -  -  -  -  -  -  -  -22x -5x -  -24x - 
import op from './op.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns greater than expression.
- *
- * `undefined` RHS is propagated.
- */
-export const gt =
-  (l: S | string, r: unknown): undefined | S =>
-    op(l, '>', r)
- 
-export default gt
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/gte.ts.html b/coverage/lcov-report/src/gte.ts.html deleted file mode 100644 index 110871a..0000000 --- a/coverage/lcov-report/src/gte.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/gte.ts - - - - - - - - - -
-
-

All files / src gte.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -1422x -  -  -  -  -  -  -  -  -22x -1x -  -22x - 
import op from './op.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns greater than or equal expression.
- *
- * `undefined` RHS is propagated.
- */
-export const gte =
-  (l: S | string, r: unknown): undefined | S =>
-    op(l, '>=', r)
- 
-export default gte
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/identifier.ts.html b/coverage/lcov-report/src/identifier.ts.html deleted file mode 100644 index 04ba58c..0000000 --- a/coverage/lcov-report/src/identifier.ts.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - Code coverage report for src/identifier.ts - - - - - - - - - -
-
-

All files / src identifier.ts

-
- -
- 88.57% - Statements - 31/35 -
- - -
- 87.5% - Branches - 14/16 -
- - -
- 100% - Functions - 9/9 -
- - -
- 87.09% - Lines - 27/31 -
- - -
-

- 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 -8322x -22x -22x -  -  -  -  -  -  -  -  -424x -  -  -  -  -  -  -  -159x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -485x -1x -  -484x -425x -6x -6x -  -419x -1x -1x -  -418x -2x -2x -  -424x -  -118x -118x -  -  -  -  -  -22x -6x -  -  -  -22x -1x -  -  -  -  -  -22x -2x -  -  -343x - 
import nstring from './nstring.js'
-import Sid from './sanitised-identifier.js'
-import keywords from './keywords.js'
- 
-export type Identifier =
-  | string
-  | Sid
-  | (Sid | string)[]
- 
-/** @returns `true` if provided string can be used as identifier without quoting, `false` otherwise. */
-export function isPlain(value: string) {
-  return (
-    !keywords[value.toLowerCase()] &&
-    !!String(value).match(/^[a-z_@#]\w*$/i)
-  )
-}
- 
-/** @returns `[]`-quoted string. */
-export function quote(value: unknown) {
-  return '[' + String(value).replace(/\]/g, ']]') + ']'
-}
- 
-/**
- * @returns sanitised identifier.
- *
- * Already sanitised identifiers are returned as is.
- *
- * String including `->` is returned as JSON_VALUE(LHS, RHS).
- *
- * String including `~>` is returned as JSON_QUERY(LHS, RHS?).
- *
- * `.`-separated string is split and joined.
- *
- * String including `?>` is returned as JSON_PATH_EXISTS(LHS, RHS).
- *
- * Strings are quoted if not plain. Non plain string is MSSQL keyword or string containing special characters.
- *
- * Above rules are recursive with precedence as listed.
- */
-export function identifier(value: Identifier): Sid {
-  if (value instanceof Sid) {
-    return value
-  }
-  if (typeof value === 'string') {
-    if (value.includes('->')) {
-      const [ lvalue, jsonPath ] = value.split('->')
-      return jsonValue(lvalue, jsonPath)
-    }
-    if (value.includes('~>')) {
-      const [ lvalue, jsonPath ] = value.split('~>')
-      return jsonQuery(lvalue, jsonPath)
-    }
-    if (value.includes('?>')) {
-      const [ lvalue, jsonPath ] = value.split('?>')
-      return jsonPathExists(lvalue, jsonPath)
-    }
-    return new Sid(value.split('.').map(_ => isPlain(_) ? _ : quote(_)).join('.'))
-  }
-  if (Array.isArray(value) && value.every(_ => typeof _ === 'string' || _ instanceof Sid)) {
-    return new Sid(value.map(identifier).map(_ => _.toString()).join('.'))
-  }
-  throw new TypeError(`Can't sanitise ${value} identifier.`)
-}
- 
-/** @returns JSON_VALUE(C) built-in function call. */
-export function jsonValue(column: Sid | string, query: string) {
-  return new Sid(`json_value(${identifier(column).toString()}, ${nstring(query).toString()})`)
-}
- 
-/** @returns JSON_QUERY(C, Q?) built-in function call. */
-export function jsonQuery(column: Sid | string, query?: undefined | null | string) {
-  return query ?
-    new Sid(`json_query(${identifier(column).toString()}, ${nstring(query).toString()})`) :
-    new Sid(`json_query(${identifier(column).toString()})`)
-}
- 
-/** @returns JSON_PATH_EXISTS(C, Q) built-in function call. */
-export function jsonPathExists(column: Sid | string, query: string) {
-  return new Sid(`json_path_exists(${identifier(column).toString()}, ${nstring(query).toString()})`)
-}
- 
-export default identifier
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/identifiers.ts.html b/coverage/lcov-report/src/identifiers.ts.html deleted file mode 100644 index 138934c..0000000 --- a/coverage/lcov-report/src/identifiers.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/identifiers.ts - - - - - - - - - -
-
-

All files / src identifiers.ts

-
- -
- 57.14% - Statements - 4/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 66.66% - Lines - 4/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 -7 -8 -9 -10 -11 -12 -13 -14 -15 -1622x -22x -  -  -  -  -  -  -  -  -  -22x -  -  -22x - 
import id from './identifier.js'
-import list from './list.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-/**
- * @returns comma separated list of provided identifiers.
- *
- * @see identifier
- */
-export const identifiers =
-  (...xs: (Sid | string)[]): undefined | S =>
-    list(xs.map(id))
- 
-export default identifiers
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/in.ts.html b/coverage/lcov-report/src/in.ts.html deleted file mode 100644 index 1a3be8e..0000000 --- a/coverage/lcov-report/src/in.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for src/in.ts - - - - - - - - - -
-
-

All files / src in.ts

-
- -
- 90.9% - Statements - 10/11 -
- - -
- 100% - Branches - 7/7 -
- - -
- 100% - Functions - 1/1 -
- - -
- 90% - Lines - 9/10 -
- - -
-

- 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 -2522x -22x -22x -22x -22x -  -22x -  -  -  -  -  -  -  -  -  -22x -11x -  -  -  -  -  -32x - 
import id from './identifier.js'
-import tsql from './template.js'
-import fallback from './fallback.js'
-import isNull from './is-null.js'
-import row from './row.js'
-import type S from './sanitised.js'
-import logicalFalse from './logical-false.js'
- 
-/**
- * @returns LHS in (RHS) expression.
- *
- * `undefined` RHS propagates.
- *
- * Falsy or empty array RHS returns logical false.
- */
-export const in_ =
-  (l: S | string, r: undefined | null | unknown[]): undefined | S =>
-    typeof r === 'undefined' ?
-      undefined :
-      r && !isNull(r) && (r.length > 0) ?
-        tsql`${fallback(l, id)} in ${row(r)}` :
-        logicalFalse
- 
-export default in_
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/indent-tail.ts.html b/coverage/lcov-report/src/indent-tail.ts.html deleted file mode 100644 index 1bcfeec..0000000 --- a/coverage/lcov-report/src/indent-tail.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/indent-tail.ts - - - - - - - - - -
-
-

All files / src indent-tail.ts

-
- -
- 100% - Statements - 4/4 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - -
-

- 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  -  -22x -705x -  -  -  -  -  -705x - 
/** @returns string with all lines but the first one indented with `margin`. */
-const indentTail =
-  (linesString: string, margin: string): string =>
-    margin ?
-      linesString
-        .split('\n')
-        .join(`\n${margin}`) :
-      linesString
- 
-export default indentTail
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/index.html b/coverage/lcov-report/src/index.html deleted file mode 100644 index bc691e5..0000000 --- a/coverage/lcov-report/src/index.html +++ /dev/null @@ -1,1496 +0,0 @@ - - - - - - Code coverage report for src - - - - - - - - - -
-
-

All files src

-
- -
- 76.79% - Statements - 1003/1306 -
- - -
- 58.51% - Branches - 165/282 -
- - -
- 76.72% - Functions - 122/159 -
- - -
- 77.23% - Lines - 906/1173 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
and.ts -
-
75%3/4100%0/0100%0/066.66%2/3
assign-object.ts -
-
95%19/20100%3/3100%1/194.73%18/19
assign.ts -
-
93.33%14/15100%3/3100%1/192.85%13/14
auto.ts -
-
85.18%23/2778.57%11/14100%1/184.61%22/26
between.ts -
-
87.5%7/875%3/4100%1/185.71%6/7
columns.ts -
-
38.46%5/130%0/40%0/245.45%5/11
defined.ts -
-
100%8/8100%1/1100%1/1100%7/7
delete.ts -
-
90%9/1050%1/2100%1/188.88%8/9
demargin.ts -
-
88%22/2577.77%7/9100%4/485.71%18/21
distinct.ts -
-
54.54%6/110%0/30%0/150%5/10
eq.ts -
-
90.9%10/11100%4/4100%2/290%9/10
exists.ts -
-
54.54%6/11100%0/00%0/160%6/10
fallback.ts -
-
83.33%5/6100%2/2100%1/180%4/5
false-value.ts -
-
80%4/5100%0/0100%0/075%3/4
gt.ts -
-
83.33%5/6100%0/0100%1/180%4/5
gte.ts -
-
83.33%5/6100%0/0100%1/180%4/5
identifier.ts -
-
88.57%31/3587.5%14/16100%9/987.09%27/31
identifiers.ts -
-
57.14%4/7100%0/00%0/166.66%4/6
in.ts -
-
90.9%10/11100%7/7100%1/190%9/10
indent-tail.ts -
-
100%4/4100%2/2100%1/1100%3/3
index.ts -
-
66.85%119/178100%0/0100%0/066.85%119/178
inline-table-of-column.ts -
-
86.66%13/150%0/1100%2/284.61%11/13
inline-table-of-objects.ts -
-
94.11%16/17100%2/2100%3/392.85%13/14
insert-ignore.ts -
-
82.14%23/2850%3/6100%5/580%20/25
insert-not-matched.ts -
-
44.44%12/270%0/60%0/448%12/25
insert-object.ts -
-
88.88%16/1833.33%1/3100%2/287.5%14/16
insert-objects.ts -
-
91.66%22/2480%4/5100%3/390.47%19/21
interpolate.ts -
-
87.09%27/3175%12/16100%3/386.2%25/29
interpolate1.ts -
-
78.57%11/140%0/2100%1/175%9/12
is-defined.ts -
-
87.5%7/8100%2/2100%2/287.5%7/8
is-null.ts -
-
83.33%5/6100%3/3100%1/180%4/5
is-object.ts -
-
100%2/2100%3/3100%1/1100%2/2
is-string.ts -
-
80%4/550%1/2100%1/175%3/4
is.ts -
-
100%5/5100%0/0100%2/2100%4/4
json-modify.ts -
-
92.85%13/14100%1/1100%2/292.3%12/13
json-path-exists.ts -
-
66.66%2/3100%0/0100%0/0100%2/2
json-path.ts -
-
87.5%14/16100%5/5100%1/192.85%13/14
json-query.ts -
-
66.66%2/3100%0/0100%0/0100%2/2
json-value.ts -
-
66.66%2/3100%0/0100%0/0100%2/2
json.ts -
-
85.71%6/750%1/2100%1/183.33%5/6
keys-of-objects.ts -
-
73.68%14/1940%2/5100%3/368.75%11/16
keywords.ts -
-
100%5/5100%0/0100%1/1100%3/3
like.ts -
-
91.66%11/1250%2/4100%2/290.9%10/11
limited-hints-identifier.ts -
-
100%8/8100%4/4100%1/1100%7/7
line.ts -
-
90%9/10100%0/0100%3/385.71%6/7
lines.ts -
-
88.88%8/9100%2/2100%1/187.5%7/8
list.ts -
-
90.9%10/11100%4/4100%4/490%9/10
logical-false.ts -
-
80%4/5100%0/0100%0/075%3/4
logical-true.ts -
-
80%4/5100%0/0100%0/075%3/4
lt.ts -
-
83.33%5/6100%0/0100%1/180%4/5
lte.ts -
-
83.33%5/6100%0/0100%1/180%4/5
margin-of-first-line.ts -
-
100%8/8100%3/3100%1/1100%7/7
margin-of-last-line.ts -
-
100%5/5100%0/0100%1/1100%4/4
maybe-line.ts -
-
40%4/100%0/20%0/350%4/8
maybe-lines.ts -
-
92.85%13/1450%1/2100%5/592.3%12/13
merge-1n.ts -
-
88.23%15/1775%3/4100%1/187.5%14/16
modify-jsons.ts -
-
86.48%32/370%0/1100%10/1087.09%27/31
ne.ts -
-
83.33%10/1233.33%1/3100%1/181.81%9/11
ng.ts -
-
83.33%5/6100%0/0100%1/180%4/5
nl.ts -
-
83.33%5/6100%0/0100%1/180%4/5
not-between.ts -
-
87.5%7/875%3/4100%1/185.71%6/7
not-distinct.ts -
-
54.54%6/110%0/30%0/150%5/10
not-in.ts -
-
90%9/1071.42%5/7100%1/188.88%8/9
not.ts -
-
50%2/4100%0/0100%0/066.66%2/3
now.ts -
-
60%3/5100%0/0100%0/075%3/4
nstring.ts -
-
85.71%6/750%2/4100%1/183.33%5/6
null.ts -
-
80%4/5100%0/0100%0/075%3/4
number.ts -
-
75%6/80%0/1100%1/171.42%5/7
object-id.ts -
-
50%3/6100%0/00%0/160%3/5
op.ts -
-
88.88%8/950%1/2100%1/187.5%7/8
or.ts -
-
75%3/4100%0/0100%0/066.66%2/3
order-by.ts -
-
100%8/8100%2/2100%2/2100%6/6
pick.ts -
-
25%2/80%0/20%0/128.57%2/7
quoted-nstring.ts -
-
88.88%16/1860%3/5100%4/488.23%15/17
random-identifier.ts -
-
100%10/100%0/2100%3/3100%8/8
raw.ts -
-
83.33%5/6100%0/0100%1/180%4/5
replace-objects.ts -
-
45.16%14/310%0/90%0/553.84%14/26
row.ts -
-
87.5%7/8100%1/1100%1/185.71%6/7
rowset.ts -
-
37.5%3/80%0/10%0/142.85%3/7
sanitised-identifier.ts -
-
80%4/5100%0/0100%0/075%3/4
sanitised.ts -
-
75%3/4100%0/0100%0/066.66%2/3
select.ts -
-
45%9/200%0/80%0/452.94%9/17
star.ts -
-
57.14%4/70%0/20%0/166.66%4/6
table-hint-limited.ts -
-
75%6/80%0/1100%1/185.71%6/7
template.ts -
-
88.88%8/9100%0/0100%1/187.5%7/8
top.ts -
-
50%6/120%0/60%0/154.54%6/11
true-value.ts -
-
80%4/5100%0/0100%0/075%3/4
unique.ts -
-
90.9%10/11100%1/1100%1/190%9/10
unix.ts -
-
75%3/4100%0/0100%0/0100%3/3
update-objects.ts -
-
41.93%13/310%0/80%0/546.42%13/28
update.ts -
-
94.44%17/1883.33%5/6100%1/194.11%16/17
upsert-objects.ts -
-
42.42%14/330%0/100%0/546.66%14/30
where.ts -
-
90.8%79/8780%24/30100%8/890.58%77/85
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/index.ts.html b/coverage/lcov-report/src/index.ts.html deleted file mode 100644 index ff07a3a..0000000 --- a/coverage/lcov-report/src/index.ts.html +++ /dev/null @@ -1,643 +0,0 @@ - - - - - - Code coverage report for src/index.ts - - - - - - - - - -
-
-

All files / src index.ts

-
- -
- 66.85% - Statements - 119/178 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 66.85% - Lines - 119/178 -
- - -
-

- 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 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -18722x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -  -22x -22x -22x -22x -22x -22x -  -  -6x -9x -5x -1x -  -  -13x -15x -  -11x -  -  -  -2x -  -  -  -10x -  -  -1x -10x -  -10x -7x -  -  -6x -6x -  -  -3x -8x -  -  -  -  -  -  -  -5x -1x -  -19x -  -  -  -  -  -  -5x -2x -  -  -  -  -  -  -  -  -  -1x -  -  -6x -3x -  -  -  -4x -  -  -  -  -  -  -  -  -37x -  -  -  -  -6x -  -  -  -24x -  -  -31x -  -  -1x -1x -  - 
import * as TableHintLimited from './table-hint-limited.js'
-import and from './and.js'
-import assign from './assign.js'
-import assignObject from './assign-object.js'
-import auto from './auto.js'
-import between from './between.js'
-import columns from './columns.js'
-import delete_ from './delete.js'
-import demargin from './demargin.js'
-import distinct from './distinct.js'
-import eq from './eq.js'
-import exists from './exists.js'
-import fallback from './fallback.js'
-import falseValue from './false-value.js'
-import gt from './gt.js'
-import gte from './gte.js'
-import identifier from './identifier.js'
-import identifiers from './identifiers.js'
-import in_ from './in.js'
-import indentTail from './indent-tail.js'
-import inlineTableOfColumn from './inline-table-of-column.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import insertIgnore from './insert-ignore.js'
-import insertNotMatched from './insert-not-matched.js'
-import insertObject from './insert-object.js'
-import insertObjects from './insert-objects.js'
-import interpolate from './interpolate.js'
-import interpolate1 from './interpolate1.js'
-import is from './is.js'
-import isNull from './is-null.js'
-import isString from './is-string.js'
-import json from './json.js'
-import jsonModify from './json-modify.js'
-import jsonPath from './json-path.js'
-import jsonPathExists from './json-path-exists.js'
-import jsonQuery from './json-query.js'
-import jsonValue from './json-value.js'
-import keysOfObjects from './keys-of-objects.js'
-import like from './like.js'
-import limitedHintsIdentifier from './limited-hints-identifier.js'
-import line from './line.js'
-import lines from './lines.js'
-import list from './list.js'
-import logicalFalse from './logical-false.js'
-import logicalTrue from './logical-true.js'
-import lt from './lt.js'
-import lte from './lte.js'
-import marginOfFirstLine from './margin-of-first-line.js'
-import marginOfLastLine from './margin-of-last-line.js'
-import maybeLine from './maybe-line.js'
-import maybeLines from './maybe-lines.js'
-import merge1n from './merge-1n.js'
-import modifyJsons from './modify-jsons.js'
-import ne from './ne.js'
-import ng from './ng.js'
-import nl from './nl.js'
-import not from './not.js'
-import notBetween from './not-between.js'
-import notDistinct from './not-distinct.js'
-import notIn from './not-in.js'
-import now from './now.js'
-import nstring from './nstring.js'
-import null_ from './null.js'
-import number_ from './number.js'
-import objectId from './object-id.js'
-import or from './or.js'
-import orderBy from './order-by.js'
-import pick from './pick.js'
-import quotedNstring from './quoted-nstring.js'
-import randomIdentifier from './random-identifier.js'
-import raw from './raw.js'
-import replaceObjects from './replace-objects.js'
-import row from './row.js'
-import rowset from './rowset.js'
-import Sanitised from './sanitised.js'
-import SanitisedIdentifier from './sanitised-identifier.js'
-import select from './select.js'
-import star from './star.js'
-import template from './template.js'
-import top from './top.js'
-import trueValue from './true-value.js'
-import type { Where } from './where.js'
-import unique from './unique.js'
-import unix from './unix.js'
-import update from './update.js'
-import updateObjects from './update-objects.js'
-import upsertObjects from './upsert-objects.js'
-import where from './where.js'
- 
-export {
-  and,
-  assign,
-  assignObject,
-  auto,
-  between,
-  columns,
-  delete_ as delete,
-  demargin,
-  distinct,
-  eq,
-  exists,
-  fallback,
-  falseValue,
-  gt,
-  gte,
-  identifier,
-  identifiers,
-  in_ as in,
-  indentTail,
-  inlineTableOfColumn,
-  inlineTableOfObjects,
-  insertIgnore,
-  insertNotMatched,
-  insertObject,
-  insertObjects,
-  interpolate,
-  interpolate1,
-  is,
-  isNull,
-  isString,
-  json,
-  jsonModify,
-  jsonPath,
-  jsonPathExists,
-  jsonQuery,
-  jsonValue,
-  keysOfObjects,
-  like,
-  limitedHintsIdentifier,
-  line,
-  lines,
-  list,
-  logicalFalse,
-  logicalTrue,
-  lt,
-  lte,
-  marginOfFirstLine,
-  marginOfLastLine,
-  maybeLine,
-  maybeLines,
-  merge1n,
-  modifyJsons,
-  ne,
-  ng,
-  nl,
-  not,
-  notBetween,
-  notDistinct,
-  notIn,
-  now,
-  nstring,
-  null_ as null,
-  number_ as number,
-  objectId,
-  or,
-  orderBy,
-  pick,
-  quotedNstring,
-  randomIdentifier,
-  raw,
-  replaceObjects,
-  row,
-  rowset,
-  Sanitised,
-  SanitisedIdentifier,
-  select,
-  star,
-  TableHintLimited,
-  template,
-  top,
-  trueValue,
-  unique,
-  unix,
-  update,
- 
-  updateObjects,
-  upsertObjects,
-  where,
-  type Where,
- 
-  // Aliases
-  identifier as id,
-  identifiers as ids,
-  Sanitised as S,
-  SanitisedIdentifier as Sid
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/inline-table-of-column.ts.html b/coverage/lcov-report/src/inline-table-of-column.ts.html deleted file mode 100644 index 188237a..0000000 --- a/coverage/lcov-report/src/inline-table-of-column.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for src/inline-table-of-column.ts - - - - - - - - - -
-
-

All files / src inline-table-of-column.ts

-
- -
- 86.66% - Statements - 13/15 -
- - -
- 0% - Branches - 0/1 -
- - -
- 100% - Functions - 2/2 -
- - -
- 84.61% - Lines - 11/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 -23 -24 -25 -26 -27 -28 -2922x -22x -22x -  -  -22x -  -  -  -  -  -  -  -22x -4x -  -  -4x -4x -11x -4x -  -  -  -  -  -  -22x - 
import id from './identifier.js'
-import list from './list.js'
-import row from './row.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import tsql from './template.js'
- 
-/**
- * @returns single column literal table from provided array of values.
- *
- * @throws {Error} if provided values array is empty.
- */
-export const inlineTableOfColumn =
-  (table: Sid | string, column: Sid | string, values: unknown[]): S => {
-    Iif (values.length === 0) {
-      throw new Error(`Can't generate literal table ${table} using column ${column} with an empty array of values.`)
-    }
-    const table_ = id(table)
-    const column_ = id(column)
-    const values_ = list(values.map(_ => row([ _ ])), undefined, ',\n')
-    return tsql`
-      (values
-        ${values_}
-      ) as ${table_} (${column_})
-    `
-  }
- 
-export default inlineTableOfColumn
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/inline-table-of-objects.ts.html b/coverage/lcov-report/src/inline-table-of-objects.ts.html deleted file mode 100644 index b0372a7..0000000 --- a/coverage/lcov-report/src/inline-table-of-objects.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/inline-table-of-objects.ts - - - - - - - - - -
-
-

All files / src inline-table-of-objects.ts

-
- -
- 94.11% - Statements - 16/17 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 3/3 -
- - -
- 92.85% - Lines - 13/14 -
- - -
-

- 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 -2822x -22x -22x -22x -22x -  -  -22x -  -  -  -  -  -  -  -22x -15x -15x -15x -3073x -15x -  -  -  -  -  -22x - 
import auto from './auto.js'
-import id from './identifier.js'
-import keysOfObjects from './keys-of-objects.js'
-import list from './list.js'
-import row from './row.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import tsql from './template.js'
- 
-/**
- * @returns literal table from provided array of records.
- *
- * @throws {Error} if provided values array is empty.
- */
-export const inlineTableOfObjects =
-  (table: Sid | string, objects: readonly Record<string, unknown>[], maybeKeys?: string[]): S => {
-    const table_ = id(table)
-    const keys = maybeKeys || keysOfObjects(objects)
-    const columns_ = row(keys.map(id))
-    const values_ = list(objects.map(object => row(keys.map(key => auto(object[key])))), undefined, ',\n')
-    return tsql`
-      (values
-        ${values_}
-      ) as ${table_} ${columns_}`
-  }
- 
-export default inlineTableOfObjects
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/insert-ignore.ts.html b/coverage/lcov-report/src/insert-ignore.ts.html deleted file mode 100644 index d2ce08b..0000000 --- a/coverage/lcov-report/src/insert-ignore.ts.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - Code coverage report for src/insert-ignore.ts - - - - - - - - - -
-
-

All files / src insert-ignore.ts

-
- -
- 82.14% - Statements - 23/28 -
- - -
- 50% - Branches - 3/6 -
- - -
- 100% - Functions - 5/5 -
- - -
- 80% - Lines - 20/25 -
- - -
-

- 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 -6122x -22x -22x -22x -22x -22x -22x -22x -  -  -  -  -  -22x -10x -  -  -22x -20x -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -10x -  -  -  -10x -  -  -  -10x -10x -10x -  -10x -  -  -  -  -  -  -  -  -22x - 
import and from './and.js'
-import eq from './eq.js'
-import id from './identifier.js'
-import id_ from './limited-hints-identifier.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import keysOfObjects from './keys-of-objects.js'
-import row from './row.js'
-import tsql from './template.js'
-import type { TableHintLimited } from './table-hint-limited.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-export const sourcePrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Source', _ ])
- 
-export const targetPrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Target', _ ])
- 
-/**
- * @returns insert DML ignoring existing rows.
- *
- * If provided array of objects is empty, returns SELECT 0.
- *
- * Optional hits can be provided. Defaults to SERIALIZABLE hint.
- */
-export const insertIgnore =
-  (
-    table: Sid | string,
-    onKeys: string[],
-    objects: Record<string, unknown>[],
-    maybeObjectKeys?: string[],
-    { hints = [ 'serializable' ] }: {
-      hints?: TableHintLimited[]
-    } = {}
-  ): S => {
- 
-    Iif (!Array.isArray(objects)) {
-      throw new TypeError(`Expected array of values, got ${objects}.`)
-    }
- 
-    Iif (objects.length === 0) {
-      return tsql`select 0;`
-    }
- 
-    const objectKeys = maybeObjectKeys || keysOfObjects(objects)
-    const on_ = and(...onKeys.map(_ => eq(sourcePrefixed(_), targetPrefixed(_))))
-    const where_ = and(...onKeys.map(_ => eq(targetPrefixed(_), null)))
- 
-    return tsql`
-      insert into ${id_(table, hints)} ${row(objectKeys.map(id))}
-      select Source.*
-      from ${inlineTableOfObjects('Source', objects, objectKeys)}
-      left join ${id(table)} as Target on ${on_}
-      where ${where_}
-    `
-  }
- 
-export default insertIgnore
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/insert-not-matched.ts.html b/coverage/lcov-report/src/insert-not-matched.ts.html deleted file mode 100644 index 759f6db..0000000 --- a/coverage/lcov-report/src/insert-not-matched.ts.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - Code coverage report for src/insert-not-matched.ts - - - - - - - - - -
-
-

All files / src insert-not-matched.ts

-
- -
- 44.44% - Statements - 12/27 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/4 -
- - -
- 48% - Lines - 12/25 -
- - -
-

- 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 -6422x -22x -22x -22x -22x -22x -22x -22x -  -  -  -  -  -22x -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x - 
import and from './and.js'
-import eq from './eq.js'
-import id from './identifier.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import keysOfObjects from './keys-of-objects.js'
-import limitedHintsIdentifier from './limited-hints-identifier.js'
-import row from './row.js'
-import tsql from './template.js'
-import type { TableHintLimited } from './table-hint-limited.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-export const sourcePrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Source', _ ])
- 
-export const targetPrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Target', _ ])
- 
-/**
- * @returns merge DML that runs insert operations on target table from the result of a join with source table.
- *
- * Already existing records are skipped.
- *
- * This DML is using MERGE statement.
- *
- * @see insertIgnore for DML based on INSERT and LEFT JOIN.
- */
-export const insertNotMatched =
-  (
-    table: Sid | string,
-    onKeys: string[],
-    objects: Record<string, unknown>[],
-    maybeObjectKeys?: string[],
-    { hints = [ 'serializable' ] }: {
-      hints?: TableHintLimited[]
-    } = {}
-  ): S => {
- 
-    Iif (!Array.isArray(objects)) {
-      throw new TypeError(`Expected array of values, got ${objects}.`)
-    }
- 
-    Iif (objects.length === 0) {
-      return tsql`select 0;`
-    }
- 
-    const table_ = limitedHintsIdentifier(table, hints)
-    const objectKeys = maybeObjectKeys || keysOfObjects(objects)
-    const on_ = and(...onKeys.map(_ => eq(sourcePrefixed(_), targetPrefixed(_))))
- 
-    return tsql`
-      merge ${table_} as ${id('Target')}
-      using ${inlineTableOfObjects('Source', objects, objectKeys)}
-      on ${on_}
-      when not matched by target then
-        insert ${row(objectKeys.map(id))}
-        values ${row(objectKeys.map(sourcePrefixed))};
-    `
-  }
- 
-export default insertNotMatched
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/insert-object.ts.html b/coverage/lcov-report/src/insert-object.ts.html deleted file mode 100644 index 70855c5..0000000 --- a/coverage/lcov-report/src/insert-object.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/insert-object.ts - - - - - - - - - -
-
-

All files / src insert-object.ts

-
- -
- 88.88% - Statements - 16/18 -
- - -
- 33.33% - Branches - 1/3 -
- - -
- 100% - Functions - 2/2 -
- - -
- 87.5% - Lines - 14/16 -
- - -
-

- 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 -3222x -22x -22x -22x -22x -  -  -  -  -  -  -  -  -  -  -  -22x -10x -10x -10x -  -  -10x -10x -23x -10x -  -  -  -  -22x - 
import auto from './auto.js'
-import defined from './defined.js'
-import id from './identifier.js'
-import list from './list.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-/**
- * @returns insert DML for single row.
- *
- * `undefined` entries are filtered out.
- *
- * @throws {TypeError} if there are no non-`undefined` entries.
- */
-export const insertObject =
-  (table: Sid | string, object: Record<string, unknown>, output?: S): S => {
-    const object_ = defined(object)
-    const keys = Object.keys(object_)
-    Iif (keys.length === 0) {
-      throw new TypeError(`Expected object with keys, got ${object_}.`)
-    }
-    const table_ = id(table)
-    const keys_ = list(keys.map(id))
-    const values_ = list(keys.map(_ => object_[_]).map(auto))
-    return output ?
-      tsql`insert into ${table_} (${keys_}) output ${output} values (${values_})` :
-      tsql`insert into ${table_} (${keys_}) values (${values_})`
-  }
- 
-export default insertObject
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/insert-objects.ts.html b/coverage/lcov-report/src/insert-objects.ts.html deleted file mode 100644 index 3398179..0000000 --- a/coverage/lcov-report/src/insert-objects.ts.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - Code coverage report for src/insert-objects.ts - - - - - - - - - -
-
-

All files / src insert-objects.ts

-
- -
- 91.66% - Statements - 22/24 -
- - -
- 80% - Branches - 4/5 -
- - -
- 100% - Functions - 3/3 -
- - -
- 90.47% - Lines - 19/21 -
- - -
-

- 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 -5322x -22x -22x -22x -22x -22x -22x -  -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -7x -  -  -  -7x -1x -  -  -6x -6x -6x -  -6x -2x -  -  -  -  -  -  -1107x -4x -  -  -  -  -  -22x - 
import auto from './auto.js'
-import id from './identifier.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import keysOfObjects from './keys-of-objects.js'
-import list from './list.js'
-import row from './row.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-/**
- * @returns multiple row insert DML.
- *
- * @see insertIgnore for DML which ignores existing rows.
- *
- * @see insertNotMatched for DML which ignores existing rows using MERGE statement.
- */
-export const insertObjects =
-  (
-    table: Sid | string,
-    objects: Record<string, unknown>[],
-    maybeKeys?: string[]
-  ): S => {
- 
-    Iif (!Array.isArray(objects)) {
-      throw new TypeError(`Expected array of values, got ${objects}.`)
-    }
- 
-    if (objects.length === 0) {
-      return tsql`select 0;`
-    }
- 
-    const table_ = id(table)
-    const keys = maybeKeys ?? keysOfObjects(objects)
-    const keys_ = list(keys.map(id))
- 
-    if (objects.length > 1000) {
-      return tsql`
-        insert into ${table_} (${keys_})
-        select Source.*
-        from ${inlineTableOfObjects('Source', objects, keys)}
-      `
-    }
- 
-    const values_ = list(objects.map(object => row(keys.map(key => auto(object[key])))))
-    return tsql`
-      insert into ${table_} (${keys_})
-      values ${values_}
-    `
-  }
- 
-export default insertObjects
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/interpolate.ts.html b/coverage/lcov-report/src/interpolate.ts.html deleted file mode 100644 index 6d2565c..0000000 --- a/coverage/lcov-report/src/interpolate.ts.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - Code coverage report for src/interpolate.ts - - - - - - - - - -
-
-

All files / src interpolate.ts

-
- -
- 87.09% - Statements - 27/31 -
- - -
- 75% - Branches - 12/16 -
- - -
- 100% - Functions - 3/3 -
- - -
- 86.2% - Lines - 25/29 -
- - -
-

- 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  -22x -  -  -  -  -  -  -  -  -  -1816x -  -  -1816x -  -  -1816x -1816x -2025x -  -  -  -1816x -  -  -1816x -  -  -1816x -1816x -  -  -  -  -  -  -  -22x -406x -  -  -406x -  -  -406x -  -  -406x -406x -  -406x -1816x -1816x -  -406x -406x -705x -705x -  -406x -  -  -406x - 
import type S from './sanitised.js'
-import indentTail from './indent-tail.js'
- 
-type Margin = {
-  column: number,
-  open: boolean
-}
- 
-function updateMargin(mutableMargin: Margin, value: string) {
- 
-  // Locate start of last line.
-  const start = value.lastIndexOf('\n') + 1
- 
-  // New value has multiple lines.
-  const multiline = start > 0
- 
-  // Span of margin on the last line.
-  let end = start
-  while (end < value.length && value[end] === ' ') {
-    end++
-  }
- 
-  // Margin's column.
-  const column = end - start
- 
-  // Last line is full of blanks.
-  const blanks = end === value.length
- 
-  // Update margin.
-  mutableMargin.column = multiline ? column : mutableMargin.column + (mutableMargin.open ? column : 0)
-  mutableMargin.open = (mutableMargin.open || multiline) && blanks
-}
- 
-/**
- * @returns interpolated array `xs` with values from `ys`; empty array if both arrays are empty.
- * @throws if `xs.length - 1 !== ys.length`
- */
-export const interpolate =
-  (xs: TemplateStringsArray, ys: S[]): string[] => {
-    Iif (!Array.isArray(xs) || !Array.isArray(ys)) {
-      throw new TypeError(`Expected xs and ys to be an array, got ${xs} and ${ys}.`)
-    }
-    Iif ((xs.length === 0) && (ys.length === 0)) {
-      return []
-    }
-    Iif (xs.length - 1 !== ys.length) {
-      throw new TypeError(`Expected xs and ys length to be correct, got ${xs.length} and ${ys.length}.`)
-    }
-    const margin = { column: 0, open: true }
-    const rs: string[] = []
-    const push =
-      (value: string) => {
-        rs.push(value)
-        updateMargin(margin, value)
-      }
-    push(xs[0])
-    for (let i = 0; i < ys.length; i++) {
-      push(indentTail(ys[i].toString(), ' '.repeat(margin.column)))
-      push(xs[i + 1])
-    }
-    return rs
-  }
- 
-export default interpolate
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/interpolate1.ts.html b/coverage/lcov-report/src/interpolate1.ts.html deleted file mode 100644 index 02a7402..0000000 --- a/coverage/lcov-report/src/interpolate1.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/interpolate1.ts - - - - - - - - - -
-
-

All files / src interpolate1.ts

-
- -
- 78.57% - Statements - 11/14 -
- - -
- 0% - Branches - 0/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 75% - Lines - 9/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  -  -22x -78x -  -  -78x -  -  -78x -78x -27x -27x -  -78x -  -  -78x - 
/** @returns interpolated array with `y` elements. */
-export const interpolate1 =
-  <T, I>(xs: T[], y: I): (T | I)[] => {
-    Iif (!Array.isArray(xs)) {
-      throw new TypeError(`Expected xs to be an array, got ${xs}.`)
-    }
-    Iif (xs.length === 0) {
-      return []
-    }
-    const rs: (T | I)[] = [ xs[0] ]
-    for (let i = 1; i < xs.length; i++) {
-      rs.push(y)
-      rs.push(xs[i])
-    }
-    return rs
-  }
- 
-export default interpolate1
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/is-defined.ts.html b/coverage/lcov-report/src/is-defined.ts.html deleted file mode 100644 index 38a84f6..0000000 --- a/coverage/lcov-report/src/is-defined.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for src/is-defined.ts - - - - - - - - - -
-
-

All files / src is-defined.ts

-
- -
- 87.5% - Statements - 7/8 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 2/2 -
- - -
- 87.5% - Lines - 7/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 -19 -2022x -  -  -  -  -  -  -  -90x -127x -13x -  -114x -114x -  -114x -  -  -  - 
import { isObject } from './is-object.js'
- 
-export type Defined<T> =
-  T extends undefined ?
-    never :
-    T
- 
-/** @returns true if values propagates to undefined, false otherwise. */
-export function isDefined<T>(value: T): value is Defined<T> {
-  if (typeof value === 'undefined') {
-    return false
-  }
-  if (isObject(value)) {
-    return Object
-      .values(value)
-      .some(_ => typeof _ !== 'undefined')
-  }
-  return true
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/is-null.ts.html b/coverage/lcov-report/src/is-null.ts.html deleted file mode 100644 index d0e4fb6..0000000 --- a/coverage/lcov-report/src/is-null.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/is-null.ts - - - - - - - - - -
-
-

All files / src is-null.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 3/3 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -1022x -  -  -  -22x -69x -  -  -69x - 
import Sanitised from './sanitised.js'
- 
-/** @returns `true` if value is `null` or sanitised null, `false` otherwise. */
-export const isNull =
-  (value: unknown) =>
-    value === null ||
-    (value instanceof Sanitised && value.toString() === 'null')
- 
-export default isNull
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/is-object.ts.html b/coverage/lcov-report/src/is-object.ts.html deleted file mode 100644 index 72aed41..0000000 --- a/coverage/lcov-report/src/is-object.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/is-object.ts - - - - - - - - - -
-
-

All files / src is-object.ts

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 3/3 -
- - -
- 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 -7 -8263x -263x -  -  -  -  -  - 
export function isObject(value: unknown): value is Record<string, unknown> {
-  return (
-    typeof value === 'object' &&
-    value !== null &&
-    !Array.isArray(value)
-  )
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/is-string.ts.html b/coverage/lcov-report/src/is-string.ts.html deleted file mode 100644 index 727c2fb..0000000 --- a/coverage/lcov-report/src/is-string.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/is-string.ts - - - - - - - - - -
-
-

All files / src is-string.ts

-
- -
- 80% - Statements - 4/5 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 75% - Lines - 3/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  -  -  -  -22x -4685x -  -4685x - 
// TODO: Remove this, this is dangerous.
-export const isString =
- 
-  // eslint-disable-next-line @typescript-eslint/ban-types
-  (value: unknown): value is string | String =>
-    typeof value === 'string' || value instanceof String
- 
-export default isString
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/is.ts.html b/coverage/lcov-report/src/is.ts.html deleted file mode 100644 index 699dff1..0000000 --- a/coverage/lcov-report/src/is.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/is.ts - - - - - - - - - -
-
-

All files / src is.ts

-
- -
- 100% - Statements - 5/5 -
- - -
- 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 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -22x -6x -6x -  -22x - 
/**
- * @returns where clause comparision combinator.
- *
- * Usage:
- *
- *   ```ts
- *   Tsql.where({ foo: Tsql.is(Tsql.gt, 3) })
- *   ```
- *
- */
-const is =
-  <Lhs, Rest extends unknown[], R>(f: (lhs: Lhs, ...args: Rest) => R, ...args: Rest): ((lhs: Lhs) => R) =>
-    (lhs: Lhs): R =>
-      f(lhs, ...args)
- 
-export default is
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/json-modify.ts.html b/coverage/lcov-report/src/json-modify.ts.html deleted file mode 100644 index 7e8689f..0000000 --- a/coverage/lcov-report/src/json-modify.ts.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for src/json-modify.ts - - - - - - - - - -
-
-

All files / src json-modify.ts

-
- -
- 92.85% - Statements - 13/14 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 2/2 -
- - -
- 92.3% - Lines - 12/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 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -3622x -22x -22x -22x -  -  -  -22x -3x -3x -6x -2x -2x -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -22x - 
import auto from './auto.js'
-import jsonPath from './json-path.js'
-import trueValue from './true-value.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
- 
-export const jsonModify =
-  (target: S, kvs: Record<string, unknown>): S => {
-    const paths = Object.keys(kvs)
-    return paths.reduce((result, path) => {
-      if (path.startsWith('force ')) {
-        const path_ = path.slice('force '.length)
-        return tsql`
-          json_modify(
-            json_modify(
-              ${result},
-              ${'lax ' + jsonPath(path_)},
-              ${trueValue}
-            ),
-            ${'strict ' + jsonPath(path_)},
-            ${auto(kvs[path])}
-          )
-        `
-      }
-      return tsql`
-        json_modify(
-          ${result},
-          ${jsonPath(path)},
-          ${auto(kvs[path])}
-        )
-      `
-    }, target)
-  }
- 
-export default jsonModify
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/json-path-exists.ts.html b/coverage/lcov-report/src/json-path-exists.ts.html deleted file mode 100644 index 5bb6358..0000000 --- a/coverage/lcov-report/src/json-path-exists.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/json-path-exists.ts - - - - - - - - - -
-
-

All files / src json-path-exists.ts

-
- -
- 66.66% - Statements - 2/3 -
- - -
- 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 -322x -22x - 
import { jsonPathExists } from './identifier.js'
-export default jsonPathExists
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/json-path.ts.html b/coverage/lcov-report/src/json-path.ts.html deleted file mode 100644 index fa286fd..0000000 --- a/coverage/lcov-report/src/json-path.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/json-path.ts - - - - - - - - - -
-
-

All files / src json-path.ts

-
- -
- 87.5% - Statements - 14/16 -
- - -
- 100% - Branches - 5/5 -
- - -
- 100% - Functions - 1/1 -
- - -
- 92.85% - Lines - 13/14 -
- - -
-

- 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  -22x -  -  -  -22x -20x -5x -  -15x -15x -2x -  -15x -1x -  -15x -2x -  -13x -  -  -22x - 
 
-export const re = /^\s*((append|lax|strict)\s+)*\$\./i
- 
-/** @returns `[append] [lax | strict] $.<path>` json path from simplified path. */
-export const jsonPath =
-  (path: string, { mode, append }: { append?: boolean, mode?: 'lax' | 'strict' } = {}): string => {
-    if (re.test(path)) {
-      return path
-    }
-    const parts: string[] = []
-    if (append) {
-      parts.push('append')
-    }
-    if (mode) {
-      parts.push(mode)
-    }
-    if (parts.length > 0) {
-      return `${parts.join(' ')} $.${path}`
-    }
-    return `$.${path}`
-  }
- 
-export default jsonPath
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/json-query.ts.html b/coverage/lcov-report/src/json-query.ts.html deleted file mode 100644 index 0b8118d..0000000 --- a/coverage/lcov-report/src/json-query.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/json-query.ts - - - - - - - - - -
-
-

All files / src json-query.ts

-
- -
- 66.66% - Statements - 2/3 -
- - -
- 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 -322x -22x - 
import { jsonQuery } from './identifier.js'
-export default jsonQuery
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/json-value.ts.html b/coverage/lcov-report/src/json-value.ts.html deleted file mode 100644 index 75165b3..0000000 --- a/coverage/lcov-report/src/json-value.ts.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - Code coverage report for src/json-value.ts - - - - - - - - - -
-
-

All files / src json-value.ts

-
- -
- 66.66% - Statements - 2/3 -
- - -
- 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 -322x -22x - 
import { jsonValue } from './identifier.js'
-export default jsonValue
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/json.ts.html b/coverage/lcov-report/src/json.ts.html deleted file mode 100644 index 1c3ad04..0000000 --- a/coverage/lcov-report/src/json.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/json.ts - - - - - - - - - -
-
-

All files / src json.ts

-
- -
- 85.71% - Statements - 6/7 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 83.33% - Lines - 5/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 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -1722x -22x -  -  -  -  -  -  -  -  -22x -8x -  -  -  -22x - 
import null_ from './null.js'
-import nstring from './nstring.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns stringified json.
- *
- * `undefined` value is serialised as NULL.
- */
-export const json =
-  (x: unknown): S =>
-    typeof x === 'undefined' ?
-      null_ :
-      nstring(JSON.stringify(x))
- 
-export default json
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/keys-of-objects.ts.html b/coverage/lcov-report/src/keys-of-objects.ts.html deleted file mode 100644 index 42f9c01..0000000 --- a/coverage/lcov-report/src/keys-of-objects.ts.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Code coverage report for src/keys-of-objects.ts - - - - - - - - - -
-
-

All files / src keys-of-objects.ts

-
- -
- 73.68% - Statements - 14/19 -
- - -
- 40% - Branches - 2/5 -
- - -
- 100% - Functions - 3/3 -
- - -
- 68.75% - Lines - 11/16 -
- - -
-

- 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  -  -22x -4152x -  -  -  -  -  -  -  -22x -21x -  -  -21x -  -  -21x -21x -4124x -4124x -  -  -  -  -  -21x -  -  -22x - 
/** @returns `true` if boths string arrays are the same. */
-export const same =
-  (xs: string[], ys: string[]): boolean =>
-    xs.length === ys.length && xs.every((x, i) => x === ys[i])
- 
-/**
- * @returns keys of all objects in array
- * @throws if objects have different keys.
- * @throws if an array is empty.
- */
-export const keysOfObjects =
-  (objects: readonly Record<string, unknown>[]): string[] => {
-    Iif (!Array.isArray(objects)) {
-      throw new TypeError(`Expected array, got ${objects}.`)
-    }
-    Iif (objects.length === 0) {
-      throw new TypeError('Expected non empty array.')
-    }
-    const keys = Object.keys(objects[0]).sort()
-    for (let i = 1; i < objects.length; i++) {
-      const keys_ = Object.keys(objects[i]).sort()
-      Iif (!same(keys, keys_)) {
-        throw new TypeError(`Expected same keys on all objects, got ${keys} and ${keys_} at ${i} index.`)
-      }
-    }
- 
-    // Return naturally ordered keys.
-    return Object.keys(objects[0])
-  }
- 
-export default keysOfObjects
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/keywords.ts.html b/coverage/lcov-report/src/keywords.ts.html deleted file mode 100644 index 865f80e..0000000 --- a/coverage/lcov-report/src/keywords.ts.html +++ /dev/null @@ -1,3022 +0,0 @@ - - - - - - Code coverage report for src/keywords.ts - - - - - - - - - -
-
-

All files / src keywords.ts

-
- -
- 100% - Statements - 5/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - -
-

- 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 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -537 -538 -539 -540 -541 -542 -543 -544 -545 -546 -547 -548 -549 -550 -551 -552 -553 -554 -555 -556 -557 -558 -559 -560 -561 -562 -563 -564 -565 -566 -567 -568 -569 -570 -571 -572 -573 -574 -575 -576 -577 -578 -579 -580 -581 -582 -583 -584 -585 -586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 -616 -617 -618 -619 -620 -621 -622 -623 -624 -625 -626 -627 -628 -629 -630 -631 -632 -633 -634 -635 -636 -637 -638 -639 -640 -641 -642 -643 -644 -645 -646 -647 -648 -649 -650 -651 -652 -653 -654 -655 -656 -657 -658 -659 -660 -661 -662 -663 -664 -665 -666 -667 -668 -669 -670 -671 -672 -673 -674 -675 -676 -677 -678 -679 -680 -681 -682 -683 -684 -685 -686 -687 -688 -689 -690 -691 -692 -693 -694 -695 -696 -697 -698 -699 -700 -701 -702 -703 -704 -705 -706 -707 -708 -709 -710 -711 -712 -713 -714 -715 -716 -717 -718 -719 -720 -721 -722 -723 -724 -725 -726 -727 -728 -729 -730 -731 -732 -733 -734 -735 -736 -737 -738 -739 -740 -741 -742 -743 -744 -745 -746 -747 -748 -749 -750 -751 -752 -753 -754 -755 -756 -757 -758 -759 -760 -761 -762 -763 -764 -765 -766 -767 -768 -769 -770 -771 -772 -773 -774 -775 -776 -777 -778 -779 -780 -781 -782 -783 -784 -785 -786 -787 -788 -789 -790 -791 -792 -793 -794 -795 -796 -797 -798 -799 -800 -801 -802 -803 -804 -805 -806 -807 -808 -809 -810 -811 -812 -813 -814 -815 -816 -817 -818 -819 -820 -821 -822 -823 -824 -825 -826 -827 -828 -829 -830 -831 -832 -833 -834 -835 -836 -837 -838 -839 -840 -841 -842 -843 -844 -845 -846 -847 -848 -849 -850 -851 -852 -853 -854 -855 -856 -857 -858 -859 -860 -861 -862 -863 -864 -865 -866 -867 -868 -869 -870 -871 -872 -873 -874 -875 -876 -877 -878 -879 -880 -881 -882 -883 -884 -885 -886 -887 -888 -889 -890 -891 -892 -893 -894 -895 -896 -897 -898 -899 -900 -901 -902 -903 -904 -905 -906 -907 -908 -909 -910 -911 -912 -913 -914 -915 -916 -917 -918 -919 -920 -921 -922 -923 -924 -925 -926 -927 -928 -929 -930 -931 -932 -933 -934 -935 -936 -937 -938 -939 -940 -941 -942 -943 -944 -945 -946 -947 -948 -949 -950 -951 -952 -953 -954 -955 -956 -957 -958 -959 -960 -961 -962 -963 -964 -965 -966 -967 -968 -969 -970 -971 -972 -973 -974 -975 -976 -977 -978 -979 -98022x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -21362x -  -424x - 
const keywords_ = [
-  'abort_after_wait',
-  'abort',
-  'absent',
-  'absolute',
-  'accent_sensitivity',
-  'acceptable_cursopt',
-  'acp',
-  'action',
-  'activation',
-  'add',
-  'address',
-  'admin',
-  'aes_128',
-  'aes_192',
-  'aes_256',
-  'affinity',
-  'after',
-  'aggregate',
-  'algorithm',
-  'all_constraints',
-  'all_errormsgs',
-  'all_indexes',
-  'all_levels',
-  'all_results',
-  'all',
-  'allow_connections',
-  'allow_dup_row',
-  'allow_encrypted_value_modifications',
-  'allow_page_locks',
-  'allow_row_locks',
-  'allow_snapshot_isolation',
-  'alter',
-  'altercolumn',
-  'always',
-  'and',
-  'anonymous',
-  'ansi_defaults',
-  'ansi_null_default',
-  'ansi_null_dflt_off',
-  'ansi_null_dflt_on',
-  'ansi_nulls',
-  'ansi_padding',
-  'ansi_warnings',
-  'any',
-  'appdomain',
-  'append',
-  'application',
-  'apply',
-  'arithabort',
-  'arithignore',
-  'as',
-  'asc',
-  'assembly',
-  'asymmetric',
-  'asynchronous_commit',
-  'at',
-  'atan2',
-  'atomic',
-  'attach_force_rebuild_log',
-  'attach_rebuild_log',
-  'attach',
-  'audit',
-  'auth_realm',
-  'authentication',
-  'authorization',
-  'auto_cleanup',
-  'auto_close',
-  'auto_create_statistics',
-  'auto_shrink',
-  'auto_update_statistics_async',
-  'auto_update_statistics',
-  'auto',
-  'automated_backup_preference',
-  'automatic',
-  'autopilot',
-  'availability_mode',
-  'availability',
-  'backup_priority',
-  'backup',
-  'base64',
-  'basic',
-  'batches',
-  'batchsize',
-  'before',
-  'begin',
-  'between',
-  'bigint',
-  'binary',
-  'binding',
-  'bit',
-  'block',
-  'blocksize',
-  'bmk',
-  'break',
-  'broker_instance',
-  'broker',
-  'browse',
-  'bucket_count',
-  'buffer',
-  'buffercount',
-  'bulk_logged',
-  'bulk',
-  'by',
-  'call',
-  'caller',
-  'card',
-  'cascade',
-  'case',
-  'catalog',
-  'catch',
-  'cert',
-  'certificate',
-  'change_retention',
-  'change_tracking_context',
-  'change_tracking',
-  'changes',
-  'char',
-  'character_set',
-  'character',
-  'check_expiration',
-  'check_policy',
-  'check',
-  'checkconstraints',
-  'checkindex',
-  'checkpoint',
-  'cleanup_policy',
-  'clear_port',
-  'clear',
-  'close',
-  'clustered',
-  'coalesce',
-  'codepage',
-  'collate',
-  'collection',
-  'column_encryption_key',
-  'column_master_key',
-  'column',
-  'columnstore_archive',
-  'columnstore',
-  'colv_100_to_80',
-  'colv_80_to_100',
-  'commit_differential_base',
-  'commit',
-  'committed',
-  'compatibility_level',
-  'compress_all_row_groups',
-  'compression_delay',
-  'compression',
-  'compute',
-  'concat_null_yields_null',
-  'concatenate',
-  'configuration',
-  'connect',
-  'constraint',
-  'contains',
-  'containstable',
-  'continue_after_error',
-  'continue',
-  'contract_name',
-  'contract',
-  'control',
-  'conversation_group_id',
-  'conversation_handle',
-  'conversation',
-  'convert',
-  'copy_only',
-  'copy',
-  'count_rows',
-  'counter',
-  'create',
-  'credential',
-  'cross',
-  'cryptographic_provider',
-  'cryptographic',
-  'cube',
-  'current_date',
-  'current_time',
-  'current_timestamp',
-  'current_user',
-  'current',
-  'cursor_close_on_commit',
-  'cursor_default',
-  'cursor',
-  'data_compression',
-  'data_flush_interval_seconds',
-  'data_mirroring',
-  'data_purity',
-  'data_source',
-  'data',
-  'database_name',
-  'database_snapshot',
-  'database',
-  'datafiletype',
-  'date_correlation_optimization',
-  'date_format',
-  'date',
-  'datefirst',
-  'dateformat',
-  'datetime',
-  'datetime2',
-  'datetimeoffset',
-  'days',
-  'db_chaining',
-  'dbcc',
-  'dbid',
-  'dbidexec',
-  'dbo_only',
-  'deadlock_priority',
-  'deallocate',
-  'dec',
-  'decimal',
-  'declare',
-  'decrypt_a',
-  'decrypt',
-  'decryption',
-  'default_database',
-  'default_language',
-  'default_logon_domain',
-  'default_schema',
-  'default',
-  'definition',
-  'delay',
-  'delayed_durability',
-  'delete',
-  'delimitedtext',
-  'density_vector',
-  'deny',
-  'dependent',
-  'des',
-  'desc',
-  'description',
-  'desired_state',
-  'desx',
-  'differential',
-  'digest',
-  'disable_broker',
-  'disable_def_cnst_chk',
-  'disable',
-  'disabled',
-  'disk',
-  'distinct',
-  'distributed',
-  'distribution',
-  'double',
-  'drop_existing',
-  'drop',
-  'dts_buffers',
-  'dump',
-  'durability',
-  'dynamic',
-  'edition',
-  'elements',
-  'else',
-  'emergency',
-  'empty',
-  'enable_broker',
-  'enable',
-  'enabled',
-  'encoding',
-  'encrypted_value',
-  'encrypted',
-  'encryption_type',
-  'encryption',
-  'end',
-  'endpoint_url',
-  'endpoint',
-  'enhancedintegrity',
-  'entry',
-  'errlvl',
-  'error_broker_conversations',
-  'errorfile',
-  'escape',
-  'estimateonly',
-  'event',
-  'except',
-  'exec',
-  'executable',
-  'execute',
-  'exists',
-  'exit',
-  'expand',
-  'expiredate',
-  'expiry_date',
-  'explicit',
-  'external_access',
-  'external',
-  'failover_mode',
-  'failover',
-  'failure_condition_level',
-  'fast_forward',
-  'fast',
-  'fastfirstrow',
-  'federated_service_account',
-  'fetch',
-  'field_terminator',
-  'fieldterminator',
-  'file_format',
-  'file',
-  'filegroup',
-  'filelistonly',
-  'filename',
-  'filestream_log',
-  'filestream_on',
-  'filestream',
-  'filetable',
-  'fillfactor',
-  'filter',
-  'fips_flagger',
-  'fire_triggers',
-  'first_row',
-  'first',
-  'firstrow',
-  'float',
-  'flush_interval_seconds',
-  'fmtonly',
-  'following',
-  'for',
-  'force_failover_allow_data_loss',
-  'force_service_allow_data_loss',
-  'force',
-  'forced',
-  'forceplan',
-  'foreign',
-  'format_options',
-  'format_type',
-  'formatfile',
-  'formsof',
-  'forward_only',
-  'free_cursors',
-  'free_exec_context',
-  'freetext',
-  'freetexttable',
-  'from',
-  'full',
-  'fullscan',
-  'fulltext',
-  'fulltextall',
-  'fulltextkey',
-  'function',
-  'generated',
-  'geography',
-  'geometry',
-  'get',
-  'global',
-  'go',
-  'goto',
-  'governor',
-  'grant',
-  'group',
-  'guid',
-  'hadoop',
-  'hardening',
-  'hash',
-  'hashed',
-  'having',
-  'header_limit',
-  'headeronly',
-  'health_check_timeout',
-  'hidden',
-  'hierarchyid',
-  'histogram_steps',
-  'histogram',
-  'hits_cursors',
-  'hits_exec_context',
-  'holdlock',
-  'hours',
-  'http',
-  'identity_insert',
-  'identity_value',
-  'identity',
-  'identitycol',
-  'if',
-  'ifnull',
-  'ignore_constraints',
-  'ignore_dup_key',
-  'ignore_dup_row',
-  'ignore_triggers',
-  'image',
-  'immediate',
-  'implicit_transactions',
-  'in',
-  'include_null_values',
-  'include',
-  'index',
-  'inflectional',
-  'init',
-  'initiator',
-  'inner',
-  'insensitive',
-  'insert',
-  'instead',
-  'int',
-  'integer',
-  'integrated',
-  'intermediate',
-  'intersect',
-  'interval_length_minutes',
-  'into',
-  'inuse_cursors',
-  'inuse_exec_context',
-  'io',
-  'is',
-  'isabout',
-  'iso_week',
-  'isolation',
-  'job_tracker_location',
-  'join',
-  'json',
-  'keep_nulls',
-  'keep_replication',
-  'keep',
-  'keepdefaults',
-  'keepfixed',
-  'keepidentity',
-  'keepnulls',
-  'kerberos',
-  'key_path',
-  'key_source',
-  'key_store_provider_name',
-  'key',
-  'keyset',
-  'kill',
-  'kilobytes_per_batch',
-  'label',
-  'labelonly',
-  'langid',
-  'language',
-  'last',
-  'lastrow',
-  'left',
-  'legacy_cardinality_estimation',
-  'length',
-  'level',
-  'lifetime',
-  'like',
-  'lineage_100_to_80',
-  'lineage_80_to_100',
-  'lineno',
-  'listener_ip',
-  'listener_port',
-  'load',
-  'loadhistory',
-  'lob_compaction',
-  'local_service_name',
-  'local',
-  'locate',
-  'location',
-  'lock_escalation',
-  'lock_timeout',
-  'lockres',
-  'login_type',
-  'login',
-  'loop',
-  'manual',
-  'mark_in_use_for_removal',
-  'masked',
-  'master',
-  'matched',
-  'max_duration',
-  'max_outstanding_io_per_volume',
-  'max_plans_per_query',
-  'max_queue_readers',
-  'max_storage_size_mb',
-  'maxdop',
-  'maxerrors',
-  'maxlength',
-  'maxtransfersize',
-  'mediadescription',
-  'medianame',
-  'mediapassword',
-  'memogroup',
-  'memory_optimized',
-  'merge',
-  'message_forward_size',
-  'message_forwarding',
-  'message',
-  'microsecond',
-  'millisecond',
-  'minutes',
-  'mirror_address',
-  'misses_cursors',
-  'misses_exec_context',
-  'mixed',
-  'modify',
-  'money',
-  'move',
-  'multi_user',
-  'must_change',
-  'name',
-  'namespace',
-  'nanosecond',
-  'national',
-  'native_compilation',
-  'native',
-  'nchar',
-  'ncharacter',
-  'never',
-  'new_account',
-  'new_broker',
-  'newname',
-  'next',
-  'no_browsetable',
-  'no_checksum',
-  'no_compression',
-  'no_infomsgs',
-  'no_triggers',
-  'no_truncate',
-  'no',
-  'nocheck',
-  'nocount',
-  'noexec',
-  'noexpand',
-  'noformat',
-  'noinit',
-  'nolock',
-  'nonatomic',
-  'nonclustered',
-  'nondurable',
-  'none',
-  'norecompute',
-  'norecovery',
-  'noreset',
-  'norewind',
-  'noskip',
-  'not',
-  'notification',
-  'nounload',
-  'now',
-  'nowait',
-  'ntext',
-  'ntlm',
-  'null',
-  'nullif',
-  'numeric_roundabort',
-  'numeric',
-  'nvarchar',
-  'object',
-  'objid',
-  'oem',
-  'of',
-  'off',
-  'offline',
-  'offsets',
-  'old_account',
-  'on',
-  'online',
-  'open',
-  'opendatasource',
-  'openjson',
-  'openquery',
-  'openrowset',
-  'openxml',
-  'operation_mode',
-  'optimistic',
-  'option',
-  'or',
-  'orc',
-  'order',
-  'out',
-  'outer',
-  'output',
-  'over',
-  'override',
-  'owner',
-  'ownership',
-  'pad_index',
-  'page_checksum',
-  'page_verify',
-  'page',
-  'pagecount',
-  'paglock',
-  'param',
-  'parameter_sniffing',
-  'parameter_type_expansion',
-  'parameterization',
-  'parquet',
-  'parseonly',
-  'partial',
-  'partition',
-  'partner',
-  'password',
-  'path',
-  'pause',
-  'percent',
-  'percentage',
-  'period',
-  'permission_set',
-  'persisted',
-  'physical_only',
-  'pivot',
-  'plan_forcing_mode',
-  'plan',
-  'policy',
-  'pool',
-  'population',
-  'ports',
-  'preceding',
-  'precision',
-  'predicate',
-  'presume_abort',
-  'primary_role',
-  'primary',
-  'print',
-  'prior',
-  'priority_level',
-  'priority',
-  'private',
-  'proc',
-  'procedure_name',
-  'procedure',
-  'profile',
-  'provider',
-  'public',
-  'query_capture_mode',
-  'query_governor_cost_limit',
-  'query_optimizer_hotfixes',
-  'query_store',
-  'queue',
-  'quoted_identifier',
-  'raiserror',
-  'range',
-  'raw',
-  'rc2',
-  'rc4_128',
-  'rc4',
-  'rcfile',
-  'rdbms',
-  'read_committed_snapshot',
-  'read_only',
-  'read_write',
-  'read',
-  'readcommitted',
-  'readcommittedlock',
-  'readonly',
-  'readpast',
-  'readtext',
-  'readuncommitted',
-  'readwrite',
-  'real',
-  'rebuild',
-  'receive',
-  'recmodel_70backcomp',
-  'recompile',
-  'reconfigure',
-  'recovery',
-  'recursive_triggers',
-  'recursive',
-  'redo_queue',
-  'references',
-  'reject_sample_value',
-  'reject_type',
-  'reject_value',
-  'relative',
-  'remote_data_archive',
-  'remote_proc_transactions',
-  'remote_service_name',
-  'remote',
-  'remove',
-  'removed_cursors',
-  'removed_exec_context',
-  'reorganize',
-  'repeat',
-  'repeatable',
-  'repeatableread',
-  'replica',
-  'replicated',
-  'replication',
-  'replnick_100_to_80',
-  'replnickarray_100_to_80',
-  'replnickarray_80_to_100',
-  'required_cursopt',
-  'required',
-  'resample',
-  'reset',
-  'resource_manager_location',
-  'resource',
-  'restart',
-  'restore',
-  'restrict',
-  'restricted_user',
-  'resume',
-  'retaindays',
-  'retention',
-  'return',
-  'returns',
-  'revert',
-  'revoke',
-  'rewind',
-  'rewindonly',
-  'right',
-  'robust',
-  'role',
-  'rollback',
-  'rollup',
-  'root',
-  'round_robin',
-  'route',
-  'row_terminator',
-  'row',
-  'rowcount',
-  'rowdump',
-  'rowguidcol',
-  'rowlock',
-  'rows_per_batch',
-  'rows',
-  'rowsets_only',
-  'rowterminator',
-  'rowversion',
-  'rsa_1024',
-  'rsa_2048',
-  'rsa_3072',
-  'rsa_4096',
-  'rsa_512',
-  'rule',
-  'safe',
-  'safety',
-  'sample',
-  'save',
-  'schema',
-  'schemabinding',
-  'scoped',
-  'scroll_locks',
-  'scroll',
-  'sddl',
-  'secexpr',
-  'secondary_only',
-  'secondary_role',
-  'secondary',
-  'secret',
-  'security',
-  'securityaudit',
-  'select',
-  'selective',
-  'self',
-  'semantickeyphrasetable',
-  'semanticsimilaritydetailstable',
-  'semanticsimilaritytable',
-  'send',
-  'sent',
-  'sequence',
-  'serde_method',
-  'serializable',
-  'server',
-  'service_broker',
-  'service_name',
-  'service_objective',
-  'service',
-  'session_timeout',
-  'session_user',
-  'session',
-  'sessions',
-  'set',
-  'seterror',
-  'setopts',
-  'sets',
-  'setuser',
-  'shard_map_manager',
-  'shard_map_name',
-  'sharded',
-  'shared_memory',
-  'show_statistics',
-  'showplan_all',
-  'showplan_text',
-  'showplan_xml_with_recompile',
-  'showplan_xml',
-  'shrinkdb',
-  'shutdown',
-  'sid',
-  'signature',
-  'simple',
-  'single_blob',
-  'single_clob',
-  'single_nclob',
-  'single_user',
-  'singleton',
-  'site',
-  'size_based_cleanup_mode',
-  'skip',
-  'smalldatetime',
-  'smallint',
-  'smallmoney',
-  'snapshot_import',
-  'snapshot',
-  'snapshotrestorephase',
-  'soap',
-  'softnuma',
-  'some',
-  'sort_in_tempdb',
-  'sorted_data_reorg',
-  'sorted_data',
-  'source',
-  'spatial',
-  'sql_bigint',
-  'sql_binary',
-  'sql_bit',
-  'sql_char',
-  'sql_date',
-  'sql_decimal',
-  'sql_double',
-  'sql_float',
-  'sql_guid',
-  'sql_handle',
-  'sql_longvarbinary',
-  'sql_longvarchar',
-  'sql_numeric',
-  'sql_real',
-  'sql_smallint',
-  'sql_time',
-  'sql_timestamp',
-  'sql_tinyint',
-  'sql_tsi_day',
-  'sql_tsi_frac_second',
-  'sql_tsi_hour',
-  'sql_tsi_minute',
-  'sql_tsi_month',
-  'sql_tsi_quarter',
-  'sql_tsi_second',
-  'sql_tsi_week',
-  'sql_tsi_year',
-  'sql_type_date',
-  'sql_type_time',
-  'sql_type_timestamp',
-  'sql_varbinary',
-  'sql_varchar',
-  'sql_variant',
-  'sql_wchar',
-  'sql_wlongvarchar',
-  'sql',
-  'ssl_port',
-  'ssl',
-  'standard',
-  'standby',
-  'start_date',
-  'start',
-  'started',
-  'stat_header',
-  'state',
-  'statement',
-  'static',
-  'statistics_incremental',
-  'statistics_norecompute',
-  'statistics_only',
-  'statistics',
-  'statman',
-  'stats_stream',
-  'status',
-  'stop_on_error',
-  'stop',
-  'stopat',
-  'stopatmark',
-  'stopbeforemark',
-  'stoplist',
-  'stopped',
-  'string_delimiter',
-  'subject',
-  'supplemental_logging',
-  'supported',
-  'suspend',
-  'symmetric',
-  'synchronous_commit',
-  'synonym',
-  'sysname',
-  'system_time',
-  'system_user',
-  'system_versioning',
-  'system',
-  'table',
-  'tableresults',
-  'tablesample',
-  'tablock',
-  'tablockx',
-  'take',
-  'tape',
-  'target_index',
-  'target_partition',
-  'target',
-  'tcp',
-  'temporal_history_retention',
-  'text',
-  'textimage_on',
-  'textsize',
-  'then',
-  'thesaurus',
-  'throw',
-  'time',
-  'timeout',
-  'timestamp',
-  'tinyint',
-  'to',
-  'top',
-  'torn_page_detection',
-  'track_columns_updated',
-  'tran',
-  'transaction',
-  'transfer',
-  'trigger',
-  'triple_des_3key',
-  'triple_des',
-  'truncate',
-  'trustworthy',
-  'try_convert',
-  'try',
-  'tsequal',
-  'tsql',
-  'type_desc',
-  'type_warning',
-  'type',
-  'tzoffset',
-  'uid',
-  'unbounded',
-  'uncommitted',
-  'union',
-  'unique',
-  'uniqueidentifier',
-  'unlimited',
-  'unload',
-  'unlock',
-  'unpivot',
-  'unsafe',
-  'update',
-  'updatetext',
-  'updlock',
-  'url',
-  'use_type_default',
-  'use',
-  'useplan',
-  'user',
-  'useroptions',
-  'using',
-  'utcdatetime',
-  'valid_xml',
-  'validation',
-  'value',
-  'values',
-  'varbinary',
-  'varchar',
-  'varying',
-  'verbose',
-  'verifyonly',
-  'version',
-  'view_metadata',
-  'view',
-  'virtual_device',
-  'visiblity',
-  'waitfor',
-  'webmethod',
-  'weekday',
-  'weight',
-  'well_formed_xml',
-  'when',
-  'where',
-  'while',
-  'widechar_ansi',
-  'widechar',
-  'widenative',
-  'windows',
-  'with',
-  'within',
-  'without_array_wrapper',
-  'without',
-  'witness',
-  'workload',
-  'writetext',
-  'wsdl',
-  'xact_abort',
-  'xlock',
-  'xml',
-  'xmlschema',
-  'xquery',
-  'xsinil',
-  'zone'
-]
- 
-/** An array of MSSQL keywords. */
-const keywords: Record<string, undefined | true> =
-  keywords_.reduce((r, _) => ({ ...r, [_]: true }), {})
- 
-export default keywords
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/like.ts.html b/coverage/lcov-report/src/like.ts.html deleted file mode 100644 index f9b224e..0000000 --- a/coverage/lcov-report/src/like.ts.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for src/like.ts - - - - - - - - - -
-
-

All files / src like.ts

-
- -
- 91.66% - Statements - 11/12 -
- - -
- 50% - Branches - 2/4 -
- - -
- 100% - Functions - 2/2 -
- - -
- 90.9% - Lines - 10/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 -22 -23 -24 -25 -2622x -22x -22x -22x -22x -  -  -  -22x -1x -  -  -  -  -  -  -  -  -  -22x -1x -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import isNull from './is-null.js'
-import nstring from './nstring.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
- 
-const rhsLike =
-  (rhs: unknown): S =>
-    isNull(rhs) ?
-      tsql`is null` :
-      tsql`like ${nstring(String(rhs))}`
- 
-/**
- * @returns LIKE operator.
- *
- * `undefined` is propagated.
- */
-export const like =
-  (lhs: S | string, rhs: unknown): undefined | S =>
-    typeof rhs === 'undefined' ?
-      undefined :
-      tsql`${fallback(lhs, id)} ${rhsLike(rhs)}`
- 
-export default like
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/limited-hints-identifier.ts.html b/coverage/lcov-report/src/limited-hints-identifier.ts.html deleted file mode 100644 index f7cc995..0000000 --- a/coverage/lcov-report/src/limited-hints-identifier.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/limited-hints-identifier.ts - - - - - - - - - -
-
-

All files / src limited-hints-identifier.ts

-
- -
- 100% - Statements - 8/8 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 1/1 -
- - -
- 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 -1522x -22x -22x -22x -  -  -  -  -22x -20x -  -  -  -22x - 
import * as TableHintLimited from './table-hint-limited.js'
-import identifier from './identifier.js'
-import list from './list.js'
-import template from './template.js'
-import type S from './sanitised.js'
- 
-/** @returns identifier with optional, [limited hints](https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table). */
-const limitedHintsIdentifier =
-  (table: Parameters<typeof identifier>[0], hints?: TableHintLimited.t[]): S =>
-    hints && hints.length > 0 ?
-      template`${identifier(table)} with (${list(hints, TableHintLimited.sanitized)})` :
-      identifier(table)
- 
-export default limitedHintsIdentifier
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/line.ts.html b/coverage/lcov-report/src/line.ts.html deleted file mode 100644 index d60c22d..0000000 --- a/coverage/lcov-report/src/line.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/line.ts - - - - - - - - - -
-
-

All files / src line.ts

-
- -
- 90% - Statements - 9/10 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 3/3 -
- - -
- 85.71% - Lines - 6/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 -20 -2122x -22x -  -  -  -  -  -  -  -  -  -  -  -  -22x -26x -26x -  -  -22x - 
import auto from './auto.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns space delimited line constructed from provided elements.
- *
- * `undefined` values are filtered out.
- *
- * Empty list returns sanitized empty string.
- *
- * @see maybeLine for variant which propagates emtpy list to undefined.
- */
-export const line =
-  (...elements: unknown[]): S => {
-    const elements_ = elements.filter(_ => typeof _ !== 'undefined')
-    return raw(elements_.map(auto).map(_ => _.toString().trim()).join(' '))
-  }
- 
-export default line
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/lines.ts.html b/coverage/lcov-report/src/lines.ts.html deleted file mode 100644 index f006bca..0000000 --- a/coverage/lcov-report/src/lines.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/lines.ts - - - - - - - - - -
-
-

All files / src lines.ts

-
- -
- 88.88% - Statements - 8/9 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 87.5% - Lines - 7/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 -1822x -  -  -  -  -  -  -  -22x -5x -5x -2x -  -3x -  -  -22x - 
import maybeLines from './maybe-lines.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns lines joined with provided separator.
- * @throws if there are no lines on output.
- */
-export const lines =
-  <T>(inputs: readonly T[], separator = '\n'): S => {
-    const output = maybeLines(inputs, separator)
-    if (typeof output === 'undefined') {
-      throw new Error('Expected at least one line.')
-    }
-    return output
-  }
- 
-export default lines
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/list.ts.html b/coverage/lcov-report/src/list.ts.html deleted file mode 100644 index 03eda74..0000000 --- a/coverage/lcov-report/src/list.ts.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Code coverage report for src/list.ts - - - - - - - - - -
-
-

All files / src list.ts

-
- -
- 90.9% - Statements - 10/11 -
- - -
- 100% - Branches - 4/4 -
- - -
- 100% - Functions - 4/4 -
- - -
- 90% - Lines - 9/10 -
- - -
-

- 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 -2422x -22x -  -  -  -  -  -  -  -  -  -  -22x -4274x -8524x -8512x -8512x -4274x -  -  -  -  -4274x - 
import auto from './auto.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns comma separated list of values.
- *
- * If there are no `undefined` values, `undefined` is propagated.
- *
- * Optional element to sanitised string mapping can be provided (defaults to auto-sanitation).
- */
-export const list =
-  <T>(values: readonly T[], sanitise: (value: T) => undefined | S = auto, separator = ', '): undefined | S => {
-    const values_ = values
-      .filter(_ => typeof _ !== 'undefined')
-      .map(_ => sanitise(_)?.toString().trim())
-      .filter(_ => typeof _ !== 'undefined')
-    return values_.length > 0 ?
-      raw(values_.join(separator)) :
-      undefined
-  }
- 
-export default list
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/logical-false.ts.html b/coverage/lcov-report/src/logical-false.ts.html deleted file mode 100644 index b3451c8..0000000 --- a/coverage/lcov-report/src/logical-false.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/logical-false.ts - - - - - - - - - -
-
-

All files / src logical-false.ts

-
- -
- 80% - Statements - 4/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 75% - Lines - 3/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 -13 -14 -15 -16 -17  -22x -  -  -  -  -  -  -  -  -  -  -  -22x -  -22x - 
import type S from './sanitised.js'
-import raw from './raw.js'
- 
-/**
- * Simulated logical false – 0=1.
- *
- * Logical booleans can be used in condition expressions, ie. WHERE clause.
- *
- * Value booleans can be used in assignment statements, ie. UPDATE SET clause.
- *
- * @see falseValue for value boolean variant.
- */
-export const logicalFalse: S =
-  raw('0=1')
- 
-export default logicalFalse
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/logical-true.ts.html b/coverage/lcov-report/src/logical-true.ts.html deleted file mode 100644 index 4e8d106..0000000 --- a/coverage/lcov-report/src/logical-true.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/logical-true.ts - - - - - - - - - -
-
-

All files / src logical-true.ts

-
- -
- 80% - Statements - 4/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 75% - Lines - 3/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 -13 -14 -15 -16 -17  -22x -  -  -  -  -  -  -  -  -  -  -  -22x -  -25x - 
import type S from './sanitised.js'
-import raw from './raw.js'
- 
-/**
- * Simulated logical true – 1=1.
- *
- * Logical booleans can be used in condition expressions, ie. WHERE clause.
- *
- * Value booleans can be used in assignment statements, ie. UPDATE SET clause.
- *
- * @see trueValue for value boolean variant.
- */
-export const logicalTrue: S =
-  raw('1=1')
- 
-export default logicalTrue
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/lt.ts.html b/coverage/lcov-report/src/lt.ts.html deleted file mode 100644 index 92cedb9..0000000 --- a/coverage/lcov-report/src/lt.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/lt.ts - - - - - - - - - -
-
-

All files / src lt.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -1422x -  -  -  -  -  -  -  -  -22x -2x -  -22x - 
import op from './op.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns lower than expression.
- *
- * `undefined` RHS is propagated.
- */
-export const lt =
-  (l: S | string, r: unknown): undefined | S =>
-    op(l, '<', r)
- 
-export default lt
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/lte.ts.html b/coverage/lcov-report/src/lte.ts.html deleted file mode 100644 index daa2bcb..0000000 --- a/coverage/lcov-report/src/lte.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/lte.ts - - - - - - - - - -
-
-

All files / src lte.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -1422x -  -  -  -  -  -  -  -  -22x -2x -  -22x - 
import op from './op.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns lower than or equal expression.
- *
- * `undefined` RHS is propagated.
- */
-export const lte =
-  (l: S | string, r: unknown): undefined | S =>
-    op(l, '<=', r)
- 
-export default lte
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/margin-of-first-line.ts.html b/coverage/lcov-report/src/margin-of-first-line.ts.html deleted file mode 100644 index fa63d6e..0000000 --- a/coverage/lcov-report/src/margin-of-first-line.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/margin-of-first-line.ts - - - - - - - - - -
-
-

All files / src margin-of-first-line.ts

-
- -
- 100% - Statements - 8/8 -
- - -
- 100% - Branches - 3/3 -
- - -
- 100% - Functions - 1/1 -
- - -
- 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  -  -24x -14x -14x -16x -6x -  -  -14x -  -  -24x - 
/** @returns whitespace margin (spaces/tabs) for single/first line. */
-const marginOfFirstLine =
-  (line: string): string => {
-    let i = 0
-    for (; i < line.length; i++) {
-      if (line[i] !== ' ' && line[i] !== '\t') {
-        break
-      }
-    }
-    return line.slice(0, i)
-  }
- 
-export default marginOfFirstLine
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/margin-of-last-line.ts.html b/coverage/lcov-report/src/margin-of-last-line.ts.html deleted file mode 100644 index ffd017d..0000000 --- a/coverage/lcov-report/src/margin-of-last-line.ts.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Code coverage report for src/margin-of-last-line.ts - - - - - - - - - -
-
-

All files / src margin-of-last-line.ts

-
- -
- 100% - Statements - 5/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 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 -823x -  -  -23x -8x -  -23x - 
import marginOfFirstLine from './margin-of-first-line.js'
- 
-const marginOfLastLine =
-  (linesString: string): string =>
-    marginOfFirstLine(linesString.substr(1 + linesString.lastIndexOf('\n')))
- 
-export default marginOfLastLine
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/maybe-line.ts.html b/coverage/lcov-report/src/maybe-line.ts.html deleted file mode 100644 index f076f95..0000000 --- a/coverage/lcov-report/src/maybe-line.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/maybe-line.ts - - - - - - - - - -
-
-

All files / src maybe-line.ts

-
- -
- 40% - Statements - 4/10 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/3 -
- - -
- 50% - Lines - 4/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 -19 -20 -2122x -22x -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -22x - 
import auto from './auto.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns space delimited line constructed from provided elements.
- *
- * `undefined` values are filtered out.
- *
- * Empty list (after filtering out `undefined`) propagates `undefined`.
- */
-export const maybeLine =
-  (...elements: unknown[]): undefined | S => {
-    const elements_ = elements.filter(_ => typeof _ !== 'undefined')
-    return elements_.length > 0 ?
-      raw(elements_.map(auto).map(_ => _.toString().trim()).join(' ')) :
-      undefined
-  }
- 
-export default maybeLine
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/maybe-lines.ts.html b/coverage/lcov-report/src/maybe-lines.ts.html deleted file mode 100644 index dae2388..0000000 --- a/coverage/lcov-report/src/maybe-lines.ts.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Code coverage report for src/maybe-lines.ts - - - - - - - - - -
-
-

All files / src maybe-lines.ts

-
- -
- 92.85% - Statements - 13/14 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 5/5 -
- - -
- 92.3% - Lines - 12/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 -2122x -22x -  -  -  -  -22x -  -5x -10x -7x -7x -7x -5x -2x -  -3x -  -  -22x - 
import auto from './auto.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
- 
-/** @returns lines joined with provided separator or undefined if there are no lines. */
-export const maybeLines =
-  <T>(inputs: readonly T[], separator = '\n'): undefined | S => {
-    const outputs =
-      inputs
-        .filter(_ => typeof _ !== 'undefined')
-        .map(_ => auto(_))
-        .filter(_ => typeof _ !== 'undefined')
-        .map(_ => _.toString().trim())
-    if (outputs.length === 0) {
-      return
-    }
-    return raw(outputs.join(separator))
-  }
- 
-export default maybeLines
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/merge-1n.ts.html b/coverage/lcov-report/src/merge-1n.ts.html deleted file mode 100644 index 3797172..0000000 --- a/coverage/lcov-report/src/merge-1n.ts.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - Code coverage report for src/merge-1n.ts - - - - - - - - - -
-
-

All files / src merge-1n.ts

-
- -
- 88.23% - Statements - 15/17 -
- - -
- 75% - Branches - 3/4 -
- - -
- 100% - Functions - 1/1 -
- - -
- 87.5% - Lines - 14/16 -
- - -
-

- 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 -4622x -22x -22x -22x -22x -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -5x -5x -5x -5x -  -  -5x -1x -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x - 
import id from './identifier.js'
-import inlineTable from './inline-table-of-column.js'
-import limitedHintsIdentifier from './limited-hints-identifier.js'
-import row from './row.js'
-import tsql from './template.js'
-import type { TableHintLimited } from './table-hint-limited.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-/** @returns MERGE DML synchronising 1-n relation. */
-export const merge1n =
-  (
-    table: Sid | string,
-    [ lcolumn, rcolumn ]: [ Sid | string, Sid | string ],
-    lid: unknown,
-    values: unknown[],
-    { hints = [ 'serializable' ] }: {
-      hints?: TableHintLimited[]
-    } = {}
-  ): S => {
-    const table_ = limitedHintsIdentifier(table, hints)
-    const lcolumn_ = id(lcolumn)
-    const rcolumn_ = id(rcolumn)
-    Iif (!Array.isArray(values)) {
-      throw new TypeError(`Expected array of values, got ${values}.`)
-    }
-    if (values.length === 0) {
-      return tsql`delete from ${table_} where ${lcolumn_} = ${lid};`
-    }
-    return tsql`
-      merge ${table_} as ${id('Target')}
-      using ${inlineTable('Source', 'id', values)}
-      on (
-        ${id([ 'Target', lcolumn ])} = ${lid} and
-        ${id([ 'Target', rcolumn ])} = ${id([ 'Source', 'id' ])}
-      )
-      when not matched by target then
-        insert ${row([ lcolumn_, rcolumn_ ])}
-        values ${row([ lid, id('Source.id') ])}
-      when not matched by source and ${id([ 'Target', lcolumn ])} = ${lid} then
-        delete;
-    `
-  }
- 
-export default merge1n
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/modify-jsons.ts.html b/coverage/lcov-report/src/modify-jsons.ts.html deleted file mode 100644 index 1daa813..0000000 --- a/coverage/lcov-report/src/modify-jsons.ts.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for src/modify-jsons.ts - - - - - - - - - -
-
-

All files / src modify-jsons.ts

-
- -
- 86.48% - Statements - 32/37 -
- - -
- 0% - Branches - 0/1 -
- - -
- 100% - Functions - 10/10 -
- - -
- 87.09% - Lines - 27/31 -
- - -
-

- 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 -6322x -22x -22x -22x -22x -22x -  -  -22x -22x -  -  -  -  -  -22x -7x -  -  -22x -6x -  -  -22x -2x -  -  -  -5x -  -  -  -22x -  -  -  -  -2x -  -  -  -2x -2x -4x -4x -2x -4x -2x -  -  -2x -  -2x -  -  -  -  -  -  -  -  -22x - 
import and from './and.js'
-import eq from './eq.js'
-import id from './identifier.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import keysOfObjects from './keys-of-objects.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import list from './list.js'
-import assign from './assign.js'
- 
-export type Where = Record<string, unknown>
-export type Update = Record<string, Record<string, unknown>>
- 
-export const sourcePrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Source', _ ])
- 
-export const targetPrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Target', _ ])
- 
-export const modify =
-  (column: string, jsonKeys: string[]): S =>
-    assign(
-      targetPrefixed(column),
- 
-      // eslint-disable-next-line sonarjs/no-nested-template-literals
-      jsonKeys.reduce((_, jsonKey) => tsql`json_modify(${_}, ${`$.${jsonKey}`}, json_query(${sourcePrefixed(column)}, ${`$.${jsonKey}`}))`, targetPrefixed(column) as S)
-    ) as S
- 
-/** @returns MERGE DML for json columns, multiple rows via JSON_MODIFY and JSON_QUERY. */
-export const modifyJsons = (
-  table: Sid | string,
-  entries: readonly Record<string, unknown>[]
-): S => {
- 
-  Iif (entries.length === 0) {
-    return tsql`select 0;`
-  }
- 
-  const table_ = id(table)
-  const objectKeys = keysOfObjects(entries)
-  const onKeys = objectKeys.filter(_ => !_.endsWith('Json'))
-  const jsonColumns = objectKeys.filter(_ => _.endsWith('Json'))
-  const update_ = list(jsonColumns.map(jsonColumn => {
-    const jsonKeys = keysOfObjects(entries.map(_ => _[jsonColumn] as Record<string, unknown>))
-    return modify(jsonColumn, jsonKeys)
-  }))
- 
-  const on_ = and(...onKeys.map(_ => eq(sourcePrefixed(_), targetPrefixed(_))))
- 
-  return tsql`
-    merge ${table_} as ${id('Target')}
-    using ${inlineTableOfObjects('Source', entries, objectKeys)}
-    on ${on_}
-    when matched then
-      update set ${update_};
-  `
-}
- 
-export default modifyJsons
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/ne.ts.html b/coverage/lcov-report/src/ne.ts.html deleted file mode 100644 index ea2ea04..0000000 --- a/coverage/lcov-report/src/ne.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for src/ne.ts - - - - - - - - - -
-
-

All files / src ne.ts

-
- -
- 83.33% - Statements - 10/12 -
- - -
- 33.33% - Branches - 1/3 -
- - -
- 100% - Functions - 1/1 -
- - -
- 81.81% - Lines - 9/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 -1922x -22x -22x -  -22x -  -  -22x -1x -  -  -1x -1x -  -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import isNull from './is-null.js'
-import type S from './sanitised.js'
-import tsql from './template.js'
- 
-export const ne =
-  (lhs: S | string, rhs: unknown): undefined | S => {
-    Iif (typeof rhs === 'undefined') {
-      return undefined
-    }
-    const l_ = fallback(lhs, id)
-    return isNull(rhs) ?
-      tsql`${l_} is not null` :
-      tsql`${l_} <> ${rhs}`
-  }
- 
-export default ne
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/ng.ts.html b/coverage/lcov-report/src/ng.ts.html deleted file mode 100644 index 68cc593..0000000 --- a/coverage/lcov-report/src/ng.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/ng.ts - - - - - - - - - -
-
-

All files / src ng.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -922x -  -  -  -22x -1x -  -22x - 
import op from './op.js'
-import type S from './sanitised.js'
- 
-export const ng =
-  (lhs: S | string, rhs: unknown): undefined | S =>
-    op(lhs, '!>', rhs)
- 
-export default ng
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/nl.ts.html b/coverage/lcov-report/src/nl.ts.html deleted file mode 100644 index 27bdbee..0000000 --- a/coverage/lcov-report/src/nl.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/nl.ts - - - - - - - - - -
-
-

All files / src nl.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -922x -  -  -  -22x -1x -  -22x - 
import op from './op.js'
-import type S from './sanitised.js'
- 
-export const nl =
-  (lhs: S | string, rhs: unknown): undefined | S =>
-    op(lhs, '!<', rhs)
- 
-export default nl
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/not-between.ts.html b/coverage/lcov-report/src/not-between.ts.html deleted file mode 100644 index 329e2aa..0000000 --- a/coverage/lcov-report/src/not-between.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/not-between.ts - - - - - - - - - -
-
-

All files / src not-between.ts

-
- -
- 87.5% - Statements - 7/8 -
- - -
- 75% - Branches - 3/4 -
- - -
- 100% - Functions - 1/1 -
- - -
- 85.71% - Lines - 6/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 -1322x -22x -22x -  -  -  -22x -1x -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
- 
-export const notBetween =
-  <T>(l: string | S, r: undefined | null | [beginExpression: T, endExpression: T]): undefined | S =>
-    typeof l === 'undefined' || r == null ?
-      undefined :
-      tsql`${fallback(l, id)} not between ${r[0]} and ${r[1]}`
- 
-export default notBetween
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/not-distinct.ts.html b/coverage/lcov-report/src/not-distinct.ts.html deleted file mode 100644 index f9188d4..0000000 --- a/coverage/lcov-report/src/not-distinct.ts.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for src/not-distinct.ts - - - - - - - - - -
-
-

All files / src not-distinct.ts

-
- -
- 54.54% - Statements - 6/11 -
- - -
- 0% - Branches - 0/3 -
- - -
- 0% - Functions - 0/1 -
- - -
- 50% - Lines - 5/10 -
- - -
-

- 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 -1622x -22x -22x -  -  -  -22x -  -  -  -  -  -  -  -44x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import template from './template.js'
-import type S from './sanitised.js'
- 
-export const notDistinct =
-  (lhs: S | string, rhs: unknown): undefined | S => {
-    Iif (typeof lhs === 'undefined' || typeof rhs === 'undefined') {
-      return undefined
-    }
-    const lhs_ = fallback(lhs, id)
-    return template`(not (${lhs_} <> ${rhs} or ${lhs_} is null or ${rhs} is null) or (${lhs_} is null and ${rhs} is null))`
-  }
- 
-export default notDistinct
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/not-in.ts.html b/coverage/lcov-report/src/not-in.ts.html deleted file mode 100644 index 9b6bd82..0000000 --- a/coverage/lcov-report/src/not-in.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/not-in.ts - - - - - - - - - -
-
-

All files / src not-in.ts

-
- -
- 90% - Statements - 9/10 -
- - -
- 71.42% - Branches - 5/7 -
- - -
- 100% - Functions - 1/1 -
- - -
- 88.88% - Lines - 8/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 -1722x -22x -22x -22x -22x -  -  -  -22x -1x -  -  -  -  -  -44x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import isNull from './is-null.js'
-import row from './row.js'
-import tsql from './template.js'
-import type S from './sanitised.js'
- 
-export const notIn =
-  (l: S | string, r: undefined | null | unknown[]): undefined | S =>
-    typeof r === 'undefined' ?
-      undefined :
-      r && !isNull(r) && (r.length > 0) ?
-        tsql`${fallback(l, id)} not in ${row(r)}` :
-        tsql`${fallback(l, id)} is not null`
- 
-export default notIn
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/not.ts.html b/coverage/lcov-report/src/not.ts.html deleted file mode 100644 index 9075e37..0000000 --- a/coverage/lcov-report/src/not.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/not.ts - - - - - - - - - -
-
-

All files / src not.ts

-
- -
- 50% - Statements - 2/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 66.66% - Lines - 2/3 -
- - -
-

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

- -
-
-

-
1 -2 -3 -4 -5 -622x -  -  -  -22x - 
import { not } from './where.js'
- 
-export { not }
- 
-export default not
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/now.ts.html b/coverage/lcov-report/src/now.ts.html deleted file mode 100644 index 90898ef..0000000 --- a/coverage/lcov-report/src/now.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/now.ts - - - - - - - - - -
-
-

All files / src now.ts

-
- -
- 60% - Statements - 3/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 75% - Lines - 3/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 -722x -  -  -22x -  -22x - 
import raw from './raw.js'
- 
-export const now =
-  raw('sysdatetimeoffset()')
- 
-export default now
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/nstring.ts.html b/coverage/lcov-report/src/nstring.ts.html deleted file mode 100644 index e5173a4..0000000 --- a/coverage/lcov-report/src/nstring.ts.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for src/nstring.ts - - - - - - - - - -
-
-

All files / src nstring.ts

-
- -
- 85.71% - Statements - 6/7 -
- - -
- 50% - Branches - 2/4 -
- - -
- 100% - Functions - 1/1 -
- - -
- 83.33% - Lines - 5/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 -7 -8 -9 -10 -11 -12 -13 -1422x -22x -  -  -  -22x -4264x -  -  -  -  -  -4264x - 
import quotedNstring from './quoted-nstring.js'
-import S from './sanitised.js'
- 
-// TODO: Add SanitisedValue type?
-export const nstring =
-  (value: undefined | null | string | S): S =>
-    value instanceof S ?
-      value :
-      value == null ?
-        new S('null') :
-        new S(quotedNstring(String(value)))
- 
-export default nstring
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/null.ts.html b/coverage/lcov-report/src/null.ts.html deleted file mode 100644 index d620b67..0000000 --- a/coverage/lcov-report/src/null.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/null.ts - - - - - - - - - -
-
-

All files / src null.ts

-
- -
- 80% - Statements - 4/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 75% - Lines - 3/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 -722x -  -  -22x -  -22x - 
import raw from './raw.js'
- 
-export const null_ =
-  raw('null')
- 
-export default null_
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/number.ts.html b/coverage/lcov-report/src/number.ts.html deleted file mode 100644 index 84bb8f2..0000000 --- a/coverage/lcov-report/src/number.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/number.ts - - - - - - - - - -
-
-

All files / src number.ts

-
- -
- 75% - Statements - 6/8 -
- - -
- 0% - Branches - 0/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 71.42% - Lines - 5/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 -1322x -  -  -  -22x -75x -  -  -75x -  -  -75x - 
import raw from './raw.js'
-import type S from './sanitised.js'
- 
-export const number =
-  (x: number): S => {
-    Iif (!Number.isFinite(x)) {
-      throw new TypeError(`Expected finite number, got ${x}.`)
-    }
-    return raw(x.toString(10))
-  }
- 
-export default number
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/object-id.ts.html b/coverage/lcov-report/src/object-id.ts.html deleted file mode 100644 index 2ebfc9b..0000000 --- a/coverage/lcov-report/src/object-id.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/object-id.ts - - - - - - - - - -
-
-

All files / src object-id.ts

-
- -
- 50% - Statements - 3/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 60% - Lines - 3/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  -22x -  -  -22x -  -  -22x - 
import type S from './sanitised.js'
-import tsql from './template.js'
- 
-export const objectId =
-  (name: string): S =>
-    tsql`object_id(${name})`
- 
-export default objectId
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/op.ts.html b/coverage/lcov-report/src/op.ts.html deleted file mode 100644 index 24188f4..0000000 --- a/coverage/lcov-report/src/op.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/op.ts - - - - - - - - - -
-
-

All files / src op.ts

-
- -
- 88.88% - Statements - 8/9 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 1/1 -
- - -
- 87.5% - Lines - 7/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 -1822x -22x -22x -  -22x -  -  -  -  -  -  -22x -12x -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
-import tsql from './template.js'
- 
-/**
- * @internal
- * @param op_ can leak unsanitised string if misused, hence internal.
- */
-export const op =
-  (l: S | string, op_: S | string, r: unknown): undefined | S =>
-    typeof r === 'undefined' ?
-      undefined :
-      tsql`${fallback(l, id)} ${fallback(op_, raw)} ${r}`
- 
-export default op
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/or.ts.html b/coverage/lcov-report/src/or.ts.html deleted file mode 100644 index 053150a..0000000 --- a/coverage/lcov-report/src/or.ts.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Code coverage report for src/or.ts - - - - - - - - - -
-
-

All files / src or.ts

-
- -
- 75% - Statements - 3/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 66.66% - Lines - 2/3 -
- - -
-

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

- -
-
-

-
1 -2 -3 -4 -5 -622x -  -  -  -22x - 
import { or } from './where.js'
- 
-export { or }
- 
-export default or
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/order-by.ts.html b/coverage/lcov-report/src/order-by.ts.html deleted file mode 100644 index c90092b..0000000 --- a/coverage/lcov-report/src/order-by.ts.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - Code coverage report for src/order-by.ts - - - - - - - - - -
-
-

All files / src order-by.ts

-
- -
- 100% - Statements - 8/8 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 2/2 -
- - -
- 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 -7 -8 -9 -1022x -22x -22x -  -  -22x -4x -  -22x - 
import id, { type Identifier } from './identifier.js'
-import list from './list.js'
-import raw from './raw.js'
- 
-const orderBy =
-  (terms: [identifier: undefined | Identifier, direction: 'asc' | 'desc'][]) =>
-    list(terms.map(_ => _?.[0] != null ? raw(`${id(_[0])} ${_[1]}`) : undefined))
- 
-export default orderBy
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/pick.ts.html b/coverage/lcov-report/src/pick.ts.html deleted file mode 100644 index 5ab3419..0000000 --- a/coverage/lcov-report/src/pick.ts.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - Code coverage report for src/pick.ts - - - - - - - - - -
-
-

All files / src pick.ts

-
- -
- 25% - Statements - 2/8 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 28.57% - Lines - 2/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  -  -  -22x -  -  -  -  -  -  -  -  -  -22x - 
 
-/** @returns an object with picked keys; `null` is used when value is not defined. */
-export const pick =
-  (object: Record<string, unknown>, keys: string[]): Record<string, unknown> => {
-    const result: Record<string, unknown> = {}
-    for (const key of keys) {
-      result[key] = typeof object[key] === 'undefined' ?
-        null :
-        object[key]
-    }
-    return result
-  }
- 
-export default pick
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/quoted-nstring.ts.html b/coverage/lcov-report/src/quoted-nstring.ts.html deleted file mode 100644 index a3b9b02..0000000 --- a/coverage/lcov-report/src/quoted-nstring.ts.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Code coverage report for src/quoted-nstring.ts - - - - - - - - - -
-
-

All files / src quoted-nstring.ts

-
- -
- 88.88% - Statements - 16/18 -
- - -
- 60% - Branches - 3/5 -
- - -
- 100% - Functions - 4/4 -
- - -
- 88.23% - Lines - 15/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 -32 -33 -34  -  -22x -  -  -22x -4267x -  -  -22x -4265x -4263x -  -2x -  -  -  -22x -4264x -4263x -  -1x -  -  -  -22x -4264x -  -  -4264x -  -  -4264x - 
/* eslint-disable @typescript-eslint/ban-types */
- 
-import isString from './is-string.js'
- 
-const quoted =
-  (value: string | String): string =>
-    'N\'' + (value.indexOf('\'') !== -1 ? value.replace(/'/g, '\'\'') : value) + '\''
- 
-const quotedLf =
-  (value: string | String): string => {
-    if (value.indexOf('\n') === -1) {
-      return quoted(value)
-    }
-    return 'concat_ws(nchar(10), ' + value.split('\n').map(quoted).join(', ') + ')'
-  }
- 
-const quotedCrLf =
-  (value: string | String): string => {
-    if (value.indexOf('\r\n') === -1) {
-      return quotedLf(value)
-    }
-    return 'concat_ws(nchar(13) + nchar(10), ' + value.split('\r\n').map(quotedLf).join(', ') + ')'
-  }
- 
-export const quotedNstring =
-  (value: string | String): string => {
-    Iif (!isString(value)) {
-      throw new TypeError(`Expected string while trying to quote, got ${value}.`)
-    }
-    return quotedCrLf(value)
-  }
- 
-export default quotedNstring
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/random-identifier.ts.html b/coverage/lcov-report/src/random-identifier.ts.html deleted file mode 100644 index d31f397..0000000 --- a/coverage/lcov-report/src/random-identifier.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/random-identifier.ts - - - - - - - - - -
-
-

All files / src random-identifier.ts

-
- -
- 100% - Statements - 10/10 -
- - -
- 0% - Branches - 0/2 -
- - -
- 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 -16 -1722x -  -  -22x -  -  -22x -32x -32x -  -  -  -22x -32x -  -22x - 
import identifier from './identifier.js'
-import type Sid from './sanitised-identifier.js'
- 
-const alphabet = 'abcdefghijklmnopqrstuvwxyABCDEFGHIJKLMNOPQRSTUVWXYZ'
- 
-const randomLetter =
-  (): string => {
-    const index = Math.min(alphabet.length - 1, Math.floor(Math.random() * alphabet.length))
-    return alphabet[index]
-  }
- 
-const randomIdentifier =
-  (prefix = '', length = 32): Sid =>
-    identifier([ prefix, Array.from(Array(length), () => randomLetter()).join('') ].join(''))
- 
-export default randomIdentifier
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/raw.ts.html b/coverage/lcov-report/src/raw.ts.html deleted file mode 100644 index 272266a..0000000 --- a/coverage/lcov-report/src/raw.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/raw.ts - - - - - - - - - -
-
-

All files / src raw.ts

-
- -
- 83.33% - Statements - 5/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 80% - Lines - 4/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 -922x -  -  -  -22x -9282x -  -9282x - 
import S from './sanitised.js'
- 
-/** @returns force `x` string to be sanitised; no sanitation of any kind is performed. */
-export const raw =
-  (x: string): S =>
-    new S(x)
- 
-export default raw
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/replace-objects.ts.html b/coverage/lcov-report/src/replace-objects.ts.html deleted file mode 100644 index 2171c26..0000000 --- a/coverage/lcov-report/src/replace-objects.ts.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - Code coverage report for src/replace-objects.ts - - - - - - - - - -
-
-

All files / src replace-objects.ts

-
- -
- 45.16% - Statements - 14/31 -
- - -
- 0% - Branches - 0/9 -
- - -
- 0% - Functions - 0/5 -
- - -
- 53.84% - Lines - 14/26 -
- - -
-

- 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 -6322x -22x -22x -22x -22x -22x -22x -22x -22x -22x -  -  -  -  -22x -22x -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x - 
import and from './and.js'
-import assign from './assign.js'
-import eq from './eq.js'
-import id from './identifier.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import keysOfObjects from './keys-of-objects.js'
-import limitedHintsIdentifier from './limited-hints-identifier.js'
-import list from './list.js'
-import row from './row.js'
-import tsql from './template.js'
-import type { TableHintLimited } from './table-hint-limited.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-const sourcePrefixed = (_: string): Sid => id([ 'Source', _ ])
-const targetPrefixed = (_: string): Sid => id([ 'Target', _ ])
- 
-/** @returns merge dml that replaces target table with inlined source table. */
-export const replaceObjects =
-  (
-    table: string | Sid,
-    onKeys: string[],
-    objects: readonly Record<string, unknown>[],
-    maybeObjectKeys?: string[],
-    maybeUpdateKeys?: string[],
-    maybeInsertKeys?: string[],
-    { hints }: {
-      hints?: TableHintLimited[]
-    } = {}
-  ): S => {
- 
-    Iif (!Array.isArray(objects)) {
-      throw new TypeError(`Expected array of values, got ${objects}.`)
-    }
- 
-    const table_ = limitedHintsIdentifier(table, hints)
- 
-    Iif (objects.length === 0) {
-      return tsql`delete from ${table_};`
-    }
- 
-    const objectKeys = maybeObjectKeys || keysOfObjects(objects)
-    const updateKeys = maybeUpdateKeys || objectKeys
-    const insertKeys = maybeInsertKeys || objectKeys
-    const update_ = list(updateKeys.map(_ => assign(_, sourcePrefixed(_))))
-    const on_ = and(...onKeys.map(_ => eq(sourcePrefixed(_), targetPrefixed(_))))
- 
-    return tsql`
-      merge ${table_} as Target
-      using ${inlineTableOfObjects('Source', objects, objectKeys)}
-      on ${on_}
-      when not matched by source then
-        delete
-      when matched then
-        update set ${update_}
-      when not matched by target then
-        insert ${row(insertKeys.map(id))}
-        values ${row(insertKeys.map(sourcePrefixed))};
-    `
-  }
- 
-export default replaceObjects
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/row.ts.html b/coverage/lcov-report/src/row.ts.html deleted file mode 100644 index 1241a18..0000000 --- a/coverage/lcov-report/src/row.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/row.ts - - - - - - - - - -
-
-

All files / src row.ts

-
- -
- 87.5% - Statements - 7/8 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 85.71% - Lines - 6/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 -1222x -22x -22x -  -  -  -  -22x -4191x -  -4191x - 
import auto from './auto.js'
-import list from './list.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
- 
-/** @returns sanitised */
-export const row =
-  <T>(xs: T[], f: (_: T) => S = auto): S =>
-    raw('(' + String(list(xs, f)) + ')')
- 
-export default row
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/rowset.ts.html b/coverage/lcov-report/src/rowset.ts.html deleted file mode 100644 index ddc72e4..0000000 --- a/coverage/lcov-report/src/rowset.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/rowset.ts - - - - - - - - - -
-
-

All files / src rowset.ts

-
- -
- 37.5% - Statements - 3/8 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 42.85% - Lines - 3/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 -1322x -  -  -  -22x -  -  -  -  -  -  -22x - 
import row from './row.js'
-import type S from './sanitised.js'
- 
-export const rowset =
-  <T>(values: T[][]): S => {
-    Iif (!Array.isArray(values)) {
-      throw new TypeError(`Expected array, got ${values}.`)
-    }
-    return row(values, row)
-  }
- 
-export default rowset
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/sanitised-identifier.ts.html b/coverage/lcov-report/src/sanitised-identifier.ts.html deleted file mode 100644 index 636b8b6..0000000 --- a/coverage/lcov-report/src/sanitised-identifier.ts.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - Code coverage report for src/sanitised-identifier.ts - - - - - - - - - -
-
-

All files / src sanitised-identifier.ts

-
- -
- 80% - Statements - 4/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 75% - Lines - 3/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 -1122x -  -22x -  -  -  -  -  -  -970x - 
import S from './sanitised.js'
- 
-const tag = Symbol()
- 
-export class SanitisedIdentifier extends S {
-  // @ts-expect-error This tag ensures the class is not forgeable
-  private readonly [tag]: 'SanitisedIdentifier'
-}
- 
-export default SanitisedIdentifier
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/sanitised.ts.html b/coverage/lcov-report/src/sanitised.ts.html deleted file mode 100644 index 82313c6..0000000 --- a/coverage/lcov-report/src/sanitised.ts.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Code coverage report for src/sanitised.ts - - - - - - - - - -
-
-

All files / src sanitised.ts

-
- -
- 75% - Statements - 3/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 66.66% - Lines - 2/3 -
- - -
-

- 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 -922x -  -  -  -  -  -  -31625x - 
const tag = Symbol()
- 
-export class Sanitised extends String {
-  // @ts-expect-error This tag ensures the class is not forgeable
-  private readonly [tag]: 'Sanitised'
-}
- 
-export default Sanitised
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/select.ts.html b/coverage/lcov-report/src/select.ts.html deleted file mode 100644 index 99793bb..0000000 --- a/coverage/lcov-report/src/select.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for src/select.ts - - - - - - - - - -
-
-

All files / src select.ts

-
- -
- 45% - Statements - 9/20 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/4 -
- - -
- 52.94% - Lines - 9/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 -2822x -22x -22x -22x -22x -  -22x -  -  -22x -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -22x - 
import fallback from './fallback.js'
-import id from './identifier.js'
-import line from './line.js'
-import list from './list.js'
-import S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import tsql from './template.js'
- 
-export const ids =
-  (xs: (S | string)[]): S[] =>
-    xs.map(_ => _ instanceof S ? _ : id(_))
- 
-export const select =
-  (what: S | (S | string)[], { from, where }: { from?: Sid | string, where?: unknown } = {}): S => {
-    const what_ = fallback(what, _ => list(ids(_)))
-    Iif (typeof what_ === 'undefined') {
-      throw new Error('Empty projection.')
-    }
-    const from_ = from != null ? id(from) : undefined
-    return line(
-      tsql`select ${what_}`,
-      tsql`from ${from_}`,
-      where != null ? tsql`where ${where}` : undefined
-    )
-  }
- 
-export default select
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/star.ts.html b/coverage/lcov-report/src/star.ts.html deleted file mode 100644 index 45a4034..0000000 --- a/coverage/lcov-report/src/star.ts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for src/star.ts - - - - - - - - - -
-
-

All files / src star.ts

-
- -
- 57.14% - Statements - 4/7 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/1 -
- - -
- 66.66% - Lines - 4/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 -7 -8 -9 -10 -11 -12 -1322x -  -  -22x -  -  -22x -  -  -  -  -22x - 
import id from './identifier.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import tsql from './template.js'
- 
-export const star =
-  (table?: Sid | string): S =>
-    table != null ?
-      tsql`${id(table)}.*` :
-      tsql`*`
- 
-export default star
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/table-hint-limited.ts.html b/coverage/lcov-report/src/table-hint-limited.ts.html deleted file mode 100644 index 311cb3e..0000000 --- a/coverage/lcov-report/src/table-hint-limited.ts.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - Code coverage report for src/table-hint-limited.ts - - - - - - - - - -
-
-

All files / src table-hint-limited.ts

-
- -
- 75% - Statements - 6/8 -
- - -
- 0% - Branches - 0/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 85.71% - Lines - 6/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 -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 -5622x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -18x -22x -18x -  -  -18x -  - 
import raw from './raw.js'
-import type S from './sanitised.js'
- 
-export type TableHintLimited =
-  | 'keepidentity'
-  | 'keepdefaults'
-  | 'holdlock'
-  | 'ignore_constraints'
-  | 'ignore_triggers'
-  | 'nolock'
-  | 'nowait'
-  | 'paglock'
-  | 'readcommitted'
-  | 'readcommittedlock'
-  | 'readpast'
-  | 'repeatableread'
-  | 'rowlock'
-  | 'serializable'
-  | 'snapshot'
-  | 'tablock'
-  | 'tablockx'
-  | 'updlock'
-  | 'xlock'
- 
-export type t = TableHintLimited
- 
-export const values = new Set<TableHintLimited>([
-  'keepidentity',
-  'keepdefaults',
-  'holdlock',
-  'ignore_constraints',
-  'ignore_triggers',
-  'nolock',
-  'nowait',
-  'paglock',
-  'readcommitted',
-  'readcommittedlock',
-  'readpast',
-  'repeatableread',
-  'rowlock',
-  'serializable',
-  'snapshot',
-  'tablock',
-  'tablockx',
-  'updlock',
-  'xlock'
-])
- 
-export const sanitized =
-  (value: string): S => {
-    Iif (!(values as Set<string>).has(value)) {
-      throw new TypeError(`Expected limited table hint, got ${value}.`)
-    }
-    return raw(value)
-  }
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/template.ts.html b/coverage/lcov-report/src/template.ts.html deleted file mode 100644 index 8b2d624..0000000 --- a/coverage/lcov-report/src/template.ts.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - Code coverage report for src/template.ts - - - - - - - - - -
-
-

All files / src template.ts

-
- -
- 88.88% - Statements - 8/9 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 87.5% - Lines - 7/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 -1222x -22x -22x -22x -  -  -  -22x -406x -  -406x - 
import auto from './auto.js'
-import demargin from './demargin.js'
-import interpolate from './interpolate.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
- 
-export const template =
-  (ts: TemplateStringsArray, ...vs: unknown[]): S =>
-    raw(demargin(interpolate(ts, vs.map(auto)).join('')))
- 
-export default template
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/test/client.ts.html b/coverage/lcov-report/src/test/client.ts.html deleted file mode 100644 index 5641701..0000000 --- a/coverage/lcov-report/src/test/client.ts.html +++ /dev/null @@ -1,514 +0,0 @@ - - - - - - Code coverage report for src/test/client.ts - - - - - - - - - -
-
-

All files / src/test client.ts

-
- -
- 84.44% - Statements - 38/45 -
- - -
- 64.28% - Branches - 9/14 -
- - -
- 91.66% - Functions - 22/24 -
- - -
- 84.09% - Lines - 37/44 -
- - -
-

- 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 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -1442x -2x -2x -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -2x -2x -  -  -  -  -  -  -  -  -  -2x -2x -2x -  -  -  -4x -4x -4x -  -  -  -  -  -4x -  -  -  -69x -69x -  -  -  -69x -69x -69x -  -  -69x -50x -95x -  -  -69x -  -69x -  -  -  -  -25x -  -  -  -11x -  -  -  -10x -10x -  -  -  -9x -  -  -  -13x -  -  -  -2x -  -  -  -10x -  -  -  -7x -  -  -  -7x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -1x -  -  -  - 
import { Connection, Request } from 'tedious'
-import * as Tsql from '../index.js'
-import randomIdentifier from '../random-identifier.js'
- 
-export default class Client {
- 
-  connection: Connection
- 
-  constructor({
-    database = 'test',
-    userName = 'sa',
-    password = 'yourStrong(!)Password'
-  }: {
-    database?: string,
-    userName?: string,
-    password?: string
-  } = {}) {
-    this.connection = new Connection({
-      server: process.env.MSSQL_HOST ?? 'localhost',
-      options: {
-        database,
-        trustServerCertificate: true,
-        rowCollectionOnDone: true,
-        rowCollectionOnRequestCompletion: true,
-        useColumnNames: true
-      },
-      authentication: { type: 'default', options: { userName, password } }
-    })
-  }
- 
-  static async createDatabase(database: string) {
-    const sql = await new Client({ database: 'master' }).connect()
-    await sql.rows`create database ${Tsql.id(database)}`
-    sql.close()
-  }
- 
-  static async dropDatabase(database: string) {
-    const sql = await new Client({ database: 'master' }).connect()
-    await sql.rows`drop database ${Tsql.id(database)}`
-    sql.close()
-  }
- 
-  static async random() {
-    const database = randomIdentifier('test_', 16).toString()
-    await this.createDatabase(database)
-    return new Client({ database }).connect()
-  }
- 
-  async connect(): Promise<this> {
-    return new Promise((resolve, reject) => {
-      this.connection.connect((err: unknown) => {
-        err != null ? reject(err) : resolve(this)
-      })
-    })
-  }
- 
-  close() {
-    this.connection.close()
-  }
- 
-  async query<T>(sql: undefined | Tsql.S): Promise<undefined | (T[])> {
-    return new Promise((resolve, reject) => {
-      Iif (typeof sql === 'undefined') {
-        resolve(undefined)
-        return
-      }
-      const sqlString = sql.toString()
-      const request = new Request(sqlString, (err, _rowCount, rows) => {
-        Iif (err != null) {
-          reject(new Error(err.message + `; ${sqlString}`))
-        }
-        for (const row of rows) {
-          for (const key in row) {
-            row[key] = row[key].value
-          }
-        }
-        resolve(rows)
-      })
-      this.connection.execSql(request)
-    })
-  }
- 
-  async rows<T>(tsa: TemplateStringsArray, ...rest: unknown[]) {
-    return this.query<T>(Tsql.template(tsa, ...rest))
-  }
- 
-  async row<T>(tsa: TemplateStringsArray, ...rest: unknown[]) {
-    return this.rows<T>(tsa, ...rest).then(_ => _?.[0])
-  }
- 
-  async value<T>(tsa: TemplateStringsArray, ...rest: unknown[]) {
-    const row = await this.row<Record<string, T>>(tsa, ...rest)
-    return row?.[Object.keys(row)[0]]
-  }
- 
-  async count(table: Tsql.Sid | string, where: Tsql.Where = Tsql.logicalTrue) {
-    return this.value`select count(*) from ${Tsql.id(table)} where ${Tsql.where(where)}`
-  }
- 
-  async delete(table: Tsql.Sid | string, where: Tsql.Where = Tsql.logicalTrue) {
-    await this.query(Tsql.delete(table, where))
-  }
- 
-  async dropTable(table: Tsql.Sid | string) {
-    await this.query(Tsql.template`drop table ${Tsql.id(table)};`)
-  }
- 
-  async insertIgnore(...args: Parameters<typeof Tsql['insertIgnore']>) {
-    return this.query(Tsql.insertIgnore(...args))
-  }
- 
-  async insertObject(table: Tsql.Sid | string, object: Record<string, unknown>, output?: Tsql.S) {
-    return this.query(Tsql.insertObject(table, object, output))
-  }
- 
-  async insertObjects(table: Tsql.Sid | string, objects: Record<string, unknown>[], maybeKeys?: string[]) {
-    return this.query(Tsql.insertObjects(table, objects, maybeKeys))
-  }
- 
-  async update(table: Tsql.Sid | string, where: Tsql.Where, object: Record<string, unknown>) {
-    return this.query(Tsql.update(table, where, object))
-  }
- 
-  async merge1n(
-    table: Tsql.Sid | string,
-    [ lcolumn, rcolumn ]: [ Tsql.Sid | string, Tsql.Sid | string ],
-    lid: unknown,
-    values: unknown[],
-    { hints = [ 'serializable' ] }: {
-      hints?: Tsql.TableHintLimited.t[]
-    } = {}
-  ) {
-    return this.query(Tsql.merge1n(table, [ lcolumn, rcolumn ], lid, values, { hints }))
-  }
- 
-  async modifyJsons(
-    table: Tsql.Sid | string,
-    entries: readonly Record<string, unknown>[]
-  ) {
-    return this.query(Tsql.modifyJsons(table, entries))
-  }
- 
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/test/index.html b/coverage/lcov-report/src/test/index.html deleted file mode 100644 index a39fed7..0000000 --- a/coverage/lcov-report/src/test/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for src/test - - - - - - - - - -
-
-

All files src/test

-
- -
- 84.44% - Statements - 38/45 -
- - -
- 64.28% - Branches - 9/14 -
- - -
- 91.66% - Functions - 22/24 -
- - -
- 84.09% - Lines - 37/44 -
- - -
-

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

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
client.ts -
-
84.44%38/4564.28%9/1491.66%22/2484.09%37/44
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/top.ts.html b/coverage/lcov-report/src/top.ts.html deleted file mode 100644 index c6ce188..0000000 --- a/coverage/lcov-report/src/top.ts.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Code coverage report for src/top.ts - - - - - - - - - -
-
-

All files / src top.ts

-
- -
- 50% - Statements - 6/12 -
- - -
- 0% - Branches - 0/6 -
- - -
- 0% - Functions - 0/1 -
- - -
- 54.54% - Lines - 6/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 -22 -23 -24 -25 -26 -27 -28 -29 -30 -3122x -22x -22x -22x -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x - 
import auto from './auto.js'
-import line from './line.js'
-import number from './number.js'
-import raw from './raw.js'
-import type S from './sanitised.js'
- 
-/**
- * @returns top expression.
- * @example top(1, raw('with ties'))
- * @example top(1, star)
- * @example top(0.1, star) // value in <0,1> range returns percent, ie. `top 10 percent`.
- * @example top(1, ids('foo', 'bar', 'baz'))
- */
-export const top =
-  (x = 1, ...rest: S[]): S => {
-    Iif (x <= 0) {
-      throw new TypeError(`Expected positive value in top, got ${x}.`)
-    }
-    const [ x_, percent ] = x < 1 ?
-      [ Math.round(x * 100), true ] :
-      [ Math.round(x), false ]
-    return line(
-      raw('top'),
-      number(x_),
-      percent ? raw('percent') : undefined,
-      ...rest.map(auto)
-    )
-  }
- 
-export default top
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/true-value.ts.html b/coverage/lcov-report/src/true-value.ts.html deleted file mode 100644 index f727f23..0000000 --- a/coverage/lcov-report/src/true-value.ts.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for src/true-value.ts - - - - - - - - - -
-
-

All files / src true-value.ts

-
- -
- 80% - Statements - 4/5 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 75% - Lines - 3/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 -13 -14 -15 -16 -17  -22x -  -  -  -  -  -  -  -  -  -  -  -22x -  -22x - 
import type S from './sanitised.js'
-import raw from './raw.js'
- 
-/**
- * Value boolean true – 1 casted as BIT.
- *
- * Logical booleans can be used in condition expressions, ie. WHERE clause.
- *
- * Value booleans can be used in assignment statements, ie. UPDATE SET clause.
- *
- * @see trueValue for value boolean variant.
- */
-export const trueValue: S =
-  raw('cast(1 as bit)')
- 
-export default trueValue
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/unique.ts.html b/coverage/lcov-report/src/unique.ts.html deleted file mode 100644 index a5041f9..0000000 --- a/coverage/lcov-report/src/unique.ts.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Code coverage report for src/unique.ts - - - - - - - - - -
-
-

All files / src unique.ts

-
- -
- 90.9% - Statements - 10/11 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 90% - Lines - 9/10 -
- - -
-

- 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  -  -  -  -78x -78x -78x -108x -108x -105x -105x -  -  -78x -  -  -78x - 
import S from './sanitised.js'
- 
-/** @returns deduplicated values. */
-export function unique(values: S[]): S[] {
-  const set = new Set<string>
-  const result: S[] = []
-  for (const value of values) {
-    const stringValue = value.toString()
-    if (!set.has(stringValue)) {
-      set.add(stringValue)
-      result.push(value)
-    }
-  }
-  return result
-}
- 
-export default unique
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/unix.ts.html b/coverage/lcov-report/src/unix.ts.html deleted file mode 100644 index 00c9a3d..0000000 --- a/coverage/lcov-report/src/unix.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for src/unix.ts - - - - - - - - - -
-
-

All files / src unix.ts

-
- -
- 75% - Statements - 3/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 3/3 -
- - -
-

- 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 -722x -  -  -22x -  -22x - 
import tsql from './template.js'
- 
-const unix =
-  tsql`datediff(s, '1970-01-01 00:00:00', getutcdate())`
- 
-export default unix
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/update-objects.ts.html b/coverage/lcov-report/src/update-objects.ts.html deleted file mode 100644 index d4c2a76..0000000 --- a/coverage/lcov-report/src/update-objects.ts.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - Code coverage report for src/update-objects.ts - - - - - - - - - -
-
-

All files / src update-objects.ts

-
- -
- 41.93% - Statements - 13/31 -
- - -
- 0% - Branches - 0/8 -
- - -
- 0% - Functions - 0/5 -
- - -
- 46.42% - Lines - 13/28 -
- - -
-

- 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 -5922x -22x -22x -22x -22x -22x -22x -22x -22x -  -  -  -  -  -22x -  -  -  -22x -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x - 
import and from './and.js'
-import assign from './assign.js'
-import eq from './eq.js'
-import id from './identifier.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import keysOfObjects from './keys-of-objects.js'
-import limitedHintsIdentifier from './limited-hints-identifier.js'
-import list from './list.js'
-import tsql from './template.js'
-import type { TableHintLimited } from './table-hint-limited.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-export const sourcePrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Source', _ ])
- 
-export const targetPrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Target', _ ])
- 
-/** @returns update dml that runs update operations on target table from the result of a join with source table. */
-export const updateObjects =
-  (
-    table: Sid | string,
-    onKeys: string[],
-    objects: Record<string, unknown>[],
-    maybeObjectKeys?: string[],
-    maybeUpdateKeys?: string[],
-    { hints = [ 'repeatableread' ] }: {
-      hints?: TableHintLimited[]
-    } = {}
-  ): S => {
- 
-    Iif (!Array.isArray(objects)) {
-      throw new TypeError(`Expected array of values, got ${objects}.`)
-    }
- 
-    Iif (objects.length === 0) {
-      return tsql`select 0;`
-    }
- 
-    const table_ = limitedHintsIdentifier(table, hints)
-    const objectKeys = maybeObjectKeys || keysOfObjects(objects)
-    const updateKeys = maybeUpdateKeys || objectKeys
-    const update_ = list(updateKeys.map(_ => assign(_, sourcePrefixed(_))))
-    const on_ = and(...onKeys.map(_ => eq(sourcePrefixed(_), targetPrefixed(_))))
- 
-    return tsql`
-      merge ${table_} as Target
-      using ${inlineTableOfObjects('Source', objects, objectKeys)}
-      on ${on_}
-      when matched then
-        update set ${update_};
-    `
-  }
- 
-export default updateObjects
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/update.ts.html b/coverage/lcov-report/src/update.ts.html deleted file mode 100644 index f892fa6..0000000 --- a/coverage/lcov-report/src/update.ts.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for src/update.ts - - - - - - - - - -
-
-

All files / src update.ts

-
- -
- 94.44% - Statements - 17/18 -
- - -
- 83.33% - Branches - 5/6 -
- - -
- 100% - Functions - 1/1 -
- - -
- 94.11% - Lines - 16/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 -32 -33 -34 -35 -36 -37 -38 -3922x -22x -22x -22x -22x -  -  -  -22x -  -  -  -22x -  -  -  -  -  -  -  -6x -1x -  -5x -5x -5x -5x -1x -  -4x -  -  -  -  -  -  -  -22x - 
import assignObject from './assign-object.js'
-import fallback from './fallback.js'
-import limitedHintsIdentifier from './limited-hints-identifier.js'
-import logicalTrue from './logical-true.js'
-import tsql from './template.js'
-import type { TableHintLimited } from './table-hint-limited.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
-import whereOf from './where.js'
- 
-/** @returns UPDATE DML. */
-export const update =
-  (
-    table: Sid | string,
-    where: S | Record<string, unknown>,
-    object: Record<string, unknown>,
-    { hints = [ 'repeatableread' ] }: {
-      hints?: TableHintLimited[]
-    } = {}
-  ): undefined | S => {
-    if (Object.keys(object).length === 0) {
-      return
-    }
-    const table_ = limitedHintsIdentifier(table, hints)
-    const where_ = fallback(where, whereOf) ?? logicalTrue
-    const object_ = assignObject(object)
-    if (typeof object_ === 'undefined') {
-      return
-    }
-    return tsql`
-      update ${table_}
-      set
-        ${object_}
-      where ${where_}
-    `
-  }
- 
-export default update
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/upsert-objects.ts.html b/coverage/lcov-report/src/upsert-objects.ts.html deleted file mode 100644 index 97a338d..0000000 --- a/coverage/lcov-report/src/upsert-objects.ts.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - Code coverage report for src/upsert-objects.ts - - - - - - - - - -
-
-

All files / src upsert-objects.ts

-
- -
- 42.42% - Statements - 14/33 -
- - -
- 0% - Branches - 0/10 -
- - -
- 0% - Functions - 0/5 -
- - -
- 46.66% - Lines - 14/30 -
- - -
-

- 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 -7122x -22x -22x -22x -22x -22x -22x -22x -22x -22x -  -  -  -  -  -22x -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x - 
import and from './and.js'
-import assign from './assign.js'
-import eq from './eq.js'
-import id from './identifier.js'
-import inlineTableOfObjects from './inline-table-of-objects.js'
-import keysOfObjects from './keys-of-objects.js'
-import limitedHintsIdentifier from './limited-hints-identifier.js'
-import list from './list.js'
-import row from './row.js'
-import tsql from './template.js'
-import type { TableHintLimited } from './table-hint-limited.js'
-import type S from './sanitised.js'
-import type Sid from './sanitised-identifier.js'
- 
-export const sourcePrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Source', _ ])
- 
-export const targetPrefixed =
-  (_: Sid | string): Sid =>
-    id([ 'Target', _ ])
- 
-/**
- * @returns MERGE DML.
- *
- * Updates existing rows.
- *
- * Inserts unmatched rows.
- */
-export const upsertObjects =
-  (
-    table: Sid | string,
-    onKeys: string[],
-    objects: Record<string, unknown>[],
-    maybeObjectKeys?: string[],
-    maybeUpdateKeys?: string[],
-    maybeInsertKeys?: string[],
-    { hints = [ 'serializable' ] }: {
-      hints?: TableHintLimited[]
-    } = {}
-  ): S => {
- 
-    Iif (!Array.isArray(objects)) {
-      throw new TypeError(`Expected array of values, got ${objects}.`)
-    }
- 
-    Iif (objects.length === 0) {
-      return tsql`select 0;`
-    }
- 
-    const table_ = limitedHintsIdentifier(table, hints)
-    const objectKeys = maybeObjectKeys || keysOfObjects(objects)
-    const updateKeys = maybeUpdateKeys || objectKeys
-    const insertKeys = maybeInsertKeys || objectKeys
-    const update_ = list(updateKeys.map(_ => assign(_, sourcePrefixed(_))))
-    const on_ = and(...onKeys.map(_ => eq(sourcePrefixed(_), targetPrefixed(_))))
- 
-    return tsql`
-      merge ${table_} as Target
-      using ${inlineTableOfObjects('Source', objects, objectKeys)}
-      on ${on_}
-      when matched then
-        update set ${update_}
-      when not matched by target then
-        insert ${row(insertKeys.map(id))}
-        values ${row(insertKeys.map(sourcePrefixed))};
-    `
-  }
- 
-export default upsertObjects
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov-report/src/where.ts.html b/coverage/lcov-report/src/where.ts.html deleted file mode 100644 index d711230..0000000 --- a/coverage/lcov-report/src/where.ts.html +++ /dev/null @@ -1,664 +0,0 @@ - - - - - - Code coverage report for src/where.ts - - - - - - - - - -
-
-

All files / src where.ts

-
- -
- 90.8% - Statements - 79/87 -
- - -
- 80% - Branches - 24/30 -
- - -
- 100% - Functions - 8/8 -
- - -
- 90.58% - Lines - 77/85 -
- - -
-

- 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 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -19422x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -22x -  -  -  -  -  -22x -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -103x -27x -  -  -76x -80x -74x -74x -  -6x -  -70x -  -  -  -53x -6x -  -47x -47x -17x -17x -  -  -2x -  -  -2x -  -  -2x -  -  -  -2x -  -  -2x -  -  -2x -  -13x -  -  -  -  -  -  -  -  -30x -  -  -  -170x -114x -  -56x -56x -49x -49x -8x -  -  -8x -  -41x -2x -  -  -46x -53x -46x -  -  -  -  -  -  -  -  -  -  -139x -  -  -  -  -  -  -  -  -  -  -  -22x -79x -79x -6x -  -73x -  -  -  -  -  -  -  -  -  -22x -9x -9x -4x -  -5x -  -  -22x -2x -  -  -  -  -42x - 
import { isDefined } from './is-defined.js'
-import { isObject } from './is-object.js'
-import auto from './auto.js'
-import between from './between.js'
-import distinct from './distinct.js'
-import eq from './eq.js'
-import gt from './gt.js'
-import gte from './gte.js'
-import in_ from './in.js'
-import interpolate1 from './interpolate1.js'
-import like from './like.js'
-import logicalFalse from './logical-false.js'
-import logicalTrue from './logical-true.js'
-import lt from './lt.js'
-import lte from './lte.js'
-import ne from './ne.js'
-import ng from './ng.js'
-import nl from './nl.js'
-import notBetween from './not-between.js'
-import notDistinct from './not-distinct.js'
-import notIn from './not-in.js'
-import raw from './raw.js'
-import S from './sanitised.js'
-import template from './template.js'
-import unique from './unique.js'
- 
-export type Where = S | Record<string, unknown>
- 
-export type t = Where
- 
-const unary = {
-  $not: not
-} as const
- 
-type Unary = typeof unary
- 
-const binary = {
-  $between: between,
-  $distinct: distinct,
-  $eq: eq,
-  $gt: gt,
-  $gte: gte,
-  $in: in_,
-  $like: like,
-  $lt: lt,
-  $lte: lte,
-  $ne: ne,
-  $ng: ng,
-  $nl: nl,
-  $notBetween: notBetween,
-  $notDistinct: notDistinct,
-  $ndistinct: notDistinct,
-  $notIn: notIn,
-  $nin: notIn
-} as const
- 
-type Binary = typeof binary
- 
-const logical = {
-  $and: and,
-  $or: or
-} as const
- 
-type Logical = typeof logical
- 
-/** @returns single key in object iff object has single key, `undefined` otherwise. */
-function single(value: unknown): undefined | string {
-  if (!isObject(value)) {
-    return undefined
-  }
-  let result: undefined | string
-  for (const key in value) {
-    if (result === undefined) {
-      result = key
-      continue
-    }
-    return undefined
-  }
-  return result
-}
- 
-function visitEntry(key: string, value: unknown): undefined | S {
-  if (typeof value === 'function') {
-    return value(key)
-  }
-  const key_ = single(value)
-  if (key_ && key_ in binary) {
-    const value_ = (value as Record<string, unknown>)[key_]
-    switch (key_) {
-      case '$between':
-      case '$notBetween':
-        Iif (value_ == null) {
-          return binary[key_](key, value_)
-        }
-        Iif (!Array.isArray(value_) || value_.length > 2) {
-          throw new TypeError(`Invalid ${key_} parameters.`)
-        }
-        return binary[key_](key, [ value_[0], value_[1] ])
-      case '$in':
-      case '$nin':
-      case '$notIn':
-        Iif (value_ == null) {
-          return binary[key_](key, value_)
-        }
-        Iif (!Array.isArray(value_)) {
-          throw new TypeError(`Invalid ${key_} parameters.`)
-        }
-        return binary[key_](key, value_)
-      default:
-        return binary[key_ as Exclude<keyof Binary,
-          | '$between'
-          | '$notBetween'
-          | '$in'
-          | '$nin'
-          | '$notIn'
-        >](key, value_)
-    }
-  }
-  return eq(key, value)
-}
- 
-export function visit(value: unknown): S {
-  if (value instanceof S) {
-    return value
-  }
-  const key = single(value)
-  if (key) {
-    const value_ = (value as Record<string, unknown>)[key]
-    if ((key in logical) && Array.isArray(value_)) {
-      Iif (typeof logical[key as keyof Logical] !== 'function') {
-        console.log('ERROR', key, Object.keys(logical), logical[key as keyof Logical], logical)
-      }
-      return logical[key as keyof Logical](...value_.map(visit))
-    }
-    if ((key in unary)) {
-      return unary[key as keyof Unary](visit(value_)) as S
-    }
-  }
-  if (isObject(value)) {
-    const entries = Object.entries(value).map(_ => visitEntry(..._))
-    return and(...entries)
-  }
-  return auto(value)
-}
- 
-/**
- * @returns WHERE clause.
- *
- * Supports MondoDB-like query.
- */
-export function where(value: Where): S {
-  return visit(value)
-}
- 
-/**
- * @returns terms joined with AND operator.
- *
- * `undefined` terms are filtered out.
- *
- * An empty list of terms returns logical true (1=1).
- *
- * Terms are deduplicated.
- */
-export function and(...xs: (undefined | Where)[]): S {
-  const xs_ = xs.filter(isDefined)
-  if (xs_.length === 0) {
-    return logicalTrue
-  }
-  return template`(${raw(interpolate1(unique(xs_.map(where)), raw(' and ')).join(''))})`
-}
- 
-/**
- * @returns terms joined with OR operator.
- *
- * `undefined` terms are filtered out.
- *
- * An empty list of terms returns logical false (0=1).
- */
-export function or(...xs: (undefined | Where)[]): S {
-  const xs_ = xs.filter(isDefined)
-  if (xs_.length === 0) {
-    return logicalFalse
-  }
-  return template`(${raw(interpolate1(unique(xs_.map(where)), raw(' or ')).join(''))})`
-}
- 
-export function not(rhs: undefined | Where): undefined | S {
-  return isDefined(rhs) ?
-    template`not (${where(rhs)})` :
-    undefined
-}
- 
-export default where
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info deleted file mode 100644 index 8bd4bc8..0000000 --- a/coverage/lcov.info +++ /dev/null @@ -1,2725 +0,0 @@ -TN: -SF:src/and.ts -FNF:0 -FNH:0 -DA:1,22 -DA:3,0 -DA:5,28 -LF:3 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/assign-object.ts -FN:15,assignObject -FNF:1 -FNH:1 -FNDA:10,assignObject -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:15,0 -DA:16,10 -DA:17,10 -DA:18,10 -DA:19,22 -DA:20,3 -DA:21,3 -DA:28,3 -DA:30,19 -DA:32,10 -DA:33,1 -DA:38,1 -DA:40,10 -DA:43,22 -LF:19 -LH:18 -BRDA:19,0,0,3 -BRDA:23,1,0,3 -BRDA:23,1,1,1 -BRF:3 -BRH:3 -end_of_record -TN: -SF:src/assign.ts -FN:14,assign -FNF:1 -FNH:1 -FNDA:31,assign -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:14,0 -DA:15,31 -DA:16,9 -DA:18,22 -DA:19,15 -DA:21,7 -DA:22,6 -DA:24,1 -DA:25,1 -DA:28,31 -LF:14 -LH:13 -BRDA:15,0,0,9 -BRDA:18,1,0,15 -BRDA:21,2,0,6 -BRF:3 -BRH:3 -end_of_record -TN: -SF:src/auto.ts -FN:34,(anonymous_4) -FNF:1 -FNH:1 -FNDA:13442,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:33,0 -DA:34,22 -DA:35,13442 -DA:36,9096 -DA:38,4346 -DA:39,1 -DA:40,75 -DA:41,9 -DA:42,4246 -DA:44,15 -DA:45,7 -DA:47,8 -DA:48,0 -DA:50,8 -DA:51,0 -DA:53,8 -DA:56,0 -DA:60,8879 -LF:26 -LH:22 -BRDA:35,0,0,9096 -BRDA:38,1,0,1 -BRDA:38,1,1,75 -BRDA:38,1,2,9 -BRDA:38,1,3,4246 -BRDA:38,1,4,15 -BRDA:38,1,5,0 -BRDA:41,2,0,6 -BRDA:41,2,1,3 -BRDA:44,3,0,7 -BRDA:47,4,0,0 -BRDA:50,5,0,0 -BRDA:50,6,0,8 -BRDA:50,6,1,8 -BRF:14 -BRH:11 -end_of_record -TN: -SF:src/between.ts -FN:7,(anonymous_4) -FNF:1 -FNH:1 -FNDA:1,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:6,0 -DA:7,22 -DA:8,1 -DA:12,22 -LF:7 -LH:6 -BRDA:8,0,0,0 -BRDA:8,0,1,1 -BRDA:8,1,0,1 -BRDA:8,1,1,1 -BRF:4 -BRH:3 -end_of_record -TN: -SF:src/columns.ts -FN:12,(anonymous_4) -FN:19,(anonymous_5) -FNF:2 -FNH:0 -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -DA:1,22 -DA:2,22 -DA:3,22 -DA:11,0 -DA:12,22 -DA:13,0 -DA:14,0 -DA:15,0 -DA:16,0 -DA:19,0 -DA:22,22 -LF:11 -LH:5 -BRDA:12,0,0,0 -BRDA:15,1,0,0 -BRDA:16,2,0,0 -BRDA:16,2,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:src/defined.ts -FN:3,(anonymous_1) -FNF:1 -FNH:1 -FNDA:10,(anonymous_1) -DA:3,22 -DA:4,10 -DA:5,10 -DA:6,24 -DA:9,1 -DA:12,10 -DA:15,22 -LF:7 -LH:7 -BRDA:6,0,0,1 -BRF:1 -BRH:1 -end_of_record -TN: -SF:src/delete.ts -FN:11,(anonymous_4) -FNF:1 -FNH:1 -FNDA:13,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:6,22 -DA:7,22 -DA:10,0 -DA:11,22 -DA:12,13 -DA:19,22 -LF:9 -LH:8 -BRDA:14,0,0,13 -BRDA:14,0,1,0 -BRF:2 -BRH:1 -end_of_record -TN: -SF:src/demargin.ts -FN:5,(anonymous_4) -FN:10,(anonymous_5) -FN:13,(anonymous_6) -FN:29,(anonymous_7) -FNF:4 -FNH:4 -FNDA:421,(anonymous_4) -FNDA:340,(anonymous_5) -FNDA:683,(anonymous_6) -FNDA:6910,(anonymous_7) -DA:1,22 -DA:4,0 -DA:5,22 -DA:6,421 -DA:7,0 -DA:9,421 -DA:10,421 -DA:11,81 -DA:13,683 -DA:14,66 -DA:16,421 -DA:17,421 -DA:18,6910 -DA:19,65027 -DA:20,6909 -DA:21,6909 -DA:25,421 -DA:26,0 -DA:28,421 -DA:29,6910 -DA:33,421 -LF:21 -LH:18 -BRDA:6,0,0,0 -BRDA:10,1,0,81 -BRDA:10,2,0,421 -BRDA:10,2,1,421 -BRDA:13,3,0,66 -BRDA:13,4,0,421 -BRDA:13,4,1,421 -BRDA:19,5,0,6909 -BRDA:25,6,0,0 -BRF:9 -BRH:7 -end_of_record -TN: -SF:src/distinct.ts -FN:14,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:13,0 -DA:14,22 -DA:15,0 -DA:16,0 -DA:18,0 -DA:19,0 -DA:22,22 -LF:10 -LH:5 -BRDA:15,0,0,0 -BRDA:15,1,0,0 -BRDA:15,1,1,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/eq.ts -FN:8,(anonymous_4) -FN:23,(anonymous_5) -FNF:2 -FNH:2 -FNDA:53,(anonymous_4) -FNDA:64,(anonymous_5) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:8,22 -DA:9,53 -DA:22,0 -DA:23,22 -DA:24,64 -DA:28,85 -LF:10 -LH:9 -BRDA:9,0,0,15 -BRDA:9,0,1,38 -BRDA:24,1,0,11 -BRDA:24,1,1,53 -BRF:4 -BRH:4 -end_of_record -TN: -SF:src/exists.ts -FN:10,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:1,22 -DA:2,22 -DA:5,22 -DA:6,22 -DA:9,0 -DA:10,22 -DA:11,0 -DA:12,0 -DA:13,0 -DA:16,22 -LF:10 -LH:6 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/fallback.ts -FN:6,(anonymous_4) -FNF:1 -FNH:1 -FNDA:105,(anonymous_4) -DA:1,22 -DA:5,0 -DA:6,22 -DA:7,105 -DA:11,105 -LF:5 -LH:4 -BRDA:7,0,0,35 -BRDA:7,0,1,70 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src/false-value.ts -FNF:0 -FNH:0 -DA:2,22 -DA:13,0 -DA:14,22 -DA:16,22 -LF:4 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/gt.ts -FN:10,(anonymous_4) -FNF:1 -FNH:1 -FNDA:5,(anonymous_4) -DA:1,22 -DA:9,0 -DA:10,22 -DA:11,5 -DA:13,24 -LF:5 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/gte.ts -FN:10,(anonymous_4) -FNF:1 -FNH:1 -FNDA:1,(anonymous_4) -DA:1,22 -DA:9,0 -DA:10,22 -DA:11,1 -DA:13,22 -LF:5 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/identifier.ts -FN:11,isPlain -FN:19,quote -FN:40,identifier -FN:57,(anonymous_12) -FN:59,(anonymous_13) -FN:60,(anonymous_14) -FN:66,jsonValue -FN:71,jsonQuery -FN:78,jsonPathExists -FNF:9 -FNH:9 -FNDA:424,isPlain -FNDA:159,quote -FNDA:485,identifier -FNDA:424,(anonymous_12) -FNDA:118,(anonymous_13) -FNDA:118,(anonymous_14) -FNDA:6,jsonValue -FNDA:1,jsonQuery -FNDA:2,jsonPathExists -DA:1,22 -DA:2,22 -DA:3,22 -DA:11,0 -DA:12,424 -DA:19,0 -DA:20,159 -DA:40,0 -DA:41,485 -DA:42,1 -DA:44,484 -DA:45,425 -DA:46,6 -DA:47,6 -DA:49,419 -DA:50,1 -DA:51,1 -DA:53,418 -DA:54,2 -DA:55,2 -DA:57,424 -DA:59,118 -DA:60,118 -DA:62,0 -DA:66,22 -DA:67,6 -DA:71,22 -DA:72,1 -DA:78,22 -DA:79,2 -DA:82,343 -LF:31 -LH:27 -BRDA:13,0,0,424 -BRDA:13,0,1,282 -BRDA:41,1,0,1 -BRDA:44,2,0,425 -BRDA:45,3,0,6 -BRDA:49,4,0,1 -BRDA:53,5,0,2 -BRDA:57,6,0,265 -BRDA:57,6,1,159 -BRDA:59,7,0,59 -BRDA:59,8,0,59 -BRDA:59,8,1,59 -BRDA:59,9,0,118 -BRDA:59,9,1,0 -BRDA:72,10,0,1 -BRDA:72,10,1,0 -BRF:16 -BRH:14 -end_of_record -TN: -SF:src/identifiers.ts -FN:12,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:1,22 -DA:2,22 -DA:11,0 -DA:12,22 -DA:13,0 -DA:15,22 -LF:6 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/in.ts -FN:17,(anonymous_4) -FNF:1 -FNH:1 -FNDA:11,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:7,22 -DA:16,0 -DA:17,22 -DA:18,11 -DA:24,32 -LF:10 -LH:9 -BRDA:18,0,0,2 -BRDA:18,0,1,9 -BRDA:20,1,0,5 -BRDA:20,1,1,4 -BRDA:20,2,0,9 -BRDA:20,2,1,7 -BRDA:20,2,2,7 -BRF:7 -BRH:7 -end_of_record -TN: -SF:src/indent-tail.ts -FN:3,(anonymous_1) -FNF:1 -FNH:1 -FNDA:705,(anonymous_1) -DA:3,22 -DA:4,705 -DA:10,705 -LF:3 -LH:3 -BRDA:4,0,0,236 -BRDA:4,0,1,469 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src/index.ts -FNF:0 -FNH:0 -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:9,22 -DA:10,22 -DA:11,22 -DA:12,22 -DA:13,22 -DA:14,22 -DA:15,22 -DA:16,22 -DA:17,22 -DA:18,22 -DA:19,22 -DA:20,22 -DA:21,22 -DA:22,22 -DA:23,22 -DA:24,22 -DA:25,22 -DA:26,22 -DA:27,22 -DA:28,22 -DA:29,22 -DA:30,22 -DA:31,22 -DA:32,22 -DA:33,22 -DA:34,22 -DA:35,22 -DA:36,22 -DA:37,22 -DA:38,22 -DA:39,22 -DA:40,22 -DA:41,22 -DA:42,22 -DA:43,22 -DA:44,22 -DA:45,22 -DA:46,22 -DA:47,22 -DA:48,22 -DA:49,22 -DA:50,22 -DA:51,22 -DA:52,22 -DA:53,22 -DA:54,22 -DA:55,22 -DA:56,22 -DA:57,22 -DA:58,22 -DA:59,22 -DA:60,22 -DA:61,22 -DA:62,22 -DA:63,22 -DA:64,22 -DA:65,22 -DA:66,22 -DA:67,22 -DA:68,22 -DA:69,22 -DA:70,22 -DA:71,22 -DA:72,22 -DA:73,22 -DA:74,22 -DA:75,22 -DA:76,22 -DA:77,22 -DA:78,22 -DA:79,22 -DA:80,22 -DA:81,22 -DA:83,22 -DA:84,22 -DA:85,22 -DA:86,22 -DA:87,22 -DA:88,22 -DA:91,6 -DA:92,9 -DA:93,5 -DA:94,1 -DA:95,0 -DA:96,0 -DA:97,13 -DA:98,15 -DA:99,0 -DA:100,11 -DA:101,0 -DA:102,0 -DA:103,0 -DA:104,2 -DA:105,0 -DA:106,0 -DA:107,0 -DA:108,10 -DA:109,0 -DA:110,0 -DA:111,1 -DA:112,10 -DA:113,0 -DA:114,10 -DA:115,7 -DA:116,0 -DA:117,0 -DA:118,6 -DA:119,6 -DA:120,0 -DA:121,0 -DA:122,3 -DA:123,8 -DA:124,0 -DA:125,0 -DA:126,0 -DA:127,0 -DA:128,0 -DA:129,0 -DA:130,0 -DA:131,5 -DA:132,1 -DA:133,0 -DA:134,19 -DA:135,0 -DA:136,0 -DA:137,0 -DA:138,0 -DA:139,0 -DA:140,0 -DA:141,5 -DA:142,2 -DA:143,0 -DA:144,0 -DA:145,0 -DA:146,0 -DA:147,0 -DA:148,0 -DA:149,0 -DA:150,0 -DA:151,0 -DA:152,1 -DA:153,0 -DA:154,0 -DA:155,6 -DA:156,3 -DA:157,0 -DA:158,0 -DA:159,0 -DA:160,4 -DA:161,0 -DA:162,0 -DA:163,0 -DA:164,0 -DA:165,0 -DA:166,0 -DA:167,0 -DA:168,0 -DA:169,37 -DA:170,0 -DA:171,0 -DA:172,0 -DA:173,0 -DA:174,6 -DA:176,0 -DA:177,0 -DA:178,24 -DA:181,31 -DA:183,0 -DA:184,1 -DA:185,1 -LF:178 -LH:119 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/inline-table-of-column.ts -FN:14,(anonymous_4) -FN:20,(anonymous_5) -FNF:2 -FNH:2 -FNDA:4,(anonymous_4) -FNDA:11,(anonymous_5) -DA:1,22 -DA:2,22 -DA:3,22 -DA:6,22 -DA:13,0 -DA:14,22 -DA:15,4 -DA:16,0 -DA:18,4 -DA:19,4 -DA:20,11 -DA:21,4 -DA:28,22 -LF:13 -LH:11 -BRDA:15,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/inline-table-of-objects.ts -FN:16,(anonymous_4) -FN:20,(anonymous_5) -FN:20,(anonymous_6) -FNF:3 -FNH:3 -FNDA:15,(anonymous_4) -FNDA:3037,(anonymous_5) -FNDA:3073,(anonymous_6) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:8,22 -DA:15,0 -DA:16,22 -DA:17,15 -DA:18,15 -DA:19,15 -DA:20,3073 -DA:21,15 -DA:27,22 -LF:14 -LH:13 -BRDA:18,0,0,15 -BRDA:18,0,1,1 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src/insert-ignore.ts -FN:14,(anonymous_6) -FN:18,(anonymous_7) -FN:29,(anonymous_8) -FN:48,(anonymous_9) -FN:49,(anonymous_10) -FNF:5 -FNH:5 -FNDA:10,(anonymous_6) -FNDA:20,(anonymous_7) -FNDA:10,(anonymous_8) -FNDA:10,(anonymous_9) -FNDA:10,(anonymous_10) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:13,0 -DA:14,22 -DA:15,10 -DA:17,0 -DA:18,22 -DA:19,20 -DA:28,0 -DA:29,22 -DA:39,10 -DA:40,0 -DA:43,10 -DA:44,0 -DA:47,10 -DA:48,10 -DA:49,10 -DA:51,10 -DA:60,22 -LF:25 -LH:20 -BRDA:34,0,0,0 -BRDA:34,1,0,2 -BRDA:39,2,0,0 -BRDA:43,3,0,0 -BRDA:47,4,0,10 -BRDA:47,4,1,10 -BRF:6 -BRH:3 -end_of_record -TN: -SF:src/insert-not-matched.ts -FN:14,(anonymous_6) -FN:18,(anonymous_7) -FN:31,(anonymous_8) -FN:51,(anonymous_9) -FNF:4 -FNH:0 -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:13,0 -DA:14,22 -DA:15,0 -DA:17,0 -DA:18,22 -DA:19,0 -DA:30,0 -DA:31,22 -DA:41,0 -DA:42,0 -DA:45,0 -DA:46,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:63,22 -LF:25 -LH:12 -BRDA:36,0,0,0 -BRDA:36,1,0,0 -BRDA:41,2,0,0 -BRDA:45,3,0,0 -BRDA:50,4,0,0 -BRDA:50,4,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/insert-object.ts -FN:17,(anonymous_4) -FN:25,(anonymous_5) -FNF:2 -FNH:2 -FNDA:10,(anonymous_4) -FNDA:23,(anonymous_5) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:16,0 -DA:17,22 -DA:18,10 -DA:19,10 -DA:20,10 -DA:21,0 -DA:23,10 -DA:24,10 -DA:25,23 -DA:26,10 -DA:31,22 -LF:16 -LH:14 -BRDA:20,0,0,0 -BRDA:26,1,0,0 -BRDA:26,1,1,10 -BRF:3 -BRH:1 -end_of_record -TN: -SF:src/insert-objects.ts -FN:19,(anonymous_4) -FN:45,(anonymous_5) -FN:45,(anonymous_6) -FNF:3 -FNH:3 -FNDA:7,(anonymous_4) -FNDA:1104,(anonymous_5) -FNDA:1107,(anonymous_6) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:18,0 -DA:19,22 -DA:25,7 -DA:26,0 -DA:29,7 -DA:30,1 -DA:33,6 -DA:34,6 -DA:35,6 -DA:37,6 -DA:38,2 -DA:45,1107 -DA:46,4 -DA:52,22 -LF:21 -LH:19 -BRDA:25,0,0,0 -BRDA:29,1,0,1 -BRDA:34,2,0,6 -BRDA:34,2,1,6 -BRDA:37,3,0,2 -BRF:5 -BRH:4 -end_of_record -TN: -SF:src/interpolate.ts -FN:9,updateMargin -FN:39,(anonymous_5) -FN:52,(anonymous_6) -FNF:3 -FNH:3 -FNDA:1816,updateMargin -FNDA:406,(anonymous_5) -FNDA:1816,(anonymous_6) -DA:2,22 -DA:12,1816 -DA:15,1816 -DA:18,1816 -DA:19,1816 -DA:20,2025 -DA:24,1816 -DA:27,1816 -DA:30,1816 -DA:31,1816 -DA:38,0 -DA:39,22 -DA:40,406 -DA:41,0 -DA:43,406 -DA:44,0 -DA:46,406 -DA:47,0 -DA:49,406 -DA:50,406 -DA:52,406 -DA:53,1816 -DA:54,1816 -DA:56,406 -DA:57,406 -DA:58,705 -DA:59,705 -DA:61,406 -DA:64,406 -LF:29 -LH:25 -BRDA:19,0,0,3841 -BRDA:19,0,1,3316 -BRDA:30,1,0,273 -BRDA:30,1,1,1543 -BRDA:30,2,0,494 -BRDA:30,2,1,1049 -BRDA:31,3,0,1816 -BRDA:31,3,1,1229 -BRDA:31,3,2,767 -BRDA:40,4,0,0 -BRDA:40,5,0,406 -BRDA:40,5,1,406 -BRDA:43,6,0,0 -BRDA:43,7,0,406 -BRDA:43,7,1,0 -BRDA:46,8,0,0 -BRF:16 -BRH:12 -end_of_record -TN: -SF:src/interpolate1.ts -FN:3,(anonymous_3) -FNF:1 -FNH:1 -FNDA:78,(anonymous_3) -DA:2,0 -DA:3,22 -DA:4,78 -DA:5,0 -DA:7,78 -DA:8,0 -DA:10,78 -DA:11,78 -DA:12,27 -DA:13,27 -DA:15,78 -DA:18,78 -LF:12 -LH:9 -BRDA:4,0,0,0 -BRDA:7,1,0,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/is-defined.ts -FN:9,isDefined -FN:16,(anonymous_2) -FNF:2 -FNH:2 -FNDA:127,isDefined -FNDA:114,(anonymous_2) -DA:1,22 -DA:9,90 -DA:10,127 -DA:11,13 -DA:13,114 -DA:14,114 -DA:16,114 -DA:18,0 -LF:8 -LH:7 -BRDA:10,0,0,13 -BRDA:13,1,0,114 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src/is-null.ts -FN:5,(anonymous_4) -FNF:1 -FNH:1 -FNDA:69,(anonymous_4) -DA:1,22 -DA:4,0 -DA:5,22 -DA:6,69 -DA:9,69 -LF:5 -LH:4 -BRDA:6,0,0,69 -BRDA:6,0,1,53 -BRDA:6,0,2,15 -BRF:3 -BRH:3 -end_of_record -TN: -SF:src/is-object.ts -FN:1,isObject -FNF:1 -FNH:1 -FNDA:263,isObject -DA:1,263 -DA:2,263 -LF:2 -LH:2 -BRDA:3,0,0,263 -BRDA:3,0,1,239 -BRDA:3,0,2,236 -BRF:3 -BRH:3 -end_of_record -TN: -SF:src/is-string.ts -FN:5,(anonymous_3) -FNF:1 -FNH:1 -FNDA:4685,(anonymous_3) -DA:2,0 -DA:5,22 -DA:6,4685 -DA:8,4685 -LF:4 -LH:3 -BRDA:6,0,0,4685 -BRDA:6,0,1,0 -BRF:2 -BRH:1 -end_of_record -TN: -SF:src/is.ts -FN:12,(anonymous_1) -FN:13,(anonymous_2) -FNF:2 -FNH:2 -FNDA:6,(anonymous_1) -FNDA:6,(anonymous_2) -DA:12,22 -DA:13,6 -DA:14,6 -DA:16,22 -LF:4 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/json-modify.ts -FN:8,(anonymous_4) -FN:10,(anonymous_5) -FNF:2 -FNH:2 -FNDA:3,(anonymous_4) -FNDA:6,(anonymous_5) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:7,0 -DA:8,22 -DA:9,3 -DA:10,3 -DA:11,6 -DA:12,2 -DA:13,2 -DA:25,4 -DA:35,22 -LF:13 -LH:12 -BRDA:11,0,0,2 -BRF:1 -BRH:1 -end_of_record -TN: -SF:src/json-path-exists.ts -FNF:0 -FNH:0 -DA:1,22 -DA:2,22 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/json-path.ts -FN:6,(anonymous_4) -FNF:1 -FNH:1 -FNDA:20,(anonymous_4) -DA:2,22 -DA:5,0 -DA:6,22 -DA:7,20 -DA:8,5 -DA:10,15 -DA:11,15 -DA:12,2 -DA:14,15 -DA:15,1 -DA:17,15 -DA:18,2 -DA:20,13 -DA:23,22 -LF:14 -LH:13 -BRDA:6,0,0,18 -BRDA:7,1,0,5 -BRDA:11,2,0,2 -BRDA:14,3,0,1 -BRDA:17,4,0,2 -BRF:5 -BRH:5 -end_of_record -TN: -SF:src/json-query.ts -FNF:0 -FNH:0 -DA:1,22 -DA:2,22 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/json-value.ts -FNF:0 -FNH:0 -DA:1,22 -DA:2,22 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/json.ts -FN:11,(anonymous_4) -FNF:1 -FNH:1 -FNDA:8,(anonymous_4) -DA:1,22 -DA:2,22 -DA:10,0 -DA:11,22 -DA:12,8 -DA:16,22 -LF:6 -LH:5 -BRDA:12,0,0,0 -BRDA:12,0,1,8 -BRF:2 -BRH:1 -end_of_record -TN: -SF:src/keys-of-objects.ts -FN:3,(anonymous_4) -FN:4,(anonymous_5) -FN:12,(anonymous_6) -FNF:3 -FNH:3 -FNDA:4124,(anonymous_4) -FNDA:4152,(anonymous_5) -FNDA:21,(anonymous_6) -DA:2,0 -DA:3,22 -DA:4,4152 -DA:11,0 -DA:12,22 -DA:13,21 -DA:14,0 -DA:16,21 -DA:17,0 -DA:19,21 -DA:20,21 -DA:21,4124 -DA:22,4124 -DA:23,0 -DA:28,21 -DA:31,22 -LF:16 -LH:11 -BRDA:4,0,0,4124 -BRDA:4,0,1,4124 -BRDA:13,1,0,0 -BRDA:16,2,0,0 -BRDA:22,3,0,0 -BRF:5 -BRH:2 -end_of_record -TN: -SF:src/keywords.ts -FN:977,(anonymous_1) -FNF:1 -FNH:1 -FNDA:21362,(anonymous_1) -DA:1,22 -DA:977,21362 -DA:979,424 -LF:3 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/like.ts -FN:9,(anonymous_4) -FN:20,(anonymous_5) -FNF:2 -FNH:2 -FNDA:1,(anonymous_4) -FNDA:1,(anonymous_5) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:9,22 -DA:10,1 -DA:19,0 -DA:20,22 -DA:21,1 -DA:25,22 -LF:11 -LH:10 -BRDA:10,0,0,0 -BRDA:10,0,1,1 -BRDA:21,1,0,0 -BRDA:21,1,1,1 -BRF:4 -BRH:2 -end_of_record -TN: -SF:src/limited-hints-identifier.ts -FN:9,(anonymous_5) -FNF:1 -FNH:1 -FNDA:20,(anonymous_5) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:9,22 -DA:10,20 -DA:14,22 -LF:7 -LH:7 -BRDA:10,0,0,18 -BRDA:10,0,1,2 -BRDA:10,1,0,20 -BRDA:10,1,1,20 -BRF:4 -BRH:4 -end_of_record -TN: -SF:src/line.ts -FN:15,(anonymous_4) -FN:16,(anonymous_5) -FN:17,(anonymous_6) -FNF:3 -FNH:3 -FNDA:13,(anonymous_4) -FNDA:26,(anonymous_5) -FNDA:26,(anonymous_6) -DA:1,22 -DA:2,22 -DA:14,0 -DA:15,22 -DA:16,26 -DA:17,26 -DA:20,22 -LF:7 -LH:6 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/lines.ts -FN:9,(anonymous_4) -FNF:1 -FNH:1 -FNDA:5,(anonymous_4) -DA:1,22 -DA:8,0 -DA:9,22 -DA:10,5 -DA:11,5 -DA:12,2 -DA:14,3 -DA:17,22 -LF:8 -LH:7 -BRDA:9,0,0,4 -BRDA:11,1,0,2 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src/list.ts -FN:13,(anonymous_4) -FN:15,(anonymous_5) -FN:16,(anonymous_6) -FN:17,(anonymous_7) -FNF:4 -FNH:4 -FNDA:4274,(anonymous_4) -FNDA:8524,(anonymous_5) -FNDA:8512,(anonymous_6) -FNDA:8512,(anonymous_7) -DA:1,22 -DA:2,22 -DA:12,0 -DA:13,22 -DA:14,4274 -DA:15,8524 -DA:16,8512 -DA:17,8512 -DA:18,4274 -DA:23,4274 -LF:10 -LH:9 -BRDA:13,0,0,65 -BRDA:13,1,0,4245 -BRDA:18,2,0,4270 -BRDA:18,2,1,4 -BRF:4 -BRH:4 -end_of_record -TN: -SF:src/logical-false.ts -FNF:0 -FNH:0 -DA:2,22 -DA:13,0 -DA:14,22 -DA:16,22 -LF:4 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/logical-true.ts -FNF:0 -FNH:0 -DA:2,22 -DA:13,0 -DA:14,22 -DA:16,25 -LF:4 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/lt.ts -FN:10,(anonymous_4) -FNF:1 -FNH:1 -FNDA:2,(anonymous_4) -DA:1,22 -DA:9,0 -DA:10,22 -DA:11,2 -DA:13,22 -LF:5 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/lte.ts -FN:10,(anonymous_4) -FNF:1 -FNH:1 -FNDA:2,(anonymous_4) -DA:1,22 -DA:9,0 -DA:10,22 -DA:11,2 -DA:13,22 -LF:5 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/margin-of-first-line.ts -FN:3,(anonymous_1) -FNF:1 -FNH:1 -FNDA:14,(anonymous_1) -DA:3,24 -DA:4,14 -DA:5,14 -DA:6,16 -DA:7,6 -DA:10,14 -DA:13,24 -LF:7 -LH:7 -BRDA:6,0,0,6 -BRDA:6,1,0,16 -BRDA:6,1,1,8 -BRF:3 -BRH:3 -end_of_record -TN: -SF:src/margin-of-last-line.ts -FN:4,(anonymous_2) -FNF:1 -FNH:1 -FNDA:8,(anonymous_2) -DA:1,23 -DA:4,23 -DA:5,8 -DA:7,23 -LF:4 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/maybe-line.ts -FN:13,(anonymous_4) -FN:14,(anonymous_5) -FN:16,(anonymous_6) -FNF:3 -FNH:0 -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -DA:1,22 -DA:2,22 -DA:12,0 -DA:13,22 -DA:14,0 -DA:15,0 -DA:16,0 -DA:20,22 -LF:8 -LH:4 -BRDA:15,0,0,0 -BRDA:15,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/maybe-lines.ts -FN:7,(anonymous_4) -FN:10,(anonymous_5) -FN:11,(anonymous_6) -FN:12,(anonymous_7) -FN:13,(anonymous_8) -FNF:5 -FNH:5 -FNDA:5,(anonymous_4) -FNDA:10,(anonymous_5) -FNDA:7,(anonymous_6) -FNDA:7,(anonymous_7) -FNDA:7,(anonymous_8) -DA:1,22 -DA:2,22 -DA:6,0 -DA:7,22 -DA:9,5 -DA:10,10 -DA:11,7 -DA:12,7 -DA:13,7 -DA:14,5 -DA:15,2 -DA:17,3 -DA:20,22 -LF:13 -LH:12 -BRDA:7,0,0,0 -BRDA:14,1,0,2 -BRF:2 -BRH:1 -end_of_record -TN: -SF:src/merge-1n.ts -FN:12,(anonymous_4) -FNF:1 -FNH:1 -FNDA:5,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:11,0 -DA:12,22 -DA:21,5 -DA:22,5 -DA:23,5 -DA:24,5 -DA:25,0 -DA:27,5 -DA:28,1 -DA:30,4 -DA:45,22 -LF:16 -LH:14 -BRDA:17,0,0,1 -BRDA:17,1,0,1 -BRDA:24,2,0,0 -BRDA:27,3,0,1 -BRF:4 -BRH:3 -end_of_record -TN: -SF:src/modify-jsons.ts -FN:16,(anonymous_7) -FN:20,(anonymous_8) -FN:24,(anonymous_9) -FN:29,(anonymous_10) -FN:33,(anonymous_11) -FN:44,(anonymous_12) -FN:45,(anonymous_13) -FN:46,(anonymous_14) -FN:47,(anonymous_15) -FN:51,(anonymous_16) -FNF:10 -FNH:10 -FNDA:7,(anonymous_7) -FNDA:6,(anonymous_8) -FNDA:2,(anonymous_9) -FNDA:5,(anonymous_10) -FNDA:2,(anonymous_11) -FNDA:4,(anonymous_12) -FNDA:4,(anonymous_13) -FNDA:2,(anonymous_14) -FNDA:4,(anonymous_15) -FNDA:2,(anonymous_16) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:9,22 -DA:10,22 -DA:15,0 -DA:16,22 -DA:17,7 -DA:19,0 -DA:20,22 -DA:21,6 -DA:23,0 -DA:24,22 -DA:25,2 -DA:29,5 -DA:33,22 -DA:38,2 -DA:39,0 -DA:42,2 -DA:43,2 -DA:44,4 -DA:45,4 -DA:46,2 -DA:47,4 -DA:48,2 -DA:51,2 -DA:53,2 -DA:62,22 -LF:31 -LH:27 -BRDA:38,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/ne.ts -FN:8,(anonymous_4) -FNF:1 -FNH:1 -FNDA:1,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:5,22 -DA:7,0 -DA:8,22 -DA:9,1 -DA:10,0 -DA:12,1 -DA:13,1 -DA:18,22 -LF:11 -LH:9 -BRDA:9,0,0,0 -BRDA:13,1,0,0 -BRDA:13,1,1,1 -BRF:3 -BRH:1 -end_of_record -TN: -SF:src/ng.ts -FN:5,(anonymous_4) -FNF:1 -FNH:1 -FNDA:1,(anonymous_4) -DA:1,22 -DA:4,0 -DA:5,22 -DA:6,1 -DA:8,22 -LF:5 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/nl.ts -FN:5,(anonymous_4) -FNF:1 -FNH:1 -FNDA:1,(anonymous_4) -DA:1,22 -DA:4,0 -DA:5,22 -DA:6,1 -DA:8,22 -LF:5 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/not-between.ts -FN:7,(anonymous_4) -FNF:1 -FNH:1 -FNDA:1,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:6,0 -DA:7,22 -DA:8,1 -DA:12,22 -LF:7 -LH:6 -BRDA:8,0,0,0 -BRDA:8,0,1,1 -BRDA:8,1,0,1 -BRDA:8,1,1,1 -BRF:4 -BRH:3 -end_of_record -TN: -SF:src/not-distinct.ts -FN:7,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:6,0 -DA:7,22 -DA:8,0 -DA:9,0 -DA:11,0 -DA:12,0 -DA:15,44 -LF:10 -LH:5 -BRDA:8,0,0,0 -BRDA:8,1,0,0 -BRDA:8,1,1,0 -BRF:3 -BRH:0 -end_of_record -TN: -SF:src/not-in.ts -FN:9,(anonymous_4) -FNF:1 -FNH:1 -FNDA:1,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:8,0 -DA:9,22 -DA:10,1 -DA:16,44 -LF:9 -LH:8 -BRDA:10,0,0,0 -BRDA:10,0,1,1 -BRDA:12,1,0,1 -BRDA:12,1,1,0 -BRDA:12,2,0,1 -BRDA:12,2,1,1 -BRDA:12,2,2,1 -BRF:7 -BRH:5 -end_of_record -TN: -SF:src/not.ts -FNF:0 -FNH:0 -DA:1,22 -DA:3,0 -DA:5,22 -LF:3 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/now.ts -FNF:0 -FNH:0 -DA:1,22 -DA:3,0 -DA:4,22 -DA:6,22 -LF:4 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/nstring.ts -FN:6,(anonymous_4) -FNF:1 -FNH:1 -FNDA:4264,(anonymous_4) -DA:1,22 -DA:2,22 -DA:5,0 -DA:6,22 -DA:7,4264 -DA:13,4264 -LF:6 -LH:5 -BRDA:7,0,0,0 -BRDA:7,0,1,4264 -BRDA:9,1,0,0 -BRDA:9,1,1,4264 -BRF:4 -BRH:2 -end_of_record -TN: -SF:src/null.ts -FNF:0 -FNH:0 -DA:1,22 -DA:3,0 -DA:4,22 -DA:6,22 -LF:4 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/number.ts -FN:5,(anonymous_4) -FNF:1 -FNH:1 -FNDA:75,(anonymous_4) -DA:1,22 -DA:4,0 -DA:5,22 -DA:6,75 -DA:7,0 -DA:9,75 -DA:12,75 -LF:7 -LH:5 -BRDA:6,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/object-id.ts -FN:5,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:2,22 -DA:4,0 -DA:5,22 -DA:6,0 -DA:8,22 -LF:5 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/op.ts -FN:12,(anonymous_4) -FNF:1 -FNH:1 -FNDA:12,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:5,22 -DA:11,0 -DA:12,22 -DA:13,12 -DA:17,22 -LF:8 -LH:7 -BRDA:13,0,0,0 -BRDA:13,0,1,12 -BRF:2 -BRH:1 -end_of_record -TN: -SF:src/or.ts -FNF:0 -FNH:0 -DA:1,22 -DA:3,0 -DA:5,22 -LF:3 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/order-by.ts -FN:6,(anonymous_2) -FN:7,(anonymous_3) -FNF:2 -FNH:2 -FNDA:3,(anonymous_2) -FNDA:4,(anonymous_3) -DA:1,22 -DA:2,22 -DA:3,22 -DA:6,22 -DA:7,4 -DA:9,22 -LF:6 -LH:6 -BRDA:7,0,0,2 -BRDA:7,0,1,2 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src/pick.ts -FN:4,(anonymous_3) -FNF:1 -FNH:0 -FNDA:0,(anonymous_3) -DA:3,0 -DA:4,22 -DA:5,0 -DA:6,0 -DA:7,0 -DA:11,0 -DA:14,22 -LF:7 -LH:2 -BRDA:7,0,0,0 -BRDA:7,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/quoted-nstring.ts -FN:6,(anonymous_4) -FN:10,(anonymous_5) -FN:18,(anonymous_6) -FN:26,(anonymous_7) -FNF:4 -FNH:4 -FNDA:4267,(anonymous_4) -FNDA:4265,(anonymous_5) -FNDA:4264,(anonymous_6) -FNDA:4264,(anonymous_7) -DA:3,22 -DA:6,22 -DA:7,4267 -DA:10,22 -DA:11,4265 -DA:12,4263 -DA:14,2 -DA:18,22 -DA:19,4264 -DA:20,4263 -DA:22,1 -DA:25,0 -DA:26,22 -DA:27,4264 -DA:28,0 -DA:30,4264 -DA:33,4264 -LF:17 -LH:15 -BRDA:7,0,0,0 -BRDA:7,0,1,4267 -BRDA:11,1,0,4263 -BRDA:19,2,0,4263 -BRDA:27,3,0,0 -BRF:5 -BRH:3 -end_of_record -TN: -SF:src/random-identifier.ts -FN:7,(anonymous_2) -FN:13,(anonymous_3) -FN:14,(anonymous_4) -FNF:3 -FNH:3 -FNDA:32,(anonymous_2) -FNDA:2,(anonymous_3) -FNDA:32,(anonymous_4) -DA:1,22 -DA:4,22 -DA:7,22 -DA:8,32 -DA:9,32 -DA:13,22 -DA:14,32 -DA:16,22 -LF:8 -LH:8 -BRDA:13,0,0,0 -BRDA:13,1,0,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/raw.ts -FN:5,(anonymous_4) -FNF:1 -FNH:1 -FNDA:9282,(anonymous_4) -DA:1,22 -DA:4,0 -DA:5,22 -DA:6,9282 -DA:8,9282 -LF:5 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/replace-objects.ts -FN:15,(anonymous_4) -FN:16,(anonymous_5) -FN:20,(anonymous_6) -FN:45,(anonymous_7) -FN:46,(anonymous_8) -FNF:5 -FNH:0 -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:9,22 -DA:10,22 -DA:15,22 -DA:16,22 -DA:19,0 -DA:20,22 -DA:32,0 -DA:33,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:42,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:48,0 -DA:62,22 -LF:26 -LH:14 -BRDA:27,0,0,0 -BRDA:32,1,0,0 -BRDA:38,2,0,0 -BRDA:42,3,0,0 -BRDA:42,3,1,0 -BRDA:43,4,0,0 -BRDA:43,4,1,0 -BRDA:44,5,0,0 -BRDA:44,5,1,0 -BRF:9 -BRH:0 -end_of_record -TN: -SF:src/row.ts -FN:8,(anonymous_4) -FNF:1 -FNH:1 -FNDA:4191,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:7,0 -DA:8,22 -DA:9,4191 -DA:11,4191 -LF:7 -LH:6 -BRDA:8,0,0,4191 -BRF:1 -BRH:1 -end_of_record -TN: -SF:src/rowset.ts -FN:5,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:1,22 -DA:4,0 -DA:5,22 -DA:6,0 -DA:7,0 -DA:9,0 -DA:12,22 -LF:7 -LH:3 -BRDA:6,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/sanitised-identifier.ts -FNF:0 -FNH:0 -DA:1,22 -DA:3,22 -DA:5,0 -DA:10,970 -LF:4 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/sanitised.ts -FNF:0 -FNH:0 -DA:1,22 -DA:3,0 -DA:8,31625 -LF:3 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/select.ts -FN:10,(anonymous_5) -FN:11,(anonymous_6) -FN:14,(anonymous_7) -FN:15,(anonymous_8) -FNF:4 -FNH:0 -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:7,22 -DA:9,0 -DA:10,22 -DA:11,0 -DA:13,0 -DA:14,22 -DA:15,0 -DA:16,0 -DA:17,0 -DA:19,0 -DA:20,0 -DA:27,22 -LF:17 -LH:9 -BRDA:11,0,0,0 -BRDA:11,0,1,0 -BRDA:14,1,0,0 -BRDA:16,2,0,0 -BRDA:19,3,0,0 -BRDA:19,3,1,0 -BRDA:23,4,0,0 -BRDA:23,4,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/star.ts -FN:7,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:1,22 -DA:4,22 -DA:6,0 -DA:7,22 -DA:8,0 -DA:12,22 -LF:6 -LH:4 -BRDA:8,0,0,0 -BRDA:8,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:src/table-hint-limited.ts -FN:50,(anonymous_4) -FNF:1 -FNH:1 -FNDA:18,(anonymous_4) -DA:1,22 -DA:27,22 -DA:49,18 -DA:50,22 -DA:51,18 -DA:52,0 -DA:54,18 -LF:7 -LH:6 -BRDA:51,0,0,0 -BRF:1 -BRH:0 -end_of_record -TN: -SF:src/template.ts -FN:8,(anonymous_4) -FNF:1 -FNH:1 -FNDA:406,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:7,0 -DA:8,22 -DA:9,406 -DA:11,406 -LF:8 -LH:7 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/top.ts -FN:15,(anonymous_4) -FNF:1 -FNH:0 -FNDA:0,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:14,0 -DA:15,22 -DA:16,0 -DA:17,0 -DA:19,0 -DA:22,0 -DA:30,22 -LF:11 -LH:6 -BRDA:15,0,0,0 -BRDA:16,1,0,0 -BRDA:19,2,0,0 -BRDA:19,2,1,0 -BRDA:25,3,0,0 -BRDA:25,3,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:src/true-value.ts -FNF:0 -FNH:0 -DA:2,22 -DA:13,0 -DA:14,22 -DA:16,22 -LF:4 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/unique.ts -FN:4,unique -FNF:1 -FNH:1 -FNDA:78,unique -DA:4,0 -DA:5,78 -DA:6,78 -DA:7,78 -DA:8,108 -DA:9,108 -DA:10,105 -DA:11,105 -DA:14,78 -DA:17,78 -LF:10 -LH:9 -BRDA:9,0,0,105 -BRF:1 -BRH:1 -end_of_record -TN: -SF:src/unix.ts -FNF:0 -FNH:0 -DA:1,22 -DA:4,22 -DA:6,22 -LF:3 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/update-objects.ts -FN:15,(anonymous_6) -FN:19,(anonymous_7) -FN:24,(anonymous_8) -FN:46,(anonymous_9) -FN:47,(anonymous_10) -FNF:5 -FNH:0 -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:9,22 -DA:14,0 -DA:15,22 -DA:16,0 -DA:18,0 -DA:19,22 -DA:20,0 -DA:23,0 -DA:24,22 -DA:35,0 -DA:36,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:49,0 -DA:58,22 -LF:28 -LH:13 -BRDA:30,0,0,0 -BRDA:30,1,0,0 -BRDA:35,2,0,0 -BRDA:39,3,0,0 -BRDA:44,4,0,0 -BRDA:44,4,1,0 -BRDA:45,5,0,0 -BRDA:45,5,1,0 -BRF:8 -BRH:0 -end_of_record -TN: -SF:src/update.ts -FN:13,(anonymous_4) -FNF:1 -FNH:1 -FNDA:6,(anonymous_4) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:9,22 -DA:12,0 -DA:13,22 -DA:21,6 -DA:22,1 -DA:24,5 -DA:25,5 -DA:26,5 -DA:27,5 -DA:28,1 -DA:30,4 -DA:38,22 -LF:17 -LH:16 -BRDA:17,0,0,5 -BRDA:17,1,0,5 -BRDA:21,2,0,1 -BRDA:25,3,0,5 -BRDA:25,3,1,0 -BRDA:27,4,0,1 -BRF:6 -BRH:5 -end_of_record -TN: -SF:src/upsert-objects.ts -FN:16,(anonymous_6) -FN:20,(anonymous_7) -FN:31,(anonymous_8) -FN:55,(anonymous_9) -FN:56,(anonymous_10) -FNF:5 -FNH:0 -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -FNDA:0,(anonymous_9) -FNDA:0,(anonymous_10) -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:9,22 -DA:10,22 -DA:15,0 -DA:16,22 -DA:17,0 -DA:19,0 -DA:20,22 -DA:21,0 -DA:30,0 -DA:31,22 -DA:43,0 -DA:44,0 -DA:47,0 -DA:48,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:58,0 -DA:70,22 -LF:30 -LH:14 -BRDA:38,0,0,0 -BRDA:38,1,0,0 -BRDA:43,2,0,0 -BRDA:47,3,0,0 -BRDA:52,4,0,0 -BRDA:52,4,1,0 -BRDA:53,5,0,0 -BRDA:53,5,1,0 -BRDA:54,6,0,0 -BRDA:54,6,1,0 -BRF:10 -BRH:0 -end_of_record -TN: -SF:src/where.ts -FN:67,single -FN:82,visitEntry -FN:122,visit -FN:140,(anonymous_11) -FN:151,where -FN:164,and -FN:179,or -FN:187,not -FNF:8 -FNH:8 -FNDA:103,single -FNDA:53,visitEntry -FNDA:170,visit -FNDA:53,(anonymous_11) -FNDA:139,where -FNDA:79,and -FNDA:9,or -FNDA:2,not -DA:1,22 -DA:2,22 -DA:3,22 -DA:4,22 -DA:5,22 -DA:6,22 -DA:7,22 -DA:8,22 -DA:9,22 -DA:10,22 -DA:11,22 -DA:12,22 -DA:13,22 -DA:14,22 -DA:15,22 -DA:16,22 -DA:17,22 -DA:18,22 -DA:19,22 -DA:20,22 -DA:21,22 -DA:22,22 -DA:23,22 -DA:24,22 -DA:25,22 -DA:31,22 -DA:37,22 -DA:59,22 -DA:68,103 -DA:69,27 -DA:72,76 -DA:73,80 -DA:74,74 -DA:75,74 -DA:77,6 -DA:79,70 -DA:83,53 -DA:84,6 -DA:86,47 -DA:87,47 -DA:88,17 -DA:89,17 -DA:92,2 -DA:93,0 -DA:95,2 -DA:96,0 -DA:98,2 -DA:102,2 -DA:103,0 -DA:105,2 -DA:106,0 -DA:108,2 -DA:110,13 -DA:119,30 -DA:122,0 -DA:123,170 -DA:124,114 -DA:126,56 -DA:127,56 -DA:128,49 -DA:129,49 -DA:130,8 -DA:131,0 -DA:133,8 -DA:135,41 -DA:136,2 -DA:139,46 -DA:140,53 -DA:141,46 -DA:143,0 -DA:151,0 -DA:152,139 -DA:164,22 -DA:165,79 -DA:166,79 -DA:167,6 -DA:169,73 -DA:179,22 -DA:180,9 -DA:181,9 -DA:182,4 -DA:184,5 -DA:187,22 -DA:188,2 -DA:193,42 -LF:85 -LH:77 -BRDA:68,0,0,27 -BRDA:73,1,0,74 -BRDA:83,2,0,6 -BRDA:87,3,0,17 -BRDA:87,4,0,47 -BRDA:87,4,1,19 -BRDA:89,5,0,1 -BRDA:89,5,1,2 -BRDA:89,5,2,1 -BRDA:89,5,3,1 -BRDA:89,5,4,2 -BRDA:89,5,5,13 -BRDA:92,6,0,0 -BRDA:95,7,0,0 -BRDA:95,8,0,2 -BRDA:95,8,1,2 -BRDA:102,9,0,0 -BRDA:105,10,0,0 -BRDA:123,11,0,114 -BRDA:127,12,0,49 -BRDA:129,13,0,8 -BRDA:129,14,0,49 -BRDA:129,14,1,8 -BRDA:130,15,0,0 -BRDA:135,16,0,2 -BRDA:139,17,0,46 -BRDA:166,18,0,6 -BRDA:181,19,0,4 -BRDA:188,20,0,2 -BRDA:188,20,1,0 -BRF:30 -BRH:24 -end_of_record -TN: -SF:src/test/client.ts -FN:9,(anonymous_5) -FN:31,(anonymous_6) -FN:37,(anonymous_7) -FN:43,(anonymous_8) -FN:49,(anonymous_9) -FN:50,(anonymous_10) -FN:51,(anonymous_11) -FN:57,(anonymous_12) -FN:61,(anonymous_13) -FN:62,(anonymous_14) -FN:68,(anonymous_15) -FN:83,(anonymous_16) -FN:87,(anonymous_17) -FN:88,(anonymous_18) -FN:91,(anonymous_19) -FN:96,(anonymous_20) -FN:100,(anonymous_21) -FN:104,(anonymous_22) -FN:108,(anonymous_23) -FN:112,(anonymous_24) -FN:116,(anonymous_25) -FN:120,(anonymous_26) -FN:124,(anonymous_27) -FN:136,(anonymous_28) -FNF:24 -FNH:22 -FNDA:4,(anonymous_5) -FNDA:2,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:2,(anonymous_8) -FNDA:4,(anonymous_9) -FNDA:4,(anonymous_10) -FNDA:4,(anonymous_11) -FNDA:4,(anonymous_12) -FNDA:69,(anonymous_13) -FNDA:69,(anonymous_14) -FNDA:69,(anonymous_15) -FNDA:25,(anonymous_16) -FNDA:11,(anonymous_17) -FNDA:11,(anonymous_18) -FNDA:10,(anonymous_19) -FNDA:9,(anonymous_20) -FNDA:13,(anonymous_21) -FNDA:2,(anonymous_22) -FNDA:10,(anonymous_23) -FNDA:7,(anonymous_24) -FNDA:7,(anonymous_25) -FNDA:0,(anonymous_26) -FNDA:4,(anonymous_27) -FNDA:1,(anonymous_28) -DA:1,2 -DA:2,2 -DA:3,2 -DA:5,2 -DA:18,4 -DA:32,2 -DA:33,2 -DA:34,2 -DA:38,0 -DA:39,0 -DA:40,0 -DA:44,2 -DA:45,2 -DA:46,2 -DA:50,4 -DA:51,4 -DA:52,4 -DA:58,4 -DA:62,69 -DA:63,69 -DA:64,0 -DA:65,0 -DA:67,69 -DA:68,69 -DA:69,69 -DA:70,0 -DA:72,69 -DA:73,50 -DA:74,95 -DA:77,69 -DA:79,69 -DA:84,25 -DA:88,11 -DA:92,10 -DA:93,10 -DA:97,9 -DA:101,13 -DA:105,2 -DA:109,10 -DA:113,7 -DA:117,7 -DA:121,0 -DA:133,4 -DA:140,1 -LF:44 -LH:37 -BRDA:9,0,0,0 -BRDA:10,1,0,0 -BRDA:11,2,0,4 -BRDA:12,3,0,4 -BRDA:19,4,0,4 -BRDA:19,4,1,4 -BRDA:52,5,0,0 -BRDA:52,5,1,4 -BRDA:63,6,0,0 -BRDA:69,7,0,0 -BRDA:96,8,0,6 -BRDA:100,9,0,13 -BRDA:129,10,0,4 -BRDA:129,11,0,4 -BRF:14 -BRH:9 -end_of_record