@xyo-network/diviner-temporal-indexing-memory 5.1.21 → 5.1.23

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 (43) hide show
  1. package/package.json +40 -37
  2. package/dist/browser/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.d.ts +0 -2
  3. package/dist/browser/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.d.ts.map +0 -1
  4. package/dist/browser/IndexCandidateToIndexDiviner/spec/Diviner.spec.d.ts +0 -2
  5. package/dist/browser/IndexCandidateToIndexDiviner/spec/Diviner.spec.d.ts.map +0 -1
  6. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.d.ts +0 -2
  7. package/dist/browser/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.d.ts.map +0 -1
  8. package/dist/browser/StateToIndexCandidateDiviner/spec/Diviner.spec.d.ts +0 -2
  9. package/dist/browser/StateToIndexCandidateDiviner/spec/Diviner.spec.d.ts.map +0 -1
  10. package/dist/browser/spec/Diviner.Multiple.spec.d.ts +0 -2
  11. package/dist/browser/spec/Diviner.Multiple.spec.d.ts.map +0 -1
  12. package/dist/browser/spec/Diviner.spec.d.ts +0 -2
  13. package/dist/browser/spec/Diviner.spec.d.ts.map +0 -1
  14. package/dist/neutral/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.d.ts +0 -2
  15. package/dist/neutral/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.d.ts.map +0 -1
  16. package/dist/neutral/IndexCandidateToIndexDiviner/spec/Diviner.spec.d.ts +0 -2
  17. package/dist/neutral/IndexCandidateToIndexDiviner/spec/Diviner.spec.d.ts.map +0 -1
  18. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.d.ts +0 -2
  19. package/dist/neutral/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.d.ts.map +0 -1
  20. package/dist/neutral/StateToIndexCandidateDiviner/spec/Diviner.spec.d.ts +0 -2
  21. package/dist/neutral/StateToIndexCandidateDiviner/spec/Diviner.spec.d.ts.map +0 -1
  22. package/dist/neutral/spec/Diviner.Multiple.spec.d.ts +0 -2
  23. package/dist/neutral/spec/Diviner.Multiple.spec.d.ts.map +0 -1
  24. package/dist/neutral/spec/Diviner.spec.d.ts +0 -2
  25. package/dist/neutral/spec/Diviner.spec.d.ts.map +0 -1
  26. package/dist/node/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.d.ts +0 -2
  27. package/dist/node/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.d.ts.map +0 -1
  28. package/dist/node/IndexCandidateToIndexDiviner/spec/Diviner.spec.d.ts +0 -2
  29. package/dist/node/IndexCandidateToIndexDiviner/spec/Diviner.spec.d.ts.map +0 -1
  30. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.d.ts +0 -2
  31. package/dist/node/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.d.ts.map +0 -1
  32. package/dist/node/StateToIndexCandidateDiviner/spec/Diviner.spec.d.ts +0 -2
  33. package/dist/node/StateToIndexCandidateDiviner/spec/Diviner.spec.d.ts.map +0 -1
  34. package/dist/node/spec/Diviner.Multiple.spec.d.ts +0 -2
  35. package/dist/node/spec/Diviner.Multiple.spec.d.ts.map +0 -1
  36. package/dist/node/spec/Diviner.spec.d.ts +0 -2
  37. package/dist/node/spec/Diviner.spec.d.ts.map +0 -1
  38. package/src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts +0 -244
  39. package/src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts +0 -247
  40. package/src/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.ts +0 -103
  41. package/src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts +0 -167
  42. package/src/spec/Diviner.Multiple.spec.ts +0 -214
  43. package/src/spec/Diviner.spec.ts +0 -225
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-temporal-indexing-memory",
3
- "version": "5.1.21",
3
+ "version": "5.1.23",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -30,49 +30,52 @@
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "files": [
32
32
  "dist",
33
- "src"
33
+ "src",
34
+ "!**/*.bench.*",
35
+ "!**/*.spec.*",
36
+ "!**/*.test.*"
34
37
  ],
