@effect-app/infra 0.108.4 → 0.109.1

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 (58) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/_cjs/RequestContext.cjs +2 -2
  3. package/_cjs/RequestContext.cjs.map +1 -1
  4. package/_cjs/api/setupRequest.cjs +1 -1
  5. package/_cjs/api/setupRequest.cjs.map +1 -1
  6. package/_cjs/services/Operations/live.cjs +1 -1
  7. package/_cjs/services/Operations/live.cjs.map +1 -1
  8. package/_cjs/services/QueueMaker/memQueue.cjs +1 -1
  9. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  10. package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
  11. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  12. package/_cjs/services/RepositoryBase.cjs +1 -1
  13. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  14. package/_cjs/services/RequestContextContainer.cjs +1 -1
  15. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  16. package/_src/RequestContext.ts +2 -2
  17. package/_src/api/setupRequest.ts +1 -1
  18. package/_src/services/Emailer/service.ts +2 -2
  19. package/_src/services/Operations/live.ts +3 -3
  20. package/_src/services/QueueMaker/memQueue.ts +1 -1
  21. package/_src/services/QueueMaker/sbqueue.ts +1 -1
  22. package/_src/services/RequestContextContainer.ts +1 -1
  23. package/dist/RequestContext.d.ts +11 -11
  24. package/dist/RequestContext.js +3 -3
  25. package/dist/api/setupRequest.js +2 -2
  26. package/dist/services/Emailer/service.d.ts +3 -3
  27. package/dist/services/Emailer/service.d.ts.map +1 -1
  28. package/dist/services/Operations/live.js +4 -4
  29. package/dist/services/QueueMaker/memQueue.js +2 -2
  30. package/dist/services/QueueMaker/sbqueue.js +2 -2
  31. package/dist/services/Repository.d.ts +2 -2
  32. package/dist/services/Repository.d.ts.map +1 -1
  33. package/dist/services/RepositoryBase.js +2 -2
  34. package/dist/services/RequestContextContainer.d.ts +4 -4
  35. package/dist/services/RequestContextContainer.js +2 -2
  36. package/package.json +5 -5
  37. package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.content +0 -275
  38. package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.hash +0 -1
  39. package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.content +0 -43
  40. package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.hash +0 -1
  41. package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.content +0 -122
  42. package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.hash +0 -1
  43. package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.content +0 -86
  44. package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.hash +0 -1
  45. package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.content +0 -49
  46. package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.hash +0 -1
  47. package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.content +0 -70
  48. package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.hash +0 -1
  49. package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.content +0 -178
  50. package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.hash +0 -1
  51. package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.content +0 -57
  52. package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.hash +0 -1
  53. package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.content +0 -97
  54. package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.hash +0 -1
  55. package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.content +0 -11
  56. package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.hash +0 -1
  57. package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.content +0 -364
  58. package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.hash +0 -1
