@effect-app/infra 1.23.2 → 1.23.3

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 (92) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/_cjs/api/internal/events.cjs +2 -1
  3. package/_cjs/api/internal/events.cjs.map +1 -1
  4. package/_cjs/api/internal/middlewares.cjs +3 -2
  5. package/_cjs/api/internal/middlewares.cjs.map +1 -1
  6. package/_cjs/api/routing/defaultErrorHandler.cjs +3 -2
  7. package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
  8. package/_cjs/api/routing/makeRequestHandler.cjs +9 -8
  9. package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
  10. package/_cjs/errorReporter.cjs +12 -11
  11. package/_cjs/errorReporter.cjs.map +1 -1
  12. package/_cjs/logger.cjs +9 -0
  13. package/_cjs/logger.cjs.map +1 -0
  14. package/_cjs/services/Emailer/Sendgrid.cjs +6 -5
  15. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
  16. package/_cjs/services/Emailer/fake.cjs +3 -2
  17. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  18. package/_cjs/services/QueueMaker/SQLQueue.cjs +7 -6
  19. package/_cjs/services/QueueMaker/SQLQueue.cjs.map +1 -1
  20. package/_cjs/services/QueueMaker/memQueue.cjs +15 -14
  21. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  22. package/_cjs/services/QueueMaker/sbqueue.cjs +15 -14
  23. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  24. package/_cjs/services/RepositoryBase.cjs +22 -22
  25. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  26. package/_cjs/services/Store/Cosmos/query.cjs +2 -3
  27. package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
  28. package/_cjs/services/Store/Cosmos.cjs +24 -23
  29. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  30. package/_cjs/services/Store/Disk.cjs +6 -6
  31. package/_cjs/services/Store/Disk.cjs.map +1 -1
  32. package/_cjs/services/Store/Memory.cjs +7 -6
  33. package/_cjs/services/Store/Memory.cjs.map +1 -1
  34. package/_cjs/services/Store/utils.cjs +5 -5
  35. package/_cjs/services/Store/utils.cjs.map +1 -1
  36. package/dist/api/internal/events.d.ts.map +1 -1
  37. package/dist/api/internal/events.js +3 -2
  38. package/dist/api/internal/middlewares.d.ts.map +1 -1
  39. package/dist/api/internal/middlewares.js +4 -3
  40. package/dist/api/routing/defaultErrorHandler.d.ts.map +1 -1
  41. package/dist/api/routing/defaultErrorHandler.js +4 -3
  42. package/dist/api/routing/makeRequestHandler.d.ts.map +1 -1
  43. package/dist/api/routing/makeRequestHandler.js +10 -9
  44. package/dist/errorReporter.d.ts +1 -1
  45. package/dist/errorReporter.d.ts.map +1 -1
  46. package/dist/errorReporter.js +12 -11
  47. package/dist/logger.d.ts +8 -0
  48. package/dist/logger.d.ts.map +1 -0
  49. package/dist/logger.js +3 -0
  50. package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
  51. package/dist/services/Emailer/Sendgrid.js +8 -7
  52. package/dist/services/Emailer/fake.d.ts.map +1 -1
  53. package/dist/services/Emailer/fake.js +5 -4
  54. package/dist/services/QueueMaker/SQLQueue.d.ts.map +1 -1
  55. package/dist/services/QueueMaker/SQLQueue.js +9 -8
  56. package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
  57. package/dist/services/QueueMaker/memQueue.js +17 -16
  58. package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
  59. package/dist/services/QueueMaker/sbqueue.js +17 -16
  60. package/dist/services/RepositoryBase.d.ts.map +1 -1
  61. package/dist/services/RepositoryBase.js +23 -23
  62. package/dist/services/Store/Cosmos/query.d.ts.map +1 -1
  63. package/dist/services/Store/Cosmos/query.js +3 -4
  64. package/dist/services/Store/Cosmos.d.ts.map +1 -1
  65. package/dist/services/Store/Cosmos.js +24 -23
  66. package/dist/services/Store/Disk.d.ts.map +1 -1
  67. package/dist/services/Store/Disk.js +8 -8
  68. package/dist/services/Store/Memory.d.ts.map +1 -1
  69. package/dist/services/Store/Memory.js +8 -7
  70. package/dist/services/Store/utils.d.ts.map +1 -1
  71. package/dist/services/Store/utils.js +5 -5
  72. package/examples/query.ts +3 -3
  73. package/package.json +15 -5
  74. package/src/api/internal/events.ts +2 -1
  75. package/src/api/internal/middlewares.ts +3 -2
  76. package/src/api/routing/defaultErrorHandler.ts +3 -2
  77. package/src/api/routing/makeRequestHandler.ts +9 -8
  78. package/src/api/writeDocs.ts.bak +1 -1
  79. package/src/errorReporter.ts +31 -33
  80. package/src/logger.ts +3 -0
  81. package/src/services/Emailer/Sendgrid.ts +14 -12
  82. package/src/services/Emailer/fake.ts +4 -3
  83. package/src/services/QueueMaker/SQLQueue.ts +18 -19
  84. package/src/services/QueueMaker/memQueue.ts +33 -36
  85. package/src/services/QueueMaker/sbqueue.ts +38 -41
  86. package/src/services/RepositoryBase.ts +40 -43
  87. package/src/services/Store/Cosmos/query.ts +6 -5
  88. package/src/services/Store/Cosmos.ts +75 -90
  89. package/src/services/Store/Disk.ts +12 -14
  90. package/src/services/Store/Memory.ts +7 -6
  91. package/src/services/Store/utils.ts +10 -14
  92. package/test/query.test.ts +56 -61
