@effect-app/infra 0.210.11 → 0.211.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 (65) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/_cjs/services/RepositoryBase.cjs +2 -23
  3. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  4. package/_cjs/services/Store/Cosmos/query.cjs +0 -137
  5. package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
  6. package/_cjs/services/Store/Cosmos.cjs +5 -35
  7. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  8. package/_cjs/services/Store/Disk.cjs +0 -1
  9. package/_cjs/services/Store/Disk.cjs.map +1 -1
  10. package/_cjs/services/Store/Memory.cjs +0 -6
  11. package/_cjs/services/Store/Memory.cjs.map +1 -1
  12. package/_cjs/services/Store/service.cjs.map +1 -1
  13. package/_cjs/services/Store/utils.cjs +1 -106
  14. package/_cjs/services/Store/utils.cjs.map +1 -1
  15. package/dist/api/routing/match.d.ts +1 -1
  16. package/dist/api/setupRequest.d.ts +1 -1
  17. package/dist/services/QueueMaker/memQueue.d.ts +1 -1
  18. package/dist/services/QueueMaker/sbqueue.d.ts +1 -1
  19. package/dist/services/RepositoryBase.d.ts +3 -60
  20. package/dist/services/RepositoryBase.d.ts.map +1 -1
  21. package/dist/services/RepositoryBase.js +3 -23
  22. package/dist/services/Store/Cosmos/query.d.ts +1 -45
  23. package/dist/services/Store/Cosmos/query.d.ts.map +1 -1
  24. package/dist/services/Store/Cosmos/query.js +1 -145
  25. package/dist/services/Store/Cosmos.d.ts.map +1 -1
  26. package/dist/services/Store/Cosmos.js +18 -61
  27. package/dist/services/Store/Disk.d.ts.map +1 -1
  28. package/dist/services/Store/Disk.js +1 -2
  29. package/dist/services/Store/Memory.d.ts.map +1 -1
  30. package/dist/services/Store/Memory.js +2 -10
  31. package/dist/services/Store/filterApi/query.d.ts +1 -1
  32. package/dist/services/Store/filterApi/query.d.ts.map +1 -1
  33. package/dist/services/Store/service.d.ts +1 -38
  34. package/dist/services/Store/service.d.ts.map +1 -1
  35. package/dist/services/Store/service.js +1 -1
  36. package/dist/services/Store/utils.d.ts +1 -6
  37. package/dist/services/Store/utils.d.ts.map +1 -1
  38. package/dist/services/Store/utils.js +3 -140
  39. package/dist/services/query/dsl.d.ts +2 -2
  40. package/dist/services/query/dsl.d.ts.map +1 -1
  41. package/package.json +2 -12
  42. package/src/services/RepositoryBase.ts +3 -35
  43. package/src/services/Store/Cosmos/query.ts +1 -203
  44. package/src/services/Store/Cosmos.ts +38 -135
  45. package/src/services/Store/Disk.ts +0 -1
  46. package/src/services/Store/Memory.ts +2 -17
  47. package/src/services/Store/Redis.ts.bak +2 -4
  48. package/src/services/Store/filterApi/query.ts +2 -2
  49. package/src/services/Store/service.ts +1 -35
  50. package/src/services/Store/utils.ts +3 -152
  51. package/src/services/query/dsl.ts +4 -4
  52. package/_cjs/filter.cjs +0 -363
  53. package/_cjs/filter.cjs.map +0 -1
  54. package/_cjs/services/Store/Cosmos.test.cjs +0 -55
  55. package/_cjs/services/Store/Cosmos.test.cjs.map +0 -1
  56. package/_cjs/services/Store/codeFilter.test.cjs +0 -63
  57. package/_cjs/services/Store/codeFilter.test.cjs.map +0 -1
  58. package/dist/filter.d.ts +0 -142
  59. package/dist/filter.d.ts.map +0 -1
  60. package/dist/filter.js +0 -248
  61. package/dist/services/Store/Cosmos.test.d.ts.map +0 -1
  62. package/dist/services/Store/codeFilter.test.d.ts.map +0 -1
  63. package/src/filter.ts +0 -420
  64. package/src/services/Store/Cosmos.test.ts +0 -94
  65. package/src/services/Store/codeFilter.test.ts +0 -166