@@ -1,49 +0,0 @@
1
- import * as tsplus_module_1 from "@effect/data/ReadonlyArray";
2
- import * as tsplus_module_2 from "@effect-app/core/Array";
3
- import * as tsplus_module_3 from "@effect-app/infra/filter";
4
- import { makeFilters } from "../../filter.js";
5
- import { codeFilter } from "./utils.js";
6
- const somethings = [
7
- { a: 1, b: "b", c: ["c"], d: [{ a: "a2", b: 1 }, { a: "a", b: 1 }], id: "1" },
8
- { a: 2, b: "b2", c: ["c2"], d: [{ a: "a4", b: 2 }, { a: "a5", b: 2 }], id: "2" }
9
- ];
10
- const f_ = makeFilters();
11
- export function makeSomethingFilter_(filter) {
12
- return filter(f_);
13
- }
14
- export function somethingsWhere(makeWhere, mode) {
15
- return makeSomethingFilter_((f) => {
16
- const m = makeWhere ? makeWhere(f) : [];
17
- return ({
18
- mode,
19
- where: (Array.isArray(m) ? m : [m])
20
- });
21
- });
22
- }
23
- test("works", () => {
24
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => "b2"))))))
25
- .toEqual([somethings[1]]);
26
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$contains(_, "b")))))))
27
- .toEqual([somethings[0], somethings[1]]);
28
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$contains(_, "2")))))))
29
- .toEqual([somethings[1]]);
30
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$endsWith(_, "b")))))))
31
- .toEqual([somethings[0]]);
32
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$endsWith(_, "2")))))))
33
- .toEqual([somethings[1]]);
34
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$startsWith(_, "b")))))))
35
- .toEqual([somethings[0], somethings[1]]);
36
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => tsplus_module_3.$startsWith(_, "2")))))))
37
- .toEqual([]);
38
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("b", (_) => "b"))))))
39
- .toEqual([somethings[0]]);
40
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("c", (_) => tsplus_module_3.$includes(_, "c")))))))
41
- .toEqual([somethings[0]]);
42
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("d.-1.a", (_) => "a5"))))))
43
- .toEqual([somethings[1]]);
44
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("d.-1.a", (_) => "a"))))))
45
- .toEqual([somethings[0]]);
46
- expect(tsplus_module_2.iterableToArray(tsplus_module_1.filterMap(somethings, codeFilter(somethingsWhere((_) => _("d.-1.a", (_) => tsplus_module_3.$isnt(_, "a")))))))
47
- .toEqual([somethings[1]]);
48
- });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZUZpbHRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9jb2RlRmlsdGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFdkMsTUFBTSxVQUFVLEdBQUc7SUFDakIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRTtJQUM3RSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFO0NBQ2xELENBQUE7QUFFaEMsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFhLENBQUE7QUFHbkMsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQXFEO0lBQ3hGLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixTQUVnQyxFQUNoQyxJQUFtQjtJQUVuQixPQUFPLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFF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LEdBQUcsQ0FBQyxDQUFDLENBQ2hELENBQUMsRUFFTDtTQUNFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0IsTUFBTSxpQ0FDSiwwQkFBQSxVQUFVLEVBQ0csVUFBVSxDQUNuQixlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHNCQUFBLENBQUMsRUFBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQ3pELENBQUMsRUFFTDtTQUNFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDN0IsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0b3JlV2hlcmVGaWx0ZXIsIFdoZXJlIH0gZnJvbSBcIkBlZmZlY3QtYXBwL2luZnJhL3NlcnZpY2VzL1N0b3JlXCJcbmltcG9ydCB7IG1ha2VGaWx0ZXJzIH0gZnJvbSBcIi4uLy4uL2ZpbHRlci5qc1wiXG5pbXBvcnQgeyBjb2RlRmlsdGVyIH0gZnJvbSBcIi4vdXRpbHMuanNcIlxuXG5jb25zdCBzb21ldGhpbmdzID0gW1xuICB7IGE6IDEsIGI6IFwiYlwiLCBjOiBbXCJjXCJdLCBkOiBbeyBhOiBcImEyXCIsIGI6IDEgfSwgeyBhOiBcImFcIiwgYjogMSB9XSwgaWQ6IFwiMVwiIH0sXG4gIHsgYTogMiwgYjogXCJiMlwiLCBjOiBbXCJjMlwiXSwgZDogW3sgYTogXCJhNFwiLCBiOiAyIH0sIHsgYTogXCJhNVwiLCBiOiAyIH1dLCBpZDogXCIyXCIgfVxuXSBzYXRpc2ZpZXMgcmVhZG9ubHkgU29tZXRoaW5nW11cblxuY29uc3QgZl8gPSBtYWtlRmlsdGVyczxTb21ldGhpbmc+KClcbmV4cG9ydCB0eXBlIFNvbWV0aGluZ1doZXJlRmlsdGVyID0gdHlwZW9mIGZfXG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlU29tZXRoaW5nRmlsdGVyXyhmaWx0ZXI6IChmOiBTb21ldGhpbmdXaGVyZUZpbHRlcikgPT4gU3RvcmVXaGVyZUZpbHRlcikge1xuICByZXR1cm4gZmlsdGVyKGZfKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc29tZXRoaW5nc1doZXJlKFxuICBtYWtlV2hlcmU6IChcbiAgICBmOiBTb21ldGhpbmdXaGVyZUZpbHRlclxuICApID0+IFdoZXJlIHwgW1doZXJlLCAuLi5XaGVyZVtdXSxcbiAgbW9kZT86IFwib3JcIiB8IFwiYW5kXCJcbikge1xuICByZXR1cm4gbWFrZVNvbWV0aGluZ0ZpbHRlcl8oKGYpID0+IHtcbiAgICBjb25zdCBtID0gbWFrZVdoZXJlID8gbWFrZVdoZXJlKGYpIDogW11cbiAgICByZXR1cm4gKHtcbiAgICAgIG1vZGUsXG4gICAgICB3aGVyZTogKEFycmF5LmlzQXJyYXkobSkgPyBtIGFzIHVua25vd24gYXMgW1doZXJlLCAuLi5XaGVyZVtdXSA6IFttXSkgYXMgcmVhZG9ubHkgW1doZXJlLCAuLi5XaGVyZVtdXVxuICAgIH0pXG4gIH0pXG59XG5cbnR5cGUgU29tZXRoaW5nRWxzZSA9IHtcbiAgYTogc3RyaW5nXG4gIGI6IG51bWJlclxufVxuXG50eXBlIFNvbWV0aGluZyA9IHtcbiAgYTogbnVtYmVyXG4gIGlkOiBzdHJpbmdcbiAgYjogc3RyaW5nXG4gIGM6IHJlYWRvbmx5IHN0cmluZ1tdXG4gIGQ6IHJlYWRvbmx5IFNvbWV0aGluZ0Vsc2VbXVxufVxuXG50ZXN0KFwid29ya3NcIiwgKCkgPT4ge1xuICBleHBlY3QoXG4gICAgc29tZXRoaW5nc1xuICAgICAgLmZpbHRlck1hcChjb2RlRmlsdGVyKFxuICAgICAgICBzb21ldGhpbmdzV2hlcmUoKF8pID0+IF8oXCJiXCIsIChfKSA9PiBcImIyXCIpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1sxXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiYlwiLCAoXykgPT4gXy4kY29udGFpbnMoXCJiXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMF0sIHNvbWV0aGluZ3NbMV1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImJcIiwgKF8pID0+IF8uJGNvbnRhaW5zKFwiMlwiKSkpXG4gICAgICApKVxuICAgICAgLnRvQXJyYXlcbiAgKVxuICAgIC50b0VxdWFsKFtzb21ldGhpbmdzWzFdXSlcblxuICBleHBlY3QoXG4gICAgc29tZXRoaW5nc1xuICAgICAgLmZpbHRlck1hcChjb2RlRmlsdGVyKFxuICAgICAgICBzb21ldGhpbmdzV2hlcmUoKF8pID0+IF8oXCJiXCIsIChfKSA9PiBfLiRlbmRzV2l0aChcImJcIikpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1swXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiYlwiLCAoXykgPT4gXy4kZW5kc1dpdGgoXCIyXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMV1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImJcIiwgKF8pID0+IF8uJHN0YXJ0c1dpdGgoXCJiXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMF0sIHNvbWV0aGluZ3NbMV1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImJcIiwgKF8pID0+IF8uJHN0YXJ0c1dpdGgoXCIyXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW10pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiYlwiLCAoXykgPT4gXCJiXCIpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1swXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiY1wiLCAoXykgPT4gXy4kaW5jbHVkZXMoXCJjXCIpKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMF1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImQuLTEuYVwiLCAoXykgPT4gXCJhNVwiKSlcbiAgICAgICkpXG4gICAgICAudG9BcnJheVxuICApXG4gICAgLnRvRXF1YWwoW3NvbWV0aGluZ3NbMV1dKVxuXG4gIGV4cGVjdChcbiAgICBzb21ldGhpbmdzXG4gICAgICAuZmlsdGVyTWFwKGNvZGVGaWx0ZXIoXG4gICAgICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImQuLTEuYVwiLCAoXykgPT4gXCJhXCIpKVxuICAgICAgKSlcbiAgICAgIC50b0FycmF5XG4gIClcbiAgICAudG9FcXVhbChbc29tZXRoaW5nc1swXV0pXG5cbiAgZXhwZWN0KFxuICAgIHNvbWV0aGluZ3NcbiAgICAgIC5maWx0ZXJNYXAoY29kZUZpbHRlcihcbiAgICAgICAgc29tZXRoaW5nc1doZXJlKChfKSA9PiBfKFwiZC4tMS5hXCIsIChfKSA9PiBfLiRpc250KFwiYVwiKSkpXG4gICAgICApKVxuICAgICAgLnRvQXJyYXlcbiAgKVxuICAgIC50b0VxdWFsKFtzb21ldGhpbmdzWzFdXSlcbn0pXG4iXX0=
@@ -1 +0,0 @@
1
- cc2e90554066973e1b31534d5490d33b59233503ebcbafddd5483cecb7c817dd
@@ -1,70 +0,0 @@
1
- import * as tsplus_module_1 from "@effect-app/prelude/service";
2
- import * as tsplus_module_2 from "@effect/io/Effect";
3
- /**
4
- * @tsplus type StoreMaker
5
- * @tsplus companion StoreMaker.Ops
6
- */
7
- export class StoreMaker extends tsplus_module_1.TagClass() {
8
- }
9
- /**
10
- * @tsplus static ContextMap.Ops Make
11
- */
12
- export const makeMap = tsplus_module_2.sync(() => {
13
- const etags = new Map();
14
- const getEtag = (id) => etags.get(id);
15
- const setEtag = (id, eTag) => {
16
- eTag === undefined ? etags.delete(id) : etags.set(id, eTag);
17
- };
18
- const parsedCache = new Map();
19
- const parserCache = new Map();
20
- const setAndReturn = (p, np) => {
21
- parserCache.set(p, np);
22
- return np;
23
- };
24
- const parserEnv = {
25
- // TODO: lax: true would turn off refinement checks, may help on large payloads
26
- // but of course removes confirming of validation rules (which may be okay for a database owned by the app, as we write safely)
27
- lax: false,
28
- cache: {
29
- getOrSetParser: (p) => parserCache.get(p) ?? setAndReturn(p, (i) => parserEnv.cache.getOrSet(i, p)),
30
- getOrSetParsers: (parsers) => {
31
- return Object.entries(parsers).reduce((prev, [k, v]) => {
32
- prev[k] = parserEnv.cache.getOrSetParser(v);
33
- return prev;
34
- }, {});
35
- },
36
- getOrSet: (i, parse) => {
37
- const c = parsedCache.get(parse);
38
- if (c) {
39
- const f = c.get(i);
40
- if (f) {
41
- // console.log("$$$ cache hit", i)
42
- return f;
43
- }
44
- else {
45
- const nf = parse(i, parserEnv);
46
- c.set(i, nf);
47
- return nf;
48
- }
49
- }
50
- else {
51
- const nf = parse(i, parserEnv);
52
- parsedCache.set(parse, new Map([[i, nf]]));
53
- return nf;
54
- }
55
- }
56
- }
57
- };
58
- return {
59
- get: getEtag,
60
- set: setEtag,
61
- parserEnv
62
- };
63
- });
64
- /**
65
- * @tsplus type ContextMap
66
- * @tsplus companion ContextMap.Ops
67
- */
68
- export class ContextMap extends tsplus_module_1.TagClass() {
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1GQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFVBQVcsU0FBUSxnQkFBQSxRQUFRLEVBQWM7Q0FNOUQ7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxxQkFBWSxHQUFlLEVBQUU7SUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7SUFDdkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0MsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsSUFBd0IsRUFBRSxFQUFFO1FBQ3ZELElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzdELENBQUMsQ0FBQTtJQUVELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUd4QixDQUFBO0lBRUgsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBR3hCLENBQUE7SUFFSCxNQUFNLFlBQVksR0FBRyxDQUNuQixDQUFrQixFQUNsQixFQUErQixFQUMvQixFQUFFO1FBQ0YsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDdEIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDLENBQUE7SUFFRCxNQUFNLFNBQVMsR0FBYztRQUMzQiwrRUFBK0U7UUFDL0UsK0hBQStIO1FBQy9ILEdBQUcsRUFBRSxLQUFLO1FBQ1YsS0FBSyxFQUFFO1lBQ0wsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRyxlQUFlLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDM0IsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNyRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQzVDLE9BQU8sSUFBSSxDQUFBO2dCQUNiLENBQUMsRUFBRSxFQUFTLENBQUMsQ0FBQTtZQUNmLENBQUM7WUFDRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFPLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ2hDLElBQUksQ0FBQyxFQUFFO29CQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ2xCLElBQUksQ0FBQyxFQUFFO3dCQUNMLGtDQUFrQzt3QkFDbEMsT0FBTyxDQUFDLENBQUE7cUJBQ1Q7eUJBQU07d0JBQ0wsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTt3QkFDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7d0JBQ1osT0FBTyxFQUFFLENBQUE7cUJBQ1Y7aUJBQ0Y7cUJBQU07b0JBQ0wsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtvQkFDOUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDMUMsT0FBTyxFQUFFLENBQUE7aUJBQ1Y7WUFDSCxDQUFDO1NBQ0Y7S0FDRixDQUFBO0lBRUQsT0FBTztRQUNMLEdBQUcsRUFBRSxPQUFPO1FBQ1osR0FBRyxFQUFFLE9BQU87UUFDWixTQUFTO0tBQ1YsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQixVQUFXLFNBQVEsZ0JBQUEsUUFBUSxFQUFjO0NBSTlEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBVbmlxdWVLZXkgfSBmcm9tIFwiQGF6dXJlL2Nvc21vc1wiXG5pbXBvcnQgdHlwZSB7IFBhcnNlciwgUGFyc2VyRW52IH0gZnJvbSBcIkBlZmZlY3QtYXBwL3NjaGVtYS9jdXN0b20vUGFyc2VyXCJcblxuaW1wb3J0IHR5cGUgeyBUaGVzZSB9IGZyb20gXCJAZWZmZWN0LWFwcC9wcmVsdWRlL3NjaGVtYVwiXG5pbXBvcnQgdHlwZSB7IE9wdGltaXN0aWNDb25jdXJyZW5jeUV4Y2VwdGlvbiB9IGZyb20gXCIuLi8uLi9lcnJvcnMuanNcIlxuXG5leHBvcnQgdHlwZSBTdG9yZUNvbmZpZzxFPiA9IHtcbiAgdW5pcXVlS2V5cz86IFVuaXF1ZUtleVtdXG4gIG1heEJ1bGtTaXplPzogbnVtYmVyXG4gIHBhcnRpdGlvblZhbHVlOiAoZTogRSkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkXG4gIGFsbG93TmFtZXNwYWNlPzogKG5hbWVzcGFjZTogc3RyaW5nKSA9PiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIFN1cHBvcnRlZFZhbHVlcyA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBudWxsXG5leHBvcnQgdHlwZSBTdXBwb3J0ZWRWYWx1ZXMyID0gc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlclxuXG4vLyBkZWZhdWx0IGlzIGVxXG5leHBvcnQgdHlwZSBXaGVyZSA9XG4gIHwgeyBrZXk6IHN0cmluZzsgdD86IFwiZXFcIiB8IFwibm90LWVxXCI7IHZhbHVlOiBTdXBwb3J0ZWRWYWx1ZXMgfVxuICB8IHsga2V5OiBzdHJpbmc7IHQ6IFwiZ3RcIiB8IFwibHRcIiB8IFwiZ3RlXCIgfCBcImx0ZVwiOyB2YWx1ZTogU3VwcG9ydGVkVmFsdWVzMiB9XG4gIHwgeyBrZXk6IHN0cmluZzsgdDogXCJjb250YWluc1wiIHwgXCJzdGFydHMtd2l0aFwiIHwgXCJlbmRzLXdpdGhcIjsgdmFsdWU6IHN0cmluZyB9XG4gIHwgeyBrZXk6IHN0cmluZzsgdDogXCJpbmNsdWRlc1wiIHwgXCJub3QtaW5jbHVkZXNcIjsgdmFsdWU6IHN0cmluZyB9XG4gIHwge1xuICAgIGtleTogc3RyaW5nXG4gICAgdDogXCJpblwiIHwgXCJub3QtaW5cIlxuICAgIHZhbHVlOiByZWFkb25seSAoU3VwcG9ydGVkVmFsdWVzKVtdXG4gIH1cblxuLy8gZGVmYXVsdCBpcyB3aGVyZVxuZXhwb3J0IHR5cGUgU3RvcmVXaGVyZUZpbHRlciA9IHtcbiAgdHlwZT86IFwid2hlcmVcIlxuICBtb2RlPzogXCJhbmRcIiB8IFwib3JcIiAvLyBkZWZhdWx0IGlzIGFuZFxuICB3aGVyZTogcmVhZG9ubHkgW1xuICAgIFdoZXJlLFxuICAgIC4uLihXaGVyZVtdKVxuICBdXG59XG5leHBvcnQgdHlwZSBMZWdhY3lGaWx0ZXI8RT4gPVxuICB8IHsgYnk6IGtleW9mIEU7IHR5cGU6IFwic3RhcnRzV2l0aFwiOyB2YWx1ZTogYW55IH1cbiAgfCB7IGJ5OiBrZXlvZiBFOyB0eXBlOiBcImVuZHNXaXRoXCI7IHZhbHVlOiBhbnkgfVxuICB8IHsgYnk6IGtleW9mIEU7IHR5cGU6IFwiY29udGFpbnNcIjsgdmFsdWU6IGFueSB9XG5leHBvcnQgdHlwZSBKb2luRmluZEZpbHRlciA9IHtcbiAgdHlwZTogXCJqb2luX2ZpbmRcIlxuICBrZXlzOiByZWFkb25seSBzdHJpbmdbXSAvKiB2YWx1ZSBwYXRocyBvZiBFICovXG4gIHZhbHVlS2V5OiBzdHJpbmcgLyogdmFsdWUgcGF0aHMgb2YgRVtrZXlzXVt2YWx1ZUtleV0gKi9cbiAgdmFsdWU6IGFueSAvKiB2YWx1ZSBwYXRoW3ZhbHVlS2V5XSBvZiBFICovXG59XG5leHBvcnQgdHlwZSBGaWx0ZXI8RT4gPVxuICB8IEpvaW5GaW5kRmlsdGVyXG4gIHwgU3RvcmVXaGVyZUZpbHRlclxuICB8IExlZ2FjeUZpbHRlcjxFPlxuXG5leHBvcnQgdHlwZSBGaWx0ZXJKb2luU2VsZWN0ID0ge1xuICB0eXBlOiBcImZpbHRlcl9qb2luX3NlbGVjdFwiXG4gIGtleXM6IHJlYWRvbmx5IHN0cmluZ1tdIC8qIHZhbHVlIHBhdGhzIG9mIEUgKi9cbiAgdmFsdWVLZXk6IHN0cmluZyAvKiB2YWx1ZSBwYXRocyBvZiBFW2tleXNdW3ZhbHVlS2V5XSAqL1xuICB2YWx1ZTogYW55IC8qIHZhbHVlIHBhdGhbdmFsdWVLZXldIG9mIEUgKi9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yZTxQTSBleHRlbmRzIFBlcnNpc3RlbmNlTW9kZWxUeXBlPElkPiwgSWQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgYWxsOiBFZmZlY3Q8bmV2ZXIsIG5ldmVyLCBQTVtdPlxuICBmaWx0ZXI6IChcbiAgICBmaWx0ZXI6IEZpbHRlcjxQTT4sXG4gICAgY3Vyc29yPzogeyBsaW1pdD86IG51bWJlcjsgc2tpcD86IG51bWJlciB9XG4gICkgPT4gRWZmZWN0PG5ldmVyLCBuZXZlciwgUE1bXT5cbiAgZmlsdGVySm9pblNlbGVjdDogPFQgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGZpbHRlcjogRmlsdGVySm9pblNlbGVjdFxuICApID0+IEVmZmVjdDxuZXZlciwgbmV2ZXIsIChUICYgeyBfcm9vdElkOiBzdHJpbmcgfSlbXT5cbiAgZmluZDogKGlkOiBJZCkgPT4gRWZmZWN0PG5ldmVyLCBuZXZlciwgT3B0aW9uPFBNPj5cbiAgc2V0OiAoZTogUE0pID0+IEVmZmVjdDxuZXZlciwgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uLCBQTT5cbiAgYmF0Y2hTZXQ6IChcbiAgICBpdGVtczogTm9uRW1wdHlSZWFkb25seUFycmF5PFBNPlxuICApID0+IEVmZmVjdDxuZXZlciwgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uLCBOb25FbXB0eVJlYWRvbmx5QXJyYXk8UE0+PlxuICBidWxrU2V0OiAoXG4gICAgaXRlbXM6IE5vbkVtcHR5UmVhZG9ubHlBcnJheTxQTT5cbiAgKSA9PiBFZmZlY3Q8bmV2ZXIsIE9wdGltaXN0aWNDb25jdXJyZW5jeUV4Y2VwdGlvbiwgTm9uRW1wdHlSZWFkb25seUFycmF5PFBNPj5cbiAgLyoqXG4gICAqIFJlcXVpcmVzIHRoZSBQTSB0eXBlLCBub3QgSWQsIGJlY2F1c2UgdmFyaW91cyBzdG9yZXMgbWF5IG5lZWQgdG8gY2FsY3VsYXRlIGUuZyBwYXJ0aXRpb24ga2V5cy5cbiAgICovXG4gIHJlbW92ZTogKGU6IFBNKSA9PiBFZmZlY3Q8bmV2ZXIsIG5ldmVyLCB2b2lkPlxufVxuXG4vKipcbiAqIEB0c3BsdXMgdHlwZSBTdG9yZU1ha2VyXG4gKiBAdHNwbHVzIGNvbXBhbmlvbiBTdG9yZU1ha2VyLk9wc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3RvcmVNYWtlciBleHRlbmRzIFRhZ0NsYXNzPFN0b3JlTWFrZXI+KCkge1xuICBhYnN0cmFjdCBtYWtlOiA8UE0gZXh0ZW5kcyBQZXJzaXN0ZW5jZU1vZGVsVHlwZTxJZD4sIElkIGV4dGVuZHMgc3RyaW5nPihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgc2VlZD86IEVmZmVjdDxuZXZlciwgbmV2ZXIsIEl0ZXJhYmxlPFBNPj4sXG4gICAgY29uZmlnPzogU3RvcmVDb25maWc8UE0+XG4gICkgPT4gRWZmZWN0PG5ldmVyLCBuZXZlciwgU3RvcmU8UE0sIElkPj5cbn1cblxuLyoqXG4gKiBAdHNwbHVzIHN0YXRpYyBDb250ZXh0TWFwLk9wcyBNYWtlXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlTWFwID0gRWZmZWN0LnN5bmMoKCk6IENvbnRleHRNYXAgPT4ge1xuICBjb25zdCBldGFncyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KClcbiAgY29uc3QgZ2V0RXRhZyA9IChpZDogc3RyaW5nKSA9PiBldGFncy5nZXQoaWQpXG4gIGNvbnN0IHNldEV0YWcgPSAoaWQ6IHN0cmluZywgZVRhZzogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgZVRhZyA9PT0gdW5kZWZpbmVkID8gZXRhZ3MuZGVsZXRlKGlkKSA6IGV0YWdzLnNldChpZCwgZVRhZylcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZENhY2hlID0gbmV3IE1hcDxcbiAgICBQYXJzZXI8YW55LCBhbnksIGFueT4sXG4gICAgTWFwPHVua25vd24sIFRoZXNlLlRoZXNlPHVua25vd24sIHVua25vd24+PlxuICA+KClcblxuICBjb25zdCBwYXJzZXJDYWNoZSA9IG5ldyBNYXA8XG4gICAgUGFyc2VyPGFueSwgYW55LCBhbnk+LFxuICAgIChpOiBhbnkpID0+IFRoZXNlLlRoZXNlPGFueSwgYW55PlxuICA+KClcblxuICBjb25zdCBzZXRBbmRSZXR1cm4gPSA8SSwgRSwgQT4oXG4gICAgcDogUGFyc2VyPEksIEUsIEE+LFxuICAgIG5wOiAoaTogSSkgPT4gVGhlc2UuVGhlc2U8RSwgQT5cbiAgKSA9PiB7XG4gICAgcGFyc2VyQ2FjaGUuc2V0KHAsIG5wKVxuICAgIHJldHVybiBucFxuICB9XG5cbiAgY29uc3QgcGFyc2VyRW52OiBQYXJzZXJFbnYgPSB7XG4gICAgLy8gVE9ETzogbGF4OiB0cnVlIHdvdWxkIHR1cm4gb2ZmIHJlZmluZW1lbnQgY2hlY2tzLCBtYXkgaGVscCBvbiBsYXJnZSBwYXlsb2Fkc1xuICAgIC8vIGJ1dCBvZiBjb3Vyc2UgcmVtb3ZlcyBjb25maXJtaW5nIG9mIHZhbGlkYXRpb24gcnVsZXMgKHdoaWNoIG1heSBiZSBva2F5IGZvciBhIGRhdGFiYXNlIG93bmVkIGJ5IHRoZSBhcHAsIGFzIHdlIHdyaXRlIHNhZmVseSlcbiAgICBsYXg6IGZhbHNlLFxuICAgIGNhY2hlOiB7XG4gICAgICBnZXRPclNldFBhcnNlcjogKHApID0+IHBhcnNlckNhY2hlLmdldChwKSA/PyBzZXRBbmRSZXR1cm4ocCwgKGkpID0+IHBhcnNlckVudi5jYWNoZSEuZ2V0T3JTZXQoaSwgcCkpLFxuICAgICAgZ2V0T3JTZXRQYXJzZXJzOiAocGFyc2VycykgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMocGFyc2VycykucmVkdWNlKChwcmV2LCBbaywgdl0pID0+IHtcbiAgICAgICAgICBwcmV2W2tdID0gcGFyc2VyRW52LmNhY2hlIS5nZXRPclNldFBhcnNlcih2KVxuICAgICAgICAgIHJldHVybiBwcmV2XG4gICAgICAgIH0sIHt9IGFzIGFueSlcbiAgICAgIH0sXG4gICAgICBnZXRPclNldDogKGksIHBhcnNlKTogYW55ID0+IHtcbiAgICAgICAgY29uc3QgYyA9IHBhcnNlZENhY2hlLmdldChwYXJzZSlcbiAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICBjb25zdCBmID0gYy5nZXQoaSlcbiAgICAgICAgICBpZiAoZikge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCIkJCQgY2FjaGUgaGl0XCIsIGkpXG4gICAgICAgICAgICByZXR1cm4gZlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBuZiA9IHBhcnNlKGksIHBhcnNlckVudilcbiAgICAgICAgICAgIGMuc2V0KGksIG5mKVxuICAgICAgICAgICAgcmV0dXJuIG5mXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5mID0gcGFyc2UoaSwgcGFyc2VyRW52KVxuICAgICAgICAgIHBhcnNlZENhY2hlLnNldChwYXJzZSwgbmV3IE1hcChbW2ksIG5mXV0pKVxuICAgICAgICAgIHJldHVybiBuZlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBnZXQ6IGdldEV0YWcsXG4gICAgc2V0OiBzZXRFdGFnLFxuICAgIHBhcnNlckVudlxuICB9XG59KVxuXG4vKipcbiAqIEB0c3BsdXMgdHlwZSBDb250ZXh0TWFwXG4gKiBAdHNwbHVzIGNvbXBhbmlvbiBDb250ZXh0TWFwLk9wc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29udGV4dE1hcCBleHRlbmRzIFRhZ0NsYXNzPENvbnRleHRNYXA+KCkge1xuICBhYnN0cmFjdCBnZXQ6IChpZDogc3RyaW5nKSA9PiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgYWJzdHJhY3Qgc2V0OiAoaWQ6IHN0cmluZywgZVRhZzogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkXG4gIGFic3RyYWN0IHBhcnNlckVudjogUGFyc2VyRW52XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVuY2VNb2RlbFR5cGU8SWQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgaWQ6IElkXG4gIF9ldGFnOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yYWdlQ29uZmlnIHtcbiAgdXJsOiBDb25maWdTZWNyZXRcbiAgcHJlZml4OiBzdHJpbmdcbiAgZGJOYW1lOiBzdHJpbmdcbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- 6c73d6a53dba8e2732209764f5233c88f81e895dc2e244202cf05253b7fe38f0
@@ -1,178 +0,0 @@
1
- import * as tsplus_module_1 from "@effect-app/prelude/_ext/misc";
2
- import * as tsplus_module_2 from "@effect/data/Option";
3
- import * as tsplus_module_3 from "@effect/io/Effect";
4
- import * as tsplus_module_4 from "@effect-app/core/Option";
5
- import * as tsplus_module_5 from "@effect/data/ReadonlyArray";
6
- import { get } from "@effect-app/prelude/utils";
7
- import { OptimisticConcurrencyException } from "../../errors.js";
8
- import objectHash from "object-hash";
9
- export const makeETag = ({ _etag, ...e }) => ({
10
- ...e,
11
- _etag: objectHash(e)
12
- });
13
- export const makeUpdateETag = (name) => (e, current) => tsplus_module_3.gen(function* ($) {
14
- if (e._etag) {
15
- yield* $(tsplus_module_1.encaseMaybeInEffect_(current, () => new OptimisticConcurrencyException(name, e.id, "", e._etag)));
16
- }
17
- if (tsplus_module_2.isSome(current) && current.value._etag !== e._etag) {
18
- return yield* $(tsplus_module_3.fail(new OptimisticConcurrencyException(name, current.value.id, current.value._etag, e._etag)));
19
- }
20
- const newE = makeETag(e);
21
- return newE;
22
- });
23
- export function codeFilter(filter) {
24
- return (x) => filter.type === "startsWith"
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- ? lowercaseIfString(x[filter.by]).startsWith(filter.value.toLowerCase())
27
- ? tsplus_module_2.some(x)
28
- : tsplus_module_4.none
29
- : filter.type === "endsWith"
30
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
- ? lowercaseIfString(x[filter.by]).endsWith(filter.value.toLowerCase())
32
- ? tsplus_module_2.some(x)
33
- : tsplus_module_4.none
34
- : filter.type === "contains"
35
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
37
- ? lowercaseIfString(x[filter.by]).includes(filter.value.toLowerCase())
38
- ? tsplus_module_2.some(x)
39
- : tsplus_module_4.none
40
- : filter.type === "join_find"
41
- ? filter.keys.some((k) => {
42
- const value = get(x, k);
43
- // we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
44
- return (value
45
- && value.some((v) => compareCaseInsensitive(v[filter.valueKey], filter.value)));
46
- })
47
- ? tsplus_module_2.some(x)
48
- : tsplus_module_4.none
49
- // TODO: support mixed or/and
50
- : filter.mode === "or"
51
- ? filter
52
- .where
53
- .some((p) => {
54
- const k = get(x, p.key);
55
- switch (p.t) {
56
- case "in":
57
- return p.value.includes(k);
58
- case "not-in":
59
- return !p.value.includes(k);
60
- case "lt":
61
- return ltCaseInsensitive(k, p.value);
62
- case "lte":
63
- return lteCaseInsensitive(k, p.value);
64
- case "gt":
65
- return gtCaseInsensitive(k, p.value);
66
- case "gte":
67
- return gteCaseInsensitive(k, p.value);
68
- case "includes":
69
- return k.includes(p.value);
70
- case "not-includes":
71
- return !k.includes(p.value);
72
- case "contains":
73
- return k.toLowerCase().includes((p.value).toLowerCase());
74
- case "ends-with":
75
- return k.toLowerCase().endsWith((p.value).toLowerCase());
76
- case "starts-with":
77
- return k.toLowerCase().startsWith((p.value).toLowerCase());
78
- case "not-eq":
79
- return !compareCaseInsensitive(k, p.value);
80
- case "eq":
81
- case undefined:
82
- return compareCaseInsensitive(k, p.value);
83
- }
84
- })
85
- ? tsplus_module_2.some(x)
86
- : tsplus_module_4.none
87
- : filter
88
- .where
89
- .every((p) => {
90
- const k = get(x, p.key);
91
- switch (p.t) {
92
- case "in":
93
- return p.value.includes(k);
94
- case "not-in":
95
- return !p.value.includes(k);
96
- case "lt":
97
- return ltCaseInsensitive(k, p.value);
98
- case "lte":
99
- return lteCaseInsensitive(k, p.value);
100
- case "gt":
101
- return gtCaseInsensitive(k, p.value);
102
- case "gte":
103
- return gteCaseInsensitive(k, p.value);
104
- case "includes":
105
- return k.includes(p.value);
106
- case "not-includes":
107
- return !k.includes(p.value);
108
- case "contains":
109
- return k.toLowerCase().includes((p.value).toLowerCase());
110
- case "ends-with":
111
- return k.toLowerCase().endsWith((p.value).toLowerCase());
112
- case "starts-with":
113
- return k.toLowerCase().startsWith((p.value).toLowerCase());
114
- case "not-eq":
115
- return p.key.includes(".-1.")
116
- ? get(x, p.key.split(".-1.")[0])
117
- // TODO: or vs and
118
- .every((_) => !compareCaseInsensitive(get(_, p.key.split(".-1.")[1]), p.value))
119
- : !compareCaseInsensitive(k, p.value);
120
- case "eq":
121
- case undefined:
122
- return p.key.includes(".-1.")
123
- ? get(x, p.key.split(".-1.")[0])
124
- // TODO: or vs and
125
- .some((_) => compareCaseInsensitive(get(_, p.key.split(".-1.")[1]), p.value))
126
- : compareCaseInsensitive(k, p.value);
127
- }
128
- })
129
- ? tsplus_module_2.some(x)
130
- : tsplus_module_4.none;
131
- }
132
- export function codeFilterJoinSelect(filter) {
133
- return (x) => tsplus_module_5.filterMap(filter
134
- .keys, (k) => {
135
- const value = get(x, k);
136
- // we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
137
- return value
138
- ? tsplus_module_2.some(tsplus_module_5.filterMap(value, (v) =>
139
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
140
- compareCaseInsensitive(v[filter.valueKey], filter.value)
141
- ? tsplus_module_2.some({ ...v, _rootId: x.id })
142
- : tsplus_module_4.none))
143
- : tsplus_module_4.none;
144
- })
145
- .flatMap((_) => _);
146
- }
147
- function lowercaseIfString(val) {
148
- if (typeof val === "string") {
149
- return val.toLowerCase();
150
- }
151
- return val;
152
- }
153
- function compareCaseInsensitive(valA, valB) {
154
- return typeof valB === "string" && typeof valA === "string"
155
- ? valA.toLowerCase() === valB.toLowerCase()
156
- : valA === valB;
157
- }
158
- function ltCaseInsensitive(valA, valB) {
159
- return typeof valB === "string" && typeof valA === "string"
160
- ? valA.toLowerCase() < valB.toLowerCase()
161
- : valA < valB;
162
- }
163
- function lteCaseInsensitive(valA, valB) {
164
- return typeof valB === "string" && typeof valA === "string"
165
- ? valA.toLowerCase() <= valB.toLowerCase()
166
- : valA <= valB;
167
- }
168
- function gtCaseInsensitive(valA, valB) {
169
- return typeof valB === "string" && typeof valA === "string"
170
- ? valA.toLowerCase() > valB.toLowerCase()
171
- : valA > valB;
172
- }
173
- function gteCaseInsensitive(valA, valB) {
174
- return typeof valB === "string" && typeof valA === "string"
175
- ? valA.toLowerCase() >= valB.toLowerCase()
176
- : valA >= valB;
177
- }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRS9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBSWhFLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQTtBQUVwQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUssRUFDZixFQUFFLENBQ0wsQ0FBQztJQUNDLEdBQUcsQ0FBQztJQUNKLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0NBQ3JCLENBQVEsQ0FBQTtBQUNYLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDekIsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQXdELENBQUksRUFBRSxPQUFrQixFQUFFLEVBQUUsQ0FDcEcsb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztJQUNwQixJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7UUFDWCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04scUNBQUEsT0FBTyxFQUNXLEdBQUcsRUFBRSxDQUFDLElBQUksOEJBQThCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNyRixDQUFBO0tBQ0Y7SUFDRCxJQUFJLHVCQUFBLE9BQU8sQ0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUU7UUFDdkQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2IscUJBQVksSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtB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QUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFDekQsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQzFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFBO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXQgfSBmcm9tIFwiQGVmZmVjdC1hcHAvcHJlbHVkZS91dGlsc1wiXG5cbmltcG9ydCB7IE9wdGltaXN0aWNDb25jdXJyZW5jeUV4Y2VwdGlvbiB9IGZyb20gXCIuLi8uLi9lcnJvcnMuanNcIlxuXG5pbXBvcnQgdHlwZSB7IEZpbHRlciwgRmlsdGVySm9pblNlbGVjdCwgUGVyc2lzdGVuY2VNb2RlbFR5cGUsIFN1cHBvcnRlZFZhbHVlczIgfSBmcm9tIFwiLi9zZXJ2aWNlLmpzXCJcblxuaW1wb3J0IG9iamVjdEhhc2ggZnJvbSBcIm9iamVjdC1oYXNoXCJcblxuZXhwb3J0IGNvbnN0IG1ha2VFVGFnID0gPEUgZXh0ZW5kcyBQZXJzaXN0ZW5jZU1vZGVsVHlwZTxJZD4sIElkIGV4dGVuZHMgc3RyaW5nPihcbiAgeyBfZXRhZywgLi4uZSB9OiBFXG4pOiBFID0+XG4gICh7XG4gICAgLi4uZSxcbiAgICBfZXRhZzogb2JqZWN0SGFzaChlKVxuICB9KSBhcyBhbnlcbmV4cG9ydCBjb25zdCBtYWtlVXBkYXRlRVRhZyA9XG4gIChuYW1lOiBzdHJpbmcpID0+IDxFIGV4dGVuZHMgUGVyc2lzdGVuY2VNb2RlbFR5cGU8SWQ+LCBJZCBleHRlbmRzIHN0cmluZz4oZTogRSwgY3VycmVudDogT3B0aW9uPEU+KSA9PlxuICAgIEVmZmVjdC5nZW4oZnVuY3Rpb24qKCQpIHtcbiAgICAgIGlmIChlLl9ldGFnKSB7XG4gICAgICAgIHlpZWxkKiAkKFxuICAgICAgICAgIGN1cnJlbnRcbiAgICAgICAgICAgIC5lbmNhc2VJbkVmZmVjdCgoKSA9PiBuZXcgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uKG5hbWUsIGUuaWQsIFwiXCIsIGUuX2V0YWcpKVxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAoY3VycmVudC5pc1NvbWUoKSAmJiBjdXJyZW50LnZhbHVlLl9ldGFnICE9PSBlLl9ldGFnKSB7XG4gICAgICAgIHJldHVybiB5aWVsZCogJChcbiAgICAgICAgICBFZmZlY3QuZmFpbChuZXcgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uKG5hbWUsIGN1cnJlbnQudmFsdWUuaWQsIGN1cnJlbnQudmFsdWUuX2V0YWcsIGUuX2V0YWcpKVxuICAgICAgICApXG4gICAgICB9XG4gICAgICBjb25zdCBuZXdFID0gbWFrZUVUYWcoZSlcbiAgICAgIHJldHVybiBuZXdFXG4gICAgfSlcblxuZXhwb3J0IGZ1bmN0aW9uIGNvZGVGaWx0ZXI8RSBleHRlbmRzIHsgaWQ6IHN0cmluZyB9LCBORSBleHRlbmRzIEU+KGZpbHRlcjogRmlsdGVyPE5FPikge1xuICByZXR1cm4gKHg6IEUpID0+XG4gICAgZmlsdGVyLnR5cGUgPT09IFwic3RhcnRzV2l0aFwiXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgPyBsb3dlcmNhc2VJZlN0cmluZygoeCBhcyBhbnkpW2ZpbHRlci5ieV0pLnN0YXJ0c1dpdGgoZmlsdGVyLnZhbHVlLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgID8gT3B0aW9uKHggYXMgdW5rbm93biBhcyBORSlcbiAgICAgICAgOiBPcHRpb24ubm9uZVxuICAgICAgOiBmaWx0ZXIudHlwZSA9PT0gXCJlbmRzV2l0aFwiXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgPyBsb3dlcmNhc2VJZlN0cmluZygoeCBhcyBhbnkpW2ZpbHRlci5ieV0pLmVuZHNXaXRoKGZpbHRlci52YWx1ZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICA/IE9wdGlvbih4IGFzIHVua25vd24gYXMgTkUpXG4gICAgICAgIDogT3B0aW9uLm5vbmVcbiAgICAgIDogZmlsdGVyLnR5cGUgPT09IFwiY29udGFpbnNcIlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcbiAgICAgID8gbG93ZXJjYXNlSWZTdHJpbmcoKHggYXMgYW55KVtmaWx0ZXIuYnldKS5pbmNsdWRlcyhmaWx0ZXIudmFsdWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgPyBPcHRpb24oeCBhcyB1bmtub3duIGFzIE5FKVxuICAgICAgICA6IE9wdGlvbi5ub25lXG4gICAgICA6IGZpbHRlci50eXBlID09PSBcImpvaW5fZmluZFwiXG4gICAgICA/IGZpbHRlci5rZXlzLnNvbWUoKGspID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldCh4LCBrKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gICAgICAgICAgLy8gd2UgbWltaWMgdGhlIGJlaGF2aW9yIG9mIGNvc21vc2RiOyBpZiB0aGUgc2hhcGUgaW4gZGIgZG9lcyBub3QgbWF0Y2ggd2hhdCB3ZSdyZSBsb29raW5nIGZvciwgd2UgaW1hZ2luZSBmYWxzZSBoaXRcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgICYmIHZhbHVlLnNvbWUoKHYpID0+IGNvbXBhcmVDYXNlSW5zZW5zaXRpdmUodltmaWx0ZXIudmFsdWVLZXldLCBmaWx0ZXIudmFsdWUpKVxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgICAgPyBPcHRpb24oeCBhcyB1bmtub3duIGFzIE5FKVxuICAgICAgICA6IE9wdGlvbi5ub25lXG4gICAgICAvLyBUT0RPOiBzdXBwb3J0IG1peGVkIG9yL2FuZFxuICAgICAgOiBmaWx0ZXIubW9kZSA9PT0gXCJvclwiXG4gICAgICA/IGZpbHRlclxuICAgICAgICAgIC53aGVyZVxuICAgICAgICAgIC5zb21lKChwKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrID0gZ2V0KHgsIHAua2V5KVxuICAgICAgICAgICAgc3dpdGNoIChwLnQpIHtcbiAgICAgICAgICAgICAgY2FzZSBcImluXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHAudmFsdWUuaW5jbHVkZXMoaylcbiAgICAgICAgICAgICAgY2FzZSBcIm5vdC1pblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiAhcC52YWx1ZS5pbmNsdWRlcyhrKVxuICAgICAgICAgICAgICBjYXNlIFwibHRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbHRDYXNlSW5zZW5zaXRpdmUoaywgcC52YWx1ZSlcbiAgICAgICAgICAgICAgY2FzZSBcImx0ZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBsdGVDYXNlSW5zZW5zaXRpdmUoaywgcC52YWx1ZSlcbiAgICAgICAgICAgICAgY2FzZSBcImd0XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGd0Q2FzZUluc2Vuc2l0aXZlKGssIHAudmFsdWUpXG4gICAgICAgICAgICAgIGNhc2UgXCJndGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZ3RlQ2FzZUluc2Vuc2l0aXZlKGssIHAudmFsdWUpXG4gICAgICAgICAgICAgIGNhc2UgXCJpbmNsdWRlc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiAoayBhcyBBcnJheTxzdHJpbmc+KS5pbmNsdWRlcyhwLnZhbHVlKVxuICAgICAgICAgICAgICBjYXNlIFwibm90LWluY2x1ZGVzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICEoayBhcyBBcnJheTxzdHJpbmc+KS5pbmNsdWRlcyhwLnZhbHVlKVxuICAgICAgICAgICAgICBjYXNlIFwiY29udGFpbnNcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKGsgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKChwLnZhbHVlKS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICBjYXNlIFwiZW5kcy13aXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChrIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgocC52YWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgY2FzZSBcInN0YXJ0cy13aXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChrIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKChwLnZhbHVlKS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICBjYXNlIFwibm90LWVxXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFjb21wYXJlQ2FzZUluc2Vuc2l0aXZlKGssIHAudmFsdWUpXG4gICAgICAgICAgICAgIGNhc2UgXCJlcVwiOlxuICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNhc2VJbnNlbnNpdGl2ZShrLCBwLnZhbHVlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgID8gT3B0aW9uKHggYXMgdW5rbm93biBhcyBORSlcbiAgICAgICAgOiBPcHRpb24ubm9uZVxuICAgICAgOiBmaWx0ZXJcbiAgICAgICAgICAud2hlcmVcbiAgICAgICAgICAuZXZlcnkoKHApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGsgPSBnZXQoeCwgcC5rZXkpXG4gICAgICAgICAgICBzd2l0Y2ggKHAudCkge1xuICAgICAgICAgICAgICBjYXNlIFwiaW5cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcC52YWx1ZS5pbmNsdWRlcyhrKVxuICAgICAgICAgICAgICBjYXNlIFwibm90LWluXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFwLnZhbHVlLmluY2x1ZGVzKGspXG4gICAgICAgICAgICAgIGNhc2UgXCJsdFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBsdENhc2VJbnNlbnNpdGl2ZShrLCBwLnZhbHVlKVxuICAgICAgICAgICAgICBjYXNlIFwibHRlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGx0ZUNhc2VJbnNlbnNpdGl2ZShrLCBwLnZhbHVlKVxuICAgICAgICAgICAgICBjYXNlIFwiZ3RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZ3RDYXNlSW5zZW5zaXRpdmUoaywgcC52YWx1ZSlcbiAgICAgICAgICAgICAgY2FzZSBcImd0ZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBndGVDYXNlSW5zZW5zaXRpdmUoaywgcC52YWx1ZSlcbiAgICAgICAgICAgICAgY2FzZSBcImluY2x1ZGVzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIChrIGFzIEFycmF5PHN0cmluZz4pLmluY2x1ZGVzKHAudmFsdWUpXG4gICAgICAgICAgICAgIGNhc2UgXCJub3QtaW5jbHVkZXNcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gIShrIGFzIEFycmF5PHN0cmluZz4pLmluY2x1ZGVzKHAudmFsdWUpXG4gICAgICAgICAgICAgIGNhc2UgXCJjb250YWluc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiAoayBhcyBzdHJpbmcpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoKHAudmFsdWUpLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgIGNhc2UgXCJlbmRzLXdpdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKGsgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKChwLnZhbHVlKS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICBjYXNlIFwic3RhcnRzLXdpdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gKGsgYXMgc3RyaW5nKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoKHAudmFsdWUpLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgIGNhc2UgXCJub3QtZXFcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcC5rZXkuaW5jbHVkZXMoXCIuLTEuXCIpXG4gICAgICAgICAgICAgICAgICA/IChnZXQoeCwgcC5rZXkuc3BsaXQoXCIuLTEuXCIpWzBdKSBhcyBhbnlbXSlcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogb3IgdnMgYW5kXG4gICAgICAgICAgICAgICAgICAgIC5ldmVyeSgoXykgPT4gIWNvbXBhcmVDYXNlSW5zZW5zaXRpdmUoZ2V0KF8sIHAua2V5LnNwbGl0KFwiLi0xLlwiKVsxXSEpLCBwLnZhbHVlKSlcbiAgICAgICAgICAgICAgICAgIDogIWNvbXBhcmVDYXNlSW5zZW5zaXRpdmUoaywgcC52YWx1ZSlcbiAgICAgICAgICAgICAgY2FzZSBcImVxXCI6XG4gICAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgIHJldHVybiBwLmtleS5pbmNsdWRlcyhcIi4tMS5cIilcbiAgICAgICAgICAgICAgICAgID8gKGdldCh4LCBwLmtleS5zcGxpdChcIi4tMS5cIilbMF0pIGFzIGFueVtdKVxuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBvciB2cyBhbmRcbiAgICAgICAgICAgICAgICAgICAgLnNvbWUoKF8pID0+IGNvbXBhcmVDYXNlSW5zZW5zaXRpdmUoZ2V0KF8sIHAua2V5LnNwbGl0KFwiLi0xLlwiKVsxXSEpLCBwLnZhbHVlKSlcbiAgICAgICAgICAgICAgICAgIDogY29tcGFyZUNhc2VJbnNlbnNpdGl2ZShrLCBwLnZhbHVlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICA/IE9wdGlvbih4IGFzIHVua25vd24gYXMgTkUpXG4gICAgICA6IE9wdGlvbi5ub25lXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2RlRmlsdGVySm9pblNlbGVjdDxFIGV4dGVuZHMgeyBpZDogc3RyaW5nIH0sIE5FPihcbiAgZmlsdGVyOiBGaWx0ZXJKb2luU2VsZWN0XG4pIHtcbiAgcmV0dXJuICh4OiBFKSA9PlxuICAgIGZpbHRlclxuICAgICAgLmtleXNcbiAgICAgIC5maWx0ZXJNYXAoKGspID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBnZXQoeCwgaylcbiAgICAgICAgLy8gd2UgbWltaWMgdGhlIGJlaGF2aW9yIG9mIGNvc21vc2RiOyBpZiB0aGUgc2hhcGUgaW4gZGIgZG9lcyBub3QgbWF0Y2ggd2hhdCB3ZSdyZSBsb29raW5nIGZvciwgd2UgaW1hZ2luZSBmYWxzZSBoaXRcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgPyBPcHRpb24oXG4gICAgICAgICAgICAodmFsdWUgYXMgcmVhZG9ubHkgTkVbXSkuZmlsdGVyTWFwKCh2KSA9PlxuICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgICBjb21wYXJlQ2FzZUluc2Vuc2l0aXZlKCh2IGFzIGFueSlbZmlsdGVyLnZhbHVlS2V5XSwgZmlsdGVyLnZhbHVlKVxuICAgICAgICAgICAgICAgID8gT3B0aW9uKHsgLi4udiwgX3Jvb3RJZDogeC5pZCB9KVxuICAgICAgICAgICAgICAgIDogT3B0aW9uLm5vbmVcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgOiBPcHRpb24ubm9uZVxuICAgICAgfSlcbiAgICAgIC5mbGF0TWFwKChfKSA9PiBfKVxufVxuXG5mdW5jdGlvbiBsb3dlcmNhc2VJZlN0cmluZzxUPih2YWw6IFQpIHtcbiAgaWYgKHR5cGVvZiB2YWwgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gdmFsLnRvTG93ZXJDYXNlKClcbiAgfVxuICByZXR1cm4gdmFsXG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVDYXNlSW5zZW5zaXRpdmUodmFsQTogdW5rbm93biwgdmFsQjogdW5rbm93bikge1xuICByZXR1cm4gdHlwZW9mIHZhbEIgPT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIHZhbEEgPT09IFwic3RyaW5nXCJcbiAgICA/IHZhbEEudG9Mb3dlckNhc2UoKSA9PT0gdmFsQi50b0xvd2VyQ2FzZSgpXG4gICAgOiB2YWxBID09PSB2YWxCXG59XG5cbmZ1bmN0aW9uIGx0Q2FzZUluc2Vuc2l0aXZlKHZhbEE6IFN1cHBvcnRlZFZhbHVlczIsIHZhbEI6IFN1cHBvcnRlZFZhbHVlczIpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWxCID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiB2YWxBID09PSBcInN0cmluZ1wiXG4gICAgPyB2YWxBLnRvTG93ZXJDYXNlKCkgPCB2YWxCLnRvTG93ZXJDYXNlKClcbiAgICA6IHZhbEEgPCB2YWxCXG59XG5cbmZ1bmN0aW9uIGx0ZUNhc2VJbnNlbnNpdGl2ZSh2YWxBOiBTdXBwb3J0ZWRWYWx1ZXMyLCB2YWxCOiBTdXBwb3J0ZWRWYWx1ZXMyKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsQiA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgdmFsQSA9PT0gXCJzdHJpbmdcIlxuICAgID8gdmFsQS50b0xvd2VyQ2FzZSgpIDw9IHZhbEIudG9Mb3dlckNhc2UoKVxuICAgIDogdmFsQSA8PSB2YWxCXG59XG5cbmZ1bmN0aW9uIGd0Q2FzZUluc2Vuc2l0aXZlKHZhbEE6IFN1cHBvcnRlZFZhbHVlczIsIHZhbEI6IFN1cHBvcnRlZFZhbHVlczIpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWxCID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiB2YWxBID09PSBcInN0cmluZ1wiXG4gICAgPyB2YWxBLnRvTG93ZXJDYXNlKCkgPiB2YWxCLnRvTG93ZXJDYXNlKClcbiAgICA6IHZhbEEgPiB2YWxCXG59XG5cbmZ1bmN0aW9uIGd0ZUNhc2VJbnNlbnNpdGl2ZSh2YWxBOiBTdXBwb3J0ZWRWYWx1ZXMyLCB2YWxCOiBTdXBwb3J0ZWRWYWx1ZXMyKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsQiA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgdmFsQSA9PT0gXCJzdHJpbmdcIlxuICAgID8gdmFsQS50b0xvd2VyQ2FzZSgpID49IHZhbEIudG9Mb3dlckNhc2UoKVxuICAgIDogdmFsQSA+PSB2YWxCXG59XG4iXX0=
@@ -1 +0,0 @@
1
- b4b12945fbdaa4d1e98b8a2095ca4363f267e0909cdb70da478a35926e8fbba5
@@ -1,57 +0,0 @@
1
- import * as tsplus_module_1 from "@effect-app/infra/filter";
2
- import { makeFilters } from "../../filter.js";
3
- import { buildWhereCosmosQuery } from "./Cosmos.js";
4
- const f_ = makeFilters();
5
- export function makeSomethingFilter_(filter) {
6
- return filter(f_);
7
- }
8
- export function somethingsWhere(makeWhere, mode) {
9
- return makeSomethingFilter_((f) => {
10
- const m = makeWhere ? makeWhere(f) : [];
11
- return ({
12
- mode,
13
- where: (Array.isArray(m) ? m : [m])
14
- });
15
- });
16
- }
17
- test("works", () => {
18
- expect(buildWhereCosmosQuery(somethingsWhere((_) => _("b", (_) => "b2")), "Somethings", "importedMarkerId", undefined, 10))
19
- .toEqual({
20
- "parameters": [
21
- {
22
- "name": "@id",
23
- "value": "importedMarkerId"
24
- },
25
- {
26
- "name": "@v0",
27
- "value": "b2"
28
- }
29
- ],
30
- "query": `
31
- SELECT f
32
- FROM Somethings AS f
33
-
34
- WHERE f.id != @id AND LOWER(f.b) = LOWER(@v0)
35
- OFFSET 0 LIMIT 10`
36
- });
37
- expect(buildWhereCosmosQuery(somethingsWhere((_) => _("d.-1.a", (_) => tsplus_module_1.$isnt(_, "a2"))), "Somethings", "importedMarkerId", undefined, 10))
38
- .toEqual({
39
- "parameters": [
40
- {
41
- "name": "@id",
42
- "value": "importedMarkerId"
43
- },
44
- {
45
- "name": "@v0",
46
- "value": "a2"
47
- }
48
- ],
49
- "query": `
50
- SELECT f
51
- FROM Somethings AS f
52
- JOIN d IN f.d
53
- WHERE f.id != @id AND LOWER(d.a) <> LOWER(@v0)
54
- OFFSET 0 LIMIT 10`
55
- });
56
- });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL0Nvc21vcy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRW5ELE1BQU0sRUFBRSxHQUFHLFdBQVcsRUFBYSxDQUFBO0FBR25DLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFxRDtJQUN4RixPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsU0FFZ0MsRUFDaEMsSUFBbUI7SUFFbkIsT0FBTyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDdkMsT0FBTyxDQUFDO1lBQ04sSUFBSTtZQUNKLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWlDO1NBQ3RHLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQWVELElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO0lBQ2pCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDMUIsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMzQyxZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxFQUFFLENBQ0gsQ0FBQztTQUNDLE9BQU8sQ0FBQztRQUNQLFlBQVksRUFBRTtZQUNaO2dCQUNFLE1BQU0sRUFBRSxLQUFLO2dCQUNiLE9BQU8sRUFBRSxrQkFBa0I7YUFDNUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsS0FBSztnQkFDYixPQUFPLEVBQUUsSUFBSTthQUNkO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7Ozs7O3NCQUtPO0tBQ2pCLENBQUMsQ0FBQTtJQUVKLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDMUIsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBQSxDQUFDLEVBQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUN6RCxZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxFQUFFLENBQ0gsQ0FBQztTQUNDLE9BQU8sQ0FBQztRQUNQLFlBQVksRUFBRTtZQUNaO2dCQUNFLE1BQU0sRUFBRSxLQUFLO2dCQUNiLE9BQU8sRUFBRSxrQkFBa0I7YUFDNUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsS0FBSztnQkFDYixPQUFPLEVBQUUsSUFBSTthQUNkO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7Ozs7O3NCQUtPO0tBQ2pCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTdG9yZVdoZXJlRmlsdGVyLCBXaGVyZSB9IGZyb20gXCJAZWZmZWN0LWFwcC9pbmZyYS9zZXJ2aWNlcy9TdG9yZVwiXG5pbXBvcnQgeyBtYWtlRmlsdGVycyB9IGZyb20gXCIuLi8uLi9maWx0ZXIuanNcIlxuaW1wb3J0IHsgYnVpbGRXaGVyZUNvc21vc1F1ZXJ5IH0gZnJvbSBcIi4vQ29zbW9zLmpzXCJcblxuY29uc3QgZl8gPSBtYWtlRmlsdGVyczxTb21ldGhpbmc+KClcbmV4cG9ydCB0eXBlIFNvbWV0aGluZ1doZXJlRmlsdGVyID0gdHlwZW9mIGZfXG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlU29tZXRoaW5nRmlsdGVyXyhmaWx0ZXI6IChmOiBTb21ldGhpbmdXaGVyZUZpbHRlcikgPT4gU3RvcmVXaGVyZUZpbHRlcikge1xuICByZXR1cm4gZmlsdGVyKGZfKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc29tZXRoaW5nc1doZXJlKFxuICBtYWtlV2hlcmU6IChcbiAgICBmOiBTb21ldGhpbmdXaGVyZUZpbHRlclxuICApID0+IFdoZXJlIHwgW1doZXJlLCAuLi5XaGVyZVtdXSxcbiAgbW9kZT86IFwib3JcIiB8IFwiYW5kXCJcbikge1xuICByZXR1cm4gbWFrZVNvbWV0aGluZ0ZpbHRlcl8oKGYpID0+IHtcbiAgICBjb25zdCBtID0gbWFrZVdoZXJlID8gbWFrZVdoZXJlKGYpIDogW11cbiAgICByZXR1cm4gKHtcbiAgICAgIG1vZGUsXG4gICAgICB3aGVyZTogKEFycmF5LmlzQXJyYXkobSkgPyBtIGFzIHVua25vd24gYXMgW1doZXJlLCAuLi5XaGVyZVtdXSA6IFttXSkgYXMgcmVhZG9ubHkgW1doZXJlLCAuLi5XaGVyZVtdXVxuICAgIH0pXG4gIH0pXG59XG5cbnR5cGUgU29tZXRoaW5nRWxzZSA9IHtcbiAgYTogc3RyaW5nXG4gIGI6IG51bWJlclxufVxuXG50eXBlIFNvbWV0aGluZyA9IHtcbiAgYTogbnVtYmVyXG4gIGlkOiBzdHJpbmdcbiAgYjogc3RyaW5nXG4gIGM6IHJlYWRvbmx5IHN0cmluZ1tdXG4gIGQ6IHJlYWRvbmx5IFNvbWV0aGluZ0Vsc2VbXVxufVxuXG50ZXN0KFwid29ya3NcIiwgKCkgPT4ge1xuICBleHBlY3QoYnVpbGRXaGVyZUNvc21vc1F1ZXJ5KFxuICAgIHNvbWV0aGluZ3NXaGVyZSgoXykgPT4gXyhcImJcIiwgKF8pID0+IFwiYjJcIikpLFxuICAgIFwiU29tZXRoaW5nc1wiLFxuICAgIFwiaW1wb3J0ZWRNYXJrZXJJZFwiLFxuICAgIHVuZGVmaW5lZCxcbiAgICAxMFxuICApKVxuICAgIC50b0VxdWFsKHtcbiAgICAgIFwicGFyYW1ldGVyc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJAaWRcIixcbiAgICAgICAgICBcInZhbHVlXCI6IFwiaW1wb3J0ZWRNYXJrZXJJZFwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJAdjBcIixcbiAgICAgICAgICBcInZhbHVlXCI6IFwiYjJcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJxdWVyeVwiOiBgXG4gICAgU0VMRUNUIGZcbiAgICBGUk9NIFNvbWV0aGluZ3MgQVMgZlxuICAgIFxuICAgIFdIRVJFIGYuaWQgIT0gQGlkIEFORCBMT1dFUihmLmIpID0gTE9XRVIoQHYwKVxuICAgIE9GRlNFVCAwIExJTUlUIDEwYFxuICAgIH0pXG5cbiAgZXhwZWN0KGJ1aWxkV2hlcmVDb3Ntb3NRdWVyeShcbiAgICBzb21ldGhpbmdzV2hlcmUoKF8pID0+IF8oXCJkLi0xLmFcIiwgKF8pID0+IF8uJGlzbnQoXCJhMlwiKSkpLFxuICAgIFwiU29tZXRoaW5nc1wiLFxuICAgIFwiaW1wb3J0ZWRNYXJrZXJJZFwiLFxuICAgIHVuZGVmaW5lZCxcbiAgICAxMFxuICApKVxuICAgIC50b0VxdWFsKHtcbiAgICAgIFwicGFyYW1ldGVyc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJAaWRcIixcbiAgICAgICAgICBcInZhbHVlXCI6IFwiaW1wb3J0ZWRNYXJrZXJJZFwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIm5hbWVcIjogXCJAdjBcIixcbiAgICAgICAgICBcInZhbHVlXCI6IFwiYTJcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJxdWVyeVwiOiBgXG4gICAgU0VMRUNUIGZcbiAgICBGUk9NIFNvbWV0aGluZ3MgQVMgZlxuICAgIEpPSU4gZCBJTiBmLmRcbiAgICBXSEVSRSBmLmlkICE9IEBpZCBBTkQgTE9XRVIoZC5hKSA8PiBMT1dFUihAdjApXG4gICAgT0ZGU0VUIDAgTElNSVQgMTBgXG4gICAgfSlcbn0pXG4iXX0=
@@ -1 +0,0 @@
1
- 4e41249ba004a7c0dc89e9306f2fcedc66585f6a43cff02e094f0d73d723bf8d
@@ -1,97 +0,0 @@
1
- import * as tsplus_module_1 from "@effect-app/core/Option";
2
- import * as tsplus_module_2 from "@effect/io/Effect";
3
- import * as tsplus_module_3 from "@effect/data/Option";
4
- /* eslint-disable @typescript-eslint/no-explicit-any */
5
- import * as MO from "@effect-app/schema";
6
- import { isObjectSchema } from "@effect-app/infra-adapters/Openapi/atlas-plutus";
7
- import * as OpenApi from "@effect-app/infra-adapters/Openapi/index";
8
- export function asRouteDescriptionAny(i) {
9
- return i;
10
- }
11
- export function arrAsRouteDescriptionAny(arr) {
12
- return arr.map(asRouteDescriptionAny);
13
- }
14
- export function makeRouteDescriptor(path, method, handler) {
15
- return { path, method, handler, _tag: "Schema" };
16
- }
17
- export function makeFromSchema(e) {
18
- const jsonSchema_ = OpenApi.for;
19
- const jsonSchema = (r) => jsonSchema_(r);
20
- const { Request: Req, Response: Res_, ResponseOpenApi } = e.handler;
21
- const r = ResponseOpenApi ?? Res_;
22
- const Res = r ? MO.extractSchema(r) : MO.Void;
23
- // TODO EffectOption.fromNullable(Req.Headers).flatMapOpt(jsonSchema)
24
- // TODO: use the path vs body etc serialisation also in the Client.
25
- const makeReqQuerySchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Query)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
26
- const makeReqHeadersSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Headers)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
27
- const makeReqCookieSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Cookie)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
28
- const makeReqPathSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Path)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
29
- const makeReqBodySchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Body)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
30
- // const makeReqSchema = schema(Req)
31
- const makeResSchema = jsonSchema_(Res);
32
- function makeParameters(inn) {
33
- return (a) => {
34
- return tsplus_module_3.getOrElse(tsplus_module_3.map(tsplus_module_3.flatMap(a, (o) => (isObjectSchema(o) ? tsplus_module_3.some(o) : tsplus_module_1.none)), (x) => {
35
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
36
- return Object.keys(x.properties).map((p) => {
37
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
38
- const schema = x.properties[p];
39
- const required = Boolean(x.required?.includes(p));
40
- return { name: p, in: inn, required, schema };
41
- });
42
- }), () => []);
43
- };
44
- }
45
- return tsplus_module_2.map(tsplus_module_2.all({
46
- req: jsonSchema(Req.Model),
47
- reqQuery: makeReqQuerySchema,
48
- reqHeaders: makeReqHeadersSchema,
49
- reqBody: makeReqBodySchema,
50
- reqPath: makeReqPathSchema,
51
- reqCookie: makeReqCookieSchema,
52
- res: makeResSchema
53
- }), (_) => {
54
- // console.log("$$$ REQ", _.req)
55
- const isEmpty = !e.handler.Response || e.handler.Response === MO.Void;
56
- return {
57
- path: e.path,
58
- method: e.method.toLowerCase(),
59
- tags: e.info?.tags,
60
- description: _.req?.description,
61
- summary: _.req?.summary,
62
- operationId: _.req?.title,
63
- parameters: [
64
- ...makeParameters("path")(_.reqPath),
65
- ...makeParameters("query")(_.reqQuery),
66
- ...makeParameters("header")(_.reqHeaders),
67
- ...makeParameters("cookie")(_.reqCookie)
68
- ],
69
- requestBody: tsplus_module_1.getOrUndefined(tsplus_module_3.map(_
70
- .reqBody, (schema) => ({
71
- content: { "application/json": { schema } }
72
- }))),
73
- responses: [
74
- isEmpty
75
- ? new Response(204, { description: "Empty" })
76
- : new Response(200, {
77
- description: "OK",
78
- content: { "application/json": { schema: _.res } }
79
- }),
80
- new Response(400, { description: "ValidationError" })
81
- ]
82
- .concat(e.path.includes(":") && isEmpty
83
- ? [new Response(404, { description: "NotFoundError" })]
84
- : [])
85
- };
86
- });
87
- }
88
- class Response {
89
- statusCode;
90
- type;
91
- constructor(statusCode, type // string | JSONSchema | SubSchema
92
- ) {
93
- this.statusCode = statusCode;
94
- this.type = type;
95
- }
96
- }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3Mvc2NoZW1hL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFJeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQ2hGLE9BQU8sS0FBSyxPQUFPLE1BQU0sMENBQTBDLENBQUE7QUFHbkUsTUFBTSxVQUFVLHFCQUFxQixDQUErQixDQUFJO0lBQ3RFLE9BQU8sQ0FBdUIsQ0FBQTtBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxHQUFxQjtJQUVyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBa0NELE1BQU0sVUFBVSxtQkFBbUIsQ0FZakMsSUFBWSxFQUNaLE1BQWMsRUFDZCxPQVVDO0lBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBVzdDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsQ0FBZ0U7SUFFaEUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtJQUMvQixNQUFNLFVBQVUsR0FBRyxDQUFPLENBQWtCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUE7SUFDbkUsTUFBTSxDQUFDLEdBQUcsZUFBZSxJQUFJLElBQUksQ0FBQTtJQUNqQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMs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eHBsaWNpdC1hbnkgKi9cbmltcG9ydCAqIGFzIE1PIGZyb20gXCJAZWZmZWN0LWFwcC9zY2hlbWFcIlxuaW1wb3J0IHR5cGUgeyBNZXRob2RzIH0gZnJvbSBcIkBlZmZlY3QtYXBwL3NjaGVtYVwiXG5cbmltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYSwgUGFyYW1ldGVyTG9jYXRpb24sIFN1YlNjaGVtYSB9IGZyb20gXCJAZWZmZWN0LWFwcC9pbmZyYS1hZGFwdGVycy9PcGVuYXBpL2F0bGFzLXBsdXR1c1wiXG5pbXBvcnQgeyBpc09iamVjdFNjaGVtYSB9IGZyb20gXCJAZWZmZWN0LWFwcC9pbmZyYS1hZGFwdGVycy9PcGVuYXBpL2F0bGFzLXBsdXR1c1wiXG5pbXBvcnQgKiBhcyBPcGVuQXBpIGZyb20gXCJAZWZmZWN0LWFwcC9pbmZyYS1hZGFwdGVycy9PcGVuYXBpL2luZGV4XCJcbmltcG9ydCB0eXBlIHsgUmVxdWVzdEhhbmRsZXIsIFJlcXVlc3RIYW5kbGVyT3B0UmVzIH0gZnJvbSBcIi4vcmVxdWVzdEhhbmRsZXIuanNcIlxuXG5leHBvcnQgZnVuY3Rpb24gYXNSb3V0ZURlc2NyaXB0aW9uQW55PFIgZXh0ZW5kcyBSb3V0ZURlc2NyaXB0b3JBbnk+KGk6IFIpIHtcbiAgcmV0dXJuIGkgYXMgUm91dGVEZXNjcmlwdG9yQW55XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJBc1JvdXRlRGVzY3JpcHRpb25Bbnk8UiBleHRlbmRzIFJvdXRlRGVzY3JpcHRvckFueT4oXG4gIGFycjogUmVhZG9ubHlBcnJheTxSPlxuKSB7XG4gIHJldHVybiBhcnIubWFwKGFzUm91dGVEZXNjcmlwdGlvbkFueSlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZURlc2NyaXB0b3I8XG4gIFIsXG4gIFBhdGhBLFxuICBDb29raWVBLFxuICBRdWVyeUEsXG4gIEJvZHlBLFxuICBIZWFkZXJBLFxuICBSZXFBIGV4dGVuZHMgUGF0aEEgJiBRdWVyeUEgJiBCb2R5QSxcbiAgUmVzQSxcbiAgRXJyb3JzLFxuICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RzID0gTWV0aG9kc1xuPiB7XG4gIHBhdGg6IHN0cmluZ1xuICBtZXRob2Q6IE1FVEhPRFxuICBoYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxSLCBQYXRoQSwgQ29va2llQSwgUXVlcnlBLCBCb2R5QSwgSGVhZGVyQSwgUmVxQSwgUmVzQSwgRXJyb3JzPlxuICBpbmZvPzoge1xuICAgIHRhZ3M6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlRGVzY3JpcHRvckFueSA9IFJvdXRlRGVzY3JpcHRvcjxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueVxuPlxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVJvdXRlRGVzY3JpcHRvcjxcbiAgUixcbiAgUGF0aEEsXG4gIENvb2tpZUEsXG4gIFF1ZXJ5QSxcbiAgQm9keUEsXG4gIEhlYWRlckEsXG4gIFJlcUEgZXh0ZW5kcyBQYXRoQSAmIFF1ZXJ5QSAmIEJvZHlBLFxuICBSZXNBID0gdm9pZCxcbiAgRXJyb3JzID0gYW55LFxuICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RzID0gTWV0aG9kc1xuPihcbiAgcGF0aDogc3RyaW5nLFxuICBtZXRob2Q6IE1FVEhPRCxcbiAgaGFuZGxlcjogUmVxdWVzdEhhbmRsZXJPcHRSZXM8XG4gICAgUixcbiAgICBQYXRoQSxcbiAgICBDb29raWVBLFxuICAgIFF1ZXJ5QSxcbiAgICBCb2R5QSxcbiAgICBIZWFkZXJBLFxuICAgIFJlcUEsXG4gICAgUmVzQSxcbiAgICBFcnJvcnNcbiAgPlxuKSB7XG4gIHJldHVybiB7IHBhdGgsIG1ldGhvZCwgaGFuZGxlciwgX3RhZzogXCJTY2hlbWFcIiB9IGFzIFJvdXRlRGVzY3JpcHRvcjxcbiAgICBSLFxuICAgIFBhdGhBLFxuICAgIENvb2tpZUEsXG4gICAgUXVlcnlBLFxuICAgIEJvZHlBLFxuICAgIEhlYWRlckEsXG4gICAgUmVxQSxcbiAgICBSZXNBLFxuICAgIEVycm9ycyxcbiAgICBNRVRIT0RcbiAgPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZUZyb21TY2hlbWE8UmVzQT4oXG4gIGU6IFJvdXRlRGVzY3JpcHRvcjxhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55LCBSZXNBLCBhbnksIGFueT5cbikge1xuICBjb25zdCBqc29uU2NoZW1hXyA9IE9wZW5BcGkuZm9yXG4gIGNvbnN0IGpzb25TY2hlbWEgPSA8RSwgQT4ocjogTU8uUmVxUmVzPEUsIEE+KSA9PiBqc29uU2NoZW1hXyhyKVxuICBjb25zdCB7IFJlcXVlc3Q6IFJlcSwgUmVzcG9uc2U6IFJlc18sIFJlc3BvbnNlT3BlbkFwaSB9ID0gZS5oYW5kbGVyXG4gIGNvbnN0IHIgPSBSZXNwb25zZU9wZW5BcGkgPz8gUmVzX1xuICBjb25zdCBSZXMgPSByID8gTU8uZXh0cmFjdFNjaGVtYShyKSA6IE1PLlZvaWRcbiAgLy8gVE9ETyBFZmZlY3RPcHRpb24uZnJvbU51bGxhYmxlKFJlcS5IZWFkZXJzKS5mbGF0TWFwT3B0KGpzb25TY2hlbWEpXG4gIC8vIFRPRE86IHVzZSB0aGUgcGF0aCB2cyBib2R5IGV0YyBzZXJpYWxpc2F0aW9uIGFsc28gaW4gdGhlIENsaWVudC5cbiAgY29uc3QgbWFrZVJlcVF1ZXJ5U2NoZW1hID0gRWZmZWN0KE9wdGlvbi5mcm9tTnVsbGFibGUoUmVxLlF1ZXJ5KSkuZmxhdE1hcCgoXykgPT5cbiAgICBfLm1hdGNoKFxuICAgICAgKCkgPT4gRWZmZWN0KE9wdGlvbi5ub25lKSxcbiAgICAgIChfKSA9PiBqc29uU2NoZW1hKF8pLm1hcChPcHRpb24uc29tZSlcbiAgICApXG4gIClcbiAgY29uc3QgbWFrZVJlcUhlYWRlcnNTY2hlbWEgPSBFZmZlY3QoT3B0aW9uLmZyb21OdWxsYWJsZShSZXEuSGVhZGVycykpLmZsYXRNYXAoKF8pID0+XG4gICAgXy5tYXRjaChcbiAgICAgICgpID0+IEVmZmVjdChPcHRpb24ubm9uZSksXG4gICAgICAoXykgPT4ganNvblNjaGVtYShfKS5tYXAoT3B0aW9uLnNvbWUpXG4gICAgKVxuICApXG4gIGNvbnN0IG1ha2VSZXFDb29raWVTY2hlbWEgPSBFZmZlY3QoT3B0aW9uLmZyb21OdWxsYWJsZShSZXEuQ29va2llKSkuZmxhdE1hcCgoXykgPT5cbiAgICBfLm1hdGNoKFxuICAgICAgKCkgPT4gRWZmZWN0KE9wdGlvbi5ub25lKSxcbiAgICAgIChfKSA9PiBqc29uU2NoZW1hKF8pLm1hcChPcHRpb24uc29tZSlcbiAgICApXG4gIClcbiAgY29uc3QgbWFrZVJlcVBhdGhTY2hlbWEgPSBFZmZlY3QoT3B0aW9uLmZyb21OdWxsYWJsZShSZXEuUGF0aCkpLmZsYXRNYXAoKF8pID0+XG4gICAgXy5tYXRjaChcbiAgICAgICgpID0+IEVmZmVjdChPcHRpb24ubm9uZSksXG4gICAgICAoXykgPT4ganNvblNjaGVtYShfKS5tYXAoT3B0aW9uLnNvbWUpXG4gICAgKVxuICApXG4gIGNvbnN0IG1ha2VSZXFCb2R5U2NoZW1hID0gRWZmZWN0KE9wdGlvbi5mcm9tTnVsbGFibGUoUmVxLkJvZHkpKS5mbGF0TWFwKChfKSA9PlxuICAgIF8ubWF0Y2goXG4gICAgICAoKSA9PiBFZmZlY3QoT3B0aW9uLm5vbmUpLFxuICAgICAgKF8pID0+IGpzb25TY2hlbWEoXykubWFwKE9wdGlvbi5zb21lKVxuICAgIClcbiAgKVxuICAvLyBjb25zdCBtYWtlUmVxU2NoZW1hID0gc2NoZW1hKFJlcSlcblxuICBjb25zdCBtYWtlUmVzU2NoZW1hID0ganNvblNjaGVtYV8oUmVzIGFzIGFueSlcblxuICBmdW5jdGlvbiBtYWtlUGFyYW1ldGVycyhpbm46IFBhcmFtZXRlckxvY2F0aW9uKSB7XG4gICAgcmV0dXJuIChhOiBPcHRpb248SlNPTlNjaGVtYSB8IFN1YlNjaGVtYT4pID0+IHtcbiAgICAgIHJldHVybiBhXG4gICAgICAgIC5mbGF0TWFwKChvKSA9PiAoaXNPYmplY3RTY2hlbWEobykgPyBPcHRpb24obykgOiBPcHRpb24ubm9uZSkpXG4gICAgICAgIC5tYXAoKHgpID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh4LnByb3BlcnRpZXMhKS5tYXAoKHApID0+IHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICBjb25zdCBzY2hlbWEgPSB4LnByb3BlcnRpZXMhW3BdXG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZCA9IEJvb2xlYW4oeC5yZXF1aXJlZD8uaW5jbHVkZXMocCkpXG4gICAgICAgICAgICByZXR1cm4geyBuYW1lOiBwLCBpbjogaW5uLCByZXF1aXJlZCwgc2NoZW1hIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICAuZ2V0T3JFbHNlKCgpID0+IFtdKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBFZmZlY3RcbiAgICAuYWxsKHtcbiAgICAgIHJlcToganNvblNjaGVtYShSZXEuTW9kZWwpLFxuICAgICAgcmVxUXVlcnk6IG1ha2VSZXFRdWVyeVNjaGVtYSxcbiAgICAgIHJlcUhlYWRlcnM6IG1ha2VSZXFIZWFkZXJzU2NoZW1hLFxuICAgICAgcmVxQm9keTogbWFrZVJlcUJvZHlTY2hlbWEsXG4gICAgICByZXFQYXRoOiBtYWtlUmVxUGF0aFNjaGVtYSxcbiAgICAgIHJlcUNvb2tpZTogbWFrZVJlcUNvb2tpZVNjaGVtYSxcbiAgICAgIHJlczogbWFrZVJlc1NjaGVtYVxuICAgIH0pXG4gICAgLm1hcCgoXykgPT4ge1xuICAgICAgLy8gY29uc29sZS5sb2coXCIkJCQgUkVRXCIsIF8ucmVxKVxuICAgICAgY29uc3QgaXNFbXB0eSA9ICFlLmhhbmRsZXIuUmVzcG9uc2UgfHwgZS5oYW5kbGVyLlJlc3BvbnNlID09PSBNTy5Wb2lkXG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXRoOiBlLnBhdGgsXG4gICAgICAgIG1ldGhvZDogZS5tZXRob2QudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgdGFnczogZS5pbmZvPy50YWdzLFxuICAgICAgICBkZXNjcmlwdGlvbjogXy5yZXE/LmRlc2NyaXB0aW9uLFxuICAgICAgICBzdW1tYXJ5OiBfLnJlcT8uc3VtbWFyeSxcbiAgICAgICAgb3BlcmF0aW9uSWQ6IF8ucmVxPy50aXRsZSxcbiAgICAgICAgcGFyYW1ldGVyczogW1xuICAgICAgICAgIC4uLm1ha2VQYXJhbWV0ZXJzKFwicGF0aFwiKShfLnJlcVBhdGgpLFxuICAgICAgICAgIC4uLm1ha2VQYXJhbWV0ZXJzKFwicXVlcnlcIikoXy5yZXFRdWVyeSksXG4gICAgICAgICAgLi4ubWFrZVBhcmFtZXRlcnMoXCJoZWFkZXJcIikoXy5yZXFIZWFkZXJzKSxcbiAgICAgICAgICAuLi5tYWtlUGFyYW1ldGVycyhcImNvb2tpZVwiKShfLnJlcUNvb2tpZSlcbiAgICAgICAgXSxcbiAgICAgICAgcmVxdWVzdEJvZHk6IF9cbiAgICAgICAgICAucmVxQm9keVxuICAgICAgICAgIC5tYXAoKHNjaGVtYSkgPT4gKHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHsgXCJhcHBsaWNhdGlvbi9qc29uXCI6IHsgc2NoZW1hIH0gfVxuICAgICAgICAgIH0pKVxuICAgICAgICAgIC52YWx1ZSxcbiAgICAgICAgcmVzcG9uc2VzOiBbXG4gICAgICAgICAgaXNFbXB0eVxuICAgICAgICAgICAgPyBuZXcgUmVzcG9uc2UoMjA0LCB7IGRlc2NyaXB0aW9uOiBcIkVtcHR5XCIgfSlcbiAgICAgICAgICAgIDogbmV3IFJlc3BvbnNlKDIwMCwge1xuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPS1wiLFxuICAgICAgICAgICAgICBjb250ZW50OiB7IFwiYXBwbGljYXRpb24vanNvblwiOiB7IHNjaGVtYTogXy5yZXMgfSB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXcgUmVzcG9uc2UoNDAwLCB7IGRlc2NyaXB0aW9uOiBcIlZhbGlkYXRpb25FcnJvclwiIH0pXG4gICAgICAgIF1cbiAgICAgICAgICAuY29uY2F0KFxuICAgICAgICAgICAgZS5wYXRoLmluY2x1ZGVzKFwiOlwiKSAmJiBpc0VtcHR5XG4gICAgICAgICAgICAgID8gW25ldyBSZXNwb25zZSg0MDQsIHsgZGVzY3JpcHRpb246IFwiTm90Rm91bmRFcnJvclwiIH0pXVxuICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgKVxuICAgICAgfVxuICAgIH0pXG59XG5cbmNsYXNzIFJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXR1c0NvZGU6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogYW55IC8vIHN0cmluZyB8IEpTT05TY2hlbWEgfCBTdWJTY2hlbWFcbiAgKSB7fVxufVxuIl19
@@ -1 +0,0 @@
1
- 0ec005c7e521d652727c8ec2ca65980927e1818fc3bb92eb21dbc35d225bd027
@@ -1,11 +0,0 @@
1
- import * as tsplus_module_1 from "@effect-app/prelude/utils";
2
- import * as tsplus_module_2 from "@effect/io/Effect";
3
- import * as tsplus_module_3 from "@effect/data/Debug";
4
- /**
5
- * @tsplus fluent effect/io/Effect instrument
6
- */
7
- export function instr(self, name, properties) {
8
- return tsplus_module_3.untraced(() => tsplus_module_2.logSpan(tsplus_module_2.tap(self, () => tsplus_module_2.logAnnotate(tsplus_module_2.logDebug(`instrumented`), "properties", tsplus_module_1.RecordPretty(tsplus_module_1.object$((properties || {}))))), name));
9
- // trackMetric(name, time, properties))
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvaW5zdHJ1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQVUsSUFBcUIsRUFBRSxJQUFZLEVBQUUsVUFBbUM7SUFDckcsT0FBTyx5QkFBZSxHQUFHLEVBQUUsQ0FDekIsd0JBQUEsb0JBQUEsSUFBSSxFQUNHLEdBQUcsRUFBRSxDQUFDLDRCQUFBLHlCQUFnQixjQUFjLENBQUMsRUFBYSxZQUFZLHVEQUFFLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxHQUFXLENBQUMsRUFDMUYsSUFBSSxDQUFDLENBQ2pCLENBQUE7SUFDRCx1Q0FBdUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHRzcGx1cyBmbHVlbnQgZWZmZWN0L2lvL0VmZmVjdCBpbnN0cnVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnN0cjxSLCBFLCBBPihzZWxmOiBFZmZlY3Q8UiwgRSwgQT4sIG5hbWU6IHN0cmluZywgcHJvcGVydGllcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgcmV0dXJuIERlYnVnLnVudHJhY2VkKCgpID0+XG4gICAgc2VsZlxuICAgICAgLnRhcCgoKSA9PiBFZmZlY3QubG9nRGVidWcoYGluc3RydW1lbnRlZGApLmxvZ0Fubm90YXRlKFwicHJvcGVydGllc1wiLCAocHJvcGVydGllcyB8fCB7fSkuJCQucHJldHR5KSlcbiAgICAgIC5sb2dTcGFuKG5hbWUpXG4gIClcbiAgLy8gdHJhY2tNZXRyaWMobmFtZSwgdGltZSwgcHJvcGVydGllcykpXG59XG4iXX0=
@@ -1 +0,0 @@
1
- 0958fd132e2c918acec7e021223aec95701d820ac3efbcb7b6f5c96200d7c3ad