@tellescope/testing 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,3 +17,4 @@ export declare const assert: (assertion: boolean, message: string, title?: strin
17
17
  export declare const objects_equivalent: (o1?: Indexable<any> | undefined, o2?: Indexable<any> | undefined) => boolean;
18
18
  export declare const wait: (f?: Promise<void> | undefined, ms?: number) => Promise<void>;
19
19
  export {};
20
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAa1B,eAAO,MAAM,UAAU,sBAEtB,CAAA;AA6BD,eAAO,MAAM,SAAS,mBAAoB,GAAG,EAAE,qBAM7C,CAAA;AAEF,aAAK,oBAAoB,CAAE,CAAC,IAAG;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA;AACD,aAAK,0BAA0B,CAAE,CAAC,GAAC,QAAQ,IAAG;IAC5C,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA;AAgBD,eAAO,MAAM,UAAU,0BACf,MAAM,kHAkCb,CAAA;AAED,eAAO,MAAM,MAAM,cAAe,OAAO,WAAW,MAAM,yBAOzD,CAAA;AAED,eAAO,MAAM,kBAAkB,+EAoB9B,CAAA;AAED,eAAO,MAAM,IAAI,+DAEf,CAAA"}
@@ -17,3 +17,4 @@ export declare const assert: (assertion: boolean, message: string, title?: strin
17
17
  export declare const objects_equivalent: (o1?: Indexable<any> | undefined, o2?: Indexable<any> | undefined) => boolean;
18
18
  export declare const wait: (f?: Promise<void> | undefined, ms?: number) => Promise<void>;
19
19
  export {};
20
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAa1B,eAAO,MAAM,UAAU,sBAEtB,CAAA;AA6BD,eAAO,MAAM,SAAS,mBAAoB,GAAG,EAAE,qBAM7C,CAAA;AAEF,aAAK,oBAAoB,CAAE,CAAC,IAAG;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA;AACD,aAAK,0BAA0B,CAAE,CAAC,GAAC,QAAQ,IAAG;IAC5C,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAA;AAgBD,eAAO,MAAM,UAAU,0BACf,MAAM,kHAkCb,CAAA;AAED,eAAO,MAAM,MAAM,cAAe,OAAO,WAAW,MAAM,yBAOzD,CAAA;AAED,eAAO,MAAM,kBAAkB,+EAoB9B,CAAA;AAED,eAAO,MAAM,IAAI,+DAEf,CAAA"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/@types/react/global.d.ts","../../../../node_modules/csstype/index.d.ts","../../../../node_modules/@types/prop-types/index.d.ts","../../../../node_modules/@types/scheduler/tracing.d.ts","../../../../node_modules/@types/react/index.d.ts","../../../../node_modules/@types/react/jsx-runtime.d.ts","../../../../node_modules/bson/node_modules/buffer/index.d.ts","../../../../node_modules/bson/bson.d.ts","../../types/index.d.ts","../src/testing.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../../../../node_modules/@types/aria-query/index.d.ts","../../../../node_modules/@babel/types/lib/index.d.ts","../../../../node_modules/@types/babel__generator/index.d.ts","../../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../node_modules/@types/babel__template/index.d.ts","../../../../node_modules/@types/babel__traverse/index.d.ts","../../../../node_modules/@types/babel__core/index.d.ts","../../../../node_modules/@types/bcrypt/index.d.ts","../../../../node_modules/@types/braces/index.d.ts","../../../../node_modules/@types/color-name/index.d.ts","../../../../node_modules/@types/color-convert/conversions.d.ts","../../../../node_modules/@types/color-convert/route.d.ts","../../../../node_modules/@types/color-convert/index.d.ts","../../../../node_modules/@types/component-emitter/index.d.ts","../../../../node_modules/@types/cookie/index.d.ts","../../../../node_modules/@types/cors/index.d.ts","../../../../node_modules/@types/dom-mediacapture-record/index.d.ts","../../../../node_modules/@types/eslint/helpers.d.ts","../../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../../node_modules/@types/json-schema/index.d.ts","../../../../node_modules/@types/estree/index.d.ts","../../../../node_modules/@types/eslint/index.d.ts","../../../../node_modules/@types/body-parser/index.d.ts","../../../../node_modules/@types/serve-static/index.d.ts","../../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../../node_modules/@types/qs/index.d.ts","../../../../node_modules/@types/express/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/glob/index.d.ts","../../../../node_modules/@types/glob-base/index.d.ts","../../../../node_modules/@types/graceful-fs/index.d.ts","../../../../node_modules/@types/unist/index.d.ts","../../../../node_modules/@types/hast/index.d.ts","../../../../node_modules/@types/history/domutils.d.ts","../../../../node_modules/@types/history/createbrowserhistory.d.ts","../../../../node_modules/@types/history/createhashhistory.d.ts","../../../../node_modules/@types/history/creatememoryhistory.d.ts","../../../../node_modules/@types/history/locationutils.d.ts","../../../../node_modules/@types/history/pathutils.d.ts","../../../../node_modules/@types/history/index.d.ts","../../../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../../node_modules/@types/is-function/index.d.ts","../../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../../node_modules/@types/istanbul-reports/index.d.ts","../../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../../node_modules/jest-diff/build/types.d.ts","../../../../node_modules/jest-diff/build/difflines.d.ts","../../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../../node_modules/jest-diff/build/index.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/@types/jest/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../../node_modules/@types/lodash/common/common.d.ts","../../../../node_modules/@types/lodash/common/array.d.ts","../../../../node_modules/@types/lodash/common/collection.d.ts","../../../../node_modules/@types/lodash/common/date.d.ts","../../../../node_modules/@types/lodash/common/function.d.ts","../../../../node_modules/@types/lodash/common/lang.d.ts","../../../../node_modules/@types/lodash/common/math.d.ts","../../../../node_modules/@types/lodash/common/number.d.ts","../../../../node_modules/@types/lodash/common/object.d.ts","../../../../node_modules/@types/lodash/common/seq.d.ts","../../../../node_modules/@types/lodash/common/string.d.ts","../../../../node_modules/@types/lodash/common/util.d.ts","../../../../node_modules/@types/lodash/index.d.ts","../../../../node_modules/@types/long/index.d.ts","../../../../node_modules/@types/markdown-to-jsx/index.d.ts","../../../../node_modules/@types/mdast/index.d.ts","../../../../node_modules/@types/micromatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../../../node_modules/@types/node-fetch/externals.d.ts","../../../../node_modules/@types/node-fetch/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/npmlog/index.d.ts","../../../../node_modules/@types/overlayscrollbars/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/parse5/index.d.ts","../../../../node_modules/@types/prettier/index.d.ts","../../../../node_modules/@types/pretty-hrtime/index.d.ts","../../../../node_modules/@types/q/index.d.ts","../../../../node_modules/@types/reach__router/index.d.ts","../../../../node_modules/@types/reactcss/index.d.ts","../../../../node_modules/@types/react-color/lib/components/alpha/alpha.d.ts","../../../../node_modules/@types/react-color/lib/components/block/block.d.ts","../../../../node_modules/@types/react-color/lib/components/common/checkboard.d.ts","../../../../node_modules/@types/react-color/lib/components/chrome/chrome.d.ts","../../../../node_modules/@types/react-color/lib/components/circle/circle.d.ts","../../../../node_modules/@types/react-color/lib/components/compact/compact.d.ts","../../../../node_modules/@types/react-color/lib/components/github/github.d.ts","../../../../node_modules/@types/react-color/lib/components/hue/hue.d.ts","../../../../node_modules/@types/react-color/lib/components/material/material.d.ts","../../../../node_modules/@types/react-color/lib/components/photoshop/photoshop.d.ts","../../../../node_modules/@types/react-color/lib/components/sketch/sketch.d.ts","../../../../node_modules/@types/react-color/lib/components/slider/slider.d.ts","../../../../node_modules/@types/react-color/lib/components/swatches/swatches.d.ts","../../../../node_modules/@types/react-color/lib/components/twitter/twitter.d.ts","../../../../node_modules/@types/react-color/lib/components/common/colorwrap.d.ts","../../../../node_modules/@types/react-color/index.d.ts","../../../../node_modules/@types/react-datepicker/node_modules/popper.js/index.d.ts","../../../../node_modules/date-fns/typings.d.ts","../../../../node_modules/@types/react-datepicker/index.d.ts","../../../../node_modules/@types/react-dom/index.d.ts","../../../../node_modules/@types/react-google-recaptcha/index.d.ts","../../../../node_modules/@types/react-is/index.d.ts","../../../../node_modules/@types/react-router/index.d.ts","../../../../node_modules/@types/react-router-dom/index.d.ts","../../../../node_modules/@types/react-syntax-highlighter/index.d.ts","../../../../node_modules/@types/react-test-renderer/index.d.ts","../../../../node_modules/@types/react-transition-group/transition.d.ts","../../../../node_modules/@types/react-transition-group/csstransition.d.ts","../../../../node_modules/@types/react-transition-group/transitiongroup.d.ts","../../../../node_modules/@types/react-transition-group/switchtransition.d.ts","../../../../node_modules/@types/react-transition-group/config.d.ts","../../../../node_modules/@types/react-transition-group/index.d.ts","../../../../node_modules/@types/redis/index.d.ts","../../../../node_modules/@types/resolve/index.d.ts","../../../../node_modules/@types/scheduler/index.d.ts","../../../../node_modules/@types/source-list-map/index.d.ts","../../../../node_modules/@types/stack-utils/index.d.ts","../../../../node_modules/@types/styled-components/index.d.ts","../../../../node_modules/@types/tapable/index.d.ts","../../../../node_modules/@types/testing-library__jest-dom/index.d.ts","../../../../node_modules/@types/ua-parser-js/index.d.ts","../../../../node_modules/@types/uglify-js/node_modules/source-map/source-map.d.ts","../../../../node_modules/@types/uglify-js/index.d.ts","../../../../node_modules/@types/validator/index.d.ts","../../../../node_modules/@types/webidl-conversions/index.d.ts","../../../../node_modules/anymatch/index.d.ts","../../../../node_modules/@types/webpack/node_modules/source-map/source-map.d.ts","../../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../../node_modules/@types/webpack-sources/lib/source.d.ts","../../../../node_modules/@types/webpack-sources/lib/compatsource.d.ts","../../../../node_modules/@types/webpack-sources/lib/concatsource.d.ts","../../../../node_modules/@types/webpack-sources/lib/originalsource.d.ts","../../../../node_modules/@types/webpack-sources/lib/prefixsource.d.ts","../../../../node_modules/@types/webpack-sources/lib/rawsource.d.ts","../../../../node_modules/@types/webpack-sources/lib/replacesource.d.ts","../../../../node_modules/@types/webpack-sources/lib/sizeonlysource.d.ts","../../../../node_modules/@types/webpack-sources/lib/sourcemapsource.d.ts","../../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../../node_modules/@types/webpack-sources/lib/cachedsource.d.ts","../../../../node_modules/@types/webpack-sources/index.d.ts","../../../../node_modules/@types/webpack/index.d.ts","../../../../node_modules/@types/webpack-env/index.d.ts","../../../../node_modules/@types/whatwg-url/index.d.ts","../../../../node_modules/@types/yargs-parser/index.d.ts"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"5b1d4ebd62d975c7d3826202f8fac290bac0bae6e04d9e84d1707d7047e108df","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"414bfceec07e8d48af9dfdac2608a905ddcd1bfd44233907c218de7d4b48a1f1","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","a03077961c09632b804a8f71461f13aea118ec709c4b7416bc821cd2eb29a9f2",{"version":"bac638ecef09a19c912d2f247f497e82ed606783be0968232bb008a520c63846","affectsGlobalScope":true},"6c66a57d151b6d08becb39cebed6a18c1b4947adfe4b6b6b0b2d6f6d4b5bde64","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"92d63add669d18ebc349efbacd88966d6f2ccdddfb1b880b2db98ae3aa7bf7c4","affectsGlobalScope":true},"ccc94049a9841fe47abe5baef6be9a38fc6228807974ae675fb15dc22531b4be",{"version":"9acfe4d1ff027015151ce81d60797b04b52bffe97ad8310bb0ec2e8fd61e1303","affectsGlobalScope":true},"43978f18d1165eea81040bc9bfac1a551717f5cc9bd0f13b31bf490c5fcdc75f","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","2f520601649a893e6a49a8851ebfcf4be8ce090dc1281c2a08a871cb04e8251f","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","2b8c764f856a1dd0a9a2bf23e5efddbff157de8138b0754010be561ae5fcaa90","ad4b60488fb1e562bf375dac9299815f7028bf667d9b5887b2d01d501b7d1ddd","246341c3a7a2638cf830d690e69de1e6085a102c6a30596435b050e6ac86c11a","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"aa8fe22e10f78a67b2ffbcc614b45fe258ff9e71d53ddb56e75fa7883c530270","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","fa9859478a480a6dfe625d204d5a3a38810b60933ac2b36ba77126cace1d44d3","b287b810b5035d5685f1df6e1e418f1ca452a3ed4f59fd5cc081dbf2045f0d9b","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","a458dc78104cc80048ac24fdc02fe6dce254838094c2f25641b3f954d9721241",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"f3e8bcce378a26bc672fce0ec05affabbbbfa18493b76f24c39136dea87100d0","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","cd4854d38f4eb5592afd98ab95ca17389a7dfe38013d9079e802d739bdbcc939","94eed4cc2f5f658d5e229ff1ccd38860bddf4233e347bf78edd2154dee1f2b99",{"version":"e51bee3200733b1f58818b5a9ea90fcd61c5b8afa3a0378391991f3696826a65","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","e70339a3d63f806c43f24250c42aa0000093923457b0ed7dfc10e0ac910ebca9","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","d7838022c7dab596357a9604b9c6adffe37dc34085ce0779c958ce9545bd7139","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"a279435e7813d1f061c0cab6ab77b1b9377e8d96851e5ed4a76a1ce6eb6e628f","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"b42b47e17b8ece2424ae8039feb944c2e3ba4b262986aebd582e51efbdca93dc","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4","b810390059fc34122556c644f586e7a2b4598ded8afe5ba70bb82fc2e50577b1","badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"e704d7faa97765900963ac1ef5c675cb4c354f2a7fc9fbc104052e14bd65d614","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","65cfd1c0bc729fbc2b49fe66bc5ebddba5aa3a978c748e1d2e0d07f502238ce2","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"61b60d145059c3c8e3c7b484713191b6d0b70999bcb11f2b26286b15926a2b5f","affectsGlobalScope":true},"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","f82348f8ac4f637d6ad76ef5d45577ccc0c59fbd25d8c44d55349a71a90e195a","8dfed5c91ad36e69e6da6b7e49be929d4e19666db2b651aa839c485170a2902c","4aaf84a5ac87bad3211f041fab85de5cc42e5954c3ed56842faf6f08167e6202","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","d0b0a00cf31968a33baeaadf974ce4e5e7edf58cea5288765293f41ba5e72b3a","57ddc4e066366bbe04f497f9afce1c88e088dbd09be0618e072754450de3acbb","40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281","f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69","8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012","92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9","567a315b240a060518c532d38a46803b6d35e75dc14a9be435b6dc20c816741e","117ffeecf6c55e25b6446f449ad079029b5e7317399b0a693858faaaea5ca73e","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612",{"version":"1b52819541d7e973c4e9988652ee603823154e48d72028e01929c9dcff0e6e36","affectsGlobalScope":true},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","a6d8b5ec56c550fc46a802e19f596e858056f30fd895e5aab7b0a37637c3ec7a","65cfd1c0bc729fbc2b49fe66bc5ebddba5aa3a978c748e1d2e0d07f502238ce2","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec",{"version":"61b60d145059c3c8e3c7b484713191b6d0b70999bcb11f2b26286b15926a2b5f","affectsGlobalScope":true},"ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","725b884357ba84171341a8e4cc08edf11417854fd069842ca6d22afb2e340e45","d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0",{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true},"2bcecd31f1b4281710c666843fc55133a0ee25b143e59f35f49c62e168123f4b","a6273756fa05f794b64fe1aff45f4371d444f51ed0257f9364a8b25f3501915d","2374e4ddc628bd0af8ce7578621f1b9d08ab183f4dbacb8749eabb1a85018196","25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","ab35d08aa06a7615f06dad04db7e88f27d623220f05de68a94f16d5d22e6aaea","bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","70b34c8420d6226ed565d55f47fe04912d0ca0ad128825c5a06e018a3498db32","de1d6e224048139baf7494237a9231be6bab9e990fb239c7825bfd38b06d8c90","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","7aa2c4361d1f3243c262813fec18366e89578c527f44b1ec60fdc8fc7977d551","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","378df8bbbb9e3f6fca05d58f644aab538e1062eab5e778fb0b83d41125df246d","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5","2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","1a255ad66d2b50f7b42eca69228b9587878cf06900780ad57a306a933c6eaeb4","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","fda7ad096a1619fbae01b3d869cc82e29116f22be50133ac8fb08cee21279acd","9751247ee3bbcf1c63592f0f4dafb44559680b2b3e5736b7f0578c6a737d74c8","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26","f58599a92d4a64416f4999a4d7241e1647aec2a6249214892722f712a6eedbe0","c0a3ea3aee13c4946a6aefce3a6ab9292a40a29f6622cde0fda0b1067a1a1f5f","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","94a274c882504de552300fc5d6be141820041e9e2c530064ea10a0b76e2f905f","e00db3e889b50012ee27bbec4e0a63762fdb646bc7394a8fcdca3c467bbca19c","ad8c69f4a471cafdf093acdcdf3b444ae56b227b92024ae45f8c9c9c8be8afcc","71a6149f67a64b55baeddb83e5254e9e017c80c15a260d6f6b3a12deb3a575ed","6c881abb4a0e7579a9d5b63a7e4da3d98b094adf0f1d1fa75bbe433b9f3d7c27","66d6844502d7764a8e02b632228c4c5a95f7cac7bce1a0db07f0dcc377d3755b","2e1be3fee9ccef82555b2f039e8e100e0a176ee2d18b0de95e7da6a61e1e360a","5c48fc6096e361e639c1d0a9f7f066242bf757ace84843582d29c6813563055a","bebac54845e03ea36044fab99b5a51266cec2492fcd8a95bde6d5527a3174732","ef141fd0ac854fc92cbc9a13cd25a0ac87b3961f70d516f191bb3e29d3b183fe","a90c6f5554bd74f63aaf03751e6b79d01a457b59339b03d308c16af8f266cf47","7d5d42c18c62ef137b8830b7de8432b466c8f4d93fa8476ac36d2f69114fad1e","484faf958ae025f8d1ce6cb9c75e12c2148190efc22151299d14d10e3601cbba","66ddf54cc3d66cdab1b69e6879af9876bbc30030f85e51ba8a73223339e65b85","734166f6ae00b52512304c153644963fd93cd152620231ea7a0560802c968d28","15ce0cfa537ada25e07633617a993a8e02827939c2128d39c010739f28a0379c","d4651fea5715aea8b2093c06732913349565c65c3ab1796da728f6491d94f53b","00ee901c4135af0d5688bee246d1e42ef7421cec93c32587e4814f744b95e2e8","1873db8f2261ba4f248bde3e5bb4c79b1fdc990315054e9604fce8f41ddd1587",{"version":"1d0bc60392337af768b512e82166612c0bd22edfb5f2924051bd30fabbff77f2","affectsGlobalScope":true},"277e1730905188f221819333858343af24b5488efd52c2a100fe2f5bcf21126d","b4dfafe583b829a382edccbe32303535d0785f0c02ba7f04418e2a81de97af8a","8149c5229ec86e900929315dad25eb6cd94f1e93433680c0e7efe2c6b79f4c2a","b84d09615bccb2123b7f330f90b1f5fdb6720fce0e62f0d2cad6431ac58f5b71","6c362c5d50652957065cf52f282a2bf0a456ed3713738d0ee1a9089dbb5b5fe7","da4c86081c9c0859623ab34876095312c1a1a2f1d59532fa2249eaf6e0f43ee4",{"version":"cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8","affectsGlobalScope":true},"60aaac5fb1858fbd4c4eb40e01706eb227eed9eca5c665564bd146971280dbd3","30688eab034d1aa3bbe4d8f2c7f462ddaec9f30f1a38a306a4728a9a06a58b11","e03334588c63840b7054accd0b90f29c5890db6a6555ac0869a78a23297f1396","42287355b5372067743496816f5dfaf877fad5ce60645209b91db6aee8de898f","c220410b8e956fa157ce4e5e6ac871f0f433aa120c334d906ff1f5e2c7369e95","960a68ced7820108787135bdae5265d2cc4b511b7dcfd5b8f213432a8483daf1","ed3b711f533ddb3a5451f4c4bb0df3a0b95e9d0433b3b7834644dd1718d06d31","1746ef6931d8b4739de3cd6c82d09f5b8edfef49825e1fb5e88b93c52df3fecd","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298",{"version":"fe7982c862becbf26d3a6d379ee06b23279bb552f21d9e9153173f4ea353b2be","affectsGlobalScope":true},"3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67",{"version":"40bbeaccf39d6ad00da30e96553f0c4aa1b8a87535393c7fdf939170b639c95d","affectsGlobalScope":true},"c5e775cc64dcc3b16c41f28b9aee23bb2854792114ea49a8b2bdc35dc9549ca0","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","40bc9bf6808edd4fed3703f1ce7b50f1eb9124d2ac168f85fc4adbb4bd77e291","95d085761c8e8d469a9066a9cc7bd4b5bc671098d2f8442ae657fb35b3215cf1","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","cd6a7c1c2a6461c6868601ca2144a41f8ee6d4a85d4b4cf1deb651e6c2ebc9e5",{"version":"3a1e422f919c70fca66e94dc641ad8d9732b3d2533ac047b8a9aaca9eea3aa10","affectsGlobalScope":true},"67483628398336d0f9368578a9514bd8cc823a4f3b3ab784f3942077e5047335","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2"],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":4,"module":1,"noImplicitAny":true,"outDir":"./cjs","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":1},"fileIdsList":[[97,114,217],[97,217],[97,114,115,116,117,118,217],[97,114,116,217],[97,104,217],[72,97,104,105,217],[97,122,217],[97,123,124,217],[97,123,217],[72,97,217],[97,110,130,131,133,217],[97,134,217],[69,72,97,104,107,108,217],[97,106,108,109,112,217],[69,97,104,140,217],[70,97,104,217],[97,144,217],[97,146,152,217],[97,147,148,149,150,151,217],[97,152,217],[48,97,217],[97,156,217],[97,157,217],[97,163,165,217],[97,164,217],[97,169,171,172,173,174,175,176,177,178,179,180,181,217],[97,169,170,172,173,174,175,176,177,178,179,180,181,217],[97,170,171,172,173,174,175,176,177,178,179,180,181,217],[97,169,170,171,173,174,175,176,177,178,179,180,181,217],[97,169,170,171,172,174,175,176,177,178,179,180,181,217],[97,169,170,171,172,173,175,176,177,178,179,180,181,217],[97,169,170,171,172,173,174,176,177,178,179,180,181,217],[97,169,170,171,172,173,174,175,177,178,179,180,181,217],[97,169,170,171,172,173,174,175,176,178,179,180,181,217],[97,169,170,171,172,173,174,175,176,177,179,180,181,217],[97,169,170,171,172,173,174,175,176,177,178,180,181,217],[97,169,170,171,172,173,174,175,176,177,178,179,181,217],[97,169,170,171,172,173,174,175,176,177,178,179,180,217],[97,121,217],[72,96,97,104,187,188,217],[72,86,97,104,217],[69,97,217],[48,97,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,217],[48,97,199,215,217],[48,97,215,217],[48,97,216,217],[48,97,152,217,222],[48,97,152,217],[48,97,217,224],[48,97,217,226],[97,217,226,227,228,229,230],[44,45,46,47,97,217],[69,86,97,104,217],[72,97,104,111,217],[45,48,97,153,217],[97,166,217],[97,217,241],[97,104,217,248,249,250,251,252,253,254,255,256,257,258],[97,217,247,248,257],[97,217,248,257],[97,217,235,247,248,257],[97,217,247,248,249,250,251,252,253,254,255,256,258],[97,217,248],[63,97,217,247,257],[63,97,104,217,238,241,242,245,259],[58,97,217],[97,159,160,217],[97,159,160,161,162,217],[72,97,104,217],[54,97,217],[57,97,217],[58,63,97,217],[59,69,70,77,86,96,97,217],[59,60,69,77,97,217],[61,97,217],[62,63,70,78,97,217],[63,86,93,97,217],[64,66,69,77,97,217],[65,97,217],[66,67,97,217],[68,69,97,217],[69,70,71,86,96,97,217],[69,70,71,86,97,217],[72,77,86,96,97,217],[69,70,72,73,77,86,93,96,97,217],[72,74,86,93,96,97,217],[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,217],[69,75,97,217],[76,96,97,217],[66,69,77,86,97,217],[78,97,217],[79,97,217],[57,80,97,217],[81,95,97,101,217],[82,97,217],[83,97,217],[69,84,97,217],[84,85,97,99,217],[69,86,87,88,97,217],[86,88,97,217],[86,87,97,217],[89,97,217],[90,97,217],[69,91,92,97,217],[91,92,97,217],[63,77,93,97,217],[94,97,217],[77,95,97,217],[58,72,83,96,97,217],[63,97,217],[86,97,98,217],[97,99,217],[97,100,217],[58,63,69,71,80,86,96,97,99,101,217],[86,97,102,217],[49,97,217],[51,97,217]],"referencedMap":[[116,1],[114,2],[113,2],[119,3],[115,1],[117,4],[118,1],[120,5],[135,6],[121,2],[123,7],[125,8],[124,9],[122,2],[126,2],[127,2],[128,10],[129,2],[130,2],[134,11],[131,12],[133,2],[137,13],[139,14],[142,2],[141,15],[143,16],[145,17],[147,18],[148,18],[149,18],[146,2],[152,19],[150,20],[151,20],[153,21],[154,2],[155,2],[156,2],[157,22],[158,23],[166,24],[165,25],[164,2],[132,2],[167,2],[168,5],[170,26],[171,27],[169,28],[172,29],[173,30],[174,31],[175,32],[176,33],[177,34],[178,35],[179,36],[180,37],[181,38],[182,2],[183,21],[184,17],[185,39],[140,2],[186,2],[188,2],[189,40],[187,41],[190,2],[191,42],[192,2],[193,2],[194,2],[195,2],[196,2],[46,2],[197,2],[138,2],[198,21],[215,43],[200,44],[201,44],[203,44],[204,44],[202,21],[214,45],[205,44],[206,44],[207,44],[208,44],[209,44],[210,44],[211,44],[212,44],[213,44],[218,46],[216,2],[219,21],[220,21],[221,21],[223,47],[222,48],[224,49],[225,21],[230,2],[227,50],[231,51],[229,21],[226,21],[228,50],[44,2],[48,52],[49,21],[199,21],[232,53],[233,5],[234,2],[47,2],[136,54],[235,2],[236,2],[237,55],[238,2],[239,56],[240,2],[242,57],[241,2],[144,2],[243,2],[244,2],[261,2],[259,58],[258,59],[249,60],[250,61],[257,62],[251,61],[252,60],[253,60],[254,60],[255,63],[248,64],[256,59],[247,2],[260,65],[246,2],[262,5],[263,2],[245,2],[51,66],[50,2],[45,2],[217,2],[159,2],[161,67],[163,68],[162,67],[160,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[8,2],[40,2],[41,2],[42,2],[1,2],[9,2],[43,2],[106,6],[105,69],[109,13],[110,2],[111,2],[54,70],[55,70],[57,71],[58,72],[59,73],[60,74],[61,75],[62,76],[63,77],[64,78],[65,79],[66,80],[67,80],[68,81],[69,42],[70,82],[71,83],[56,2],[103,2],[72,84],[73,85],[74,86],[104,87],[75,88],[76,89],[77,90],[78,91],[79,92],[80,93],[81,94],[82,95],[83,96],[84,97],[85,98],[86,99],[88,100],[87,101],[89,102],[90,103],[91,104],[92,105],[93,106],[94,107],[95,108],[96,109],[97,110],[98,111],[99,112],[100,113],[101,114],[102,115],[108,2],[107,2],[112,54],[53,116],[52,117]],"exportedModulesMap":[[116,1],[114,2],[113,2],[119,3],[115,1],[117,4],[118,1],[120,5],[135,6],[121,2],[123,7],[125,8],[124,9],[122,2],[126,2],[127,2],[128,10],[129,2],[130,2],[134,11],[131,12],[133,2],[137,13],[139,14],[142,2],[141,15],[143,16],[145,17],[147,18],[148,18],[149,18],[146,2],[152,19],[150,20],[151,20],[153,21],[154,2],[155,2],[156,2],[157,22],[158,23],[166,24],[165,25],[164,2],[132,2],[167,2],[168,5],[170,26],[171,27],[169,28],[172,29],[173,30],[174,31],[175,32],[176,33],[177,34],[178,35],[179,36],[180,37],[181,38],[182,2],[183,21],[184,17],[185,39],[140,2],[186,2],[188,2],[189,40],[187,41],[190,2],[191,42],[192,2],[193,2],[194,2],[195,2],[196,2],[46,2],[197,2],[138,2],[198,21],[215,43],[200,44],[201,44],[203,44],[204,44],[202,21],[214,45],[205,44],[206,44],[207,44],[208,44],[209,44],[210,44],[211,44],[212,44],[213,44],[218,46],[216,2],[219,21],[220,21],[221,21],[223,47],[222,48],[224,49],[225,21],[230,2],[227,50],[231,51],[229,21],[226,21],[228,50],[44,2],[48,52],[49,21],[199,21],[232,53],[233,5],[234,2],[47,2],[136,54],[235,2],[236,2],[237,55],[238,2],[239,56],[240,2],[242,57],[241,2],[144,2],[243,2],[244,2],[261,2],[259,58],[258,59],[249,60],[250,61],[257,62],[251,61],[252,60],[253,60],[254,60],[255,63],[248,64],[256,59],[247,2],[260,65],[246,2],[262,5],[263,2],[245,2],[51,66],[50,2],[45,2],[217,2],[159,2],[161,67],[163,68],[162,67],[160,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[8,2],[40,2],[41,2],[42,2],[1,2],[9,2],[43,2],[106,6],[105,69],[109,13],[110,2],[111,2],[54,70],[55,70],[57,71],[58,72],[59,73],[60,74],[61,75],[62,76],[63,77],[64,78],[65,79],[66,80],[67,80],[68,81],[69,42],[70,82],[71,83],[56,2],[103,2],[72,84],[73,85],[74,86],[104,87],[75,88],[76,89],[77,90],[78,91],[79,92],[80,93],[81,94],[82,95],[83,96],[84,97],[85,98],[86,99],[88,100],[87,101],[89,102],[90,103],[91,104],[92,105],[93,106],[94,107],[95,108],[96,109],[97,110],[98,111],[99,112],[100,113],[101,114],[102,115],[108,2],[107,2],[112,54],[53,116],[52,117]],"semanticDiagnosticsPerFile":[116,114,113,119,115,117,118,120,135,121,123,125,124,122,126,127,128,129,130,134,131,133,137,139,142,141,143,145,147,148,149,146,152,150,151,153,154,155,156,157,158,166,165,164,132,167,168,170,171,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,140,186,188,189,187,190,191,192,193,194,195,196,46,197,138,198,215,200,201,203,204,202,214,205,206,207,208,209,210,211,212,213,218,216,219,220,221,223,222,224,225,230,227,231,229,226,228,44,48,49,199,232,233,234,47,136,235,236,237,238,239,240,242,241,144,243,244,261,259,258,249,250,257,251,252,253,254,255,248,256,247,260,246,262,263,245,51,50,45,217,159,161,163,162,160,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,39,35,36,37,38,8,40,41,42,1,9,43,106,105,109,110,111,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,56,103,72,73,74,104,75,76,77,78,79,80,81,82,83,84,85,86,88,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,108,107,112,53,52]},"version":"4.4.4"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tellescope/testing",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "General purpose testing utilities",
5
5
  "main": "./lib/cjs/testing.js",