35
38
  "dependencies": {
36
- "@xylabs/array": "~5.0.24",
37
- "@xylabs/assert": "~5.0.24",
38
- "@xylabs/exists": "~5.0.24",
39
- "@xyo-network/archivist-model": "~5.1.21",
40
- "@xyo-network/archivist-wrapper": "~5.1.21",
41
- "@xyo-network/boundwitness-model": "~5.1.21",
42
- "@xyo-network/boundwitness-validator": "~5.1.21",
43
- "@xyo-network/diviner-abstract": "~5.1.21",
44
- "@xyo-network/diviner-boundwitness-abstract": "~5.1.21",
45
- "@xyo-network/diviner-boundwitness-model": "~5.1.21",
46
- "@xyo-network/diviner-indexing-memory": "~5.1.21",
47
- "@xyo-network/diviner-indexing-model": "~5.1.21",
48
- "@xyo-network/diviner-jsonpath-aggregate-memory": "~5.1.21",
49
- "@xyo-network/diviner-jsonpath-model": "~5.1.21",
50
- "@xyo-network/diviner-model": "~5.1.21",
51
- "@xyo-network/diviner-payload-model": "~5.1.21",
52
- "@xyo-network/diviner-temporal-indexing-model": "~5.1.21",
53
- "@xyo-network/diviner-wrapper": "~5.1.21",
54
- "@xyo-network/module-model": "~5.1.21",
55
- "@xyo-network/payload-builder": "~5.1.21",
56
- "@xyo-network/payload-model": "~5.1.21",
57
- "@xyo-network/payload-utils": "~5.1.21",
58
- "@xyo-network/witness-timestamp": "~5.1.21"
39
+ "@xylabs/array": "~5.0.33",
40
+ "@xylabs/assert": "~5.0.33",
41
+ "@xylabs/exists": "~5.0.33",
42
+ "@xyo-network/archivist-model": "~5.1.23",
43
+ "@xyo-network/archivist-wrapper": "~5.1.23",
44
+ "@xyo-network/boundwitness-model": "~5.1.23",
45
+ "@xyo-network/boundwitness-validator": "~5.1.23",
46
+ "@xyo-network/diviner-abstract": "~5.1.23",
47
+ "@xyo-network/diviner-boundwitness-abstract": "~5.1.23",
48
+ "@xyo-network/diviner-boundwitness-model": "~5.1.23",
49
+ "@xyo-network/diviner-indexing-memory": "~5.1.23",
50
+ "@xyo-network/diviner-indexing-model": "~5.1.23",
51
+ "@xyo-network/diviner-jsonpath-aggregate-memory": "~5.1.23",
52
+ "@xyo-network/diviner-jsonpath-model": "~5.1.23",
53
+ "@xyo-network/diviner-model": "~5.1.23",
54
+ "@xyo-network/diviner-payload-model": "~5.1.23",
55
+ "@xyo-network/diviner-temporal-indexing-model": "~5.1.23",
56
+ "@xyo-network/diviner-wrapper": "~5.1.23",
57
+ "@xyo-network/module-model": "~5.1.23",
58
+ "@xyo-network/payload-builder": "~5.1.23",
59
+ "@xyo-network/payload-model": "~5.1.23",
60
+ "@xyo-network/payload-utils": "~5.1.23",
61
+ "@xyo-network/witness-timestamp": "~5.1.23"
59
62
  },
60
63
  "devDependencies": {
61
- "@xylabs/delay": "~5.0.24",
62
- "@xylabs/hex": "~5.0.24",
63
- "@xylabs/object": "~5.0.24",
64
- "@xylabs/promise": "~5.0.24",
64
+ "@xylabs/delay": "~5.0.33",
65
+ "@xylabs/hex": "~5.0.33",
66
+ "@xylabs/object": "~5.0.33",
67
+ "@xylabs/promise": "~5.0.33",
65
68
  "@xylabs/ts-scripts-yarn3": "~7.2.8",
66
69
  "@xylabs/tsconfig": "~7.2.8",
67
- "@xylabs/vitest-extended": "~5.0.24",
68
- "@xyo-network/archivist-memory": "~5.1.21",
69
- "@xyo-network/boundwitness-builder": "~5.1.21",
70
- "@xyo-network/manifest": "~5.1.21",
71
- "@xyo-network/module-factory-locator": "~5.1.21",
72
- "@xyo-network/node-memory": "~5.1.21",
73
- "@xyo-network/wallet": "~5.1.21",
70
+ "@xylabs/vitest-extended": "~5.0.33",
71
+ "@xyo-network/archivist-memory": "~5.1.23",
72
+ "@xyo-network/boundwitness-builder": "~5.1.23",
73
+ "@xyo-network/manifest": "~5.1.23",
74
+ "@xyo-network/module-factory-locator": "~5.1.23",
75
+ "@xyo-network/node-memory": "~5.1.23",
76
+ "@xyo-network/wallet": "~5.1.23",
74
77
  "typescript": "~5.9.3",
75
- "vitest": "~4.0.8"
78
+ "vitest": "~4.0.9"
76
79
  },
