@party-stack/foundry-ontology 0.17.0 → 0.18.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.
- package/lib/adapter/convertLoadSubsetOptions.d.ts +2 -0
- package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
- package/lib/adapter/convertLoadSubsetOptions.js +158 -191
- package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts +17 -15
- package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.js +288 -400
- package/lib/adapter/createFoundryOntologyBackendAdapter.js.map +1 -1
- package/lib/adapter/foundryActionValidation.d.ts +17 -15
- package/lib/adapter/foundryActionValidation.d.ts.map +1 -1
- package/lib/adapter/foundryActionValidation.js +206 -305
- package/lib/adapter/foundryActionValidation.js.map +1 -1
- package/lib/adapter/foundryCodec.d.ts +10 -9
- package/lib/adapter/foundryCodec.d.ts.map +1 -1
- package/lib/adapter/foundryCodec.js +180 -287
- package/lib/adapter/foundryCodec.js.map +1 -1
- package/lib/adapter/foundryMediaId.d.ts +6 -4
- package/lib/adapter/foundryMediaId.d.ts.map +1 -1
- package/lib/adapter/foundryMediaId.js +31 -32
- package/lib/adapter/foundryMediaId.js.map +1 -1
- package/lib/adapter/index.d.ts +4 -4
- package/lib/adapter/index.js +4 -4
- package/lib/adapter/objectCollectionOptions.d.ts +17 -18
- package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
- package/lib/adapter/objectCollectionOptions.js +417 -538
- package/lib/adapter/objectCollectionOptions.js.map +1 -1
- package/lib/config/applyAttachmentConstraintOverrides.d.ts +6 -4
- package/lib/config/applyAttachmentConstraintOverrides.d.ts.map +1 -1
- package/lib/config/applyAttachmentConstraintOverrides.js +45 -49
- package/lib/config/applyAttachmentConstraintOverrides.js.map +1 -1
- package/lib/config/index.d.ts +17 -15
- package/lib/config/index.d.ts.map +1 -1
- package/lib/config/index.js +56 -81
- package/lib/config/index.js.map +1 -1
- package/lib/connection.d.ts +28 -26
- package/lib/connection.d.ts.map +1 -1
- package/lib/connection.js +183 -215
- package/lib/connection.js.map +1 -1
- package/lib/index.d.ts +9 -5
- package/lib/index.js +9 -5
- package/lib/installation/createFoundryBackendInstallation.d.ts +21 -20
- package/lib/installation/createFoundryBackendInstallation.d.ts.map +1 -1
- package/lib/installation/createFoundryBackendInstallation.js +52 -62
- package/lib/installation/createFoundryBackendInstallation.js.map +1 -1
- package/lib/installation/index.d.ts +2 -2
- package/lib/installation/index.js +2 -2
- package/lib/meta/actionTypeCollectionOptions.d.ts +8 -6
- package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/actionTypeCollectionOptions.js +49 -49
- package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts +3 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts.map +1 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.js +69 -75
- package/lib/meta/convertActionTypeLoadSubsetOptions.js.map +1 -1
- package/lib/meta/convertMetaActionType.d.ts +7 -5
- package/lib/meta/convertMetaActionType.d.ts.map +1 -1
- package/lib/meta/convertMetaActionType.js +458 -581
- package/lib/meta/convertMetaActionType.js.map +1 -1
- package/lib/meta/convertMetaLinkType.d.ts +4 -2
- package/lib/meta/convertMetaLinkType.d.ts.map +1 -1
- package/lib/meta/convertMetaLinkType.js +37 -43
- package/lib/meta/convertMetaLinkType.js.map +1 -1
- package/lib/meta/convertMetaObjectType.d.ts +4 -2
- package/lib/meta/convertMetaObjectType.d.ts.map +1 -1
- package/lib/meta/convertMetaObjectType.js +34 -35
- package/lib/meta/convertMetaObjectType.js.map +1 -1
- package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -2
- package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -1
- package/lib/meta/convertMetaQueryFunctionType.js +113 -94
- package/lib/meta/convertMetaQueryFunctionType.js.map +1 -1
- package/lib/meta/convertMetaTypeDef.d.ts +4 -2
- package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
- package/lib/meta/convertMetaTypeDef.js +178 -176
- package/lib/meta/convertMetaTypeDef.js.map +1 -1
- package/lib/meta/convertMetaValueType.d.ts +4 -2
- package/lib/meta/convertMetaValueType.d.ts.map +1 -1
- package/lib/meta/convertMetaValueType.js +11 -7
- package/lib/meta/convertMetaValueType.js.map +1 -1
- package/lib/meta/convertOmsActionParameterMetadata.d.ts +4 -2
- package/lib/meta/convertOmsActionParameterMetadata.d.ts.map +1 -1
- package/lib/meta/convertOmsActionParameterMetadata.js +107 -163
- package/lib/meta/convertOmsActionParameterMetadata.js.map +1 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts +7 -5
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.js +39 -41
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.js.map +1 -1
- package/lib/meta/entityCollectionOptions.d.ts +12 -11
- package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
- package/lib/meta/entityCollectionOptions.js +59 -62
- package/lib/meta/entityCollectionOptions.js.map +1 -1
- package/lib/meta/foundryAttachmentMetadata.d.ts +2 -0
- package/lib/meta/foundryAttachmentMetadata.d.ts.map +1 -1
- package/lib/meta/foundryAttachmentMetadata.js +13 -14
- package/lib/meta/foundryAttachmentMetadata.js.map +1 -1
- package/lib/meta/index.d.ts +5 -5
- package/lib/meta/index.js +5 -5
- package/lib/meta/loadActionTypeOmsMetadata.d.ts +5 -4
- package/lib/meta/loadActionTypeOmsMetadata.d.ts.map +1 -1
- package/lib/meta/loadActionTypeOmsMetadata.js +102 -139
- package/lib/meta/loadActionTypeOmsMetadata.js.map +1 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.js +47 -49
- package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
- package/lib/stagedWrites.d.ts +26 -24
- package/lib/stagedWrites.d.ts.map +1 -1
- package/lib/stagedWrites.js +55 -66
- package/lib/stagedWrites.js.map +1 -1
- package/lib/users/createFoundryAdminOntologyRoute.d.ts +47 -17366
- package/lib/users/createFoundryAdminOntologyRoute.d.ts.map +1 -1
- package/lib/users/createFoundryAdminOntologyRoute.js +29 -37
- package/lib/users/createFoundryAdminOntologyRoute.js.map +1 -1
- package/lib/users/createFoundryUsersIntegration.d.ts +6 -4
- package/lib/users/createFoundryUsersIntegration.d.ts.map +1 -1
- package/lib/users/createFoundryUsersIntegration.js +28 -30
- package/lib/users/createFoundryUsersIntegration.js.map +1 -1
- package/lib/users/foundryUser.d.ts +4 -2
- package/lib/users/foundryUser.d.ts.map +1 -1
- package/lib/users/foundryUser.js +69 -74
- package/lib/users/foundryUser.js.map +1 -1
- package/lib/users/index.d.ts +5 -5
- package/lib/users/index.js +5 -5
- package/lib/users/userCollectionOptions.d.ts +13 -12
- package/lib/users/userCollectionOptions.d.ts.map +1 -1
- package/lib/users/userCollectionOptions.js +82 -100
- package/lib/users/userCollectionOptions.js.map +1 -1
- package/lib/utils/AsyncIterable.d.ts +2 -0
- package/lib/utils/AsyncIterable.d.ts.map +1 -1
- package/lib/utils/AsyncIterable.js +26 -34
- package/lib/utils/AsyncIterable.js.map +1 -1
- package/lib/utils/actionTypeName.d.ts +2 -0
- package/lib/utils/actionTypeName.d.ts.map +1 -1
- package/lib/utils/actionTypeName.js +9 -7
- package/lib/utils/actionTypeName.js.map +1 -1
- package/lib/utils/chunk.d.ts +2 -0
- package/lib/utils/chunk.d.ts.map +1 -1
- package/lib/utils/chunk.js +8 -6
- package/lib/utils/chunk.js.map +1 -1
- package/package.json +21 -27
- package/lib/adapter/convertLoadSubsetOptions.test.d.ts +0 -2
- package/lib/adapter/convertLoadSubsetOptions.test.d.ts.map +0 -1
- package/lib/adapter/convertLoadSubsetOptions.test.js +0 -213
- package/lib/adapter/convertLoadSubsetOptions.test.js.map +0 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts +0 -2
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts.map +0 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.js +0 -628
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.js.map +0 -1
- package/lib/adapter/foundryActionValidation.test.d.ts +0 -2
- package/lib/adapter/foundryActionValidation.test.d.ts.map +0 -1
- package/lib/adapter/foundryActionValidation.test.js +0 -243
- package/lib/adapter/foundryActionValidation.test.js.map +0 -1
- package/lib/adapter/foundryCodec.test.d.ts +0 -2
- package/lib/adapter/foundryCodec.test.d.ts.map +0 -1
- package/lib/adapter/foundryCodec.test.js +0 -137
- package/lib/adapter/foundryCodec.test.js.map +0 -1
- package/lib/adapter/foundryMediaId.test.d.ts +0 -2
- package/lib/adapter/foundryMediaId.test.d.ts.map +0 -1
- package/lib/adapter/foundryMediaId.test.js +0 -23
- package/lib/adapter/foundryMediaId.test.js.map +0 -1
- package/lib/adapter/index.d.ts.map +0 -1
- package/lib/adapter/index.js.map +0 -1
- package/lib/adapter/objectCollectionOptions.test.d.ts +0 -2
- package/lib/adapter/objectCollectionOptions.test.d.ts.map +0 -1
- package/lib/adapter/objectCollectionOptions.test.js +0 -1289
- package/lib/adapter/objectCollectionOptions.test.js.map +0 -1
- package/lib/config/connectionPull.test.d.ts +0 -2
- package/lib/config/connectionPull.test.d.ts.map +0 -1
- package/lib/config/connectionPull.test.js +0 -151
- package/lib/config/connectionPull.test.js.map +0 -1
- package/lib/config/index.test.d.ts +0 -2
- package/lib/config/index.test.d.ts.map +0 -1
- package/lib/config/index.test.js +0 -182
- package/lib/config/index.test.js.map +0 -1
- package/lib/connection.test.d.ts +0 -2
- package/lib/connection.test.d.ts.map +0 -1
- package/lib/connection.test.js +0 -162
- package/lib/connection.test.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/installation/createFoundryBackendInstallation.test.d.ts +0 -2
- package/lib/installation/createFoundryBackendInstallation.test.d.ts.map +0 -1
- package/lib/installation/createFoundryBackendInstallation.test.js +0 -83
- package/lib/installation/createFoundryBackendInstallation.test.js.map +0 -1
- package/lib/installation/index.d.ts.map +0 -1
- package/lib/installation/index.js.map +0 -1
- package/lib/meta/actionTypeCollectionOptions.test.d.ts +0 -2
- package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +0 -1
- package/lib/meta/actionTypeCollectionOptions.test.js +0 -24
- package/lib/meta/actionTypeCollectionOptions.test.js.map +0 -1
- package/lib/meta/actionTypeIdQuery.test.d.ts +0 -2
- package/lib/meta/actionTypeIdQuery.test.d.ts.map +0 -1
- package/lib/meta/actionTypeIdQuery.test.js +0 -131
- package/lib/meta/actionTypeIdQuery.test.js.map +0 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts +0 -2
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts.map +0 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.js +0 -138
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.js.map +0 -1
- package/lib/meta/convertMetaActionType.test.d.ts +0 -2
- package/lib/meta/convertMetaActionType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaActionType.test.js +0 -1565
- package/lib/meta/convertMetaActionType.test.js.map +0 -1
- package/lib/meta/convertMetaLinkType.test.d.ts +0 -2
- package/lib/meta/convertMetaLinkType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaLinkType.test.js +0 -110
- package/lib/meta/convertMetaLinkType.test.js.map +0 -1
- package/lib/meta/convertMetaObjectType.test.d.ts +0 -2
- package/lib/meta/convertMetaObjectType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaObjectType.test.js +0 -250
- package/lib/meta/convertMetaObjectType.test.js.map +0 -1
- package/lib/meta/convertMetaQueryFunctionType.test.d.ts +0 -2
- package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaQueryFunctionType.test.js +0 -134
- package/lib/meta/convertMetaQueryFunctionType.test.js.map +0 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts +0 -2
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts.map +0 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js +0 -49
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js.map +0 -1
- package/lib/meta/entityCollectionOptions.test.d.ts +0 -2
- package/lib/meta/entityCollectionOptions.test.d.ts.map +0 -1
- package/lib/meta/entityCollectionOptions.test.js +0 -98
- package/lib/meta/entityCollectionOptions.test.js.map +0 -1
- package/lib/meta/index.d.ts.map +0 -1
- package/lib/meta/index.js.map +0 -1
- package/lib/meta/loadActionTypeOmsMetadata.test.d.ts +0 -2
- package/lib/meta/loadActionTypeOmsMetadata.test.d.ts.map +0 -1
- package/lib/meta/loadActionTypeOmsMetadata.test.js +0 -218
- package/lib/meta/loadActionTypeOmsMetadata.test.js.map +0 -1
- package/lib/stagedWrites.test.d.ts +0 -2
- package/lib/stagedWrites.test.d.ts.map +0 -1
- package/lib/stagedWrites.test.js +0 -71
- package/lib/stagedWrites.test.js.map +0 -1
- package/lib/users/createFoundryUsersIntegration.test.d.ts +0 -2
- package/lib/users/createFoundryUsersIntegration.test.d.ts.map +0 -1
- package/lib/users/createFoundryUsersIntegration.test.js +0 -32
- package/lib/users/createFoundryUsersIntegration.test.js.map +0 -1
- package/lib/users/foundryUser.test.d.ts +0 -2
- package/lib/users/foundryUser.test.d.ts.map +0 -1
- package/lib/users/foundryUser.test.js +0 -45
- package/lib/users/foundryUser.test.js.map +0 -1
- package/lib/users/index.d.ts.map +0 -1
- package/lib/users/index.js.map +0 -1
- package/lib/users/userCollectionOptions.test.d.ts +0 -2
- package/lib/users/userCollectionOptions.test.d.ts.map +0 -1
- package/lib/users/userCollectionOptions.test.js +0 -18
- package/lib/users/userCollectionOptions.test.js.map +0 -1
- package/lib/utils/AsyncIterable.test.d.ts +0 -2
- package/lib/utils/AsyncIterable.test.d.ts.map +0 -1
- package/lib/utils/AsyncIterable.test.js +0 -17
- package/lib/utils/AsyncIterable.test.js.map +0 -1
- package/lib/utils/actionTypeName.test.d.ts +0 -2
- package/lib/utils/actionTypeName.test.d.ts.map +0 -1
- package/lib/utils/actionTypeName.test.js +0 -30
- package/lib/utils/actionTypeName.test.js.map +0 -1
|
@@ -1,112 +1,94 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { fromPagination, toArray } from "../utils/AsyncIterable.js";
|
|
2
|
+
import { foundryUserProfilePictureAttachment } from "./foundryUser.js";
|
|
3
|
+
import { chunk } from "../utils/chunk.js";
|
|
3
4
|
import { parseOrderByExpression, parseWhereExpression } from "@tanstack/db";
|
|
5
|
+
import { applyLensToObject, mapTargetPathToSourceWithLens } from "@party-stack/ontology";
|
|
6
|
+
import { Users } from "@osdk/foundry.admin";
|
|
4
7
|
import { QueryClient } from "@tanstack/query-core";
|
|
5
8
|
import { queryCollectionOptions } from "@tanstack/query-db-collection";
|
|
6
|
-
|
|
7
|
-
import { chunk } from "../utils/chunk.js";
|
|
8
|
-
import { foundryUserProfilePictureAttachment } from "./foundryUser.js";
|
|
9
|
+
//#region src/users/userCollectionOptions.ts
|
|
9
10
|
function rewriteFieldPath(field, lens) {
|
|
10
|
-
|
|
11
|
+
return mapTargetPathToSourceWithLens(field.map(String), lens);
|
|
11
12
|
}
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
where: { type: "queryString", value: queryString },
|
|
46
|
-
}), (page) => page.nextPageToken, (page) => page.data, 10_000, limit));
|
|
47
|
-
return users.map(project);
|
|
48
|
-
},
|
|
49
|
-
});
|
|
13
|
+
function userCollectionOptions({ client, lens }) {
|
|
14
|
+
const project = (user) => applyLensToObject({
|
|
15
|
+
...user,
|
|
16
|
+
profilePicture: foundryUserProfilePictureAttachment(user.id)
|
|
17
|
+
}, lens);
|
|
18
|
+
return queryCollectionOptions({
|
|
19
|
+
queryClient: new QueryClient(),
|
|
20
|
+
getKey: (user) => user.id,
|
|
21
|
+
queryKey: ["foundry", "users"],
|
|
22
|
+
syncMode: "on-demand",
|
|
23
|
+
queryFn: async (ctx) => {
|
|
24
|
+
const loadSubsetOptions = ctx.meta?.loadSubsetOptions;
|
|
25
|
+
const query = convertQuery(loadSubsetOptions, lens);
|
|
26
|
+
if (query.type === "getBatch") {
|
|
27
|
+
const chunks = chunk(query.ids, 500);
|
|
28
|
+
return (await Promise.all(chunks.map((chunk) => Users.getBatch(client, chunk.map((userId) => ({ userId })))))).flatMap((result) => Object.values(result.data)).map(project);
|
|
29
|
+
}
|
|
30
|
+
const queryString = query.type === "search" ? query.query : "";
|
|
31
|
+
let limit;
|
|
32
|
+
if (query.type === "search") {
|
|
33
|
+
const orderBy = parseOrderByExpression(loadSubsetOptions?.orderBy);
|
|
34
|
+
if (orderBy.length === 0 || orderBy.length === 1 && orderBy[0].field.join(".") === "id" && orderBy[0].direction === "asc") limit = loadSubsetOptions?.limit;
|
|
35
|
+
}
|
|
36
|
+
return (await toArray(fromPagination((pageSize, pageToken) => Users.search(client, {
|
|
37
|
+
pageSize,
|
|
38
|
+
pageToken,
|
|
39
|
+
where: {
|
|
40
|
+
type: "queryString",
|
|
41
|
+
value: queryString
|
|
42
|
+
}
|
|
43
|
+
}), (page) => page.nextPageToken, (page) => page.data, 1e4, limit))).map(project);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
50
46
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// so ORs over those fields can share one server-side search when their terms match.
|
|
86
|
-
return queries[0];
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
like: (field, value) => getLikeQuery(rewriteFieldPath(field, lens), value),
|
|
90
|
-
ilike: (field, value) => getLikeQuery(rewriteFieldPath(field, lens), value),
|
|
91
|
-
},
|
|
92
|
-
onUnknownOperator: () => undefined,
|
|
93
|
-
}) ?? undefined;
|
|
94
|
-
if (maybeSearchQuery) {
|
|
95
|
-
return maybeSearchQuery;
|
|
96
|
-
}
|
|
97
|
-
return { type: "list" };
|
|
47
|
+
function convertQuery(options, lens) {
|
|
48
|
+
if (!options) return { type: "list" };
|
|
49
|
+
const maybeBatchQuery = parseWhereExpression(options.where, {
|
|
50
|
+
handlers: {
|
|
51
|
+
eq: (field, value) => {
|
|
52
|
+
field = rewriteFieldPath(field, lens);
|
|
53
|
+
if (field.join(".") === "id") return {
|
|
54
|
+
type: "getBatch",
|
|
55
|
+
ids: [value]
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
in: (field, value) => {
|
|
59
|
+
field = rewriteFieldPath(field, lens);
|
|
60
|
+
if (field.join(".") === "id") return {
|
|
61
|
+
type: "getBatch",
|
|
62
|
+
ids: value.filter((v) => v !== null && v !== void 0)
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
onUnknownOperator: () => void 0
|
|
67
|
+
}) ?? void 0;
|
|
68
|
+
if (maybeBatchQuery) return maybeBatchQuery;
|
|
69
|
+
const maybeSearchQuery = parseWhereExpression(options.where, {
|
|
70
|
+
handlers: {
|
|
71
|
+
or: (...queries) => {
|
|
72
|
+
if (queries.length > 0 && queries.every((query) => query?.type === "search") && queries.every((query) => query.query === queries[0].query)) return queries[0];
|
|
73
|
+
},
|
|
74
|
+
like: (field, value) => getLikeQuery(rewriteFieldPath(field, lens), value),
|
|
75
|
+
ilike: (field, value) => getLikeQuery(rewriteFieldPath(field, lens), value)
|
|
76
|
+
},
|
|
77
|
+
onUnknownOperator: () => void 0
|
|
78
|
+
}) ?? void 0;
|
|
79
|
+
if (maybeSearchQuery) return maybeSearchQuery;
|
|
80
|
+
return { type: "list" };
|
|
98
81
|
}
|
|
99
82
|
function getLikeQuery(field, value) {
|
|
100
|
-
|
|
101
|
-
getLikeQueryForTargetField(field, value, "givenName") ??
|
|
102
|
-
getLikeQueryForTargetField(field, value, "familyName"));
|
|
83
|
+
return getLikeQueryForTargetField(field, value, "username") ?? getLikeQueryForTargetField(field, value, "givenName") ?? getLikeQueryForTargetField(field, value, "familyName");
|
|
103
84
|
}
|
|
104
85
|
function getLikeQueryForTargetField(field, value, targetField) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
return { type: "search", query: value.replace("%", "") };
|
|
110
|
-
}
|
|
86
|
+
if (field.join(".") === targetField && value.endsWith("%") && !value.startsWith("%") && !value.includes("_")) return {
|
|
87
|
+
type: "search",
|
|
88
|
+
query: value.replace("%", "")
|
|
89
|
+
};
|
|
111
90
|
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { convertQuery, userCollectionOptions };
|
|
93
|
+
|
|
112
94
|
//# sourceMappingURL=userCollectionOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCollectionOptions.js","
|
|
1
|
+
{"version":3,"file":"userCollectionOptions.js","names":["AsyncIterable.toArray","AsyncIterable.fromPagination"],"sources":["../../src/users/userCollectionOptions.ts"],"sourcesContent":["import { User, Users } from \"@osdk/foundry.admin\";\nimport { applyLensToObject, mapTargetPathToSourceWithLens, type Lens } from \"@party-stack/ontology\";\nimport { FieldPath, LoadSubsetOptions, parseOrderByExpression, parseWhereExpression } from \"@tanstack/db\";\nimport { QueryClient } from \"@tanstack/query-core\";\nimport { queryCollectionOptions } from \"@tanstack/query-db-collection\";\nimport * as AsyncIterable from \"../utils/AsyncIterable.js\";\nimport { chunk } from \"../utils/chunk.js\";\nimport { foundryUserProfilePictureAttachment } from \"./foundryUser.js\";\nimport type { Client } from \"@party-stack/foundry-client\";\n\ntype UsersQuery = { type: \"getBatch\"; ids: string[] } | { type: \"search\"; query: string } | { type: \"list\" };\n\nfunction rewriteFieldPath(field: FieldPath, lens: Lens): FieldPath {\n return mapTargetPathToSourceWithLens(field.map(String), lens);\n}\n\nexport interface UserCollectionOpts {\n client: Client;\n lens: Lens;\n}\n\nexport function userCollectionOptions({ client, lens }: UserCollectionOpts) {\n const project = (user: User) =>\n applyLensToObject(\n {\n ...user,\n profilePicture: foundryUserProfilePictureAttachment(user.id),\n },\n lens\n );\n return queryCollectionOptions<Record<string, unknown>>({\n queryClient: new QueryClient(),\n getKey: (user) => user.id as string,\n queryKey: [\"foundry\", \"users\"],\n syncMode: \"on-demand\",\n queryFn: async (ctx) => {\n const loadSubsetOptions = ctx.meta?.loadSubsetOptions;\n\n const query = convertQuery(loadSubsetOptions, lens);\n\n if (query.type === \"getBatch\") {\n // The max batch size here is 500 (https://www.palantir.com/docs/foundry/api/v2/admin-v2-resources/users/get-users-batch)\n const chunks = chunk(query.ids, 500);\n const results = await Promise.all(\n chunks.map((chunk) =>\n Users.getBatch(\n client,\n chunk.map((userId) => ({ userId }))\n )\n )\n );\n return results.flatMap((result) => Object.values(result.data)).map(project);\n }\n\n const queryString = query.type === \"search\" ? query.query : \"\";\n let limit: number | undefined;\n if (query.type === \"search\") {\n const orderBy = parseOrderByExpression(loadSubsetOptions?.orderBy);\n if (\n orderBy.length === 0 ||\n (orderBy.length === 1 &&\n orderBy[0]!.field.join(\".\") === \"id\" &&\n orderBy[0]!.direction === \"asc\")\n ) {\n limit = loadSubsetOptions?.limit;\n }\n }\n\n const users = await AsyncIterable.toArray(\n AsyncIterable.fromPagination(\n (pageSize, pageToken: string | undefined) =>\n Users.search(client, {\n pageSize,\n pageToken,\n where: { type: \"queryString\", value: queryString },\n }),\n (page) => page.nextPageToken,\n (page) => page.data,\n 10_000,\n limit\n )\n );\n return users.map(project);\n },\n });\n}\n\nexport function convertQuery(options: LoadSubsetOptions | undefined, lens: Lens): UsersQuery {\n if (!options) {\n return { type: \"list\" };\n }\n\n const maybeBatchQuery =\n parseWhereExpression<UsersQuery | undefined>(options.where, {\n handlers: {\n eq: (field: FieldPath, value: unknown) => {\n field = rewriteFieldPath(field, lens);\n if (field.join(\".\") === \"id\") {\n return { type: \"getBatch\", ids: [value as string] };\n }\n },\n in: (field: FieldPath, value: unknown[]) => {\n field = rewriteFieldPath(field, lens);\n if (field.join(\".\") === \"id\") {\n return {\n type: \"getBatch\",\n ids: value.filter((v) => v !== null && v !== undefined) as string[],\n };\n }\n },\n },\n onUnknownOperator: () => undefined,\n }) ?? undefined;\n if (maybeBatchQuery) {\n return maybeBatchQuery;\n }\n\n const maybeSearchQuery =\n parseWhereExpression<UsersQuery | undefined>(options.where, {\n handlers: {\n or: (...queries: (UsersQuery | undefined)[]) => {\n if (\n queries.length > 0 &&\n queries.every(\n (query): query is Extract<UsersQuery, { type: \"search\" }> =>\n query?.type === \"search\"\n ) &&\n queries.every((query) => query.query === queries[0]!.query)\n ) {\n // Foundry's user search applies one query across the supported name fields,\n // so ORs over those fields can share one server-side search when their terms match.\n return queries[0];\n }\n },\n like: (field: FieldPath, value: string) => getLikeQuery(rewriteFieldPath(field, lens), value),\n ilike: (field: FieldPath, value: string) =>\n getLikeQuery(rewriteFieldPath(field, lens), value),\n },\n onUnknownOperator: () => undefined,\n }) ?? undefined;\n if (maybeSearchQuery) {\n return maybeSearchQuery;\n }\n\n return { type: \"list\" };\n}\n\nfunction getLikeQuery(field: FieldPath, value: string) {\n return (\n getLikeQueryForTargetField(field, value, \"username\") ??\n getLikeQueryForTargetField(field, value, \"givenName\") ??\n getLikeQueryForTargetField(field, value, \"familyName\")\n );\n}\n\nfunction getLikeQueryForTargetField(\n field: FieldPath,\n value: string,\n targetField: string\n): UsersQuery | undefined {\n if (\n field.join(\".\") === targetField &&\n value.endsWith(\"%\") &&\n !value.startsWith(\"%\") &&\n !value.includes(\"_\")\n ) {\n return { type: \"search\", query: value.replace(\"%\", \"\") };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
//#region src/utils/AsyncIterable.d.ts
|
|
1
2
|
export declare function toArray<T>(asyncIterable: AsyncIterable<T>): Promise<T[]>;
|
|
2
3
|
export declare function fromBatches<T, R>(values: readonly T[], getBatch: (batch: T[]) => Promise<readonly R[]>, batchSize: number): AsyncIterable<R>;
|
|
3
4
|
export declare function fromPagination<C extends string | number, P, T>(getPage: (pageSize: number, pageToken?: C) => Promise<P>, getPageToken: (page: P) => C | undefined, getElements: (page: P) => T[] | Promise<T[]>, defaultPageSize: number, limit?: number): AsyncIterable<T>;
|
|
5
|
+
//#endregion
|
|
4
6
|
//# sourceMappingURL=AsyncIterable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncIterable.d.ts","
|
|
1
|
+
{"version":3,"file":"AsyncIterable.d.ts","names":[],"sources":["../../src/utils/AsyncIterable.ts"],"mappings":";wBAGsB,QAAQ,GAAG,eAAe,cAAc,KAAK,QAAQ;wBAQpD,YAAY,GAAG,GAClC,iBAAiB,KACjB,WAAW,OAAO,QAAQ,iBAAiB,MAC3C,oBACD,cAAc;wBAYM,eAAe,2BAA2B,GAAG,GAChE,UAAU,kBAAkB,YAAY,MAAM,QAAQ,IACtD,eAAe,MAAM,MAAM,eAC3B,cAAc,MAAM,MAAM,MAAM,QAAQ,MACxC,yBACA,iBACD,cAAc"}
|
|
@@ -1,38 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
result.push(element);
|
|
7
|
-
}
|
|
8
|
-
return result;
|
|
1
|
+
//#region src/utils/AsyncIterable.ts
|
|
2
|
+
async function toArray(asyncIterable) {
|
|
3
|
+
const result = [];
|
|
4
|
+
for await (const element of asyncIterable) result.push(element);
|
|
5
|
+
return result;
|
|
9
6
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
for (const result of results) {
|
|
17
|
-
yield result;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
7
|
+
async function* fromBatches(values, getBatch, batchSize) {
|
|
8
|
+
if (!Number.isInteger(batchSize) || batchSize <= 0) throw new RangeError("Batch size must be a positive integer.");
|
|
9
|
+
for (let index = 0; index < values.length; index += batchSize) {
|
|
10
|
+
const results = await getBatch(values.slice(index, index + batchSize));
|
|
11
|
+
for (const result of results) yield result;
|
|
12
|
+
}
|
|
20
13
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (pageToken === undefined) {
|
|
34
|
-
hasMore = false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
14
|
+
async function* fromPagination(getPage, getPageToken, getElements, defaultPageSize, limit = Infinity) {
|
|
15
|
+
let pageToken = void 0;
|
|
16
|
+
let hasMore = true;
|
|
17
|
+
let count = 0;
|
|
18
|
+
while (hasMore && count < limit) {
|
|
19
|
+
const page = await getPage(Math.min(limit - count, defaultPageSize), pageToken);
|
|
20
|
+
const elements = await getElements(page);
|
|
21
|
+
for (const element of elements) yield element;
|
|
22
|
+
count += elements.length;
|
|
23
|
+
pageToken = getPageToken(page);
|
|
24
|
+
if (pageToken === void 0) hasMore = false;
|
|
25
|
+
}
|
|
37
26
|
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { fromBatches, fromPagination, toArray };
|
|
29
|
+
|
|
38
30
|
//# sourceMappingURL=AsyncIterable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncIterable.js","
|
|
1
|
+
{"version":3,"file":"AsyncIterable.js","names":[],"sources":["../../src/utils/AsyncIterable.ts"],"sourcesContent":["// TODO: move to utils\n\n// Replace later with https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fromAsync\nexport async function toArray<T>(asyncIterable: AsyncIterable<T>): Promise<T[]> {\n const result = [];\n for await (const element of asyncIterable) {\n result.push(element);\n }\n return result;\n}\n\nexport async function* fromBatches<T, R>(\n values: readonly T[],\n getBatch: (batch: T[]) => Promise<readonly R[]>,\n batchSize: number\n): AsyncIterable<R> {\n if (!Number.isInteger(batchSize) || batchSize <= 0) {\n throw new RangeError(\"Batch size must be a positive integer.\");\n }\n for (let index = 0; index < values.length; index += batchSize) {\n const results = await getBatch(values.slice(index, index + batchSize));\n for (const result of results) {\n yield result;\n }\n }\n}\n\nexport async function* fromPagination<C extends string | number, P, T>(\n getPage: (pageSize: number, pageToken?: C) => Promise<P>,\n getPageToken: (page: P) => C | undefined,\n getElements: (page: P) => T[] | Promise<T[]>,\n defaultPageSize: number,\n limit: number = Infinity\n): AsyncIterable<T> {\n let pageToken: C | undefined = undefined;\n let hasMore = true;\n let count = 0;\n while (hasMore && count < limit) {\n const page = await getPage(Math.min(limit - count, defaultPageSize), pageToken);\n const elements = await getElements(page);\n for (const element of elements) {\n yield element;\n }\n count += elements.length;\n pageToken = getPageToken(page);\n if (pageToken === undefined) {\n hasMore = false;\n }\n }\n}\n"],"mappings":";AAGA,eAAsB,QAAW,eAA+C;CAC5E,MAAM,SAAS,CAAC;CAChB,WAAW,MAAM,WAAW,eACxB,OAAO,KAAK,OAAO;CAEvB,OAAO;AACX;AAEA,gBAAuB,YACnB,QACA,UACA,WACgB;CAChB,IAAI,CAAC,OAAO,UAAU,SAAS,KAAK,aAAa,GAC7C,MAAM,IAAI,WAAW,wCAAwC;CAEjE,KAAK,IAAI,QAAQ,GAAG,QAAQ,OAAO,QAAQ,SAAS,WAAW;EAC3D,MAAM,UAAU,MAAM,SAAS,OAAO,MAAM,OAAO,QAAQ,SAAS,CAAC;EACrE,KAAK,MAAM,UAAU,SACjB,MAAM;CAEd;AACJ;AAEA,gBAAuB,eACnB,SACA,cACA,aACA,iBACA,QAAgB,UACA;CAChB,IAAI,YAA2B,KAAA;CAC/B,IAAI,UAAU;CACd,IAAI,QAAQ;CACZ,OAAO,WAAW,QAAQ,OAAO;EAC7B,MAAM,OAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,OAAO,eAAe,GAAG,SAAS;EAC9E,MAAM,WAAW,MAAM,YAAY,IAAI;EACvC,KAAK,MAAM,WAAW,UAClB,MAAM;EAEV,SAAS,SAAS;EAClB,YAAY,aAAa,IAAI;EAC7B,IAAI,cAAc,KAAA,GACd,UAAU;CAElB;AACJ"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
//#region src/utils/actionTypeName.d.ts
|
|
1
2
|
export declare function toOntologyActionTypeName(foundryActionTypeName: string): string;
|
|
2
3
|
export declare function toFoundryActionTypeName(ontologyActionTypeName: string): string;
|
|
4
|
+
//#endregion
|
|
3
5
|
//# sourceMappingURL=actionTypeName.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypeName.d.ts","
|
|
1
|
+
{"version":3,"file":"actionTypeName.d.ts","names":[],"sources":["../../src/utils/actionTypeName.ts"],"mappings":";wBAMgB,yBAAyB;wBAIzB,wBAAwB"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { camelCase, kebabCase } from "change-case";
|
|
2
|
+
//#region src/utils/actionTypeName.ts
|
|
2
3
|
function mapNamespaceSegments(name, convert) {
|
|
3
|
-
|
|
4
|
+
return name.split(".").map(convert).join(".");
|
|
4
5
|
}
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
function toOntologyActionTypeName(foundryActionTypeName) {
|
|
7
|
+
return mapNamespaceSegments(foundryActionTypeName, camelCase);
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// Preserve each capital as its own Foundry word boundary (BB -> b-b).
|
|
11
|
-
kebabCase(segment.replace(/[A-Z]/g, (character) => `-${character}`)));
|
|
9
|
+
function toFoundryActionTypeName(ontologyActionTypeName) {
|
|
10
|
+
return mapNamespaceSegments(ontologyActionTypeName, (segment) => kebabCase(segment.replace(/[A-Z]/g, (character) => `-${character}`)));
|
|
12
11
|
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { toFoundryActionTypeName, toOntologyActionTypeName };
|
|
14
|
+
|
|
13
15
|
//# sourceMappingURL=actionTypeName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypeName.js","
|
|
1
|
+
{"version":3,"file":"actionTypeName.js","names":[],"sources":["../../src/utils/actionTypeName.ts"],"sourcesContent":["import { camelCase, kebabCase } from \"change-case\";\n\nfunction mapNamespaceSegments(name: string, convert: (segment: string) => string): string {\n return name.split(\".\").map(convert).join(\".\");\n}\n\nexport function toOntologyActionTypeName(foundryActionTypeName: string): string {\n return mapNamespaceSegments(foundryActionTypeName, camelCase);\n}\n\nexport function toFoundryActionTypeName(ontologyActionTypeName: string): string {\n return mapNamespaceSegments(ontologyActionTypeName, (segment) =>\n // Preserve each capital as its own Foundry word boundary (BB -> b-b).\n kebabCase(segment.replace(/[A-Z]/g, (character) => `-${character}`))\n );\n}\n"],"mappings":";;AAEA,SAAS,qBAAqB,MAAc,SAA8C;CACtF,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,GAAG;AAChD;AAEA,SAAgB,yBAAyB,uBAAuC;CAC5E,OAAO,qBAAqB,uBAAuB,SAAS;AAChE;AAEA,SAAgB,wBAAwB,wBAAwC;CAC5E,OAAO,qBAAqB,yBAAyB,YAEjD,UAAU,QAAQ,QAAQ,WAAW,cAAc,IAAI,WAAW,CAAC,CACvE;AACJ"}
|
package/lib/utils/chunk.d.ts
CHANGED
package/lib/utils/chunk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.d.ts","
|
|
1
|
+
{"version":3,"file":"chunk.d.ts","names":[],"sources":["../../src/utils/chunk.ts"],"mappings":";wBAAgB,MAAM,GAAG,OAAO,KAAK,eAAe"}
|
package/lib/utils/chunk.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return chunks;
|
|
1
|
+
//#region src/utils/chunk.ts
|
|
2
|
+
function chunk(items, size) {
|
|
3
|
+
const chunks = [];
|
|
4
|
+
for (let i = 0; i < items.length; i += size) chunks.push(items.slice(i, i + size));
|
|
5
|
+
return chunks;
|
|
7
6
|
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { chunk };
|
|
9
|
+
|
|
8
10
|
//# sourceMappingURL=chunk.js.map
|
package/lib/utils/chunk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk.js","
|
|
1
|
+
{"version":3,"file":"chunk.js","names":[],"sources":["../../src/utils/chunk.ts"],"sourcesContent":["export function chunk<T>(items: T[], size: number): T[][] {\n const chunks: T[][] = [];\n for (let i = 0; i < items.length; i += size) {\n chunks.push(items.slice(i, i + size));\n }\n return chunks;\n}\n"],"mappings":";AAAA,SAAgB,MAAS,OAAY,MAAqB;CACtD,MAAM,SAAgB,CAAC;CACvB,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,MACnC,OAAO,KAAK,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC;CAExC,OAAO;AACX"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@party-stack/foundry-ontology",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
|
+
"files": [
|
|
5
|
+
"lib"
|
|
6
|
+
],
|
|
4
7
|
"type": "module",
|
|
5
8
|
"exports": {
|
|
6
9
|
".": {
|
|
@@ -20,9 +23,6 @@
|
|
|
20
23
|
"default": "./lib/config/index.js"
|
|
21
24
|
}
|
|
22
25
|
},
|
|
23
|
-
"files": [
|
|
24
|
-
"lib"
|
|
25
|
-
],
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@bobbyfidz/panic": "^0.1.0",
|
|
28
28
|
"@bobbyfidz/urls": "^0.2.1",
|
|
@@ -36,37 +36,31 @@
|
|
|
36
36
|
"effection": "^4.0.2",
|
|
37
37
|
"temporal-polyfill": "^0.3.0",
|
|
38
38
|
"zod": "^4.4.3",
|
|
39
|
-
"@party-stack/
|
|
40
|
-
"@party-stack/
|
|
41
|
-
"@party-stack/foundry-
|
|
42
|
-
"@party-stack/
|
|
43
|
-
"@party-stack/
|
|
44
|
-
"@party-stack/oauth": "0.
|
|
45
|
-
"@party-stack/ontology": "0.
|
|
46
|
-
"@party-stack/runtime": "0.
|
|
39
|
+
"@party-stack/errors": "0.2.1",
|
|
40
|
+
"@party-stack/connections": "0.3.1",
|
|
41
|
+
"@party-stack/foundry-client": "0.3.1",
|
|
42
|
+
"@party-stack/foundry-object-set-watcher": "0.5.2",
|
|
43
|
+
"@party-stack/icons-blueprint": "0.2.1",
|
|
44
|
+
"@party-stack/oauth": "0.3.1",
|
|
45
|
+
"@party-stack/ontology": "0.19.1",
|
|
46
|
+
"@party-stack/runtime": "0.4.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@
|
|
50
|
-
"@tanstack/db": "
|
|
51
|
-
"@tanstack/query-db-collection": "1.2.15",
|
|
49
|
+
"@tanstack/db": "0.12.1",
|
|
50
|
+
"@tanstack/query-db-collection": "1.4.0",
|
|
52
51
|
"@types/node": "^24.10.1",
|
|
53
|
-
"@types/react": "^19.
|
|
54
|
-
"
|
|
55
|
-
"react": "^19.2.0",
|
|
52
|
+
"@types/react": "^19.3.0",
|
|
53
|
+
"react": "^19.3.0",
|
|
56
54
|
"ts-node": "^10.9.2",
|
|
57
55
|
"tsx": "^4.20.6",
|
|
58
|
-
"typescript": "~
|
|
59
|
-
"
|
|
56
|
+
"typescript": "~7.0.2",
|
|
57
|
+
"vite-plus": "1.1.0",
|
|
58
|
+
"@party-stack/build-config": "0.1.1"
|
|
60
59
|
},
|
|
61
60
|
"peerDependencies": {
|
|
62
|
-
"@tanstack/db": "0.
|
|
61
|
+
"@tanstack/db": "0.12.1",
|
|
63
62
|
"@tanstack/query-core": "^5.102.8",
|
|
64
|
-
"@tanstack/query-db-collection": "1.
|
|
63
|
+
"@tanstack/query-db-collection": "1.4.0",
|
|
65
64
|
"react": "^18.0.0 || ^19.0.0"
|
|
66
|
-
},
|
|
67
|
-
"scripts": {
|
|
68
|
-
"build": "tsc",
|
|
69
|
-
"lint": "eslint",
|
|
70
|
-
"test": "vitest run --pass-with-no-tests"
|
|
71
65
|
}
|
|
72
66
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convertLoadSubsetOptions.test.d.ts","sourceRoot":"","sources":["../../src/adapter/convertLoadSubsetOptions.test.ts"],"names":[],"mappings":""}
|