6
6
  "module": "./lib/esm/testing.js",
@@ -10,7 +10,7 @@
10
10
  "build": "npm run-script build:esm && npm run-script build:cjs",
11
11
  "build:esm": "tsc",
12
12
  "build:cjs": "tsc --module commonjs --outDir lib/cjs",
13
- "watch": "nodemon --ignore lib --ext ts --exec npm run-script build"
13
+ "watch:cjs": "tsc --module commonjs --outDir lib/cjs --watch"
14
14
  },
15
15
  "repository": {
16
16
  "type": "git",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "homepage": "https://github.com/tellescope-os/tellescope#readme",
25
25
  "dependencies": {
26
- "@tellescope/types": "^0.0.3"
26
+ "@tellescope/types": "^0.0.4"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/express": "^4.17.13",
@@ -31,13 +31,11 @@
31
31
  "@typescript-eslint/parser": "^4.33.0",
32
32
  "eslint": "^7.32.0",
33
33
  "eslint-plugin-react": "^7.26.1",
34
- "express": "^4.17.1",
35
- "mongodb": "^4.1.2",
36
34
  "nodemon": "^2.0.13",
37
35
  "typescript": "^4.4.3"
38
36
  },
39
37
  "publishConfig": {
40
38
  "access": "public"
41
39
  },
42
- "gitHead": "abdfa049e06a2d86c107d8ace9827aa73b8e9c3e"
40
+ "gitHead": "8093dbf4015d6196a234e4922564ddce3df0a9a7"
43
41
  }
