zero-orm 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1995 -0
  3. package/dist/prd.tsconfig.tsbuildinfo +1 -0
  4. package/dist/src/Table.d.ts +180 -0
  5. package/dist/src/Table.d.ts.map +1 -0
  6. package/dist/src/Table.js +8 -0
  7. package/dist/src/Table.js.map +1 -0
  8. package/dist/src/context.d.ts +90 -0
  9. package/dist/src/context.d.ts.map +1 -0
  10. package/dist/src/context.js +84 -0
  11. package/dist/src/context.js.map +1 -0
  12. package/dist/src/createModelParser.d.ts +47 -0
  13. package/dist/src/createModelParser.d.ts.map +1 -0
  14. package/dist/src/createModelParser.js +339 -0
  15. package/dist/src/createModelParser.js.map +1 -0
  16. package/dist/src/ddl.d.ts +22 -0
  17. package/dist/src/ddl.d.ts.map +1 -0
  18. package/dist/src/ddl.js +91 -0
  19. package/dist/src/ddl.js.map +1 -0
  20. package/dist/src/entity.d.ts +114 -0
  21. package/dist/src/entity.d.ts.map +1 -0
  22. package/dist/src/entity.js +539 -0
  23. package/dist/src/entity.js.map +1 -0
  24. package/dist/src/index.d.ts +10 -0
  25. package/dist/src/index.d.ts.map +1 -0
  26. package/dist/src/index.js +71 -0
  27. package/dist/src/index.js.map +1 -0
  28. package/dist/src/keywords.d.ts +158 -0
  29. package/dist/src/keywords.d.ts.map +1 -0
  30. package/dist/src/keywords.js +187 -0
  31. package/dist/src/keywords.js.map +1 -0
  32. package/dist/src/resolve.d.ts +15 -0
  33. package/dist/src/resolve.d.ts.map +1 -0
  34. package/dist/src/resolve.js +600 -0
  35. package/dist/src/resolve.js.map +1 -0
  36. package/dist/src/testTransaction.d.ts +23 -0
  37. package/dist/src/testTransaction.d.ts.map +1 -0
  38. package/dist/src/testTransaction.js +113 -0
  39. package/dist/src/testTransaction.js.map +1 -0
  40. package/dist/src/transaction.d.ts +6 -0
  41. package/dist/src/transaction.d.ts.map +1 -0
  42. package/dist/src/transaction.js +28 -0
  43. package/dist/src/transaction.js.map +1 -0
  44. package/dist/src/utils.d.ts +62 -0
  45. package/dist/src/utils.d.ts.map +1 -0
  46. package/dist/src/utils.js +86 -0
  47. package/dist/src/utils.js.map +1 -0
  48. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"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.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.es2024.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.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.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.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.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.es2020.number.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.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.es2023.intl.d.ts","../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2024.collection.d.ts","../node_modules/typescript/lib/lib.es2024.object.d.ts","../node_modules/typescript/lib/lib.es2024.promise.d.ts","../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2024.string.d.ts","../node_modules/typescript/lib/lib.esnext.array.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../node_modules/typescript/lib/lib.esnext.float16.d.ts","../node_modules/typescript/lib/lib.esnext.error.d.ts","../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/decimal.js/decimal.d.ts","../src/table.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/web-globals/abortcontroller.d.ts","../node_modules/@types/node/web-globals/crypto.d.ts","../node_modules/@types/node/web-globals/domexception.d.ts","../node_modules/@types/node/web-globals/events.d.ts","../node_modules/undici-types/utility.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client-stats.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/round-robin-pool.d.ts","../node_modules/undici-types/h2c-client.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-call-history.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/snapshot-agent.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cache-interceptor.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/web-globals/fetch.d.ts","../node_modules/@types/node/web-globals/navigator.d.ts","../node_modules/@types/node/web-globals/storage.d.ts","../node_modules/@types/node/web-globals/streams.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/inspector.generated.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/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.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/test.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/index.d.ts","../node_modules/pg-types/index.d.ts","../node_modules/pg-protocol/dist/messages.d.ts","../node_modules/pg-protocol/dist/serializer.d.ts","../node_modules/pg-protocol/dist/parser.d.ts","../node_modules/pg-protocol/dist/index.d.ts","../node_modules/@types/pg/lib/type-overrides.d.ts","../node_modules/@types/pg/index.d.ts","../src/keywords.ts","../node_modules/never-catch/dist/src/index.d.ts","../src/resolve.ts","../src/entity.ts","../src/utils.ts","../src/context.ts","../src/createmodelparser.ts","../src/ddl.ts","../src/transaction.ts","../src/testtransaction.ts","../src/index.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[85,140,157,158],[85,140,157,158,211],[85,140,157,158,213,216],[85,137,138,140,157,158],[85,139,140,157,158],[140,157,158],[85,140,145,157,158,175],[85,140,141,146,151,157,158,160,172,183],[85,140,141,142,151,157,158,160],[85,140,143,157,158,184],[85,140,144,145,152,157,158,161],[85,140,145,157,158,172,180],[85,140,146,148,151,157,158,160],[85,139,140,147,157,158],[85,140,148,149,157,158],[85,140,150,151,157,158],[85,139,140,151,157,158],[85,140,151,152,153,157,158,172,183],[85,140,151,152,153,157,158,167,172,175],[85,132,140,148,151,154,157,158,160,172,183],[85,140,151,152,154,155,157,158,160,172,180,183],[85,140,154,156,157,158,172,180,183],[83,84,85,86,87,88,89,90,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],[85,140,151,157,158],[85,140,157,158,159,183],[85,140,148,151,157,158,160,172],[85,140,157,158,161],[85,140,157,158,162],[85,139,140,157,158,163],[85,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],[85,140,157,158,165],[85,140,157,158,166],[85,140,151,157,158,167,168],[85,140,157,158,167,169,184,186],[85,140,152,157,158],[85,140,151,157,158,172,173,175],[85,140,157,158,174,175],[85,140,157,158,172,173],[85,140,157,158,175],[85,140,157,158,176],[85,137,140,157,158,172,177,183],[85,140,151,157,158,178,179],[85,140,157,158,178,179],[85,140,145,157,158,160,172,180],[85,140,157,158,181],[85,140,157,158,160,182],[85,140,154,157,158,166,183],[85,140,145,157,158,184],[85,140,157,158,172,185],[85,140,157,158,159,186],[85,140,157,158,187],[85,140,145,157,158],[85,132,140,157,158],[85,140,157,158,188],[85,132,140,151,153,157,158,163,172,175,183,185,186,188],[85,140,157,158,172,189],[85,140,151,157,158,172,180,190,191,192,195,196,197],[85,140,157,158,197],[85,140,157,158,209,215],[85,140,157,158,213],[85,140,157,158,210,214],[85,140,157,158,190,192,193,194],[85,140,157,158,190],[85,140,157,158,172,190,192],[85,140,157,158,212],[85,97,100,103,104,140,157,158,183],[85,100,140,157,158,172,183],[85,100,104,140,157,158,183],[85,140,157,158,172],[85,94,140,157,158],[85,98,140,157,158],[85,96,97,100,140,157,158,183],[85,140,157,158,160,180],[85,94,140,157,158,190],[85,96,100,140,157,158,160,183],[85,91,92,93,95,99,140,151,157,158,172,183],[85,100,109,117,140,157,158],[85,92,98,140,157,158],[85,100,126,127,140,157,158],[85,92,95,100,140,157,158,175,183,190],[85,100,140,157,158],[85,96,100,140,157,158,183],[85,91,140,157,158],[85,94,95,96,98,99,100,101,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,140,157,158],[85,100,119,122,140,148,157,158],[85,100,109,110,111,140,157,158],[85,98,100,110,112,140,157,158],[85,99,140,157,158],[85,92,94,100,140,157,158],[85,100,104,110,112,140,157,158],[85,104,140,157,158],[85,98,100,103,140,157,158,183],[85,92,96,100,109,140,157,158],[85,100,119,140,157,158],[85,112,140,157,158],[85,94,100,126,140,157,158,175,188,190],[81,82,85,140,157,158,198,201,202],[81,82,85,140,157,158,199],[82,85,140,157,158,198],[82,85,140,157,158,197,198,199,200,202,203],[82,85,140,157,158,200,201,202,203,204,205,206,207],[81,82,85,140,157,158,198,199,201,202],[81,85,140,157,158],[82,85,140,157,158,197,199,201,205,206],[85,140,157,158,197,198,199],[81,82,85,140,157,158,198,200,201]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6cfcf171b5f7ec0cb620eee4669739ad2711597d0ff7fdb79298dfc1118e66a","impliedFormat":1},{"version":"4a43e5d45b9c78497f27e76a24e08ba2879fe0b745aba6c1a75d39c9ba8718d3","signature":"2989f8e1e2f055627b82dca4a00badb6faa1d6c5e3fac80d30e8de61cf1c085b","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"24371e69a38fc33e268d4a8716dbcda430d6c2c414a99ff9669239c4b8f40dea","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"c63b9ada8c72f95aac5db92aea07e5e87ec810353cdf63b2d78f49a58662cf6c","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"f724236417941ea77ec8d38c6b7021f5fb7f8521c7f8c1538e87661f2c6a0774","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"c06b2652ffeb89afd0f1c52c165ced77032f9cd09bc481153fbd6b5504c69494","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"9d8f9e63e29a3396285620908e7f14d874d066caea747dc4b2c378f0599166b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"612422d5ba6b4a5c4537f423e9199645468ad80a689801da63ab7edb43f7b835","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"1cbdcdef62bf42688e5d825898c3a59458466c48ad8a4ef3f88d8a1cd04310d6","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc8c6f5322961b56d9906601b20798725df60baeab45ec014fba9f795d5596fd","impliedFormat":1},{"version":"0904660ae854e6d41f6ff25356db1d654436c6305b0f0aa89d1532df0253486e","impliedFormat":1},{"version":"060d305fe4494d8cb2b99d620928d369d1ee55c1645f5e729a2aca07d0f108cb","impliedFormat":1},{"version":"5b22bf96be06fca1e134e3a85351ffe7aa2edf0c9a5bd175b7239ee48186dbf5","impliedFormat":1},{"version":"0c50296ee73dae94efc3f0da4936b1146ca6ce2217acfabb44c19c9a33fa30e5","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"5b48cc670da1dfe926036deaf349085caf822def460a6d50de23f1cc12a5f8cd","impliedFormat":1},{"version":"418f34087d52d001e2688a6282a5de9bf583ff771ed5546af0ae36e4f60a458b","affectsGlobalScope":true,"impliedFormat":1},{"version":"036c9a03b01281f99f8251fdc7088e894566be44b3f139a9d48501a978b611df","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"04bf1aa481d1adfb16d93d76e44ce71c51c8ef68039d849926551199489637f6","impliedFormat":1},{"version":"2c9adcc85574b002c9a6311ff2141055769e0071856ec979d92ff989042b1f1b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1569ad5969ae0de6ad0bdfaaab0dabcd8878bc3147ab096206eed2019bb84e7f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"42a350ce4f6f291198dc89833afcc4fd078248b4e1fdc9d05c846c66a670f710","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"b03754211d839cdc48979996525a32eb62130682c2f9801dfc2f25533ce7238d","impliedFormat":1},{"version":"3910dab597c40e173bf0e0d419d3ce9682c54ebf6ae84849f9b829b1451a17ec","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"486c074a5c0f2254345c0d1c9540380f5463999e42d7e1a159305ea823d3c4b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"f4d99ac08c4097a3cc202bec2c7198c19dcdd80d4ec6c62d1356b10d03b119d5","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"ca77e83162eccec633513723d178d4203bdd5465297267696be08013bab0aa1d","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"f61c153d5abbe4381a1fba0d41be0babdd5de51c626ee7ff14cede14dedc33f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7803171d745ab18e77f16bf82e742268ff72b7f7382ab191e4277527580c2d89","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e9ba65cd3d6d194bdda7343f9f2917f7144ead96a924ca58d1a14919992dc20","impliedFormat":1},{"version":"255d948f87f24ffd57bcb2fdf95792fd418a2e1f712a98cf2cce88744d75085c","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"0b0dfb2d3e8420ead06f6a11acfb02ddcec42257e6ce391993e895ba0af86de4","affectsGlobalScope":true,"impliedFormat":1},{"version":"bfd3b3c21a56104693183942e221c1896ee23bcb8f8d91ab0b941f7b32985411","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"9b4f7ff9681448c72abe38ea8eefd7ffe0c3aefe495137f02012a08801373f71","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"3b703d6a855820aa26d8fbd5e749ad47e989419ca1d276c88bb126d986bfa9db","signature":"dba10b80382c81ee482fbc9bba2d3f44b92804ac41713d2ee8e12a0eba5354f8","impliedFormat":1},{"version":"620a5080f295ae3637574effff4cad6ccc173baade8ee00225a5bbedb8991b71","impliedFormat":1},{"version":"3102ff9f51d714b3bb6627fb1f6279915694b239005ea1e8a5558b86e92812e4","signature":"c3c0439e04232b9de4acd8f4e414d3464d5545512087319b5f240801dbc8f7c8","impliedFormat":1},{"version":"32dde70f3d0a36b170c04bae8942efe406278bbf959eb9403250434356c950b1","signature":"6984c7e5a2a14e68f4cb4bfb2a7c2a8c7aa223a3d782fb39739f03af79c2a7af","impliedFormat":1},{"version":"f7c1070bc8e8951d4ecf213bb127ec6f480056b0e8b220a9e9966cde64e13845","signature":"c725172d2db8662a30c2a902ac9312cc022c14320e35a9a1960b631f4ce3ddc9","impliedFormat":1},{"version":"af48cac44abb908f58f4c14f8056ef29d613cff69c2d9f29710e4760361fd061","signature":"597a19c9af1c0bef99b97d02a61094a42c62ba3cdce17740372dcb7649929535","impliedFormat":1},{"version":"6fb8c5e3e148caa79f20d0227fca8d57740c10815d1ade01bf0fa40e2054f700","signature":"d67657f43beb2b149310bb8f743ec0f54c3b5772121bf2ecd48c07b801b58217","impliedFormat":1},{"version":"74ddc33e66d158f5ad32bfe1d77fb7b34df5a0845e3e0b71b4a5f821785d8c8c","signature":"782b020146b3ab2ced320216adc0951634b56919071f65c36896c06fe7fbf965","impliedFormat":1},{"version":"355b2d5bf435ed5dd97ad405bce05be770ea5fb5435e716f3489d94cb5a73d30","signature":"ded89a5960497c53e9ff903ef9b623acf68ce5d0b5424f55f0ace476b1d63125","impliedFormat":1},{"version":"66d6ff83eea110a0a6f0a10c7fc71b7026df85e3b9448b5d7073617dbe34ab5b","signature":"d8bc86a391b4e297b7ccfa27ec088e7a28ef66518650f7e476d0dbdae2802ea0","impliedFormat":1},{"version":"8d7c96d96a38b4e13dc3d047dad06ae0fd926d03c7b3c3e6b674f75f55dc713e","signature":"4ce2fa28537a8f39960ced8ab35f8345777cf7f60ba2a3d88ae56c152bde198a","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[82,198,[200,208]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"allowUnreachableCode":false,"allowUnusedLabels":false,"checkJs":true,"composite":true,"declarationMap":true,"esModuleInterop":true,"module":100,"noEmitOnError":true,"noErrorTruncation":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","removeComments":true,"sourceMap":true,"strict":true,"target":99},"referencedMap":[[209,1],[212,2],[211,1],[217,3],[137,4],[138,4],[139,5],[85,6],[140,7],[141,8],[142,9],[83,1],[143,10],[144,11],[145,12],[146,13],[147,14],[148,15],[149,15],[150,16],[151,17],[152,18],[153,19],[86,1],[84,1],[154,20],[155,21],[156,22],[190,23],[157,24],[158,1],[159,25],[160,26],[161,27],[162,28],[163,29],[164,30],[165,31],[166,32],[167,33],[168,33],[169,34],[170,1],[171,35],[172,36],[174,37],[173,38],[175,39],[176,40],[177,41],[178,42],[179,43],[180,44],[181,45],[182,46],[183,47],[184,48],[185,49],[186,50],[187,51],[87,1],[88,52],[89,1],[90,1],[133,53],[134,54],[135,1],[136,39],[188,55],[189,56],[197,57],[196,58],[210,1],[81,1],[216,59],[214,60],[215,61],[199,1],[195,62],[192,63],[194,64],[193,1],[191,1],[213,65],[79,1],[80,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[23,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[58,1],[57,1],[59,1],[60,1],[10,1],[61,1],[62,1],[63,1],[11,1],[64,1],[65,1],[66,1],[67,1],[68,1],[1,1],[69,1],[70,1],[12,1],[74,1],[72,1],[77,1],[76,1],[71,1],[75,1],[73,1],[78,1],[109,66],[121,67],[106,68],[122,69],[131,70],[97,71],[98,72],[96,73],[130,63],[125,74],[129,75],[100,76],[118,77],[99,78],[128,79],[94,80],[95,74],[101,81],[102,1],[108,82],[105,81],[92,83],[132,84],[123,85],[112,86],[111,81],[113,87],[116,88],[110,89],[114,90],[126,63],[103,91],[104,92],[117,93],[93,69],[120,94],[119,81],[107,92],[115,95],[124,1],[91,1],[127,96],[203,97],[204,98],[205,99],[201,100],[208,101],[198,1],[200,102],[82,103],[207,104],[206,105],[202,106]],"latestChangedDtsFile":"./src/index.d.ts","version":"5.9.3"}
@@ -0,0 +1,180 @@
1
+ import Decimal from 'decimal.js';
2
+ declare const createReference: <S extends Schema, C extends keyof S & string>(reference: Reference<S, C>) => NullableType<S[C]["narrowType"], S[C]["nullable"]>;
3
+ type Schema = Record<string, {
4
+ type: Exclude<PgType, 'decimal'>;
5
+ default: boolean;
6
+ nullable: boolean;
7
+ narrowType: unknown;
8
+ } | {
9
+ type: 'decimal';
10
+ default: boolean;
11
+ nullable: boolean;
12
+ narrowType: unknown;
13
+ precision: number;
14
+ scale: number;
15
+ }>;
16
+ type SchemaByColumns<C extends Columns> = {
17
+ [key in keyof C & string]: {
18
+ type: C[key]['type'];
19
+ default: C[key]['default'];
20
+ nullable: C[key]['nullable'];
21
+ narrowType: GetColumnType<C[key]>;
22
+ };
23
+ };
24
+ type TableBySchema<S extends Schema = Schema> = {
25
+ schemaName: string;
26
+ tableName: string;
27
+ columns: S;
28
+ };
29
+ declare const createTable: <C extends Columns>(table: Table<C>) => Table<{ [key in keyof C & string]: C[key] & {
30
+ narrowType: GetColumnType<C[key]>;
31
+ }; }>;
32
+ type Table<C extends Columns = Columns> = {
33
+ schemaName: string;
34
+ tableName: string;
35
+ columns: C;
36
+ };
37
+ type Columns = Record<string, ColumnInfo>;
38
+ type ColumnInfo = BooleanColumn | Int2Int4Column | Int8Column | Float4Float8Column | DecimalColumn | CharVarcharTextUuidColumn | DateTimestampTimestamptzColumn | JsonJsonbColumn | CustomTypeColumn;
39
+ type Reference<S extends Schema, C extends keyof S & string> = {
40
+ table: TableBySchema<S>;
41
+ onUpdate?: ReferenceActions;
42
+ onDelete?: ReferenceActions;
43
+ column: C;
44
+ };
45
+ type GetColumnType<CI extends ColumnInfo> = CI extends BooleanColumn<infer U> ? U : CI extends Int2Int4Column<infer U> ? U : CI extends Int8Column<infer U> ? U : CI extends Float4Float8Column<infer U> ? U : CI extends DecimalColumn<infer U> ? U : CI extends CharVarcharTextUuidColumn<infer U> ? U : CI extends DateTimestampTimestamptzColumn<infer U> ? U : CI extends JsonJsonbColumn<infer U> ? U : CI extends CustomTypeColumn<infer U> ? U : never;
46
+ type CommonColumnInfo = {
47
+ title?: string;
48
+ } & ({
49
+ nullable: false;
50
+ primary?: true | never;
51
+ } | {
52
+ nullable: true;
53
+ primary?: never;
54
+ });
55
+ type BooleanColumn<NT extends boolean = boolean> = {
56
+ type: 'boolean';
57
+ narrowType?: NT;
58
+ reference?: NT;
59
+ } & ({
60
+ default: false;
61
+ } | {
62
+ default: true;
63
+ defaultValue: ['sql', string] | ['js', boolean];
64
+ }) & CommonColumnInfo;
65
+ type Int2Int4Column<NT extends number = number> = {
66
+ type: 'int2' | 'int4';
67
+ narrowType?: NT;
68
+ reference?: NT;
69
+ min?: number;
70
+ max?: number;
71
+ } & ({
72
+ default: false;
73
+ } | {
74
+ default: true;
75
+ defaultValue: ['sql', string] | ['js', number];
76
+ sequenceTitle?: never;
77
+ } | {
78
+ default: true;
79
+ defaultValue: ['auto-increment'];
80
+ sequenceTitle?: string;
81
+ }) & CommonColumnInfo;
82
+ type Int8Column<NT extends bigint = bigint> = {
83
+ type: 'int8';
84
+ narrowType?: NT;
85
+ reference?: NT;
86
+ min?: bigint;
87
+ max?: bigint;
88
+ } & ({
89
+ default: false;
90
+ } | {
91
+ default: true;
92
+ defaultValue: ['sql', string] | ['js', bigint];
93
+ sequenceTitle?: never;
94
+ } | {
95
+ default: true;
96
+ defaultValue: ['auto-increment'];
97
+ sequenceTitle?: string;
98
+ }) & CommonColumnInfo;
99
+ type Float4Float8Column<NT extends number = number> = {
100
+ type: 'float4' | 'float8';
101
+ narrowType?: NT;
102
+ reference?: NT;
103
+ min?: number;
104
+ max?: number;
105
+ } & ({
106
+ default: false;
107
+ } | {
108
+ default: true;
109
+ defaultValue: ['sql', string] | ['js', number];
110
+ }) & CommonColumnInfo;
111
+ type DecimalColumn<NT extends Decimal = Decimal> = {
112
+ type: 'decimal';
113
+ narrowType?: NT;
114
+ reference?: NT;
115
+ precision: number;
116
+ scale: number;
117
+ min?: Decimal;
118
+ max?: Decimal;
119
+ } & ({
120
+ default: false;
121
+ } | {
122
+ default: true;
123
+ defaultValue: ['sql', string] | ['js', Decimal];
124
+ }) & CommonColumnInfo;
125
+ type CharVarcharTextUuidColumn<NT extends string = string> = {
126
+ type: 'char' | 'varchar' | 'text' | 'uuid';
127
+ narrowType?: NT;
128
+ reference?: NT;
129
+ minLength?: number;
130
+ maxLength?: number;
131
+ regex?: RegExp;
132
+ } & ({
133
+ default: false;
134
+ } | {
135
+ default: true;
136
+ defaultValue: ['sql', string] | ['js', string];
137
+ }) & CommonColumnInfo;
138
+ type DateTimestampTimestamptzColumn<NT extends Date = Date> = {
139
+ type: 'date' | 'timestamp' | 'timestamptz';
140
+ narrowType?: NT;
141
+ reference?: NT;
142
+ length?: number;
143
+ } & ({
144
+ default: false;
145
+ } | {
146
+ default: true;
147
+ defaultValue: ['sql', string] | ['js', Date] | ['created-at'] | ['updated-at'];
148
+ }) & CommonColumnInfo;
149
+ type JsonJsonbColumn<NT extends Json = Json> = {
150
+ type: 'json' | 'jsonb';
151
+ reference?: NT;
152
+ narrowType?: NT;
153
+ } & ({
154
+ default: false;
155
+ } | {
156
+ default: true;
157
+ defaultValue: ['sql', string] | ['js', Json];
158
+ }) & CommonColumnInfo;
159
+ type CustomTypeColumn<NT = unknown> = {
160
+ type: `custom(${string})`;
161
+ reference?: NT;
162
+ narrowType: NT;
163
+ } & ({
164
+ default: false;
165
+ } | {
166
+ default: true;
167
+ defaultValue: ['sql', string] | ['js', NT];
168
+ }) & CommonColumnInfo;
169
+ type ReferenceActions = 'no-action' | 'restrict' | 'set-null' | 'set-Default' | 'cascade';
170
+ type PgType = 'boolean' | 'int2' | 'int4' | 'int8' | 'float4' | 'float8' | 'decimal' | 'char' | 'varchar' | 'text' | 'uuid' | 'date' | 'timestamp' | 'timestamptz' | 'json' | 'jsonb' | `custom(${string})`;
171
+ type NullableType<T, Nullable extends boolean> = Nullable extends true ? T | null : T;
172
+ type Json = JsonObject | JsonArray;
173
+ type JsonObject = {
174
+ [key: number | string]: BaseJsonValue;
175
+ };
176
+ type JsonArray = BaseJsonValue[];
177
+ type BaseJsonValue = undefined | null | boolean | number | string | JsonObject | JsonArray;
178
+ export { createReference, createTable };
179
+ export type { Schema, SchemaByColumns, TableBySchema, Table, Columns, ColumnInfo, Reference, GetColumnType, BooleanColumn, Int2Int4Column, Int8Column, Float4Float8Column, DecimalColumn, CharVarcharTextUuidColumn, DateTimestampTimestamptzColumn, JsonJsonbColumn, CustomTypeColumn, ReferenceActions, PgType, NullableType, Json, JsonObject, JsonArray, BaseJsonValue };
180
+ //# sourceMappingURL=Table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTable = exports.createReference = void 0;
4
+ const createReference = (reference) => reference;
5
+ exports.createReference = createReference;
6
+ const createTable = (table) => table;
7
+ exports.createTable = createTable;
8
+ //# sourceMappingURL=Table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG,CACpB,SAA0B,EAC5B,EAAE,CAAC,SAA+D,CAAC;AAqS5D,0CAAe;AAlQxB,MAAM,WAAW,GAAG,CAAoB,KAAe,EAAE,EAAE,CACvD,KAIE,CAAC;AA6PmB,kCAAW"}
@@ -0,0 +1,90 @@
1
+ import Decimal from 'decimal.js';
2
+ import { Query } from './entity';
3
+ import { Json, Schema, NullableType, TableBySchema } from './Table';
4
+ import { ListOperator, NullOperator, BetweenOperator, BooleanOperator, CompareOperator, ListWithSubQueryOperator } from './keywords';
5
+ type Context<S extends Schema> = {
6
+ column: <K extends keyof S & string>(column: K, alias?: string) => NullableType<S[K]['narrowType'], S[K]['nullable']>;
7
+ compare: <K extends keyof S & string>(column: K, ...args: ContextRule<S, K>) => boolean;
8
+ columnsAnd: (rules: ContextRules<S>, alias?: string) => boolean;
9
+ columnsOr: (rules: ContextRules<S>, alias?: string) => boolean;
10
+ };
11
+ declare const createContext: <S extends Schema>(table: TableBySchema<S>, alias?: string) => Context<S>;
12
+ type ContextRules<S extends Schema> = {
13
+ [K in keyof S]?: ContextRule<S, K>;
14
+ };
15
+ type ContextRule<S extends Schema, K extends keyof S> = (S[K]['nullable'] extends true ? [operator: NullOperator] : never) | (S[K]['narrowType'] extends boolean ? [operator: BooleanOperator] : S[K]['narrowType'] extends number ? [
16
+ operator: CompareOperator,
17
+ expression: NullableType<number, S[K]['nullable']>
18
+ ] | [
19
+ operator: ListOperator,
20
+ expression: readonly NullableType<number, S[K]['nullable']>[]
21
+ ] | [
22
+ operator: ListWithSubQueryOperator,
23
+ subQuery: Query<Schema, never>
24
+ ] | [
25
+ operator: BetweenOperator,
26
+ startExpression: NullableType<number, S[K]['nullable']>,
27
+ endExpression: NullableType<number, S[K]['nullable']>
28
+ ] : S[K]['narrowType'] extends bigint ? [
29
+ operator: CompareOperator,
30
+ expression: NullableType<bigint, S[K]['nullable']>
31
+ ] | [
32
+ operator: ListOperator,
33
+ expression: readonly NullableType<bigint, S[K]['nullable']>[]
34
+ ] | [
35
+ operator: ListWithSubQueryOperator,
36
+ subQuery: Query<Schema, never>
37
+ ] | [
38
+ operator: BetweenOperator,
39
+ startExpression: NullableType<bigint, S[K]['nullable']>,
40
+ endExpression: NullableType<bigint, S[K]['nullable']>
41
+ ] : S[K]['narrowType'] extends Decimal ? [
42
+ operator: CompareOperator,
43
+ expression: NullableType<Decimal, S[K]['nullable']>
44
+ ] | [
45
+ operator: ListOperator,
46
+ expression: readonly NullableType<Decimal, S[K]['nullable']>[]
47
+ ] | [
48
+ operator: ListWithSubQueryOperator,
49
+ subQuery: Query<Schema, never>
50
+ ] | [
51
+ operator: BetweenOperator,
52
+ startExpression: NullableType<Decimal, S[K]['nullable']>,
53
+ endExpression: NullableType<Decimal, S[K]['nullable']>
54
+ ] : S[K]['narrowType'] extends string ? [
55
+ operator: CompareOperator | 'like',
56
+ expression: NullableType<string, S[K]['nullable']>
57
+ ] | [
58
+ operator: ListOperator | 'like some' | 'like all',
59
+ expression: readonly NullableType<string, S[K]['nullable']>[]
60
+ ] | [
61
+ operator: ListWithSubQueryOperator,
62
+ subQuery: Query<Schema, never>
63
+ ] | [
64
+ operator: BetweenOperator,
65
+ startExpression: NullableType<string, S[K]['nullable']>,
66
+ endExpression: NullableType<string, S[K]['nullable']>
67
+ ] : S[K]['narrowType'] extends Date ? [
68
+ operator: CompareOperator,
69
+ expression: NullableType<Date, S[K]['nullable']>
70
+ ] | [
71
+ operator: ListOperator,
72
+ expression: readonly NullableType<Date, S[K]['nullable']>[]
73
+ ] | [
74
+ operator: ListWithSubQueryOperator,
75
+ subQuery: Query<Schema, never>
76
+ ] | [
77
+ operator: BetweenOperator,
78
+ startExpression: NullableType<Date, S[K]['nullable']>,
79
+ endExpression: NullableType<Date, S[K]['nullable']>
80
+ ] : S[K]['narrowType'] extends Json ? [
81
+ operator: '=' | '!=' | '@>' | '<@',
82
+ expression: NullableType<Json, S[K]['nullable']>
83
+ ] | [operator: '?', expression: null | string] | [
84
+ operator: '?&' | '?|',
85
+ expression: readonly (null | string)[]
86
+ ] | [operator: '@@', expression: string] : never);
87
+ declare const createContextHelper: <S extends Schema>(table: TableBySchema<S>) => (rules: ContextRules<S>, alias?: string) => boolean[];
88
+ export type { Context, ContextRules };
89
+ export { createContext, createContextHelper };
90
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createContextHelper = exports.createContext = void 0;
37
+ const U = __importStar(require("./utils"));
38
+ const createContext = (table, alias = '') => {
39
+ const contextHelper = createContextHelper(table);
40
+ return {
41
+ column: (column, _alias = alias) => U.column(table, column, !!_alias, _alias),
42
+ compare: (column, ...args) => U.compare(U.column(table, column, !!alias, alias), ...args),
43
+ columnsAnd: (rules, _alias = alias) => U.and(...contextHelper(rules, _alias)),
44
+ columnsOr: (rules, _alias = alias) => U.or(...contextHelper(rules, _alias))
45
+ };
46
+ };
47
+ exports.createContext = createContext;
48
+ const createContextHelper = (table) => (rules, alias) => Object.entries(rules).map(([key, value]) => {
49
+ if (value === undefined) {
50
+ throw `undefined value is not allowed for ${key}`;
51
+ }
52
+ const operator = value[0];
53
+ switch (operator) {
54
+ case '= null':
55
+ case '!= null':
56
+ case '= true':
57
+ case '= false':
58
+ return U.compare(U.column(table, key, !!alias, alias), value[0]);
59
+ case '=':
60
+ case '!=':
61
+ case '>':
62
+ case '>=':
63
+ case '<':
64
+ case '<=':
65
+ case 'in':
66
+ case 'not in':
67
+ case 'in sub-query':
68
+ case 'not in sub-query':
69
+ case 'like':
70
+ case 'like all':
71
+ case 'like some':
72
+ case '@>':
73
+ case '<@':
74
+ case '?':
75
+ case '?&':
76
+ case '?|':
77
+ case '@@':
78
+ return U.compare(U.column(table, key, !!alias, alias), value[0], value[1]);
79
+ case 'between':
80
+ return U.compare(U.column(table, key, !!alias, alias), value[0], value[1], value[2]);
81
+ }
82
+ });
83
+ exports.createContextHelper = createContextHelper;
84
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import Decimal from 'decimal.js';
2
+ import { Result } from 'never-catch';
3
+ import { Json, Schema, NullableType, TableBySchema } from './Table';
4
+ declare const Int2Range: {
5
+ min: number;
6
+ max: number;
7
+ };
8
+ declare const Int4Range: {
9
+ min: number;
10
+ max: number;
11
+ };
12
+ declare const Int8Range: {
13
+ min: bigint;
14
+ max: bigint;
15
+ };
16
+ declare const Parser: {
17
+ boolean: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<boolean, N> | undefined;
18
+ number: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<number, N> | undefined;
19
+ integer: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<number, N> | undefined;
20
+ bigInt: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<bigint, N> | undefined;
21
+ decimal: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<Decimal, N> | undefined;
22
+ string: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<string, N> | undefined;
23
+ dateTime: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<Date, N> | undefined;
24
+ date: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<Date, N> | undefined;
25
+ json: <N extends boolean = false>(v: unknown, nullable?: N) => NullableType<Json, N> | undefined;
26
+ };
27
+ type ModelHelper<S extends Schema, NotNull extends keyof S> = {
28
+ [key in keyof S & string]: key extends NotNull ? S[key]['narrowType'] : NullableType<S[key]['narrowType'], S[key]['nullable']>;
29
+ };
30
+ type Model<S extends Schema, Required extends keyof S & string, Optional extends keyof S & string, NotNull extends Required | Optional> = Pick<ModelHelper<S, NotNull>, Required> & Partial<Pick<ModelHelper<S, NotNull>, Optional>>;
31
+ type ModelWithPrefix<S extends Schema, Required extends keyof S & string, Optional extends keyof S & string, NotNull extends Required | Optional, Prefix extends string> = {
32
+ [key in keyof Model<S, Required, Optional, NotNull> as `${Prefix}${key}`]: Model<S, Required, Optional, NotNull>[key];
33
+ };
34
+ type ModelParser<S extends Schema, EMap extends {
35
+ [key in keyof S & string]: unknown;
36
+ }> = {
37
+ Parse: <Required extends keyof S & string, Optional extends keyof S & string, NotNull extends Required | Optional = never>(data: Record<string, unknown>, requires: Required[], optionals: Optional[], notNulls?: NotNull[]) => Result<Model<S, Required, Optional, NotNull>, EMap[Required | Optional]>;
38
+ } & {
39
+ [key in keyof S & string]: (v: unknown) => NullableType<S[key]['narrowType'], S[key]['nullable']> | undefined;
40
+ };
41
+ declare const createModelParser: <S extends Schema, const EMap extends { [key in keyof S & string]: unknown; } = { [key in keyof S & string]: key; }>({ columns }: TableBySchema<S>, { parsers, errorsMap }?: {
42
+ parsers?: { [key in keyof S & string]?: (v: NullableType<S[key]["narrowType"], S[key]["nullable"]>) => NullableType<S[key]["narrowType"], S[key]["nullable"]> | undefined; };
43
+ errorsMap?: EMap;
44
+ }) => ModelParser<S, EMap>;
45
+ export type { ModelHelper, Model, ModelWithPrefix, ModelParser };
46
+ export { Int2Range, Int4Range, Int8Range, Parser, createModelParser };
47
+ //# sourceMappingURL=createModelParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createModelParser.d.ts","sourceRoot":"","sources":["../../src/createModelParser.ts"],"names":[],"mappings":"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"}