77
80
  "publishConfig": {
78
81
  "access": "public"
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.Multiple.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.Multiple.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.Multiple.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.Multiple.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.Multiple.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.Multiple.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/DivinerQueryToIndexQueryDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/IndexCandidateToIndexDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/IndexQueryResponseToDivinerQueryResponseDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../../src/StateToIndexCandidateDiviner/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.Multiple.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.Multiple.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.Multiple.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,2 +0,0 @@
1
- import '@xylabs/vitest-extended';
2
- //# sourceMappingURL=Diviner.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Diviner.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
@@ -1,244 +0,0 @@
1
- import '@xylabs/vitest-extended'
2
-
3
- import type { SchemaToJsonPathTransformExpressionsDictionary } from '@xyo-network/diviner-jsonpath-model'
4
- import type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model'
5
- import { isPayloadDivinerQueryPayload, PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'
6
- import type { TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfig } from '@xyo-network/diviner-temporal-indexing-model'
7
- import {
8
- TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema,
9
- TemporalIndexingDivinerResultIndexSchema,
10
- } from '@xyo-network/diviner-temporal-indexing-model'
11
- import { PayloadBuilder } from '@xyo-network/payload-builder'
12
- import type { Payload } from '@xyo-network/payload-model'
13
- import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
14
- import {
15
- beforeAll,
16
- describe, expect, it,
17
- } from 'vitest'
18
-
19
- import { TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner } from '../Diviner.ts'
20
-
21
- type QueryType = PayloadDivinerQueryPayload<{ status?: number; success?: boolean; url: string }>
22
-
23
- describe('TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner', () => {
24
- const url = 'https://xyo.network'
25
- let diviner: TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner
26
- describe('divine', () => {
27
- describe('with with no config specified', () => {
28
- const queries: QueryType[] = [
29
- {
30
- schema: PayloadDivinerQuerySchema,
31
- url,
32
- },
33
- {
34
- limit: 10,
35
- order: 'asc',
36
- schema: PayloadDivinerQuerySchema,
37
- },
38
- ]
39
- const expected: PayloadDivinerQueryPayload[] = [
40
- {
41
- limit: 1,
42
- order: 'desc',
43
- schema: 'network.xyo.diviner.payload.query',
44
- schemas: [TemporalIndexingDivinerResultIndexSchema],
45
- } as unknown as PayloadDivinerQueryPayload,
46
- {
47
- limit: 10,
48
- order: 'asc',
49
- schema: 'network.xyo.diviner.payload.query',
50
- schemas: [TemporalIndexingDivinerResultIndexSchema],
51
- } as unknown as PayloadDivinerQueryPayload,
52
- ]
53
- beforeAll(async () => {
54
- diviner = await TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner.create({ account: 'random' })
55
- })
56
- const cases: [QueryType, PayloadDivinerQueryPayload][] = queries.map((query, i) => [query, expected[i]])
57
- describe('with single query', () => {
58
- it.each(cases)('transforms query using default settings', async (query, expected) => {
59
- const results = await diviner.divine([query])
60
- const actual = results.filter(isPayloadDivinerQueryPayload)
61
- expect(actual).toBeArrayOfSize(1)
62
- expect(PayloadBuilder.omitMeta(actual[0])).toEqual(PayloadBuilder.omitMeta(expected))
63
- })
64
- })
65
- describe('with multiple queries', () => {
66
- it('transforms queries using default settings', async () => {
67
- const results = await diviner.divine(queries)
68
- const actual = results.filter(isPayloadDivinerQueryPayload)
69
- expect(actual).toBeArrayOfSize(expected.length)
70
- expect(actual.map(i => PayloadBuilder.omitMeta(i))).toEqual(expected.map(i => PayloadBuilder.omitMeta(i)))
71
- })
72
- })
73
- })
74
- describe('with config fields specified', () => {
75
- const divinerQuerySchema = 'network.xyo.test.source.query'
76
- const indexQuerySchema = 'network.xyo.test.destination.query'
77
- const indexSchema = 'network.xyo.test.index.schema'
78
- const queries = [
79
- {
80
- schema: divinerQuerySchema,
81
- url,
82
- },
83
- {
84
- limit: 10,
85
- order: 'asc',
86
- schema: divinerQuerySchema,
87
- status: 200,
88
- success: true,
89
- url,
90
- },
91
- {
92
- limit: 10,
93
- schema: divinerQuerySchema,
94
- url,
95
- },
96
- {
97
- schema: divinerQuerySchema,
98
- url,
99
- },
100
- {
101
- order: 'asc',
102
- schema: divinerQuerySchema,
103
- url,
104
- },
105
- {
106
- schema: divinerQuerySchema,
107
- status: 200,
108
- url,
109
- },
110
- {
111
- schema: divinerQuerySchema,
112
- success: true,
113
- url,
114
- },
115
- {
116
- schema: divinerQuerySchema,
117
- success: false,
118
- url,
119
- },
120
- ]
121
- const expected = [
122
- {
123
- limit: 1,
124
- order: 'desc',
125
- schema: indexQuerySchema,
126
- schemas: [indexSchema],
127
- url,
128
- },
129
- {
130
- limit: 10,
131
- order: 'asc',
132
- schema: indexQuerySchema,
133
- schemas: [indexSchema],
134
- status: 200,
135
- success: true,
136
- url,
137
- },
138
- {
139
- limit: 10,
140
- order: 'desc',
141
- schema: indexQuerySchema,
142
- schemas: [indexSchema],
143
- url,
144
- },
145
- {
146
- limit: 1,
147
- order: 'desc',
148
- schema: indexQuerySchema,
149
- schemas: [indexSchema],
150
- url,
151
- },
152
- {
153
- limit: 1,
154
- order: 'asc',
155
- schema: indexQuerySchema,
156
- schemas: [indexSchema],
157
- url,
158
- },
159
- {
160
- limit: 1,
161
- order: 'desc',
162
- schema: indexQuerySchema,
163
- schemas: [indexSchema],
164
- status: 200,
165
- url,
166
- },
167
- {
168
- limit: 1,
169
- order: 'desc',
170
- schema: indexQuerySchema,
171
- schemas: [indexSchema],
172
- success: true,
173
- url,
174
- },
175
- {
176
- limit: 1,
177
- order: 'desc',
178
- schema: indexQuerySchema,
179
- schemas: [indexSchema],
180
- success: false,
181
- url,
182
- },
183
- ]
184
- const cases: [Payload, Payload][] = queries.map((query, i) => [query, expected[i]])
185
- const schemaTransforms: SchemaToJsonPathTransformExpressionsDictionary = {
186
- [divinerQuerySchema]: [
187
- {
188
- destinationField: 'url',
189
- sourcePathExpression: '$.url',
190
- },
191
- {
192
- defaultValue: 1,
193
- destinationField: 'limit',
194
- sourcePathExpression: '$.limit',
195
- },
196
- {
197
- // defaultValue: 0,
198
- destinationField: 'cursor',
199
- sourcePathExpression: '$.cursor',
200
- },
201
- {
202
- defaultValue: 'desc',
203
- destinationField: 'order',
204
- sourcePathExpression: '$.order',
205
- },
206
- {
207
- destinationField: 'status',
208
- sourcePathExpression: '$.status',
209
- },
210
- {
211
- destinationField: 'success',
212
- sourcePathExpression: '$.success',
213
- },
214
- ],
215
- }
216
- const config: TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfig = {
217
- divinerQuerySchema,
218
- indexQuerySchema,
219
- indexSchema,
220
- schema: TemporalIndexingDivinerDivinerQueryToIndexQueryDivinerConfigSchema,
221
- schemaTransforms,
222
- }
223
- beforeAll(async () => {
224
- diviner = await TemporalIndexingDivinerDivinerQueryToIndexQueryDiviner.create({ account: 'random', config })
225
- })
226
- describe('with single query', () => {
227
- it.each(cases)('transforms query using default settings', async (query, expected) => {
228
- const results = await diviner.divine([query])
229
- const actual = results.filter(isPayloadOfSchemaType<Payload>(indexQuerySchema))
230
- expect(actual).toBeArrayOfSize(1)
231
- expect(PayloadBuilder.omitMeta(actual[0])).toEqual(PayloadBuilder.omitMeta(expected))
232
- })
233
- })
234
- describe('with multiple queries', () => {
235
- it('transforms queries using default settings', async () => {
236
- const results = await diviner.divine(queries)
237
- const actual = results.filter(isPayloadOfSchemaType<Payload>(indexQuerySchema))
238
- expect(actual).toBeArrayOfSize(expected.length)
239
- expect(actual.map(i => PayloadBuilder.omitMeta(i))).toEqual(expected.map(i => PayloadBuilder.omitMeta(i)))
240
- })
241
- })
242
- })
243
- })
244
- })