@@ -1,94 +0,0 @@
1
- import type { StoreWhereFilter, Where } from "@effect-app/infra/services/Store"
2
- import { Filters, makeFilters } from "../../filter.js"
3
- import { buildWhereCosmosQuery } from "./Cosmos/query.js"
4
-
5
- const f_ = makeFilters<Something>()
6
- export type SomethingWhereFilter = typeof f_
7
-
8
- export function makeSomethingFilter_(filter: (f: SomethingWhereFilter) => StoreWhereFilter) {
9
- return filter(f_)
10
- }
11
-
12
- export function somethingsWhere(
13
- makeWhere: (
14
- f: SomethingWhereFilter
15
- ) => Where | [Where, ...Where[]],
16
- mode?: "or" | "and"
17
- ) {
18
- return makeSomethingFilter_((f) => {
19
- const m = makeWhere ? makeWhere(f) : []
20
- return ({
21
- mode,
22
- where: (Array.isArray(m) ? m as unknown as [Where, ...Where[]] : [m]) as readonly [Where, ...Where[]]
23
- })
24
- })
25
- }
26
-
27
- type SomethingElse = {
28
- a: string
29
- b: number
30
- }
31
-
32
- type Something = {
33
- a: number
34
- id: string
35
- b: string
36
- c: readonly string[]
37
- d: readonly SomethingElse[]
38
- }
39
-
40
- test("works", () => {
41
- expect(buildWhereCosmosQuery(
42
- somethingsWhere((_) => _("b", (_) => "b2")),
43
- "Somethings",
44
- "importedMarkerId",
45
- {},
46
- undefined,
47
- 10
48
- ))
49
- .toEqual({
50
- "parameters": [
51
- {
52
- "name": "@id",
53
- "value": "importedMarkerId"
54
- },
55
- {
56
- "name": "@v0",
57
- "value": "b2"
58
- }
59
- ],
60
- "query": `
61
- SELECT f
62
- FROM Somethings f
63
-
64
- WHERE f.id != @id AND f.b = @v0
65
- OFFSET 0 LIMIT 10`
66
- })
67
-
68
- expect(buildWhereCosmosQuery(
69
- somethingsWhere((_) => _("d.-1.a", Filters.isnt("a2"))),
70
- "Somethings",
71
- "importedMarkerId",
72
- {},
73
- undefined,
74
- 10
75
- ))
76
- .toEqual({
77
- "parameters": [
78
- {
79
- "name": "@id",
80
- "value": "importedMarkerId"
81
- },
82
- {
83
- "name": "@v0",
84
- "value": "a2"
85
- }
86
- ],
87
- "query": `
88
- SELECT f
89
- FROM Somethings f
90
- JOIN d IN f.d
91
- WHERE f.id != @id AND d.a <> @v0
92
- OFFSET 0 LIMIT 10`
93
- })
94
- })
@@ -1,166 +0,0 @@
1
- import type { StoreWhereFilter, Where } from "@effect-app/infra/services/Store"
2
- import { ReadonlyArray } from "effect-app"
3
- import { Filters, makeFilters } from "../../filter.js"
4
- import { codeFilter } from "./utils.js"
5
-
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
- ] satisfies readonly Something[]
10
-
11
- const f_ = makeFilters<Something>()
12
- export type SomethingWhereFilter = typeof f_
13
-
14
- export function makeSomethingFilter_(filter: (f: SomethingWhereFilter) => StoreWhereFilter) {
15
- return filter(f_)
16
- }
17
-
18
- export function somethingsWhere(
19
- makeWhere: (
20
- f: SomethingWhereFilter
21
- ) => Where | [Where, ...Where[]],
22
- mode?: "or" | "and"
23
- ) {
24
- return makeSomethingFilter_((f) => {
25
- const m = makeWhere ? makeWhere(f) : []
26
- return ({
27
- mode,
28
- where: (Array.isArray(m) ? m as unknown as [Where, ...Where[]] : [m]) as readonly [Where, ...Where[]]
29
- })
30
- })
31
- }
32
-
33
- type SomethingElse = {
34
- a: string
35
- b: number
36
- }
37
-
38
- type Something = {
39
- a: number
40
- id: string
41
- b: string
42
- c: readonly string[]
43
- d: readonly SomethingElse[]
44
- }
45
-
46
- test("works", () => {
47
- expect(
48
- ReadonlyArray.filterMap(
49
- somethings,
50
- codeFilter(
51
- somethingsWhere((_) => _("b", (_) => "b2"))
52
- )
53
- )
54
- )
55
- .toEqual([somethings[1]])
56
-
57
- expect(
58
- ReadonlyArray.filterMap(
59
- somethings,
60
- codeFilter(
61
- somethingsWhere((_) => _("b", Filters.contains("b")))
62
- )
63
- )
64
- )
65
- .toEqual([somethings[0], somethings[1]])
66
-
67
- expect(
68
- ReadonlyArray.filterMap(
69
- somethings,
70
- codeFilter(
71
- somethingsWhere((_) => _("b", Filters.contains("2")))
72
- )
73
- )
74
- )
75
- .toEqual([somethings[1]])
76
-
77
- expect(
78
- ReadonlyArray.filterMap(
79
- somethings,
80
- codeFilter(
81
- somethingsWhere((_) => _("b", Filters.endsWith("b")))
82
- )
83
- )
84
- )
85
- .toEqual([somethings[0]])
86
-
87
- expect(
88
- ReadonlyArray.filterMap(
89
- somethings,
90
- codeFilter(
91
- somethingsWhere((_) => _("b", Filters.endsWith("2")))
92
- )
93
- )
94
- )
95
- .toEqual([somethings[1]])
96
-
97
- expect(
98
- ReadonlyArray.filterMap(
99
- somethings,
100
- codeFilter(
101
- somethingsWhere((_) => _("b", Filters.startsWith("b")))
102
- )
103
- )
104
- )
105
- .toEqual([somethings[0], somethings[1]])
106
-
107
- expect(
108
- ReadonlyArray.filterMap(
109
- somethings,
110
- codeFilter(
111
- somethingsWhere((_) => _("b", Filters.startsWith("2")))
112
- )
113
- )
114
- )
115
- .toEqual([])
116
-
117
- expect(
118
- ReadonlyArray.filterMap(
119
- somethings,
120
- codeFilter(
121
- somethingsWhere((_) => _("b", (_) => "b"))
122
- )
123
- )
124
- )
125
- .toEqual([somethings[0]])
126
-
127
- expect(
128
- ReadonlyArray.filterMap(
129
- somethings,
130
- codeFilter(
131
- somethingsWhere((_) => _("c", Filters.includes("c")))
132
- )
133
- )
134
- )
135
- .toEqual([somethings[0]])
136
-
137
- expect(
138
- ReadonlyArray.filterMap(
139
- somethings,
140
- codeFilter(
141
- somethingsWhere((_) => _("d.-1.a", (_) => "a5"))
142
- )
143
- )
144
- )
145
- .toEqual([somethings[1]])
146
-
147
- expect(
148
- ReadonlyArray.filterMap(
149
- somethings,
150
- codeFilter(
151
- somethingsWhere((_) => _("d.-1.a", (_) => "a"))
152
- )
153
- )
154
- )
155
- .toEqual([somethings[0]])
156
-
157
- expect(
158
- ReadonlyArray.filterMap(
159
- somethings,
160
- codeFilter(
161
- somethingsWhere((_) => _("d.-1.a", Filters.isnt("a")))
162
- )
163
- )
164
- )
165
- .toEqual([somethings[1]])
166
- })