@effect-app/infra 0.7.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.
- package/.eslintrc.cjs +11 -0
- package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-314902b6271c341511f7398a50469024 +0 -0
- package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-3f072cc7afa09b6adaead0527ab9df83 +0 -0
- package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-74c3c295c110fc861b6a4c673afc3e24 +0 -0
- package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-bf6dae8cb9ea9740ceb39aefaf12716c +0 -0
- package/.jest-cache/haste-map-369fa5ca2164cc35b19159bd76147276-e7a7ff05756c055cb63be97ba8537525-cf9d1486029526079a5f68f2041dea02 +0 -0
- package/.jest-cache/haste-map-4ca41cc04e60c616a19cbb483cbf487b-e2f1f4b6d87214e3c49442fed31f310c-b4710ed9fb3d0757c4bf23045c585670 +0 -0
- package/.jest-cache/haste-map-4ca41cc04e60c616a19cbb483cbf487b-e2f1f4b6d87214e3c49442fed31f310c-ee17e5395bb1b7b36a4e2e22a6ae1449 +0 -0
- package/.jest-cache/haste-map-7dc16d7fae8c072843ed1c69eae73100-a8a4225b317477b49bca31f54559afb3-c16136699bb7f463be85273162b447c3 +0 -0
- package/.jest-cache/haste-map-9aa1e395a82e108eb49698982c574272-e2f1f4b6d87214e3c49442fed31f310c-f7435f46fc41ac5a13d06a49cae9a650 +0 -0
- package/.jest-cache/haste-map-9d206b45d610536c9ec65eec263c6964-a8a4225b317477b49bca31f54559afb3-3510506a330b44f1ae629033aac8fbb3 +0 -0
- package/.jest-cache/haste-map-a00ab30d0d656f9d3990958a54b9ccfd-87603b0fc921b26b622a5859b4c92bed-17b550b450b18840c25861aa6e835f0c +0 -0
- package/.jest-cache/haste-map-a00ab30d0d656f9d3990958a54b9ccfd-87603b0fc921b26b622a5859b4c92bed-4dc31290b1efc98335eb4c89167d75c3 +0 -0
- package/.jest-cache/haste-map-ab843cb0ffbadfd0deea4adb182c7ecd-87603b0fc921b26b622a5859b4c92bed-997106edf4bbc31567a378146180e45e +0 -0
- package/.jest-cache/haste-map-ab843cb0ffbadfd0deea4adb182c7ecd-87603b0fc921b26b622a5859b4c92bed-f0cd25414f9ed16c446940ca3aa23c1b +0 -0
- package/.jest-cache/haste-map-cf17f2edf0e949eebfdfca561816457c-e7a7ff05756c055cb63be97ba8537525-2cac07d09e6384e2d37c49714edad0ba +0 -0
- package/.jest-cache/haste-map-cf17f2edf0e949eebfdfca561816457c-e7a7ff05756c055cb63be97ba8537525-d7967c2976c5feac7161c964f0aa442f +0 -0
- package/.jest-cache/haste-map-fb1a173276d25bbff02f815600059283-938122bdc1c8836874b6585d7acb2e99-f705929cca05ce95ceaa6d520b560ce8 +0 -0
- package/.prettierignore +6 -0
- package/_cjs/_global.cjs +6 -0
- package/_cjs/_global.cjs.map +1 -0
- package/_cjs/_global.ext.cjs +6 -0
- package/_cjs/_global.ext.cjs.map +1 -0
- package/_cjs/_global.schema.cjs +5 -0
- package/_cjs/_global.schema.cjs.map +1 -0
- package/_cjs/errors.cjs +82 -0
- package/_cjs/errors.cjs.map +1 -0
- package/_cjs/ext.cjs +4 -0
- package/_cjs/ext.cjs.map +1 -0
- package/_cjs/index.cjs +6 -0
- package/_cjs/index.cjs.map +1 -0
- package/_cjs/lib/RequestContext.cjs +70 -0
- package/_cjs/lib/RequestContext.cjs.map +1 -0
- package/_cjs/lib/api/authorization.jwt.cjs +44 -0
- package/_cjs/lib/api/authorization.jwt.cjs.map +1 -0
- package/_cjs/lib/api/defaultErrorHandler.cjs +45 -0
- package/_cjs/lib/api/defaultErrorHandler.cjs.map +1 -0
- package/_cjs/lib/api/reportError.cjs +64 -0
- package/_cjs/lib/api/reportError.cjs.map +1 -0
- package/_cjs/lib/api/routing.cjs +262 -0
- package/_cjs/lib/api/routing.cjs.map +1 -0
- package/_cjs/lib/api/setupRequest.cjs +35 -0
- package/_cjs/lib/api/setupRequest.cjs.map +1 -0
- package/_cjs/lib/api/util.cjs +17 -0
- package/_cjs/lib/api/util.cjs.map +1 -0
- package/_cjs/lib/api/writeDocs.cjs +31 -0
- package/_cjs/lib/api/writeDocs.cjs.map +1 -0
- package/_cjs/lib/errorReporter.cjs +72 -0
- package/_cjs/lib/errorReporter.cjs.map +1 -0
- package/_cjs/lib/ext/Array.cjs +30 -0
- package/_cjs/lib/ext/Array.cjs.map +1 -0
- package/_cjs/lib/fileUtil.cjs +36 -0
- package/_cjs/lib/fileUtil.cjs.map +1 -0
- package/_cjs/lib/filter/types/errors.cjs +6 -0
- package/_cjs/lib/filter/types/errors.cjs.map +1 -0
- package/_cjs/lib/filter/types/fields.cjs +6 -0
- package/_cjs/lib/filter/types/fields.cjs.map +1 -0
- package/_cjs/lib/filter/types/index.cjs +61 -0
- package/_cjs/lib/filter/types/index.cjs.map +1 -0
- package/_cjs/lib/filter/types/path/common.cjs +6 -0
- package/_cjs/lib/filter/types/path/common.cjs.map +1 -0
- package/_cjs/lib/filter/types/path/eager.cjs +6 -0
- package/_cjs/lib/filter/types/path/eager.cjs.map +1 -0
- package/_cjs/lib/filter/types/path/index.cjs +8 -0
- package/_cjs/lib/filter/types/path/index.cjs.map +1 -0
- package/_cjs/lib/filter/types/utils.cjs +6 -0
- package/_cjs/lib/filter/types/utils.cjs.map +1 -0
- package/_cjs/lib/filter/types/validator.cjs +6 -0
- package/_cjs/lib/filter/types/validator.cjs.map +1 -0
- package/_cjs/lib/filter.cjs +238 -0
- package/_cjs/lib/filter.cjs.map +1 -0
- package/_cjs/lib/instrument.cjs +20 -0
- package/_cjs/lib/instrument.cjs.map +1 -0
- package/_cjs/lib/rateLimit.cjs +88 -0
- package/_cjs/lib/rateLimit.cjs.map +1 -0
- package/_cjs/services/CUPS/service.cjs +15 -0
- package/_cjs/services/CUPS/service.cjs.map +1 -0
- package/_cjs/services/CUPS.cjs +113 -0
- package/_cjs/services/CUPS.cjs.map +1 -0
- package/_cjs/services/Cache.cjs +39 -0
- package/_cjs/services/Cache.cjs.map +1 -0
- package/_cjs/services/Emailer/Sendgrid.cjs +112 -0
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -0
- package/_cjs/services/Emailer/fake.cjs +24 -0
- package/_cjs/services/Emailer/fake.cjs.map +1 -0
- package/_cjs/services/Emailer/service.cjs +12 -0
- package/_cjs/services/Emailer/service.cjs.map +1 -0
- package/_cjs/services/Emailer.cjs +17 -0
- package/_cjs/services/Emailer.cjs.map +1 -0
- package/_cjs/services/Repository.cjs +247 -0
- package/_cjs/services/Repository.cjs.map +1 -0
- package/_cjs/services/ServiceBus.cjs +69 -0
- package/_cjs/services/ServiceBus.cjs.map +1 -0
- package/_cjs/services/Store/Cosmos.cjs +324 -0
- package/_cjs/services/Store/Cosmos.cjs.map +1 -0
- package/_cjs/services/Store/Cosmos.test.cjs +59 -0
- package/_cjs/services/Store/Cosmos.test.cjs.map +1 -0
- package/_cjs/services/Store/Disk.cjs +62 -0
- package/_cjs/services/Store/Disk.cjs.map +1 -0
- package/_cjs/services/Store/Memory.cjs +70 -0
- package/_cjs/services/Store/Memory.cjs.map +1 -0
- package/_cjs/services/Store/Redis.cjs +72 -0
- package/_cjs/services/Store/Redis.cjs.map +1 -0
- package/_cjs/services/Store/codeFilter.test.cjs +61 -0
- package/_cjs/services/Store/codeFilter.test.cjs.map +1 -0
- package/_cjs/services/Store/index.cjs +72 -0
- package/_cjs/services/Store/index.cjs.map +1 -0
- package/_cjs/services/Store/service.cjs +72 -0
- package/_cjs/services/Store/service.cjs.map +1 -0
- package/_cjs/services/Store/utils.cjs +78 -0
- package/_cjs/services/Store/utils.cjs.map +1 -0
- package/_cjs/services/Store.cjs +17 -0
- package/_cjs/services/Store.cjs.map +1 -0
- package/_cjs/services/memQueue.cjs +32 -0
- package/_cjs/services/memQueue.cjs.map +1 -0
- package/_cjs/test.arbs.cjs +32 -0
- package/_cjs/test.arbs.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs +14 -0
- package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs +29 -0
- package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs +32 -0
- package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs +266 -0
- package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/CacheState.cjs +31 -0
- package/_cjs/vendor/Cache/Cache/_internal/CacheState.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs +67 -0
- package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs +44 -0
- package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs +33 -0
- package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/definition.cjs +13 -0
- package/_cjs/vendor/Cache/Cache/definition.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/operations/make.cjs +20 -0
- package/_cjs/vendor/Cache/Cache/operations/make.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/operations/makeWith.cjs +23 -0
- package/_cjs/vendor/Cache/Cache/operations/makeWith.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache/operations.cjs +28 -0
- package/_cjs/vendor/Cache/Cache/operations.cjs.map +1 -0
- package/_cjs/vendor/Cache/Cache.cjs +28 -0
- package/_cjs/vendor/Cache/Cache.cjs.map +1 -0
- package/_cjs/vendor/Cache/CacheStats/definition.cjs +13 -0
- package/_cjs/vendor/Cache/CacheStats/definition.cjs.map +1 -0
- package/_cjs/vendor/Cache/CacheStats.cjs +17 -0
- package/_cjs/vendor/Cache/CacheStats.cjs.map +1 -0
- package/_cjs/vendor/Cache/EntryStats/definition.cjs +11 -0
- package/_cjs/vendor/Cache/EntryStats/definition.cjs.map +1 -0
- package/_cjs/vendor/Cache/EntryStats.cjs +17 -0
- package/_cjs/vendor/Cache/EntryStats.cjs.map +1 -0
- package/_cjs/vendor/Cache/Lookup/definition.cjs +6 -0
- package/_cjs/vendor/Cache/Lookup/definition.cjs.map +1 -0
- package/_cjs/vendor/Cache/Lookup.cjs +17 -0
- package/_cjs/vendor/Cache/Lookup.cjs.map +1 -0
- package/_cjs/vendor/Cache/index.cjs +17 -0
- package/_cjs/vendor/Cache/index.cjs.map +1 -0
- package/_src/_global.ext.ts +34 -0
- package/_src/_global.schema.ts +10 -0
- package/_src/_global.ts +14 -0
- package/_src/errors.ts +50 -0
- package/_src/ext.ts +1 -0
- package/_src/index.ts +0 -0
- package/_src/lib/RequestContext.ts +132 -0
- package/_src/lib/api/authorization.jwt.ts +52 -0
- package/_src/lib/api/defaultErrorHandler.ts +92 -0
- package/_src/lib/api/reportError.ts +50 -0
- package/_src/lib/api/routing.ts +623 -0
- package/_src/lib/api/setupRequest.ts +22 -0
- package/_src/lib/api/util.ts +14 -0
- package/_src/lib/api/writeDocs.ts +26 -0
- package/_src/lib/errorReporter.ts +63 -0
- package/_src/lib/ext/Array.ts +32 -0
- package/_src/lib/fileUtil.ts +56 -0
- package/_src/lib/filter/types/errors.ts +47 -0
- package/_src/lib/filter/types/fields.ts +50 -0
- package/_src/lib/filter/types/index.ts +5 -0
- package/_src/lib/filter/types/path/common.ts +404 -0
- package/_src/lib/filter/types/path/eager.ts +146 -0
- package/_src/lib/filter/types/path/index.ts +14 -0
- package/_src/lib/filter/types/utils.ts +106 -0
- package/_src/lib/filter/types/validator.ts +46 -0
- package/_src/lib/filter.ts +323 -0
- package/_src/lib/instrument.ts +9 -0
- package/_src/lib/rateLimit.ts +126 -0
- package/_src/services/CUPS/service.ts +16 -0
- package/_src/services/CUPS.ts +105 -0
- package/_src/services/Cache.ts +45 -0
- package/_src/services/Emailer/Sendgrid.ts +123 -0
- package/_src/services/Emailer/fake.ts +14 -0
- package/_src/services/Emailer/service.ts +33 -0
- package/_src/services/Emailer.ts +1 -0
- package/_src/services/Repository.ts +513 -0
- package/_src/services/ServiceBus.ts +111 -0
- package/_src/services/Store/Cosmos.test.ts +91 -0
- package/_src/services/Store/Cosmos.ts +545 -0
- package/_src/services/Store/Disk.ts +81 -0
- package/_src/services/Store/Memory.ts +77 -0
- package/_src/services/Store/Redis.ts +92 -0
- package/_src/services/Store/codeFilter.test.ts +74 -0
- package/_src/services/Store/index.test.ts.bak +112 -0
- package/_src/services/Store/index.ts +62 -0
- package/_src/services/Store/service.ts +174 -0
- package/_src/services/Store/utils.ts +126 -0
- package/_src/services/Store.ts +1 -0
- package/_src/services/memQueue.ts +30 -0
- package/_src/test.arbs.ts +27 -0
- package/_src/vendor/Cache/Cache/_internal/AtomicBoolean.ts +7 -0
- package/_src/vendor/Cache/Cache/_internal/AtomicNumber.ts +28 -0
- package/_src/vendor/Cache/Cache/_internal/AtomicReference.ts +30 -0
- package/_src/vendor/Cache/Cache/_internal/CacheInternal.ts +293 -0
- package/_src/vendor/Cache/Cache/_internal/CacheState.ts +56 -0
- package/_src/vendor/Cache/Cache/_internal/KeySet.ts +58 -0
- package/_src/vendor/Cache/Cache/_internal/MapKey.ts +43 -0
- package/_src/vendor/Cache/Cache/_internal/MapValue.ts +39 -0
- package/_src/vendor/Cache/Cache/definition.ts +112 -0
- package/_src/vendor/Cache/Cache/operations/make.ts +17 -0
- package/_src/vendor/Cache/Cache/operations/makeWith.ts +32 -0
- package/_src/vendor/Cache/Cache/operations.ts +4 -0
- package/_src/vendor/Cache/Cache.ts +4 -0
- package/_src/vendor/Cache/CacheStats/definition.ts +23 -0
- package/_src/vendor/Cache/CacheStats.ts +3 -0
- package/_src/vendor/Cache/EntryStats/definition.ts +19 -0
- package/_src/vendor/Cache/EntryStats.ts +3 -0
- package/_src/vendor/Cache/Lookup/definition.ts +15 -0
- package/_src/vendor/Cache/Lookup.ts +3 -0
- package/_src/vendor/Cache/global.ts.bak +23 -0
- package/_src/vendor/Cache/index.ts +4 -0
- package/dist/_global.d.ts +10 -0
- package/dist/_global.d.ts.map +1 -0
- package/dist/_global.ext.d.ts +34 -0
- package/dist/_global.ext.d.ts.map +1 -0
- package/dist/_global.ext.js +2 -0
- package/dist/_global.js +12 -0
- package/dist/_global.schema.d.ts +6 -0
- package/dist/_global.schema.d.ts.map +1 -0
- package/dist/_global.schema.js +9 -0
- package/dist/errors.d.ts +41 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +51 -0
- package/dist/ext.d.ts +2 -0
- package/dist/ext.d.ts.map +1 -0
- package/dist/ext.js +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/lib/RequestContext.d.ts +122 -0
- package/dist/lib/RequestContext.d.ts.map +1 -0
- package/dist/lib/RequestContext.js +52 -0
- package/dist/lib/api/authorization.jwt.d.ts +7 -0
- package/dist/lib/api/authorization.jwt.d.ts.map +1 -0
- package/dist/lib/api/authorization.jwt.js +32 -0
- package/dist/lib/api/defaultErrorHandler.d.ts +8 -0
- package/dist/lib/api/defaultErrorHandler.d.ts.map +1 -0
- package/dist/lib/api/defaultErrorHandler.js +37 -0
- package/dist/lib/api/reportError.d.ts +32 -0
- package/dist/lib/api/reportError.d.ts.map +1 -0
- package/dist/lib/api/reportError.js +44 -0
- package/dist/lib/api/routing.d.ts +100 -0
- package/dist/lib/api/routing.d.ts.map +1 -0
- package/dist/lib/api/routing.js +248 -0
- package/dist/lib/api/setupRequest.d.ts +13 -0
- package/dist/lib/api/setupRequest.d.ts.map +1 -0
- package/dist/lib/api/setupRequest.js +25 -0
- package/dist/lib/api/util.d.ts +3 -0
- package/dist/lib/api/util.d.ts.map +1 -0
- package/dist/lib/api/util.js +14 -0
- package/dist/lib/api/writeDocs.d.ts +3 -0
- package/dist/lib/api/writeDocs.d.ts.map +1 -0
- package/dist/lib/api/writeDocs.js +23 -0
- package/dist/lib/errorReporter.d.ts +8 -0
- package/dist/lib/errorReporter.d.ts.map +1 -0
- package/dist/lib/errorReporter.js +45 -0
- package/dist/lib/ext/Array.d.ts +19 -0
- package/dist/lib/ext/Array.d.ts.map +1 -0
- package/dist/lib/ext/Array.js +21 -0
- package/dist/lib/fileUtil.d.ts +22 -0
- package/dist/lib/fileUtil.d.ts.map +1 -0
- package/dist/lib/fileUtil.js +23 -0
- package/dist/lib/filter/types/errors.d.ts +30 -0
- package/dist/lib/filter/types/errors.d.ts.map +1 -0
- package/dist/lib/filter/types/errors.js +2 -0
- package/dist/lib/filter/types/fields.d.ts +29 -0
- package/dist/lib/filter/types/fields.d.ts.map +1 -0
- package/dist/lib/filter/types/fields.js +2 -0
- package/dist/lib/filter/types/index.d.ts +6 -0
- package/dist/lib/filter/types/index.d.ts.map +1 -0
- package/dist/lib/filter/types/index.js +6 -0
- package/dist/lib/filter/types/path/common.d.ts +316 -0
- package/dist/lib/filter/types/path/common.d.ts.map +1 -0
- package/dist/lib/filter/types/path/common.js +2 -0
- package/dist/lib/filter/types/path/eager.d.ts +95 -0
- package/dist/lib/filter/types/path/eager.d.ts.map +1 -0
- package/dist/lib/filter/types/path/eager.js +2 -0
- package/dist/lib/filter/types/path/index.d.ts +4 -0
- package/dist/lib/filter/types/path/index.d.ts.map +1 -0
- package/dist/lib/filter/types/path/index.js +4 -0
- package/dist/lib/filter/types/utils.d.ts +68 -0
- package/dist/lib/filter/types/utils.d.ts.map +1 -0
- package/dist/lib/filter/types/utils.js +2 -0
- package/dist/lib/filter/types/validator.d.ts +30 -0
- package/dist/lib/filter/types/validator.d.ts.map +1 -0
- package/dist/lib/filter/types/validator.js +2 -0
- package/dist/lib/filter.d.ts +133 -0
- package/dist/lib/filter.d.ts.map +1 -0
- package/dist/lib/filter.js +171 -0
- package/dist/lib/instrument.d.ts +7 -0
- package/dist/lib/instrument.d.ts.map +1 -0
- package/dist/lib/instrument.js +12 -0
- package/dist/lib/rateLimit.d.ts +43 -0
- package/dist/lib/rateLimit.d.ts.map +1 -0
- package/dist/lib/rateLimit.js +76 -0
- package/dist/services/CUPS/service.d.ts +19 -0
- package/dist/services/CUPS/service.d.ts.map +1 -0
- package/dist/services/CUPS/service.js +5 -0
- package/dist/services/CUPS.d.ts +10 -0
- package/dist/services/CUPS.d.ts.map +1 -0
- package/dist/services/CUPS.js +89 -0
- package/dist/services/Cache.d.ts +28 -0
- package/dist/services/Cache.d.ts.map +1 -0
- package/dist/services/Cache.js +28 -0
- package/dist/services/Emailer/Sendgrid.d.ts +180 -0
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -0
- package/dist/services/Emailer/Sendgrid.js +102 -0
- package/dist/services/Emailer/fake.d.ts +7 -0
- package/dist/services/Emailer/fake.d.ts.map +1 -0
- package/dist/services/Emailer/fake.js +15 -0
- package/dist/services/Emailer/service.d.ts +41 -0
- package/dist/services/Emailer/service.d.ts.map +1 -0
- package/dist/services/Emailer/service.js +3 -0
- package/dist/services/Emailer.d.ts +2 -0
- package/dist/services/Emailer.d.ts.map +1 -0
- package/dist/services/Emailer.js +2 -0
- package/dist/services/Repository.d.ts +300 -0
- package/dist/services/Repository.d.ts.map +1 -0
- package/dist/services/Repository.js +193 -0
- package/dist/services/ServiceBus.d.ts +26 -0
- package/dist/services/ServiceBus.d.ts.map +1 -0
- package/dist/services/ServiceBus.js +53 -0
- package/dist/services/Store/Cosmos.d.ts +56 -0
- package/dist/services/Store/Cosmos.d.ts.map +1 -0
- package/dist/services/Store/Cosmos.js +321 -0
- package/dist/services/Store/Cosmos.test.d.ts.map +1 -0
- package/dist/services/Store/Disk.d.ts +14 -0
- package/dist/services/Store/Disk.d.ts.map +1 -0
- package/dist/services/Store/Disk.js +52 -0
- package/dist/services/Store/Memory.d.ts +17 -0
- package/dist/services/Store/Memory.d.ts.map +1 -0
- package/dist/services/Store/Memory.js +60 -0
- package/dist/services/Store/Redis.d.ts +12 -0
- package/dist/services/Store/Redis.d.ts.map +1 -0
- package/dist/services/Store/Redis.js +59 -0
- package/dist/services/Store/codeFilter.test.d.ts.map +1 -0
- package/dist/services/Store/index.d.ts +10 -0
- package/dist/services/Store/index.d.ts.map +1 -0
- package/dist/services/Store/index.js +52 -0
- package/dist/services/Store/service.d.ts +113 -0
- package/dist/services/Store/service.d.ts.map +1 -0
- package/dist/services/Store/service.js +63 -0
- package/dist/services/Store/utils.d.ts +14 -0
- package/dist/services/Store/utils.d.ts.map +1 -0
- package/dist/services/Store/utils.js +103 -0
- package/dist/services/Store.d.ts +2 -0
- package/dist/services/Store.d.ts.map +1 -0
- package/dist/services/Store.js +2 -0
- package/dist/services/memQueue.d.ts +18 -0
- package/dist/services/memQueue.d.ts.map +1 -0
- package/dist/services/memQueue.js +24 -0
- package/dist/test.arbs.d.ts +13 -0
- package/dist/test.arbs.d.ts.map +1 -0
- package/dist/test.arbs.js +22 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts +5 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.js +7 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts +8 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicNumber.js +22 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts +10 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/AtomicReference.js +25 -0
- package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts +51 -0
- package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/CacheInternal.js +253 -0
- package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts +33 -0
- package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/CacheState.js +21 -0
- package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts +20 -0
- package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/KeySet.js +61 -0
- package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts +24 -0
- package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/MapKey.js +37 -0
- package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts +32 -0
- package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/_internal/MapValue.js +24 -0
- package/dist/vendor/Cache/Cache/definition.d.ts +100 -0
- package/dist/vendor/Cache/Cache/definition.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/definition.js +5 -0
- package/dist/vendor/Cache/Cache/operations/make.d.ts +12 -0
- package/dist/vendor/Cache/Cache/operations/make.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/operations/make.js +12 -0
- package/dist/vendor/Cache/Cache/operations/makeWith.d.ts +14 -0
- package/dist/vendor/Cache/Cache/operations/makeWith.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/operations/makeWith.js +15 -0
- package/dist/vendor/Cache/Cache/operations.d.ts +3 -0
- package/dist/vendor/Cache/Cache/operations.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache/operations.js +4 -0
- package/dist/vendor/Cache/Cache.d.ts +3 -0
- package/dist/vendor/Cache/Cache.d.ts.map +1 -0
- package/dist/vendor/Cache/Cache.js +4 -0
- package/dist/vendor/Cache/CacheStats/definition.d.ts +19 -0
- package/dist/vendor/Cache/CacheStats/definition.d.ts.map +1 -0
- package/dist/vendor/Cache/CacheStats/definition.js +6 -0
- package/dist/vendor/Cache/CacheStats.d.ts +2 -0
- package/dist/vendor/Cache/CacheStats.d.ts.map +1 -0
- package/dist/vendor/Cache/CacheStats.js +3 -0
- package/dist/vendor/Cache/EntryStats/definition.d.ts +17 -0
- package/dist/vendor/Cache/EntryStats/definition.d.ts.map +1 -0
- package/dist/vendor/Cache/EntryStats/definition.js +4 -0
- package/dist/vendor/Cache/EntryStats.d.ts +2 -0
- package/dist/vendor/Cache/EntryStats.d.ts.map +1 -0
- package/dist/vendor/Cache/EntryStats.js +3 -0
- package/dist/vendor/Cache/Lookup/definition.d.ts +17 -0
- package/dist/vendor/Cache/Lookup/definition.d.ts.map +1 -0
- package/dist/vendor/Cache/Lookup/definition.js +2 -0
- package/dist/vendor/Cache/Lookup.d.ts +2 -0
- package/dist/vendor/Cache/Lookup.d.ts.map +1 -0
- package/dist/vendor/Cache/Lookup.js +3 -0
- package/dist/vendor/Cache/index.d.ts +5 -0
- package/dist/vendor/Cache/index.d.ts.map +1 -0
- package/dist/vendor/Cache/index.js +5 -0
- package/package.json +756 -0
- package/tsconfig.json +107 -0
- package/tsconfig.json.bak +47 -0
- package/tsplus.config.json +6 -0
- package/types/modules.d.ts +1 -0
- package/vitest.config.ts +5 -0
- package/wallaby.cjs +1 -0
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CosmosStoreLive = CosmosStoreLive;
|
|
7
|
+
exports.buildCosmosQuery = buildCosmosQuery;
|
|
8
|
+
exports.buildFilterJoinSelectCosmosQuery = buildFilterJoinSelectCosmosQuery;
|
|
9
|
+
exports.buildFindJoinCosmosQuery = buildFindJoinCosmosQuery;
|
|
10
|
+
exports.buildLegacyCosmosQuery = buildLegacyCosmosQuery;
|
|
11
|
+
exports.buildWhereCosmosQuery = buildWhereCosmosQuery;
|
|
12
|
+
exports.makeCosmosStore = makeCosmosStore;
|
|
13
|
+
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
14
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
15
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Option"));
|
|
16
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
17
|
+
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
|
|
18
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/infra/lib/instrument"));
|
|
19
|
+
var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/prelude/utils"));
|
|
20
|
+
var tsplus_module_7 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
|
|
21
|
+
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
22
|
+
var tsplus_module_9 = _interopRequireWildcard(require("@effect-app/prelude/_ext/Prelude.ext"));
|
|
23
|
+
var tsplus_module_10 = _interopRequireWildcard(require("@effect-app/core/Prelude"));
|
|
24
|
+
var tsplus_module_11 = _interopRequireWildcard(require("@effect-app/core/_ext/ord.ext"));
|
|
25
|
+
var tsplus_module_12 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/fluent/core"));
|
|
26
|
+
var CosmosClient = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
|
|
27
|
+
var _errors = require("../../errors.cjs");
|
|
28
|
+
var _service = require("./service.cjs");
|
|
29
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
const fileName_1 = "packages/infra/_src/services/Store/Cosmos.ts";
|
|
32
|
+
// TODO: Retry operation when running into RU limit.
|
|
33
|
+
function makeCosmosStore({
|
|
34
|
+
prefix
|
|
35
|
+
}) {
|
|
36
|
+
return tracer_1.withCallTrace(fileName_1 + ":25:17")(tsplus_module_1.gen(function* ($) {
|
|
37
|
+
const {
|
|
38
|
+
db
|
|
39
|
+
} = yield* $(tsplus_module_1.service(CosmosClient.CosmosClient));
|
|
40
|
+
return {
|
|
41
|
+
make: (name, existing, config) => tracer_1.withCallTrace(fileName_1 + ":33:16")(tsplus_module_1.gen(function* ($) {
|
|
42
|
+
const containerId = `${prefix}${name}`;
|
|
43
|
+
yield* $(tracer_1.withCallTrace(fileName_1 + ":36:20")(tsplus_module_1.promise(() => db.containers.createIfNotExists({
|
|
44
|
+
id: containerId,
|
|
45
|
+
uniqueKeyPolicy: config?.uniqueKeys ? {
|
|
46
|
+
uniqueKeys: config.uniqueKeys
|
|
47
|
+
} : undefined
|
|
48
|
+
}))));
|
|
49
|
+
const container = db.container(containerId);
|
|
50
|
+
const bulk = container.items.bulk.bind(container.items);
|
|
51
|
+
const execBatch = container.items.batch.bind(container.items);
|
|
52
|
+
const importedMarkerId = containerId;
|
|
53
|
+
const bulkSet = items => tracer_1.withCallTrace(fileName_1 + ":124:16")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":51:20")(tsplus_module_1.gen(function* ($) {
|
|
54
|
+
// TODO: disable batching if need atomicity
|
|
55
|
+
// we delay and batch to keep low amount of RUs
|
|
56
|
+
const b = [...items].map(x => [x, tsplus_module_2.match(() => ({
|
|
57
|
+
operationType: "Create",
|
|
58
|
+
resourceBody: {
|
|
59
|
+
...(0, tsplus_module_6.omit)(x, "_etag"),
|
|
60
|
+
_partitionKey: config?.partitionValue(x)
|
|
61
|
+
},
|
|
62
|
+
partitionKey: config?.partitionValue(x)
|
|
63
|
+
}), eTag => ({
|
|
64
|
+
operationType: "Replace",
|
|
65
|
+
id: x.id,
|
|
66
|
+
resourceBody: {
|
|
67
|
+
...(0, tsplus_module_6.omit)(x, "_etag"),
|
|
68
|
+
_partitionKey: config?.partitionValue(x)
|
|
69
|
+
},
|
|
70
|
+
ifMatch: eTag,
|
|
71
|
+
partitionKey: config?.partitionValue(x)
|
|
72
|
+
}))(tsplus_module_2.fromNullable(x._etag))]);
|
|
73
|
+
const batches = tsplus_module_3.chunk_(b, config?.maxBulkSize ?? 10).toReadonlyArray();
|
|
74
|
+
const batchResult = yield* $(tsplus_module_4.ext_forEach(batches.map((x, i) => [i, x]), ([i, batch]) => tracer_1.withCallTrace(fileName_1 + ":88:26")(tsplus_module_1.flatMap(responses => tracer_1.withCallTrace(fileName_1 + ":89:34")(tsplus_module_1.gen(function* ($) {
|
|
75
|
+
const r = responses.find(x => x.statusCode === 412);
|
|
76
|
+
if (r) {
|
|
77
|
+
return yield* $(tracer_1.withCallTrace(fileName_1 + ":93:40")(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException(name, JSON.stringify(r.resourceBody?.["id"])))));
|
|
78
|
+
}
|
|
79
|
+
const r2 = responses.find(x => x.statusCode > 299 || x.statusCode < 200);
|
|
80
|
+
if (r2) {
|
|
81
|
+
return yield* $(tracer_1.withCallTrace(fileName_1 + ":106:40")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + r2.statusCode))));
|
|
82
|
+
}
|
|
83
|
+
return batch.map(([e], i) => ({
|
|
84
|
+
...e,
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
86
|
+
_etag: responses[i].eTag
|
|
87
|
+
}));
|
|
88
|
+
}))))(tracer_1.withCallTrace(fileName_1 + ":87:26")(tsplus_module_1.delay(tsplus_module_3.millis_(i === 0 ? 0 : 1100)))(tracer_1.withCallTrace(fileName_1 + ":86:30")(tsplus_module_1.promise(() => bulk(batch.map(([, op]) => op))))))));
|
|
89
|
+
return batchResult.toReadonlyArray().flat();
|
|
90
|
+
})), "cosmos.bulkSet"));
|
|
91
|
+
const batchSet = items => {
|
|
92
|
+
return tracer_1.withCallTrace(fileName_1 + ":186:16")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr((() => {
|
|
93
|
+
const batch = [...items].map(x => [x, tsplus_module_2.match(() => ({
|
|
94
|
+
operationType: "Create",
|
|
95
|
+
resourceBody: {
|
|
96
|
+
...(0, tsplus_module_6.omit)(x, "_etag"),
|
|
97
|
+
_partitionKey: config?.partitionValue(x)
|
|
98
|
+
}
|
|
99
|
+
}), eTag => ({
|
|
100
|
+
operationType: "Replace",
|
|
101
|
+
id: x.id,
|
|
102
|
+
resourceBody: {
|
|
103
|
+
...(0, tsplus_module_6.omit)(x, "_etag"),
|
|
104
|
+
_partitionKey: config?.partitionValue(x)
|
|
105
|
+
},
|
|
106
|
+
ifMatch: eTag
|
|
107
|
+
}))(tsplus_module_2.fromNullable(x._etag))]);
|
|
108
|
+
const ex = batch.map(([, c]) => c);
|
|
109
|
+
return tracer_1.withCallTrace(fileName_1 + ":157:20")(tsplus_module_1.flatMap(x => tracer_1.withCallTrace(fileName_1 + ":158:28")(tsplus_module_1.gen(function* ($) {
|
|
110
|
+
const result = x.result ?? [];
|
|
111
|
+
const firstFailed = result.find(x => x.statusCode > 299 || x.statusCode < 200);
|
|
112
|
+
if (firstFailed) {
|
|
113
|
+
const code = firstFailed.statusCode ?? 0;
|
|
114
|
+
if (code === 412) {
|
|
115
|
+
return yield* $(tracer_1.withCallTrace(fileName_1 + ":167:36")(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException(name, "batch"))));
|
|
116
|
+
}
|
|
117
|
+
return yield* $(tracer_1.withCallTrace(fileName_1 + ":172:34")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + code))));
|
|
118
|
+
}
|
|
119
|
+
return batch.map(([e], i) => ({
|
|
120
|
+
...e,
|
|
121
|
+
_etag: result[i]?.eTag
|
|
122
|
+
}));
|
|
123
|
+
}))))(tracer_1.withCallTrace(fileName_1 + ":156:24")(tsplus_module_1.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey))));
|
|
124
|
+
})(), "cosmos.batchSet"));
|
|
125
|
+
};
|
|
126
|
+
const s = {
|
|
127
|
+
all: tracer_1.withCallTrace(fileName_1 + ":203:16")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":195:16")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":196:24")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
128
|
+
resources
|
|
129
|
+
}) => tsplus_module_3.ext_itToChunk(resources))))))(tracer_1.withCallTrace(fileName_1 + ":194:16")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":190:18")(tsplus_module_1.sync(() => ({
|
|
130
|
+
query: `SELECT * FROM ${name} f WHERE f.id != @id`,
|
|
131
|
+
parameters: [{
|
|
132
|
+
name: "@id",
|
|
133
|
+
value: importedMarkerId
|
|
134
|
+
}]
|
|
135
|
+
}))))), "cosmos.all")),
|
|
136
|
+
filterJoinSelect: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":232:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":221:18")(tsplus_module_1.map(a => {
|
|
137
|
+
const v = a.flatMap(_ => _).map(x => tsplus_module_6.spread(x, ({
|
|
138
|
+
r,
|
|
139
|
+
...rest
|
|
140
|
+
}) => ({
|
|
141
|
+
...rest,
|
|
142
|
+
...r
|
|
143
|
+
})));
|
|
144
|
+
return tsplus_module_7.fromIterable(v);
|
|
145
|
+
}))(tsplus_module_4.ext_forEach(filter.keys, k => tracer_1.withCallTrace(fileName_1 + ":212:22")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":213:30")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
146
|
+
resources
|
|
147
|
+
}) => tsplus_module_3.ext_itToChunk(resources))))))(tracer_1.withCallTrace(fileName_1 + ":211:22")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":210:19")(tsplus_module_1.sync(() => buildFilterJoinSelectCosmosQuery(filter, k, name, cursor?.skip, cursor?.limit))))))), "cosmos.filterJoinSelect")),
|
|
148
|
+
/**
|
|
149
|
+
* May return duplicate results for "join_find", when matching more than once.
|
|
150
|
+
*/
|
|
151
|
+
filter: (filter, cursor) => {
|
|
152
|
+
const skip = cursor?.skip;
|
|
153
|
+
const limit = cursor?.limit;
|
|
154
|
+
return tracer_1.withCallTrace(fileName_1 + ":268:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(filter.type === "join_find" ?
|
|
155
|
+
// This is a problem if one of the multiple joined arrays can be empty!
|
|
156
|
+
// https://stackoverflow.com/questions/60320780/azure-cosmosdb-sql-join-not-returning-results-when-the-child-contains-empty-arra
|
|
157
|
+
// so we use multiple queries instead.
|
|
158
|
+
tracer_1.withCallTrace(fileName_1 + ":256:22")(tsplus_module_1.map(_ => _.flatMap(_ => _)))(
|
|
159
|
+
// This is a problem if one of the multiple joined arrays can be empty!
|
|
160
|
+
tsplus_module_4.ext_forEach(
|
|
161
|
+
// This is a problem if one of the multiple joined arrays can be empty!
|
|
162
|
+
filter.keys, k => tracer_1.withCallTrace(fileName_1 + ":247:26")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":248:34")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
163
|
+
resources
|
|
164
|
+
}) => tsplus_module_3.ext_itToChunk(resources))))))(tracer_1.withCallTrace(fileName_1 + ":246:26")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":245:23")(tsplus_module_1.sync(() => buildFindJoinCosmosQuery(filter, k, name, skip, limit))))))) : tracer_1.withCallTrace(fileName_1 + ":259:20")(tsplus_module_1.flatMap(q => tracer_1.withCallTrace(fileName_1 + ":260:28")(tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
165
|
+
resources
|
|
166
|
+
}) => tsplus_module_3.ext_itToChunk(resources.map(_ => _.f)))))))(tracer_1.withCallTrace(fileName_1 + ":258:20")(tsplus_module_1.tap(q => logQuery(q)))(tracer_1.withCallTrace(fileName_1 + ":257:19")(tsplus_module_1.sync(() => buildCosmosQuery(filter, name, importedMarkerId, skip, limit))))), "cosmos.filter"));
|
|
167
|
+
},
|
|
168
|
+
find: id => tracer_1.withCallTrace(fileName_1 + ":277:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":271:22")(tsplus_module_1.promise(() => container.item(id, config?.partitionValue({
|
|
169
|
+
id
|
|
170
|
+
})).read().then(({
|
|
171
|
+
resource
|
|
172
|
+
}) => tsplus_module_2.fromNullable(resource)))), "cosmos.find")),
|
|
173
|
+
set: e => tracer_1.withCallTrace(fileName_1 + ":318:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":301:18")(tsplus_module_1.flatMap(x => {
|
|
174
|
+
if (x.statusCode === 412) {
|
|
175
|
+
return tracer_1.withCallTrace(fileName_1 + ":303:35")(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException(name, e.id)));
|
|
176
|
+
}
|
|
177
|
+
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
178
|
+
return tracer_1.withCallTrace(fileName_1 + ":306:35")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode)));
|
|
179
|
+
}
|
|
180
|
+
return tracer_1.withCallTrace(fileName_1 + ":312:26")(tsplus_module_1.sync(() => ({
|
|
181
|
+
...e,
|
|
182
|
+
_etag: x.etag
|
|
183
|
+
})));
|
|
184
|
+
}))(tsplus_module_2.match(() => tracer_1.withCallTrace(fileName_1 + ":282:28")(tsplus_module_1.promise(() => container.items.create({
|
|
185
|
+
...e,
|
|
186
|
+
_partitionKey: config?.partitionValue(e)
|
|
187
|
+
}))), eTag => tracer_1.withCallTrace(fileName_1 + ":289:28")(tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).replace({
|
|
188
|
+
...e,
|
|
189
|
+
_partitionKey: config?.partitionValue(e)
|
|
190
|
+
}, {
|
|
191
|
+
accessCondition: {
|
|
192
|
+
type: "IfMatch",
|
|
193
|
+
condition: eTag
|
|
194
|
+
}
|
|
195
|
+
}))))(tsplus_module_2.fromNullable(e._etag))), "cosmos.set")),
|
|
196
|
+
batchSet,
|
|
197
|
+
bulkSet,
|
|
198
|
+
remove: e => tracer_1.withCallTrace(fileName_1 + ":324:18")(tsplus_module_1.logAnnotate("cosmos.db", containerId))(tsplus_module_5.instr(tracer_1.withCallTrace(fileName_1 + ":322:22")(tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).delete())), "cosmos.remove"))
|
|
199
|
+
};
|
|
200
|
+
// handle mock data
|
|
201
|
+
const marker = yield* $(tracer_1.withCallTrace(fileName_1 + ":329:20")(tsplus_module_1.promise(() => container.item(importedMarkerId, importedMarkerId).read().then(({
|
|
202
|
+
resource
|
|
203
|
+
}) => tsplus_module_2.fromNullable(resource)))));
|
|
204
|
+
if (!tsplus_module_2.isSome(marker)) {
|
|
205
|
+
console.log("Creating mock data for " + name);
|
|
206
|
+
if (existing) {
|
|
207
|
+
const m = yield* $(existing);
|
|
208
|
+
yield* $(tracer_1.withCallTrace(fileName_1 + ":343:20")(tsplus_module_8.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":342:17")(tsplus_module_1.sync(() => tsplus_module_3.toNonEmptyArray([...m.values()]))), a => tracer_1.withCallTrace(fileName_1 + ":348:24")(tsplus_module_1.delay(tsplus_module_3.millis_(1100)))(tsplus_module_1.orDie(s.bulkSet(a))))));
|
|
209
|
+
}
|
|
210
|
+
// Mark as imported
|
|
211
|
+
yield* $(tracer_1.withCallTrace(fileName_1 + ":354:22")(tsplus_module_1.promise(() => container.items.create({
|
|
212
|
+
_partitionKey: importedMarkerId,
|
|
213
|
+
id: importedMarkerId
|
|
214
|
+
}))));
|
|
215
|
+
}
|
|
216
|
+
return s;
|
|
217
|
+
}))
|
|
218
|
+
};
|
|
219
|
+
}));
|
|
220
|
+
}
|
|
221
|
+
function logQuery(q) {
|
|
222
|
+
return tsplus_module_9.logAnnotates({
|
|
223
|
+
query: q.query,
|
|
224
|
+
parameters: JSON.stringify(q.parameters.reduce((acc, v) => {
|
|
225
|
+
acc[v.name] = v.value;
|
|
226
|
+
return acc;
|
|
227
|
+
}, {}), undefined, 2)
|
|
228
|
+
})(tracer_1.withCallTrace(fileName_1 + ":375:17")(tsplus_module_1.logDebug("cosmos query")));
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* @deprecated: should build Select into Where query
|
|
232
|
+
*/
|
|
233
|
+
function buildFilterJoinSelectCosmosQuery(filter, k, name, skip, limit) {
|
|
234
|
+
const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
|
|
235
|
+
return {
|
|
236
|
+
query: `
|
|
237
|
+
SELECT r, f.id as _rootId
|
|
238
|
+
FROM ${name} f
|
|
239
|
+
JOIN r IN f.${k}
|
|
240
|
+
WHERE LOWER(r.${filter.valueKey}) = LOWER(@value)
|
|
241
|
+
${lm}
|
|
242
|
+
`,
|
|
243
|
+
parameters: [{
|
|
244
|
+
name: "@value",
|
|
245
|
+
value: filter.value
|
|
246
|
+
}]
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* @deprecated: is now part of Where query as k.-1.valueKey
|
|
251
|
+
*/
|
|
252
|
+
function buildFindJoinCosmosQuery(filter, k, name, skip, limit) {
|
|
253
|
+
const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
|
|
254
|
+
return {
|
|
255
|
+
query: `
|
|
256
|
+
SELECT DISTINCT VALUE f
|
|
257
|
+
FROM ${name} f
|
|
258
|
+
JOIN r IN f.${k}
|
|
259
|
+
WHERE LOWER(r.${filter.valueKey}) = LOWER(@value)
|
|
260
|
+
${lm}`,
|
|
261
|
+
parameters: [{
|
|
262
|
+
name: "@value",
|
|
263
|
+
value: filter.value
|
|
264
|
+
}]
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* @deprecated: should build into Where query
|
|
269
|
+
*/
|
|
270
|
+
function buildLegacyCosmosQuery(filter, name, importedMarkerId, skip, limit) {
|
|
271
|
+
const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
|
|
272
|
+
return {
|
|
273
|
+
query: `
|
|
274
|
+
SELECT f
|
|
275
|
+
FROM ${name} AS f
|
|
276
|
+
WHERE f.id != @id AND f.${String(filter.by)} LIKE @filter
|
|
277
|
+
${lm}`,
|
|
278
|
+
parameters: [{
|
|
279
|
+
name: "@id",
|
|
280
|
+
value: importedMarkerId
|
|
281
|
+
}, {
|
|
282
|
+
name: "@filter",
|
|
283
|
+
value: filter.type === "endsWith" ? `%${filter.value}` : filter.type === "contains" ? `%${filter.value}%` : `${filter.value}%`
|
|
284
|
+
}]
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
function buildWhereCosmosQuery(filter, name, importedMarkerId, skip, limit) {
|
|
288
|
+
const lm = skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : "";
|
|
289
|
+
return {
|
|
290
|
+
query: `
|
|
291
|
+
SELECT f
|
|
292
|
+
FROM ${name} AS f
|
|
293
|
+
${tsplus_module_11.uniqArray(tsplus_module_10.Equal.string)(filter.where.filter(_ => _.key.includes(".-1.")).map(_ => _.key.split(".-1.")[0]).map(_ => `JOIN ${_} IN f.${_}`)).join("\n")}
|
|
294
|
+
WHERE f.id != @id AND ${filter.where.map(_ => _.key.includes(".-1.") ? {
|
|
295
|
+
..._,
|
|
296
|
+
f: _.key.split(".-1.")[0],
|
|
297
|
+
key: _.key.split(".-1.")[1]
|
|
298
|
+
} : {
|
|
299
|
+
..._,
|
|
300
|
+
f: "f"
|
|
301
|
+
}).map((x, i) => x.t === "in" ? `ARRAY_CONTAINS(@v${i}, ${x.f}.${x.key})` : x.t === "not-in" ? `ARRAY_CONTAINS(@v${i}, ${x.f}.${x.key}, false)` : x.t === "not-eq" ? x.value === null ? `IS_NULL(${x.f}.${x.key}) = false` : `${lowerIfNeeded(`${x.f}.${x.key}`, x.value)} <> ${lowerIfNeeded(`@v${i}`, x.value)}` : x.value === null ? `IS_NULL(${x.f}.${x.key}) = true` : `${lowerIfNeeded(`${x.f}.${x.key}`, x.value)} = ${lowerIfNeeded(`@v${i}`, x.value)}`).join(filter.mode === "or" ? " OR " : " AND ")}
|
|
302
|
+
${lm}`,
|
|
303
|
+
parameters: [{
|
|
304
|
+
name: "@id",
|
|
305
|
+
value: importedMarkerId
|
|
306
|
+
}, ...tsplus_module_12.ext_toMutable(filter.where.map((x, i) => ({
|
|
307
|
+
name: `@v${i}`,
|
|
308
|
+
value: x.value
|
|
309
|
+
})))]
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
const lowerIfNeeded = (key, value) => typeof value === "string" ? `LOWER(${key})` : `${key}`;
|
|
313
|
+
function buildCosmosQuery(filter, name, importedMarkerId, skip, limit) {
|
|
314
|
+
return filter.type === "startsWith" || filter.type === "endsWith" || filter.type === "contains" ? buildLegacyCosmosQuery(filter, name, importedMarkerId, skip, limit) : buildWhereCosmosQuery(filter, name, importedMarkerId, skip, limit);
|
|
315
|
+
}
|
|
316
|
+
class CosmosDbOperationError {
|
|
317
|
+
constructor(message) {
|
|
318
|
+
this.message = message;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
function CosmosStoreLive(config) {
|
|
322
|
+
return tsplus_module_1.toLayer(_service.StoreMaker)(tracer_1.withCallTrace(fileName_1 + ":544:24")(tsplus_module_1.flatMap(makeCosmosStore))(tsplus_module_1.config(config)));
|
|
323
|
+
}
|
|
324
|
+
//# sourceMappingURL=Cosmos.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cosmos.cjs","mappings":"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","names":["makeCosmosStore","prefix","tsplus_module_1","$","db","CosmosClient","make","name","existing","config","tracer_1","containerId","containers","createIfNotExists","id","uniqueKeyPolicy","uniqueKeys","undefined","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","tsplus_module_5","b","map","x","tsplus_module_2","operationType","resourceBody","_partitionKey","partitionValue","partitionKey","eTag","ifMatch","_etag","batches","tsplus_module_3","maxBulkSize","toReadonlyArray","batchResult","tsplus_module_4","i","responses","r","find","statusCode","OptimisticConcurrencyException","JSON","stringify","r2","CosmosDbOperationError","e","op","flat","batchSet","ex","c","result","firstFailed","code","s","all","q","query","fetchAll","then","resources","logQuery","parameters","value","filterJoinSelect","filter","cursor","a","v","flatMap","_","tsplus_module_6","rest","tsplus_module_7","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","type","buildFindJoinCosmosQuery","f","buildCosmosQuery","item","read","resource","set","etag","create","replace","accessCondition","condition","remove","delete","marker","console","log","m","tsplus_module_8","values","tsplus_module_9","reduce","acc","lm","valueKey","buildLegacyCosmosQuery","String","by","buildWhereCosmosQuery","tsplus_module_11","tsplus_module_10","string","where","key","includes","split","join","t","lowerIfNeeded","mode","constructor","message","CosmosStoreLive","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Cosmos.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeSomethingFilter_ = makeSomethingFilter_;
|
|
7
|
+
exports.somethingsWhere = somethingsWhere;
|
|
8
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@effect-app/infra/lib/filter"));
|
|
9
|
+
var _vitest = require("vitest");
|
|
10
|
+
var _filter2 = require("../../lib/filter.cjs");
|
|
11
|
+
var _Cosmos = require("./Cosmos.cjs");
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
const f_ = (0, _filter2.makeFilters)();
|
|
15
|
+
function makeSomethingFilter_(filter) {
|
|
16
|
+
return filter(f_);
|
|
17
|
+
}
|
|
18
|
+
function somethingsWhere(makeWhere, mode) {
|
|
19
|
+
return makeSomethingFilter_(f => {
|
|
20
|
+
const m = makeWhere ? makeWhere(f) : [];
|
|
21
|
+
return {
|
|
22
|
+
mode,
|
|
23
|
+
where: Array.isArray(m) ? m : [m]
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
(0, _vitest.test)("works", () => {
|
|
28
|
+
(0, _vitest.expect)((0, _Cosmos.buildWhereCosmosQuery)(somethingsWhere(_ => _("b", _ => "b2")), "Somethings", "importedMarkerId", undefined, 10)).toEqual({
|
|
29
|
+
"parameters": [{
|
|
30
|
+
"name": "@id",
|
|
31
|
+
"value": "importedMarkerId"
|
|
32
|
+
}, {
|
|
33
|
+
"name": "@v0",
|
|
34
|
+
"value": "b2"
|
|
35
|
+
}],
|
|
36
|
+
"query": `
|
|
37
|
+
SELECT f
|
|
38
|
+
FROM Somethings AS f
|
|
39
|
+
|
|
40
|
+
WHERE f.id != @id AND LOWER(f.b) = LOWER(@v0)
|
|
41
|
+
OFFSET 0 LIMIT 10`
|
|
42
|
+
});
|
|
43
|
+
(0, _vitest.expect)((0, _Cosmos.buildWhereCosmosQuery)(somethingsWhere(_ => _("d.-1.a", _ => tsplus_module_1.$isnt(_, "a2"))), "Somethings", "importedMarkerId", undefined, 10)).toEqual({
|
|
44
|
+
"parameters": [{
|
|
45
|
+
"name": "@id",
|
|
46
|
+
"value": "importedMarkerId"
|
|
47
|
+
}, {
|
|
48
|
+
"name": "@v0",
|
|
49
|
+
"value": "a2"
|
|
50
|
+
}],
|
|
51
|
+
"query": `
|
|
52
|
+
SELECT f
|
|
53
|
+
FROM Somethings AS f
|
|
54
|
+
JOIN d IN f.d
|
|
55
|
+
WHERE f.id != @id AND LOWER(d.a) <> LOWER(@v0)
|
|
56
|
+
OFFSET 0 LIMIT 10`
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=Cosmos.test.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cosmos.test.cjs","mappings":";;;;;;;;AACA;AACA;AACA;AAAmD;AAAA;AAEnD,MAAMA,EAAE,GAAG,wBAAW,GAAa;AAG7B,SAAUC,oBAAoB,CAACC,MAAqD;EACxF,OAAOA,MAAM,CAACF,EAAE,CAAC;AACnB;AAEM,SAAUG,eAAe,CAC7BC,SAEgC,EAChCC,IAAmB;EAEnB,OAAOJ,oBAAoB,CAACK,CAAC,IAAG;IAC9B,MAAMC,CAAC,GAAGH,SAAS,GAAGA,SAAS,CAACE,CAAC,CAAC,GAAG,EAAE;IACvC,OAAQ;MACND,IAAI;MACJG,KAAK,EAAGC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,GAAGA,CAAmC,GAAG,CAACA,CAAC;KACpE;EACH,CAAC,CAAC;AACJ;AAeA,gBAAI,EAAC,OAAO,EAAE,MAAK;EACjB,kBAAM,EAAC,iCAAqB,EAC1BJ,eAAe,CAACQ,CAAC,IAAIA,CAAC,CAAC,GAAG,EAAEA,CAAC,IAAI,IAAI,CAAC,CAAC,EACvC,YAAY,EACZ,kBAAkB,EAClBC,SAAS,EACT,EAAE,CACH,CAAC,CAACC,OAAO,CAAC;IACT,YAAY,EAAE,CACZ;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,EACD;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,CACF;IACD,OAAO,EAAE;;;;;;GAMV,CAAC;EAEF,kBAAM,EAAC,iCAAqB,EAC1BV,eAAe,CAACQ,CAAC,IAAIA,CAAC,CAAC,QAAQ,EAAEA,CAAC,IAAIG,uBAAC,EAAO,IAAI,CAAC,CAAC,CAAC,EACrD,YAAY,EACZ,kBAAkB,EAClBF,SAAS,EACT,EAAE,CACH,CAAC,CAACC,OAAO,CAAC;IACT,YAAY,EAAE,CACZ;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,EACD;MACE,MAAM,EAAE,KAAK;MACb,OAAO,EAAE;KACV,CACF;IACD,OAAO,EAAE;;;;;;GAMV,CAAC;AACJ,CAAC,CAAC","names":["f_","makeSomethingFilter_","filter","somethingsWhere","makeWhere","mode","f","m","where","Array","isArray","_","undefined","toEqual","tsplus_module_1"],"sourceRoot":"","sources":["../../../_src/services/Store/Cosmos.test.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DiskStoreLive = DiskStoreLive;
|
|
7
|
+
exports.makeDiskStore = makeDiskStore;
|
|
8
|
+
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
9
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
10
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/prelude"));
|
|
11
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
12
|
+
var fu = _interopRequireWildcard(require("@effect-app/infra-adapters/simpledb/fileutil"));
|
|
13
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
14
|
+
var _Memory = require("./Memory.cjs");
|
|
15
|
+
var _service = require("./service.cjs");
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
const fileName_1 = "packages/infra/_src/services/Store/Disk.ts";
|
|
20
|
+
/**
|
|
21
|
+
* The Disk-backed store, flushes writes in background, but keeps the data in memory
|
|
22
|
+
* and should therefore be as fast as the Memory Store.
|
|
23
|
+
*/
|
|
24
|
+
function makeDiskStore({
|
|
25
|
+
prefix
|
|
26
|
+
}) {
|
|
27
|
+
return tracer_1.withCallTrace(fileName_1 + ":15:10")(tsplus_module_1.sync(() => {
|
|
28
|
+
const dir = "./.data";
|
|
29
|
+
if (!_fs.default.existsSync(dir)) {
|
|
30
|
+
_fs.default.mkdirSync(dir);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
make: (name, existing, _config) => tracer_1.withCallTrace(fileName_1 + ":26:16")(tsplus_module_1.gen(function* ($) {
|
|
34
|
+
const file = dir + "/" + prefix + name + ".json";
|
|
35
|
+
const fsStore = {
|
|
36
|
+
get: tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":31:16")(tsplus_module_1.map(x => JSON.parse(x)))(fu.readTextFile(file))),
|
|
37
|
+
setRaw: v => JSON.stringify([...v], undefined, 2)["|>"](json => fu.writeTextFile(file, json))
|
|
38
|
+
};
|
|
39
|
+
const {
|
|
40
|
+
make
|
|
41
|
+
} = (0, _Memory.makeMemoryStore)();
|
|
42
|
+
const store = yield* $(make(name, !_fs.default.existsSync(file) ? existing ?? tracer_1.withCallTrace(fileName_1 + ":42:31")(tsplus_module_1.sync(() => tsplus_module_2.ROMap.empty)) : tracer_1.withCallTrace(fileName_1 + ":43:31")(tsplus_module_1.map(x => tsplus_module_2.ROMap.make(x.map(x => [x.id, x]))))(fsStore.get)));
|
|
43
|
+
yield* $(tracer_1.withCallTrace(fileName_1 + ":47:30")(tsplus_module_1.flatMap(fsStore.setRaw))(store.all));
|
|
44
|
+
const sem = tsplus_module_1.unsafeMakeSemaphore(1);
|
|
45
|
+
const withPermit = sem.withPermits(1);
|
|
46
|
+
const flushToDisk = withPermit(tracer_1.withCallTrace(fileName_1 + ":51:41")(tsplus_module_1.flatMap(fsStore.setRaw))(store.all));
|
|
47
|
+
const s = {
|
|
48
|
+
...store,
|
|
49
|
+
batchSet: tsplus_module_3.flow(store.batchSet, t => tracer_1.withCallTrace(fileName_1 + ":55:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":55:39")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":55:60")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t)),
|
|
50
|
+
bulkSet: tsplus_module_3.flow(store.bulkSet, t => tracer_1.withCallTrace(fileName_1 + ":57:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":58:29")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":59:19")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t)),
|
|
51
|
+
set: tsplus_module_3.flow(store.set, t => tracer_1.withCallTrace(fileName_1 + ":63:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":63:39")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":63:60")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t)),
|
|
52
|
+
remove: tsplus_module_3.flow(store.remove, t => tracer_1.withCallTrace(fileName_1 + ":65:17")(tsplus_module_1.tap(() => tsplus_module_1.forkDaemon(tracer_1.withCallTrace(fileName_1 + ":66:29")(tsplus_module_1.tapErrorCause(err => tracer_1.withCallTrace(fileName_1 + ":67:19")(tsplus_module_1.sync(() => console.error(err)))))(flushToDisk))))(t))
|
|
53
|
+
};
|
|
54
|
+
return s;
|
|
55
|
+
}))
|
|
56
|
+
};
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
function DiskStoreLive(config) {
|
|
60
|
+
return tsplus_module_1.toLayer(_service.StoreMaker)(tracer_1.withCallTrace(fileName_1 + ":79:6")(tsplus_module_1.flatMap(makeDiskStore))(tsplus_module_1.config(config)));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=Disk.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Disk.cjs","mappings":"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","names":["makeDiskStore","prefix","tsplus_module_1","dir","fs","existsSync","mkdirSync","make","name","existing","_config","tracer_1","$","file","fsStore","get","x","JSON","parse","fu","readTextFile","setRaw","v","stringify","undefined","json","writeTextFile","store","tsplus_module_2","empty","map","id","all","sem","withPermit","withPermits","flushToDisk","s","batchSet","tsplus_module_3","t","err","console","error","bulkSet","set","remove","DiskStoreLive","config","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"sourcesContent":[null]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeMemoryStore = exports.MemoryStoreLive = void 0;
|
|
7
|
+
exports.memFilter = memFilter;
|
|
8
|
+
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
9
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
|
|
10
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Chunk"));
|
|
11
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/data/Option"));
|
|
12
|
+
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
13
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/prelude"));
|
|
14
|
+
var tsplus_module_6 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
15
|
+
var tsplus_module_7 = _interopRequireWildcard(require("@effect/io/Ref"));
|
|
16
|
+
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
|
|
17
|
+
var tsplus_module_9 = _interopRequireWildcard(require("@effect-app/core/Tag"));
|
|
18
|
+
var _service = require("./service.cjs");
|
|
19
|
+
var _utils = require("./utils.cjs");
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
|
+
const fileName_1 = "packages/infra/_src/services/Store/Memory.ts";
|
|
23
|
+
function memFilter(filter, cursor) {
|
|
24
|
+
return c => {
|
|
25
|
+
const skip = cursor?.skip;
|
|
26
|
+
const limit = cursor?.limit;
|
|
27
|
+
if (!skip && limit === 1) {
|
|
28
|
+
return tsplus_module_3.getOrElse(() => tsplus_module_1.empty())(tsplus_module_3.map(tsplus_module_1.make)(tsplus_module_2.findFirstMap((0, _utils.codeFilter)(filter))(c)));
|
|
29
|
+
}
|
|
30
|
+
let r = tsplus_module_1.filterMap((0, _utils.codeFilter)(filter))(c);
|
|
31
|
+
if (skip) {
|
|
32
|
+
r = tsplus_module_1.drop(skip)(r);
|
|
33
|
+
}
|
|
34
|
+
if (limit !== undefined) {
|
|
35
|
+
r = tsplus_module_1.take(limit)(r);
|
|
36
|
+
}
|
|
37
|
+
return tsplus_module_4.ext_itToChunk(r);
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const makeMemoryStore = () => ({
|
|
41
|
+
make: (name, existing, _config) => tracer_1.withCallTrace(fileName_1 + ":31:12")(tsplus_module_6.gen(function* ($) {
|
|
42
|
+
const updateETag = (0, _utils.makeUpdateETag)(name);
|
|
43
|
+
const items = yield* $(existing ?? tracer_1.withCallTrace(fileName_1 + ":33:42")(tsplus_module_6.sync(() => tsplus_module_5.ROMap.empty)));
|
|
44
|
+
const store = yield* $(tracer_1.withCallTrace(fileName_1 + ":35:13")(tsplus_module_7.make(tsplus_module_5.ROMap.make([...items.entries()].map(([id, e]) => [id, (0, _utils.makeETag)(e)])))));
|
|
45
|
+
const sem = tsplus_module_6.unsafeMakeSemaphore(1);
|
|
46
|
+
const withPermit = sem.withPermits(1);
|
|
47
|
+
const values = tracer_1.withCallTrace(fileName_1 + ":41:32")(tsplus_module_6.map(s => s.values()))(tsplus_module_7.get(store));
|
|
48
|
+
const all = tracer_1.withCallTrace(fileName_1 + ":42:26")(tsplus_module_6.map(tsplus_module_1.fromIterable))(values);
|
|
49
|
+
const batchSet = items => withPermit(tracer_1.withCallTrace(fileName_1 + ":55:12")(tsplus_module_6.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":46:12")(tsplus_module_6.tap(items => tracer_1.withCallTrace(fileName_1 + ":53:16")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":48:16")(tsplus_module_6.map(m => {
|
|
50
|
+
const mut = tsplus_module_5.ROMap.toMutable(m);
|
|
51
|
+
items.forEach(e => mut.set(e.id, e));
|
|
52
|
+
return tsplus_module_5.ROMap.fromMutable(mut);
|
|
53
|
+
}))(tsplus_module_7.get(store)))))(tsplus_module_8.ext_forEach(items, i => tracer_1.withCallTrace(fileName_1 + ":45:44")(tsplus_module_6.flatMap(current => updateETag(i, current)))(s.find(i.id))))));
|
|
54
|
+
const s = {
|
|
55
|
+
all,
|
|
56
|
+
find: id => tracer_1.withCallTrace(fileName_1 + ":59:31")(tsplus_module_6.map(tsplus_module_5.ROMap.lookup(id)))(tsplus_module_7.get(store)),
|
|
57
|
+
filter: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":60:89")(tsplus_module_6.map(memFilter(filter, cursor)))(all),
|
|
58
|
+
filterJoinSelect: filter => tracer_1.withCallTrace(fileName_1 + ":62:15")(tsplus_module_6.map(c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))))(all),
|
|
59
|
+
set: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":67:14")(tsplus_module_6.tap(e => tracer_1.withCallTrace(fileName_1 + ":67:60")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":67:33")(tsplus_module_6.map(tsplus_module_5.ROMap.insert(e.id, e)))(tsplus_module_7.get(store)))))(tracer_1.withCallTrace(fileName_1 + ":66:14")(tsplus_module_6.flatMap(current => updateETag(e, current)))(s.find(e.id)))),
|
|
60
|
+
batchSet,
|
|
61
|
+
bulkSet: batchSet,
|
|
62
|
+
remove: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":71:62")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":71:38")(tsplus_module_6.map(tsplus_module_5.ROMap.remove(e.id)))(tsplus_module_7.get(store))))
|
|
63
|
+
};
|
|
64
|
+
return s;
|
|
65
|
+
}))
|
|
66
|
+
});
|
|
67
|
+
exports.makeMemoryStore = makeMemoryStore;
|
|
68
|
+
const MemoryStoreLive = tsplus_module_9.makeLayer(_service.StoreMaker)(makeMemoryStore());
|
|
69
|
+
exports.MemoryStoreLive = MemoryStoreLive;
|
|
70
|
+
//# sourceMappingURL=Memory.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Memory.cjs","mappings":"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","names":["memFilter","filter","cursor","c","skip","limit","tsplus_module_3","tsplus_module_1","r","undefined","makeMemoryStore","make","name","existing","_config","tracer_1","tsplus_module_6","$","updateETag","items","tsplus_module_5","empty","store","tsplus_module_7","entries","map","id","e","sem","withPermit","withPermits","values","s","all","batchSet","_","toReadonlyArray","m","mut","toMutable","forEach","set","fromMutable","tsplus_module_8","i","current","find","lookup","filterJoinSelect","flatMap","insert","bulkSet","remove","MemoryStoreLive","tsplus_module_9"],"sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"sourcesContent":[null]}
|