package/tsconfig.json CHANGED
@@ -1,17 +1,12 @@
1
1
  {
2
+ "extends": "../tsconfig.settings.json",
2
3
  "compilerOptions": {
3
4
  "outDir": "lib/esm",
4
- "module": "esnext",
5
- "esModuleInterop": true,
6
- "target": "es5",
7
- "declaration": true,
8
- "moduleResolution": "node",
9
- "sourceMap": true,
10
- "noImplicitAny": true,
11
- "lib": ["es6", "dom", "es2016", "es2017"],
12
- "jsx": "react",
13
- "strict": true
5
+ "rootDir": "src",
14
6
  },
15
7
  "exclude": ["node_modules", "lib"],
16
- "include": ["src"]
8
+ "include": ["src"],
9
+ "references": [
10
+ { "path": "../types" }
11
+ ]
17
12
  }
package/index.d.ts DELETED
@@ -1,607 +0,0 @@
1
- type ObjectId = { // fixes monorepo (lerna)-related type issues
2
- toString: () => string,
3
- } & import('mongodb').ObjectId
4
-
5
- type SortOption = "oldFirst" | "newFirst"
6
-
7
- interface CustomUpdateOptions {
8
- replaceObjectFields?: boolean,
9
- }
10
-
11
- // extend Request object to allow for session and validated fields to be added with strict checking
12
- // https://stackoverflow.com/questions/37377731/extend-express-request-object-using-typescript
13
- declare namespace Express {
14
- export interface Request {
15
- session?: EnduserSession | UserSession,
16
- validated: any,
17
- }
18
-
19
- export interface UserRequest<T> extends Express.Request {
20
- session: UserSession & {
21
- organization: string,
22
- fname: string,
23
- lname: string,
24
- orgEmail: string,
25
- orgName: string;
26
- username: string,
27
- },
28
- validated: T,
29
- path: string,
30
- }
31
-
32
- export interface EnduserRequest<T> extends Express.Request {
33
- session: EnduserSession,
34
- validated: T,
35
- path: string,
36
- }
37
- }
38
-
39
- interface Indexable<T=any> { [index: string] : T }
40
-
41
- type JSONType = null | number | boolean | string | object | undefined
42
- type EscapeWithOptions<R=any> = (o: ValidatorOptions) => (v: JSONType) => R
43
- type EscapeFunction<R=any> = (v: JSONType) => R
44
- type EscapeToList<R=any> = EscapeFunction<R[]>
45
-
46
- type ErrorType = "User" | "Internal"
47
- type ErrorCode = 400 | 401
48
-
49
- interface ErrorInfo {
50
- message: string;
51
- info: object;
52
- }
53
-
54
- interface APIError extends ErrorInfo {
55
- code: ErrorCode;
56
- }
57
-
58
- interface RecordInfo {
59
- businessId: string;
60
- updatedAt: Date;
61
- creator: string;
62
- }
63
-
64
- interface DatabaseRecord extends RecordInfo { _id: ObjectId }
65
- interface ClientRecord extends RecordInfo { id: string }
66
-
67
- type OrganizationLimit = 'endusersLimit'
68
- | 'smsLimit'
69
- | 'emailsLimit'
70
- | 'tasksLimit'
71
- | 'formsLimit'
72
- | 'orgUsersLimit'
73
- | 'automationsLimit'
74
- | 'automationStepsLimit'
75
- | 'journeysLimit'
76
- | 'journeyStatesLimit'
77
- | 'templatesLimit'
78
- | 'apiKeysLimit'
79
-
80
- type OrganizationLimits = {
81
- [K in OrganizationLimit]?: number;
82
- }
83
-
84
- interface OrganizationInfo {
85
- _id: string;
86
- creator: string;
87
- name: string;
88
- subscriptionExpiresAt: Date;
89
- subscriptionPeriod: number;
90
- roles?: string[];
91
- logoVersion?: number; // missing if no logo set
92
- themeColor?: string;
93
- }
94
- interface Organization extends OrganizationInfo, OrganizationLimits {}
95
-
96
- type AccessType = "All" | "Assigned" | null
97
- type AccessAction = "create" | "read" | "update" | "delete"
98
- type AccessResources = ModelName
99
- | 'apiKeys'
100
- | "automations"
101
- | "automationSteps"
102
- | "automationUsers"
103
- | "emails"
104
- | "endusers"
105
- | "enduserNotes"
106
- | "engagement"
107
- | "files"
108
- | "forms"
109
- | "formResponses"
110
- | "journeys"
111
- | "meetings"
112
- | "notifications"
113
- | "reminders"
114
- | "sms"
115
- | "teamChat"
116
- | "taskTemplates"
117
- | "templates"
118
- | "organization"
119
- | "orgStatistics"
120
- | "users"
121
- type AccessForResource = {
122
- [K in AccessAction]: AccessType
123
- }
124
- type AccessPermissions = {
125
- [K in AccessResources]: AccessForResource
126
- }
127
-
128
- interface Session {
129
- _id: ObjectId,
130
- type: "user" | "enduser",
131
- iat: number,
132
- exp: number,
133
- }
134
-
135
- type SessionType = "user" | "enduser"
136
- interface EnduserSession extends Session, Enduser {
137
- type: "enduser",
138
- enduserId: string,
139
- }
140
- type ClientEnduserSession = ToClient<EnduserSession>
141
-
142
- interface UserSession extends Session, User, OrganizationLimits { // User joined with organization, access, and other details
143
- type: "user";
144
- userId: string;
145
- subscriptionExpiresAt: Date;
146
- subscriptionPeriod: number;
147
- access: AccessPermissions;
148
- orgName: string;
149
- verifiedEmail: boolean;
150
- wasAutomated: boolean;
151
- }
152
- type ClientUserSession = ToClient<UserSession>
153
- type ConfiguredSessionInfo = { organization: string, username: string, orgEmail: string, orgName: string, fname: string, lname: string }
154
- type ConfiguredSession = UserSession & ConfiguredSessionInfo
155
-
156
- interface PublicOrganizationInfo {
157
- name: string;
158
- businessId: string;
159
- logoVersion?: number; // missing if no logo set
160
- themeColor?: string;
161
- }
162
-
163
- interface OrganizationInfo {
164
- _id: string;
165
- creator: string;
166
- name: string;
167
- subscriptionExpiresAt: Date;
168
- subscriptionPeriod: number;
169
- roles?: string[];
170
- logoVersion?: number; // missing if no logo set
171
- themeColor?: string;
172
- }
173
- type OrganizationLimitFields = 'smsLimit' | 'endusersLimit' | 'journeysLimit' | 'automationsLimit'
174
-
175
- interface Organization extends OrganizationInfo {
176
- 'smsLimit'?: number;
177
- 'emailsLimit'?: number;
178
- 'endusersLimit'?: number;
179
- 'journeysLimit'?: number;
180
- 'automationsLimit'?: number;
181
- }
182
-
183
- type AccountType = "Business"// | "joining org"
184
-
185
- interface User_readonly extends DatabaseRecord {
186
- organization?: string
187
- orgEmail?: string;
188
- }
189
- interface User_required {
190
- email: string;
191
- }
192
- interface User_updatesDisabled {}
193
- interface User extends User_required, User_readonly, User_updatesDisabled {
194
- phone?: string;
195
- username?: string;
196
- fname?: string;
197
- lname?: string;
198
- accountType?: AccountType;
199
- roles?: string[];
200
- }
201
-
202
- type Preference = 'email' | 'sms' | 'call' | 'chat'
203
- interface CustomField {
204
- value: string | object;
205
- title?: string;
206
- description?: string;
207
- }
208
-
209
- interface Enduser_readonly extends DatabaseRecord {
210
- unread: boolean;
211
- lastCommunication?: Date;
212
- recentMessagePreview?: string;
213
- hashedPassword: string;
214
- }
215
- interface Enduser_required {}
216
- interface Enduser_updatesDisabled {}
217
- interface Enduser extends Enduser_readonly, Enduser_required, Enduser_updatesDisabled {
218
- email? : string;
219
- emailConsent? : boolean;
220
- phone? : string;
221
- phoneConsent? : boolean;
222
- fname? : string;
223
- lname? : string;
224
- journeys?: Indexable<string>;
225
- tags? : string[];
226
- fields? : Indexable<string | CustomField>;
227
- preference? : Preference;
228
- assignedTo? : string;
229
- }
230
-
231
- interface APIKey_readonly extends DatabaseRecord {
232
- hashedKey: string, // stored as hash
233
- }
234
- interface APIKey_required {}
235
- interface APIKey_updatesDisabled {}
236
- interface APIKey extends APIKey_readonly, APIKey_required, APIKey_updatesDisabled {}
237
-
238
- interface EngagementEvent_readonly extends DatabaseRecord {}
239
- interface EngagementEvent_required {
240
- enduserId: string,
241
- type: string,
242
- significance: number,
243
- }
244
- interface EngagementEvent_updatesDisabled {
245
- enduserId: string,
246
- }
247
- interface EngagementEvent extends EngagementEvent_readonly, EngagementEvent_required, EngagementEvent_updatesDisabled {
248
- timestamp: Date,
249
- fields?: Indexable<string | number | null>,
250
- }
251
-
252
- type JourneyStatePriority = "Disengaged" | "N/A" | "Engaged"
253
-
254
- interface JourneyState { // info needed to create a state
255
- name: string;
256
- priority: JourneyStatePriority; // may still include High/Medium/Low as old states
257
- requiresFollowup?: boolean; // missing => false
258
- description?: string;
259
- }
260
-
261
- interface Journey_readonly extends DatabaseRecord {}
262
- interface Journey_updatesDisabled {}
263
- interface Journey_required {
264
- title: string;
265
- }
266
- interface Journey extends Journey_readonly, Journey_required, Journey_updatesDisabled {
267
- defaultState: string;
268
- states: JourneyState[];
269
- description?: string;
270
- }
271
-
272
- interface Task_readonly extends DatabaseRecord {}
273
- interface Task_required {
274
- text: string;
275
- }
276
- interface Task_updatesDisabled {}
277
- interface Task extends Task_required, Task_readonly, Task_updatesDisabled {
278
- completed?: boolean;
279
- description?: string;
280
- dueDate?: Date;
281
- assignedTo?: string;
282
- enduserId?: string;
283
- subscribers?: string[];
284
- subscriberRoles?: string[];
285
- }
286
-
287
- type EmailEncoding = '' | 'base64'
288
-
289
- interface Email_readonly extends DatabaseRecord {
290
- businessUserId: string;
291
- delivered: boolean;
292
- threadId: string;
293
- source: string; // email address of sender
294
- openedAt?: Date;
295
- linkOpens?: { [index: number]: Date };
296
- textEncoding?: EmailEncoding,
297
- htmlEncoding?: EmailEncoding,
298
- }
299
- interface Email_required {
300
- enduserId: string | null;
301
- subject: string;
302
- textContent: string;
303
- }
304
- interface Email_updatesDisabled {}
305
- interface Email extends Email_required, Email_readonly, Email_updatesDisabled {
306
- logOnly?: boolean,
307
- HTMLContent?: string;
308
- timestamp: Date;
309
- replyTo?: string | null;
310
- messageId?: string;
311
- inbound?: boolean;
312
- // sentAt: string, // only outgoing
313
- }
314
-
315
- interface SMSMessage_readonly extends DatabaseRecord {
316
- businessUserId: string,
317
- delivered: boolean,
318
- }
319
- interface SMSMessage_required {
320
- enduserId: string,
321
- message: string,
322
- }
323
- interface SMSMessage_updatesDisabled {}
324
- interface SMSMessage extends SMSMessage_readonly, SMSMessage_required, SMSMessage_updatesDisabled {
325
- logOnly?: boolean,
326
- timestamp: Date,
327
- inbound: boolean,
328
- newThread: boolean,
329
- usingPublicNumber?: boolean, // flagged on outgoing messages from public number
330
- // sentAt: string, // only outgoing
331
- }
332
-
333
- type ChatRoomType = 'internal' | 'external'
334
- type ChatRoomTopic = 'enduser' | 'task'
335
-
336
- interface ChatRoom_readonly extends DatabaseRecord {}
337
- interface ChatRoom_required {
338
- type: ChatRoomType;
339
- userIds: string[];
340
- }
341
- interface ChatRoom_updatesDisabled {}
342
- interface ChatRoom extends ChatRoom_readonly, ChatRoom_required, ChatRoom_updatesDisabled {
343
- topic?: ChatRoomTopic;
344
- topicId?: string;
345
- enduserIds?: string[];
346
- }
347
-
348
- interface ChatMessage_readonly extends DatabaseRecord {
349
- senderId: string | null;
350
- }
351
- interface ChatMessage_required {
352
- roomId: string;
353
- message: string;
354
- }
355
- interface ChatMessage_updatesDisabled {
356
- roomId: string;
357
- replyId?: string | null; // to support threaded replies to a specific root message
358
- }
359
- interface ChatMessage extends ChatMessage_readonly, ChatMessage_required, ChatMessage_updatesDisabled {
360
- replyId?: string | null; // to support threaded replies to a specific root message
361
- readBy?: { [index: string] : Date };
362
- }
363
-
364
- type MessageTemplateType = 'enduser' | 'team' // default to 'enduser'
365
-
366
- interface MessageTemplate_readonly extends DatabaseRecord {}
367
- interface MessageTemplate_required {
368
- title: string;
369
- subject: string;
370
- message: string;
371
- }
372
- interface MessageTemplate_updatesDisabled {}
373
- interface MessageTemplate extends MessageTemplate_readonly, MessageTemplate_required, MessageTemplate_updatesDisabled {
374
- type?: MessageTemplateType;
375
- }
376
-
377
- type CRUD = 'create' | 'update' | 'read' | 'delete'
378
- type HTTPMethod = 'post' | 'get' | 'patch' | 'delete'
379
- type Operation = CRUD | 'createMany' | 'readMany'
380
-
381
- type ModelForName_required = {
382
- endusers: Enduser_required;
383
- engagement_events: EngagementEvent_required;
384
- journeys: Journey_required;
385
- api_keys: APIKey_required;
386
- tasks: Task_required;
387
- emails: Email_required;
388
- sms_messages: SMSMessage_required;
389
- chat_rooms: ChatRoom_required;
390
- chats: ChatMessage_required;
391
- users: User_required;
392
- templates: MessageTemplate_required;
393
- }
394
- type DatabaseModel_required = ModelForName_required[keyof ModelForName_required]
395
-
396
- interface ModelForName_readonly {
397
- endusers: Enduser_readonly;
398
- engagement_events: EngagementEvent_readonly;
399
- journeys: Journey_readonly;
400
- api_keys: APIKey_readonly;
401
- tasks: Task_readonly;
402
- emails: Email_readonly;
403
- sms_messages: SMSMessage_readonly;
404
- chat_rooms: ChatRoom_readonly;
405
- chats: ChatMessage_readonly;
406
- users: User_readonly;
407
- templates: MessageTemplate_readonly;
408
- }
409
- type DatabaseModel_readonly = ModelForName_readonly[keyof ModelForName_readonly]
410
-
411
- interface ModelForName_updatesDisabled {
412
- endusers: Enduser_updatesDisabled;
413
- engagement_events: EngagementEvent_updatesDisabled;
414
- journeys: Journey_updatesDisabled;
415
- api_keys: APIKey_updatesDisabled;
416
- tasks: Task_updatesDisabled;
417
- emails: Email_updatesDisabled;
418
- sms_messages: SMSMessage_updatesDisabled;
419
- chat_rooms: ChatRoom_updatesDisabled;
420
- chats: ChatMessage_updatesDisabled;
421
- users: User_updatesDisabled;
422
- templates: MessageTemplate_updatesDisabled;
423
- }
424
- type DatabaseModel_updatesDisabled = ModelForName_updatesDisabled[keyof ModelForName_updatesDisabled]
425
-
426
- interface ModelForName extends ModelForName_required, ModelForName_readonly {
427
- endusers: Enduser;
428
- engagement_events: EngagementEvent;
429
- journeys: Journey;
430
- api_keys: APIKey;
431
- tasks: Task;
432
- emails: Email;
433
- sms_messages: SMSMessage;
434
- chat_rooms: ChatRoom;
435
- chats: ChatMessage;
436
- users: User;
437
- templates: MessageTemplate;
438
- }
439
- type ModelName = keyof ModelForName
440
- type DatabaseModel = ModelForName[keyof ModelForName]
441
-
442
- interface ClientModelForName extends ModelForName {
443
- endusers: ToClient<Enduser>;
444
- engagement_events: ToClient<EngagementEvent>;
445
- journeys: ToClient<Journey>;
446
- api_keys: ToClient<APIKey>;
447
- tasks: ToClient<Task>;
448
- emails: ToClient<Email>;
449
- sms_messages: ToClient<SMSMessage>;
450
- chat_rooms: ToClient<ChatRoom>;
451
- chats: ToClient<ChatMessage>;
452
- users: ToClient<User>;
453
- templates: ToClient<MessageTemplate>;
454
- }
455
- type ClientModel = ClientModelForName[keyof ClientModelForName]
456
-
457
- type ToClient<T> = Omit<T, 'id'> & { id: string }
458
-
459
- interface ValidatorOptions {
460
- maxLength?: number;
461
- minLength?: number;
462
- shouldTruncate?: boolean;
463
- toLower?: boolean;
464
- isOptional?: boolean;
465
- emptyStringOk?: boolean;
466
- emptyListOk?: boolean;
467
- nullOk?: boolean;
468
- isObject?: boolean;
469
- isNumber?: boolean;
470
- listOf?: boolean;
471
- isBoolean?: boolean;
472
- errorMessage?: string;
473
- trim?: boolean;
474
- }
475
- interface ValidatorOptionsForValue extends ValidatorOptions {
476
- listOf?: false;
477
- }
478
- interface ValidatorOptionsForList extends ValidatorOptions {
479
- listOf: true;
480
- }
481
- type ValidatorOptionsUnion = ValidatorOptionsForValue | ValidatorOptionsForList
482
-
483
- type EscapeBuilder <R=any> = {
484
- (o?: ValidatorOptionsForValue): EscapeFunction<R>;
485
- (o?: ValidatorOptionsForList): EscapeFunction<R[]>;
486
- }
487
- type ComplexEscapeBuilder <C,R=any> = (customization: C) => EscapeBuilder<R>
488
-
489
- type InputValues <T> = { [K in keyof T]: JSONType }
490
- type InputValidation<T> = { [K in keyof T]: EscapeFunction }
491
-
492
- type ParamType = 'string' | 'mongoId' | 'mongoIdOptional' | 'limitType'
493
-
494
-
495
- type RelationshipConstraint<T> = {
496
- explanation: string; // human readable, for documentation purposes
497
- evaluate: (v: T, dependencies: Indexable<Partial<DatabaseModel>>) => string | void;
498
- }
499
-
500
- type DependencyAccessConstraint <T> = { type: 'dependency', foreignModel: ModelName, foreignField: string, accessField: keyof T }
501
-
502
- type AccessConstraint <T> = { type: 'creatorOnly' }
503
- | { type: 'filter', field: string }
504
- | DependencyAccessConstraint<T>
505
-
506
- type UniqueArrayConstraint <T> = { array: keyof T, itemKey?: string }
507
-
508
- type Constraint <T> = {
509
- unique: (keyof T & string | UniqueArrayConstraint<T>)[];
510
- globalUnique?: (keyof T)[];
511
- relationship: RelationshipConstraint<Partial<T>>[];
512
- access?: AccessConstraint<T>[];
513
- }
514
-
515
- type Initializer <T, R> = (a: T, s: ConfiguredSession) => R
516
-
517
- type EndpointOptions = {
518
- // parameters used for endpoint that aren't stored in the model
519
- parameters?: { [index: string]: EscapeBuilder<any> },
520
- }
521
-
522
- type DependencyDeletionAction = 'delete' | 'unset' | 'setNull' | 'nop'
523
- type DependecyRelationship = 'foreignKey' | 'value'
524
-
525
- type Dependency <T=DatabaseRecord> = {
526
- dependsOn: ModelName[], // list of => OR, multiple dependency records => AND
527
- dependencyField: string,
528
- relationship: DependecyRelationship,
529
- onDependencyDelete: DependencyDeletionAction,
530
- getDependentValues?: (t: T) => JSONType[], // for accessing the values of a Dependency
531
- filterByDependency?: (foreignValue: JSONType, foreignModel?: DatabaseModel) => { // for filtering against a Dependency
532
- field: string,
533
- value: JSONType | 'any',
534
- },
535
- }
536
-
537
- type ModelFieldInfo <T, R> = {
538
- validator: EscapeBuilder<R>,
539
- readonly?: boolean,
540
- required?: boolean,
541
- updatesDisabled?: boolean,
542
- examples?: JSONType[],
543
- initializer?: Initializer<Partial<T>, R>, // should include the required fields of T, not just partial
544
- dependencies?: Dependency<Partial<T>>[],
545
- }
546
-
547
- type ModelFields<T> = {
548
- [K in keyof T]: ModelFieldInfo<T, T[K]>
549
- }
550
- type extractFields<Type> = Type extends ModelFields<infer X> ? X : never
551
-
552
- type ArgumentInfo = {
553
- description?: string;
554
- }
555
-
556
- type ActionInfo = {
557
- name?: string,
558
- description?: string,
559
- notes?: string[],
560
- warnings?: string[],
561
- }
562
-
563
- type CustomAction <P=any, R=any> = {
564
- op: Operation | 'custom',
565
- access: CRUD,
566
- // parameters: InputValidation<P>,
567
- parameters: ModelFields<P>,
568
- returns: ModelFields<R>,
569
- path?: string,
570
- method?: HTTPMethod,
571
- } & ActionInfo
572
-
573
- type CustomActionsForModel = {
574
- [K in ModelName]: { [index: string]: CustomAction }
575
- }
576
-
577
- type ReadFilter <T> = { [K in keyof T]?: { required: boolean } }
578
-
579
-
580
-
581
- type SideEffect <T, O=any> = {
582
- description: string;
583
- // m is the original model (or undefined, if create)
584
- // allows for easier event handling based on specific updates (by comparing args to pre-update model)
585
- handler: (args: Partial<T>[], m: (Partial<T> | undefined)[] | undefined, n: (Partial<T> & { _id: ObjectId })[], s: ConfiguredSession, o: O) => Promise<ErrorInfo[]>;
586
- }
587
-
588
- type Model<T, N extends ModelName> = {
589
- info: {
590
- name?: string,
591
- description?: string,
592
- sideEffects?: { [K in Operation]?: SideEffect<T>[] }
593
- },
594
- fields: ModelFields<T>,
595
- constraints: Constraint<T>,
596
- defaultActions: { [K in Operation]?: ActionInfo },
597
- customActions: CustomActionsForModel[N],
598
- readFilter?: ReadFilter<T>,
599
- options?: {
600
- create?: EndpointOptions,
601
- }
602
- }
603
- type extractModelType<Type> = Type extends Model<infer T, infer N> ? T : never
604
-
605
- type Schema = {
606
- [N in keyof ModelForName]: Model<ModelForName[N], ModelName>
607
- }
@@ -1,3 +0,0 @@
1
- export declare const isStringArray: (a: any) => a is string[];
2
- export declare const isDate: (d: any) => d is Date;
3
- export declare const isErrorCode: (c: any) => c is ErrorCode;
package/lib/cjs/index.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isErrorCode = exports.isDate = exports.isStringArray = void 0;
4
- var isStringArray = function (a) {
5
- return Array.isArray(a) && a.filter(function (s) { return typeof s === 'string'; }).length === a.length;
6
- };
7
- exports.isStringArray = isStringArray;
8
- var isDate = function (d) {
9
- return d && typeof d.getMonth === 'function';
10
- };
11
- exports.isDate = isDate;
12
- var isErrorCode = function (c) {
13
- return [400, 401, 402, 403, 404, 405, 406, 407, 408, 409].includes(c);
14
- };
15
- exports.isErrorCode = isErrorCode;
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAO,IAAM,aAAa,GAAG,UAAC,CAAM;IAClC,OAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,KAAK,QAAQ,EAArB,CAAqB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;AAA5E,CAA4E,CAAA;AADjE,QAAA,aAAa,iBACoD;AAEvE,IAAM,MAAM,GAAG,UAAC,CAAM;IAC3B,OAAA,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,UAAU;AAArC,CAAqC,CAAA;AAD1B,QAAA,MAAM,UACoB;AAEhC,IAAM,WAAW,GAAG,UAAC,CAAM;IAChC,OAAA,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAA9D,CAA8D,CAAA;AADnD,QAAA,WAAW,eACwC"}
@@ -1,3 +0,0 @@
1
- export declare const isStringArray: (a: any) => a is string[];
2
- export declare const isDate: (d: any) => d is Date;
3
- export declare const isErrorCode: (c: any) => c is ErrorCode;
package/lib/esm/index.js DELETED
@@ -1,10 +0,0 @@
1
- export var isStringArray = function (a) {
2
- return Array.isArray(a) && a.filter(function (s) { return typeof s === 'string'; }).length === a.length;
3
- };
4
- export var isDate = function (d) {
5
- return d && typeof d.getMonth === 'function';
6
- };
7
- export var isErrorCode = function (c) {
8
- return [400, 401, 402, 403, 404, 405, 406, 407, 408, 409].includes(c);
9
- };
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,CAAM;IAClC,OAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,KAAK,QAAQ,EAArB,CAAqB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;AAA5E,CAA4E,CAAA;AAE9E,MAAM,CAAC,IAAM,MAAM,GAAG,UAAC,CAAM;IAC3B,OAAA,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,UAAU;AAArC,CAAqC,CAAA;AAEvC,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,CAAM;IAChC,OAAA,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAA9D,CAA8D,CAAA"}