@arkiv-network/sdk 0.0.36-dev.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -16
- package/dist/_cjs/actions/public/buildQuery.js.map +1 -1
- package/dist/_cjs/actions/public/getBlockTiming.d.ts.map +1 -1
- package/dist/_cjs/actions/public/getBlockTiming.js.map +1 -1
- package/dist/_cjs/actions/public/getEntity.js.map +1 -1
- package/dist/_cjs/actions/public/getEntityCount.js.map +1 -1
- package/dist/_cjs/actions/public/query.js.map +1 -1
- package/dist/_cjs/actions/public/subscribeEntityEvents.d.ts.map +1 -1
- package/dist/_cjs/actions/public/subscribeEntityEvents.js.map +1 -1
- package/dist/_cjs/actions/wallet/changeOwnership.d.ts +22 -0
- package/dist/_cjs/actions/wallet/changeOwnership.d.ts.map +1 -0
- package/dist/_cjs/actions/wallet/changeOwnership.js +15 -0
- package/dist/_cjs/actions/wallet/changeOwnership.js.map +1 -0
- package/dist/_cjs/actions/wallet/createEntity.d.ts +5 -3
- package/dist/_cjs/actions/wallet/createEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/createEntity.js.map +1 -1
- package/dist/_cjs/actions/wallet/deleteEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/deleteEntity.js.map +1 -1
- package/dist/_cjs/actions/wallet/extendEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/extendEntity.js.map +1 -1
- package/dist/_cjs/actions/wallet/mutateEntities.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/mutateEntities.js.map +1 -1
- package/dist/_cjs/actions/wallet/updateEntity.d.ts +6 -4
- package/dist/_cjs/actions/wallet/updateEntity.d.ts.map +1 -1
- package/dist/_cjs/actions/wallet/updateEntity.js.map +1 -1
- package/dist/_cjs/chains/kaolin.js.map +1 -1
- package/dist/_cjs/chains/localhost.js.map +1 -1
- package/dist/_cjs/chains/marketplace.js.map +1 -1
- package/dist/_cjs/clients/baseClient.d.ts.map +1 -1
- package/dist/_cjs/clients/createPublicClient.d.ts.map +1 -1
- package/dist/_cjs/clients/createPublicClient.js.map +1 -1
- package/dist/_cjs/clients/createWalletClient.d.ts.map +1 -1
- package/dist/_cjs/clients/createWalletClient.js.map +1 -1
- package/dist/_cjs/clients/decorators/arkivPublic.d.ts +0 -2
- package/dist/_cjs/clients/decorators/arkivPublic.d.ts.map +1 -1
- package/dist/_cjs/clients/decorators/arkivPublic.js.map +1 -1
- package/dist/_cjs/clients/decorators/arkivWallet.d.ts +15 -5
- package/dist/_cjs/clients/decorators/arkivWallet.d.ts.map +1 -1
- package/dist/_cjs/clients/decorators/arkivWallet.js +2 -0
- package/dist/_cjs/clients/decorators/arkivWallet.js.map +1 -1
- package/dist/_cjs/consts.js +1 -1
- package/dist/_cjs/index.d.ts +1 -1
- package/dist/_cjs/index.d.ts.map +1 -1
- package/dist/_cjs/query/engine.d.ts +1 -1
- package/dist/_cjs/query/engine.d.ts.map +1 -1
- package/dist/_cjs/query/engine.js +5 -4
- package/dist/_cjs/query/engine.js.map +1 -1
- package/dist/_cjs/query/errors.js.map +1 -1
- package/dist/_cjs/query/predicate.d.ts.map +1 -1
- package/dist/_cjs/query/predicate.js.map +1 -1
- package/dist/_cjs/query/queryBuilder.d.ts +5 -5
- package/dist/_cjs/query/queryBuilder.d.ts.map +1 -1
- package/dist/_cjs/query/queryBuilder.js +8 -8
- package/dist/_cjs/query/queryBuilder.js.map +1 -1
- package/dist/_cjs/query/queryResult.d.ts.map +1 -1
- package/dist/_cjs/query/queryResult.js.map +1 -1
- package/dist/_cjs/types/attributes.d.ts +5 -0
- package/dist/_cjs/types/attributes.d.ts.map +1 -0
- package/dist/_cjs/types/{annotation.js → attributes.js} +1 -1
- package/dist/_cjs/types/attributes.js.map +1 -0
- package/dist/_cjs/types/entity.d.ts +5 -3
- package/dist/_cjs/types/entity.d.ts.map +1 -1
- package/dist/_cjs/types/entity.js +5 -3
- package/dist/_cjs/types/entity.js.map +1 -1
- package/dist/_cjs/types/events.d.ts.map +1 -1
- package/dist/_cjs/types/index.d.ts +2 -1
- package/dist/_cjs/types/index.d.ts.map +1 -1
- package/dist/_cjs/types/mimeTypes.d.ts +2 -0
- package/dist/_cjs/types/mimeTypes.d.ts.map +1 -0
- package/dist/_cjs/types/mimeTypes.js +3 -0
- package/dist/_cjs/types/mimeTypes.js.map +1 -0
- package/dist/_cjs/types/rpcSchema.d.ts +6 -19
- package/dist/_cjs/types/rpcSchema.d.ts.map +1 -1
- package/dist/_cjs/types/txParams.d.ts.map +1 -1
- package/dist/_cjs/utils/arkivTransactions.d.ts +3 -1
- package/dist/_cjs/utils/arkivTransactions.d.ts.map +1 -1
- package/dist/_cjs/utils/arkivTransactions.js +23 -17
- package/dist/_cjs/utils/arkivTransactions.js.map +1 -1
- package/dist/_cjs/utils/compression.d.ts +3 -0
- package/dist/_cjs/utils/compression.d.ts.map +1 -0
- package/dist/_cjs/utils/compression.js +24 -0
- package/dist/_cjs/utils/compression.js.map +1 -0
- package/dist/_cjs/utils/entities.d.ts.map +1 -1
- package/dist/_cjs/utils/entities.js +4 -4
- package/dist/_cjs/utils/entities.js.map +1 -1
- package/dist/_cjs/utils/expirationTime.d.ts.map +1 -1
- package/dist/_cjs/utils/expirationTime.js.map +1 -1
- package/dist/_cjs/utils/payload.js.map +1 -1
- package/dist/_esm/actions/public/buildQuery.js.map +1 -1
- package/dist/_esm/actions/public/getBlockTiming.d.ts.map +1 -1
- package/dist/_esm/actions/public/getBlockTiming.js.map +1 -1
- package/dist/_esm/actions/public/getEntity.js.map +1 -1
- package/dist/_esm/actions/public/getEntityCount.js.map +1 -1
- package/dist/_esm/actions/public/query.js.map +1 -1
- package/dist/_esm/actions/public/subscribeEntityEvents.d.ts.map +1 -1
- package/dist/_esm/actions/public/subscribeEntityEvents.js.map +1 -1
- package/dist/_esm/actions/wallet/changeOwnership.d.ts +22 -0
- package/dist/_esm/actions/wallet/changeOwnership.d.ts.map +1 -0
- package/dist/_esm/actions/wallet/changeOwnership.js +12 -0
- package/dist/_esm/actions/wallet/changeOwnership.js.map +1 -0
- package/dist/_esm/actions/wallet/createEntity.d.ts +5 -3
- package/dist/_esm/actions/wallet/createEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/createEntity.js.map +1 -1
- package/dist/_esm/actions/wallet/deleteEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/deleteEntity.js.map +1 -1
- package/dist/_esm/actions/wallet/extendEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/extendEntity.js.map +1 -1
- package/dist/_esm/actions/wallet/mutateEntities.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/mutateEntities.js.map +1 -1
- package/dist/_esm/actions/wallet/updateEntity.d.ts +6 -4
- package/dist/_esm/actions/wallet/updateEntity.d.ts.map +1 -1
- package/dist/_esm/actions/wallet/updateEntity.js.map +1 -1
- package/dist/_esm/chains/kaolin.js.map +1 -1
- package/dist/_esm/chains/localhost.js.map +1 -1
- package/dist/_esm/chains/marketplace.js.map +1 -1
- package/dist/_esm/clients/baseClient.d.ts.map +1 -1
- package/dist/_esm/clients/createPublicClient.d.ts.map +1 -1
- package/dist/_esm/clients/createPublicClient.js.map +1 -1
- package/dist/_esm/clients/createWalletClient.d.ts.map +1 -1
- package/dist/_esm/clients/createWalletClient.js.map +1 -1
- package/dist/_esm/clients/decorators/arkivPublic.d.ts +0 -2
- package/dist/_esm/clients/decorators/arkivPublic.d.ts.map +1 -1
- package/dist/_esm/clients/decorators/arkivPublic.js.map +1 -1
- package/dist/_esm/clients/decorators/arkivWallet.d.ts +15 -5
- package/dist/_esm/clients/decorators/arkivWallet.d.ts.map +1 -1
- package/dist/_esm/clients/decorators/arkivWallet.js +2 -0
- package/dist/_esm/clients/decorators/arkivWallet.js.map +1 -1
- package/dist/_esm/consts.js +1 -1
- package/dist/_esm/index.d.ts +1 -1
- package/dist/_esm/index.d.ts.map +1 -1
- package/dist/_esm/query/engine.d.ts +1 -1
- package/dist/_esm/query/engine.d.ts.map +1 -1
- package/dist/_esm/query/engine.js +5 -4
- package/dist/_esm/query/engine.js.map +1 -1
- package/dist/_esm/query/errors.js.map +1 -1
- package/dist/_esm/query/predicate.d.ts.map +1 -1
- package/dist/_esm/query/predicate.js.map +1 -1
- package/dist/_esm/query/queryBuilder.d.ts +5 -5
- package/dist/_esm/query/queryBuilder.d.ts.map +1 -1
- package/dist/_esm/query/queryBuilder.js +8 -8
- package/dist/_esm/query/queryBuilder.js.map +1 -1
- package/dist/_esm/query/queryResult.d.ts.map +1 -1
- package/dist/_esm/query/queryResult.js.map +1 -1
- package/dist/_esm/types/attributes.d.ts +5 -0
- package/dist/_esm/types/attributes.d.ts.map +1 -0
- package/dist/_esm/types/attributes.js +2 -0
- package/dist/_esm/types/attributes.js.map +1 -0
- package/dist/_esm/types/entity.d.ts +5 -3
- package/dist/_esm/types/entity.d.ts.map +1 -1
- package/dist/_esm/types/entity.js +5 -3
- package/dist/_esm/types/entity.js.map +1 -1
- package/dist/_esm/types/events.d.ts.map +1 -1
- package/dist/_esm/types/index.d.ts +2 -1
- package/dist/_esm/types/index.d.ts.map +1 -1
- package/dist/_esm/types/mimeTypes.d.ts +2 -0
- package/dist/_esm/types/mimeTypes.d.ts.map +1 -0
- package/dist/_esm/types/mimeTypes.js +2 -0
- package/dist/_esm/types/mimeTypes.js.map +1 -0
- package/dist/_esm/types/rpcSchema.d.ts +6 -19
- package/dist/_esm/types/rpcSchema.d.ts.map +1 -1
- package/dist/_esm/types/txParams.d.ts.map +1 -1
- package/dist/_esm/utils/arkivTransactions.d.ts +3 -1
- package/dist/_esm/utils/arkivTransactions.d.ts.map +1 -1
- package/dist/_esm/utils/arkivTransactions.js +24 -18
- package/dist/_esm/utils/arkivTransactions.js.map +1 -1
- package/dist/_esm/utils/compression.d.ts +3 -0
- package/dist/_esm/utils/compression.d.ts.map +1 -0
- package/dist/_esm/utils/compression.js +20 -0
- package/dist/_esm/utils/compression.js.map +1 -0
- package/dist/_esm/utils/entities.d.ts.map +1 -1
- package/dist/_esm/utils/entities.js +4 -4
- package/dist/_esm/utils/entities.js.map +1 -1
- package/dist/_esm/utils/expirationTime.d.ts.map +1 -1
- package/dist/_esm/utils/expirationTime.js.map +1 -1
- package/dist/_esm/utils/payload.js.map +1 -1
- package/dist/_types/actions/public/getBlockTiming.d.ts.map +1 -1
- package/dist/_types/actions/public/subscribeEntityEvents.d.ts.map +1 -1
- package/dist/_types/actions/wallet/changeOwnership.d.ts +22 -0
- package/dist/_types/actions/wallet/changeOwnership.d.ts.map +1 -0
- package/dist/_types/actions/wallet/createEntity.d.ts +5 -3
- package/dist/_types/actions/wallet/createEntity.d.ts.map +1 -1
- package/dist/_types/actions/wallet/deleteEntity.d.ts.map +1 -1
- package/dist/_types/actions/wallet/extendEntity.d.ts.map +1 -1
- package/dist/_types/actions/wallet/mutateEntities.d.ts.map +1 -1
- package/dist/_types/actions/wallet/updateEntity.d.ts +6 -4
- package/dist/_types/actions/wallet/updateEntity.d.ts.map +1 -1
- package/dist/_types/clients/baseClient.d.ts.map +1 -1
- package/dist/_types/clients/createPublicClient.d.ts.map +1 -1
- package/dist/_types/clients/createWalletClient.d.ts.map +1 -1
- package/dist/_types/clients/decorators/arkivPublic.d.ts +0 -2
- package/dist/_types/clients/decorators/arkivPublic.d.ts.map +1 -1
- package/dist/_types/clients/decorators/arkivWallet.d.ts +15 -5
- package/dist/_types/clients/decorators/arkivWallet.d.ts.map +1 -1
- package/dist/_types/index.d.ts +1 -1
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/query/engine.d.ts +1 -1
- package/dist/_types/query/engine.d.ts.map +1 -1
- package/dist/_types/query/predicate.d.ts.map +1 -1
- package/dist/_types/query/queryBuilder.d.ts +5 -5
- package/dist/_types/query/queryBuilder.d.ts.map +1 -1
- package/dist/_types/query/queryResult.d.ts.map +1 -1
- package/dist/_types/types/attributes.d.ts +5 -0
- package/dist/_types/types/attributes.d.ts.map +1 -0
- package/dist/_types/types/entity.d.ts +5 -3
- package/dist/_types/types/entity.d.ts.map +1 -1
- package/dist/_types/types/events.d.ts.map +1 -1
- package/dist/_types/types/index.d.ts +2 -1
- package/dist/_types/types/index.d.ts.map +1 -1
- package/dist/_types/types/mimeTypes.d.ts +2 -0
- package/dist/_types/types/mimeTypes.d.ts.map +1 -0
- package/dist/_types/types/rpcSchema.d.ts +6 -19
- package/dist/_types/types/rpcSchema.d.ts.map +1 -1
- package/dist/_types/types/txParams.d.ts.map +1 -1
- package/dist/_types/utils/arkivTransactions.d.ts +3 -1
- package/dist/_types/utils/arkivTransactions.d.ts.map +1 -1
- package/dist/_types/utils/compression.d.ts +3 -0
- package/dist/_types/utils/compression.d.ts.map +1 -0
- package/dist/_types/utils/entities.d.ts.map +1 -1
- package/dist/_types/utils/expirationTime.d.ts.map +1 -1
- package/package.json +118 -116
- package/src/actions/public/buildQuery.ts +1 -1
- package/src/actions/public/getBlockTiming.ts +13 -13
- package/src/actions/public/getEntity.ts +9 -9
- package/src/actions/public/getEntityCount.ts +5 -5
- package/src/actions/public/query.ts +6 -6
- package/src/actions/public/subscribeEntityEvents.ts +92 -92
- package/src/actions/wallet/changeOwnership.ts +40 -0
- package/src/actions/wallet/createEntity.ts +20 -18
- package/src/actions/wallet/deleteEntity.ts +14 -14
- package/src/actions/wallet/extendEntity.ts +15 -15
- package/src/actions/wallet/mutateEntities.ts +58 -58
- package/src/actions/wallet/updateEntity.ts +21 -19
- package/src/chains/kaolin.ts +22 -22
- package/src/chains/localhost.ts +10 -10
- package/src/chains/marketplace.ts +22 -22
- package/src/clients/baseClient.ts +4 -4
- package/src/clients/createPublicClient.ts +31 -31
- package/src/clients/createWalletClient.ts +35 -35
- package/src/clients/decorators/arkivPublic.ts +179 -181
- package/src/clients/decorators/arkivWallet.ts +222 -204
- package/src/consts.ts +1 -1
- package/src/index.ts +8 -8
- package/src/query/engine.ts +93 -92
- package/src/query/errors.ts +12 -12
- package/src/query/predicate.ts +18 -18
- package/src/query/queryBuilder.ts +194 -194
- package/src/query/queryResult.ts +49 -49
- package/src/types/attributes.ts +4 -0
- package/src/types/entity.ts +29 -25
- package/src/types/events.ts +18 -18
- package/src/types/index.ts +2 -1
- package/src/types/mimeTypes.ts +27 -0
- package/src/types/rpcSchema.ts +46 -53
- package/src/types/txParams.ts +14 -14
- package/src/utils/arkivTransactions.ts +76 -67
- package/src/utils/compression.ts +21 -0
- package/src/utils/entities.ts +17 -10
- package/src/utils/expirationTime.ts +9 -9
- package/src/utils/payload.ts +2 -2
- package/dist/_cjs/types/annotation.d.ts +0 -5
- package/dist/_cjs/types/annotation.d.ts.map +0 -1
- package/dist/_cjs/types/annotation.js.map +0 -1
- package/dist/_esm/types/annotation.d.ts +0 -5
- package/dist/_esm/types/annotation.d.ts.map +0 -1
- package/dist/_esm/types/annotation.js +0 -2
- package/dist/_esm/types/annotation.js.map +0 -1
- package/dist/_types/types/annotation.d.ts +0 -5
- package/dist/_types/types/annotation.d.ts.map +0 -1
- package/src/types/annotation.ts +0 -4
package/src/query/engine.ts
CHANGED
|
@@ -4,108 +4,109 @@ import type { RpcQueryOptions } from "../types/rpcSchema"
|
|
|
4
4
|
import type { Predicate } from "./predicate"
|
|
5
5
|
|
|
6
6
|
function processPredicates(predicates: Predicate[]): string {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
7
|
+
const processValue = (value: string | number) => {
|
|
8
|
+
if (typeof value === "string") {
|
|
9
|
+
return `"${value}"`
|
|
10
|
+
}
|
|
11
|
+
return value
|
|
12
|
+
}
|
|
13
|
+
return predicates
|
|
14
|
+
.map((predicate) => {
|
|
15
|
+
switch (predicate.type) {
|
|
16
|
+
case "eq":
|
|
17
|
+
return `${predicate.key} = ${processValue(predicate.value)}`
|
|
18
|
+
case "neq":
|
|
19
|
+
return `${predicate.key} != ${processValue(predicate.value)}`
|
|
20
|
+
case "gt":
|
|
21
|
+
return `${predicate.key} > ${processValue(predicate.value)}`
|
|
22
|
+
case "gte":
|
|
23
|
+
return `${predicate.key} >= ${processValue(predicate.value)}`
|
|
24
|
+
case "lt":
|
|
25
|
+
return `${predicate.key} < ${processValue(predicate.value)}`
|
|
26
|
+
case "lte":
|
|
27
|
+
return `${predicate.key} <= ${processValue(predicate.value)}`
|
|
28
|
+
case "not":
|
|
29
|
+
return `!${predicate.key}`
|
|
30
|
+
case "or":
|
|
31
|
+
return `(${predicate.predicates.map((predicate) => processPredicates([predicate])).join(" || ")})`
|
|
32
|
+
case "and":
|
|
33
|
+
return `(${predicate.predicates.map((predicate) => processPredicates([predicate])).join(" && ")})`
|
|
34
|
+
default:
|
|
35
|
+
return ""
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
.join(" && ")
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export async function processQuery(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
42
|
+
client: ArkivClient,
|
|
43
|
+
queryParams: {
|
|
44
|
+
predicates: Predicate[]
|
|
45
|
+
limit: number | undefined
|
|
46
|
+
cursor: string | undefined
|
|
47
|
+
ownedBy: Hex | undefined
|
|
48
|
+
validAtBlock?: bigint | undefined
|
|
49
|
+
withAttributes?: boolean | undefined
|
|
50
|
+
withMetadata?: boolean | undefined
|
|
51
|
+
withPayload?: boolean | undefined
|
|
52
|
+
},
|
|
53
53
|
) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
const {
|
|
55
|
+
predicates,
|
|
56
|
+
limit,
|
|
57
|
+
cursor,
|
|
58
|
+
ownedBy,
|
|
59
|
+
validAtBlock,
|
|
60
|
+
withAttributes,
|
|
61
|
+
withMetadata,
|
|
62
|
+
withPayload,
|
|
63
|
+
} = queryParams
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
console.debug(
|
|
66
|
+
`Processing query with params: predicates: ${predicates}, cursor: ${cursor}, limit: ${limit}, ownedBy: ${ownedBy}, validAtBlock: ${validAtBlock}, withAttributes: ${withAttributes}, withMetadata: ${withMetadata}, withPayload: ${withPayload}`,
|
|
67
|
+
)
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
let query = processPredicates(predicates)
|
|
70
|
+
if (ownedBy) {
|
|
71
|
+
query += ` && $owner=${ownedBy}`
|
|
72
|
+
}
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
// remove leading and trailing spaces and leading &&
|
|
75
|
+
query = query.trim()
|
|
76
|
+
if (query.startsWith("&& ")) {
|
|
77
|
+
query = query.slice(3)
|
|
78
|
+
}
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
const queryOptions: RpcQueryOptions = {
|
|
81
|
+
includeData: {
|
|
82
|
+
key: true,
|
|
83
|
+
attributes: withAttributes ?? false,
|
|
84
|
+
payload: withPayload ?? false,
|
|
85
|
+
contentType: withMetadata ?? false,
|
|
86
|
+
expiration: withMetadata ?? false,
|
|
87
|
+
owner: withMetadata ?? false,
|
|
88
|
+
},
|
|
89
|
+
}
|
|
89
90
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
91
|
+
if (validAtBlock !== undefined) {
|
|
92
|
+
queryOptions.atBlock = Number(validAtBlock)
|
|
93
|
+
}
|
|
94
|
+
if (limit !== undefined) {
|
|
95
|
+
queryOptions.resultsPerPage = limit
|
|
96
|
+
}
|
|
97
|
+
if (cursor !== undefined) {
|
|
98
|
+
queryOptions.cursor = cursor
|
|
99
|
+
}
|
|
99
100
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
console.debug(
|
|
102
|
+
`Built query to send: ${query}, queryOptions: ${JSON.stringify({ includeData: queryOptions.includeData, atBlock: queryOptions.atBlock?.toString(), resultsPerPage: queryOptions.resultsPerPage, cursor: queryOptions.cursor })}`,
|
|
103
|
+
)
|
|
103
104
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
const result = await client.request({
|
|
106
|
+
method: "arkiv_query",
|
|
107
|
+
params: [query, queryOptions],
|
|
108
|
+
})
|
|
109
|
+
console.debug("Raw result from query: ", result)
|
|
109
110
|
|
|
110
|
-
|
|
111
|
+
return result
|
|
111
112
|
}
|
package/src/query/errors.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
export class NoMoreResultsError extends Error {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
constructor() {
|
|
3
|
+
super("No more results")
|
|
4
|
+
}
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
export class NoCursorOrLimitError extends Error {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super("Cursor and limit must be defined to fetch next")
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export class OffsetCannotBeLessThanZeroError extends Error {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
constructor() {
|
|
15
|
+
super("Offset cannot be less than 0")
|
|
16
|
+
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export class NoEntityFoundError extends Error {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
constructor() {
|
|
21
|
+
super("No entity found")
|
|
22
|
+
}
|
|
23
23
|
}
|
package/src/query/predicate.ts
CHANGED
|
@@ -2,15 +2,15 @@ export type PredicateType = "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "not"
|
|
|
2
2
|
export type PredicateContainerType = "or" | "and"
|
|
3
3
|
|
|
4
4
|
export type Predicate =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
| {
|
|
6
|
+
type: PredicateType
|
|
7
|
+
key: string
|
|
8
|
+
value: string | number
|
|
9
|
+
}
|
|
10
|
+
| {
|
|
11
|
+
type: PredicateContainerType
|
|
12
|
+
predicates: Predicate[]
|
|
13
|
+
}
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Creates an OR predicate
|
|
@@ -24,7 +24,7 @@ export type Predicate =
|
|
|
24
24
|
*
|
|
25
25
|
*/
|
|
26
26
|
export function or(predicates: Predicate[]): Predicate {
|
|
27
|
-
|
|
27
|
+
return { type: "or", predicates }
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -39,7 +39,7 @@ export function or(predicates: Predicate[]): Predicate {
|
|
|
39
39
|
*
|
|
40
40
|
*/
|
|
41
41
|
export function and(predicates: Predicate[]): Predicate {
|
|
42
|
-
|
|
42
|
+
return { type: "and", predicates }
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
@@ -53,7 +53,7 @@ export function and(predicates: Predicate[]): Predicate {
|
|
|
53
53
|
* // result = { type: "eq", key: "name", value: "John" }
|
|
54
54
|
*/
|
|
55
55
|
export function eq(key: string, value: string | number): Predicate {
|
|
56
|
-
|
|
56
|
+
return { type: "eq", key, value }
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
/**
|
|
@@ -67,7 +67,7 @@ export function eq(key: string, value: string | number): Predicate {
|
|
|
67
67
|
* // result = { type: "neq", key: "name", value: "John" }
|
|
68
68
|
*/
|
|
69
69
|
export function neq(key: string, value: string | number): Predicate {
|
|
70
|
-
|
|
70
|
+
return { type: "neq", key, value }
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/**
|
|
@@ -81,7 +81,7 @@ export function neq(key: string, value: string | number): Predicate {
|
|
|
81
81
|
* // result = { type: "gt", key: "name", value: "John" }
|
|
82
82
|
*/
|
|
83
83
|
export function gt(key: string, value: string | number): Predicate {
|
|
84
|
-
|
|
84
|
+
return { type: "gt", key, value }
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
/**
|
|
@@ -95,7 +95,7 @@ export function gt(key: string, value: string | number): Predicate {
|
|
|
95
95
|
* // result = { type: "gte", key: "name", value: "John" }
|
|
96
96
|
*/
|
|
97
97
|
export function gte(key: string, value: string | number): Predicate {
|
|
98
|
-
|
|
98
|
+
return { type: "gte", key, value }
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
/**
|
|
@@ -109,7 +109,7 @@ export function gte(key: string, value: string | number): Predicate {
|
|
|
109
109
|
* // result = { type: "lt", key: "name", value: "John" }
|
|
110
110
|
*/
|
|
111
111
|
export function lt(key: string, value: string | number): Predicate {
|
|
112
|
-
|
|
112
|
+
return { type: "lt", key, value }
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
/**
|
|
@@ -123,7 +123,7 @@ export function lt(key: string, value: string | number): Predicate {
|
|
|
123
123
|
* // result = { type: "lte", key: "name", value: "John" }
|
|
124
124
|
*/
|
|
125
125
|
export function lte(key: string, value: string | number): Predicate {
|
|
126
|
-
|
|
126
|
+
return { type: "lte", key, value }
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
/**
|
|
@@ -136,5 +136,5 @@ export function lte(key: string, value: string | number): Predicate {
|
|
|
136
136
|
* // result = { type: "not", key: "name", value: "" }
|
|
137
137
|
*/
|
|
138
138
|
export function not(key: string): Predicate {
|
|
139
|
-
|
|
139
|
+
return { type: "not", key, value: "" }
|
|
140
140
|
}
|