@@ -96,30 +96,29 @@ class SomethingRepo extends RepositoryDefaultImpl<SomethingRepo>()(
96
96
 
97
97
  it("works with repo", () =>
98
98
  Effect
99
- .gen(function*($) {
100
- yield* $(SomethingRepo.saveAndPublish(items))
99
+ .gen(function*() {
100
+ yield* SomethingRepo.saveAndPublish(items)
101
101
 
102
- const q1 = yield* $(SomethingRepo.query(() => q))
102
+ const q1 = yield* SomethingRepo.query(() => q)
103
103
  // same as above, but with the `flow` helper
104
- const q2 = yield* $(
105
- SomethingRepo
106
- .query(flow(
107
- where("displayName", "Verona"),
108
- or(
109
- where("displayName", "Riley"),
110
- and("n", "gt", "2021-01-01T00:00:00Z") // TODO: work with To type translation, so Date?
111
- ),
112
- order("displayName"),
113
- page({ take: 10 }),
114
- project(
115
- S.transformToOrFail(
116
- S.Struct({ displayName: S.String }), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
117
- S.Struct(Struct.pick(Something.fields, "displayName")),
118
- (_) => Effect.andThen(SomeService, _)
119
- )
104
+ const q2 = yield* SomethingRepo
105
+ .query(flow(
106
+ where("displayName", "Verona"),
107
+ or(
108
+ where("displayName", "Riley"),
109
+ and("n", "gt", "2021-01-01T00:00:00Z") // TODO: work with To type translation, so Date?
110
+ ),
111
+ order("displayName"),
112
+ page({ take: 10 }),
113
+ project(
114
+ S.transformToOrFail(
115
+ S.Struct({ displayName: S.String }), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
116
+ S.Struct(Struct.pick(Something.fields, "displayName")),
117
+ (_) => Effect.andThen(SomeService, _)
120
118
  )
121
- ))
122
- )
119
+ )
120
+ ))
121
+
123
122
  expect(q1).toEqual(items.slice(0, 2).toReversed().map(Struct.pick("id", "displayName")))
124
123
  expect(q2).toEqual(items.slice(0, 2).toReversed().map(Struct.pick("displayName")))
125
124
  })
@@ -127,52 +126,48 @@ it("works with repo", () =>
127
126
 
128
127
  it("collect", () =>
129
128
  Effect
130
- .gen(function*($) {
131
- yield* $(SomethingRepo.saveAndPublish(items))
129
+ .gen(function*() {
130
+ yield* SomethingRepo.saveAndPublish(items)
132
131
 
133
132
  expect(
134
- yield* $(
135
- SomethingRepo
136
- .query(flow(
137
- where("displayName", "Riley"), // TODO: work with To type translation, so Date?
138
- // one,
139
- project(
140
- S.transformTo(
141
- // TODO: sample case with narrowing down a union?
142
- S.encodedSchema(S.Struct(Struct.pick(Something.fields, "displayName", "n"))), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
143
- S.typeSchema(S.Option(S.String)),
144
- (_) =>
145
- _.displayName === "Riley" && _.n === "2020-01-01T00:00:00.000Z"
146
- ? Option.some(`${_.displayName}-${_.n}`)
147
- : Option.none()
148
- ),
149
- "collect"
150
- )
151
- ))
152
- )
133
+ yield* SomethingRepo
134
+ .query(flow(
135
+ where("displayName", "Riley"), // TODO: work with To type translation, so Date?
136
+ // one,
137
+ project(
138
+ S.transformTo(
139
+ // TODO: sample case with narrowing down a union?
140
+ S.encodedSchema(S.Struct(Struct.pick(Something.fields, "displayName", "n"))), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
141
+ S.typeSchema(S.Option(S.String)),
142
+ (_) =>
143
+ _.displayName === "Riley" && _.n === "2020-01-01T00:00:00.000Z"
144
+ ? Option.some(`${_.displayName}-${_.n}`)
145
+ : Option.none()
146
+ ),
147
+ "collect"
148
+ )
149
+ ))
153
150
  )
154
151
  .toEqual(["Riley-2020-01-01T00:00:00.000Z"])
155
152
 
156
153
  expect(
157
- yield* $(
158
- SomethingRepo
159
- .query(flow(
160
- where("union._tag", "string"),
161
- one,
162
- project(
163
- S.transformTo(
164
- // TODO: sample case with narrowing down a union?
165
- S.encodedSchema(S.Struct(Struct.pick(Something.fields, "union"))), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
166
- S.typeSchema(S.Option(S.String)),
167
- (_) =>
168
- _.union._tag === "string"
169
- ? Option.some(_.union.value)
170
- : Option.none()
171
- ),
172
- "collect"
173
- )
174
- ))
175
- )
154
+ yield* SomethingRepo
155
+ .query(flow(
156
+ where("union._tag", "string"),
157
+ one,
158
+ project(
159
+ S.transformTo(
160
+ // TODO: sample case with narrowing down a union?
161
+ S.encodedSchema(S.Struct(Struct.pick(Something.fields, "union"))), // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
162
+ S.typeSchema(S.Option(S.String)),
163
+ (_) =>
164
+ _.union._tag === "string"
165
+ ? Option.some(_.union.value)
166
+ : Option.none()
167
+ ),
168
+ "collect"
169
+ )
170
+ ))
176
171
  )
177
172
  .toEqual("hi")
178
173
  })