@party-stack/salesforce-ontology 0.3.0 → 0.4.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/README.md +22 -31
- package/lib/actionMetadata.d.ts +11 -9
- package/lib/actionMetadata.d.ts.map +1 -1
- package/lib/actionMetadata.js +19 -30
- package/lib/actionMetadata.js.map +1 -1
- package/lib/adapter/convertLoadSubsetOptions.d.ts +10 -8
- package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
- package/lib/adapter/convertLoadSubsetOptions.js +110 -173
- package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
- package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts +14 -12
- package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/adapter/createSalesforceOntologyBackendAdapter.js +124 -191
- package/lib/adapter/createSalesforceOntologyBackendAdapter.js.map +1 -1
- package/lib/adapter/index.d.ts +5 -5
- package/lib/adapter/index.js +5 -5
- package/lib/adapter/objectCollectionOptions.d.ts +22 -23
- package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
- package/lib/adapter/objectCollectionOptions.js +198 -280
- package/lib/adapter/objectCollectionOptions.js.map +1 -1
- package/lib/adapter/salesforceCodec.d.ts +6 -5
- package/lib/adapter/salesforceCodec.d.ts.map +1 -1
- package/lib/adapter/salesforceCodec.js +126 -190
- package/lib/adapter/salesforceCodec.js.map +1 -1
- package/lib/config/index.d.ts +20 -18
- package/lib/config/index.d.ts.map +1 -1
- package/lib/config/index.js +148 -192
- package/lib/config/index.js.map +1 -1
- package/lib/connection.d.ts +35 -33
- package/lib/connection.d.ts.map +1 -1
- package/lib/connection.js +243 -299
- package/lib/connection.js.map +1 -1
- package/lib/crud.d.ts +5 -3
- package/lib/crud.d.ts.map +1 -1
- package/lib/crud.js +0 -1
- package/lib/index.d.ts +10 -5
- package/lib/index.js +10 -5
- package/lib/installation/createSalesforceBackendInstallation.d.ts +28 -26
- package/lib/installation/createSalesforceBackendInstallation.d.ts.map +1 -1
- package/lib/installation/createSalesforceBackendInstallation.js +75 -85
- package/lib/installation/createSalesforceBackendInstallation.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 +10 -8
- package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/actionTypeCollectionOptions.js +105 -212
- package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
- package/lib/meta/convertMetaActionType.d.ts +4 -2
- package/lib/meta/convertMetaActionType.d.ts.map +1 -1
- package/lib/meta/convertMetaActionType.js +32 -32
- 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 +39 -45
- package/lib/meta/convertMetaLinkType.js.map +1 -1
- package/lib/meta/convertMetaLoadSubsetOptions.d.ts +12 -10
- package/lib/meta/convertMetaLoadSubsetOptions.d.ts.map +1 -1
- package/lib/meta/convertMetaLoadSubsetOptions.js +42 -58
- package/lib/meta/convertMetaLoadSubsetOptions.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 +36 -40
- 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 +27 -25
- package/lib/meta/convertMetaQueryFunctionType.js.map +1 -1
- package/lib/meta/convertMetaTypeDef.d.ts +10 -8
- package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
- package/lib/meta/convertMetaTypeDef.js +196 -188
- package/lib/meta/convertMetaTypeDef.js.map +1 -1
- package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts +19 -17
- package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js +38 -40
- package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js.map +1 -1
- package/lib/meta/entityCollectionOptions.d.ts +10 -8
- package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
- package/lib/meta/entityCollectionOptions.js +73 -82
- package/lib/meta/entityCollectionOptions.js.map +1 -1
- package/lib/meta/index.d.ts +7 -7
- package/lib/meta/index.js +7 -7
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.js +53 -91
- package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
- package/lib/meta/synthesizeCrudActionTypes.d.ts +4 -2
- package/lib/meta/synthesizeCrudActionTypes.d.ts.map +1 -1
- package/lib/meta/synthesizeCrudActionTypes.js +77 -116
- package/lib/meta/synthesizeCrudActionTypes.js.map +1 -1
- package/lib/standardActions.d.ts +2 -0
- package/lib/standardActions.d.ts.map +1 -1
- package/lib/standardActions.js +22 -20
- package/lib/standardActions.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 +20 -23
- package/lib/utils/AsyncIterable.js.map +1 -1
- package/lib/utils/ids.d.ts +2 -0
- package/lib/utils/ids.d.ts.map +1 -1
- package/lib/utils/ids.js +23 -19
- package/lib/utils/ids.js.map +1 -1
- package/package.json +18 -24
- 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 -80
- package/lib/adapter/convertLoadSubsetOptions.test.js.map +0 -1
- package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts +0 -2
- package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts.map +0 -1
- package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js +0 -394
- package/lib/adapter/createSalesforceOntologyBackendAdapter.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 -160
- package/lib/adapter/objectCollectionOptions.test.js.map +0 -1
- package/lib/adapter/salesforceCodec.test.d.ts +0 -2
- package/lib/adapter/salesforceCodec.test.d.ts.map +0 -1
- package/lib/adapter/salesforceCodec.test.js +0 -57
- package/lib/adapter/salesforceCodec.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 -177
- 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 -189
- package/lib/connection.test.js.map +0 -1
- package/lib/crud.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/installation/createSalesforceBackendInstallation.test.d.ts +0 -2
- package/lib/installation/createSalesforceBackendInstallation.test.d.ts.map +0 -1
- package/lib/installation/createSalesforceBackendInstallation.test.js +0 -55
- package/lib/installation/createSalesforceBackendInstallation.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 -192
- package/lib/meta/actionTypeCollectionOptions.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 -185
- package/lib/meta/convertMetaActionType.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 -187
- 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 -58
- package/lib/meta/convertMetaQueryFunctionType.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 -120
- 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/queryFunctionTypeCollectionOptions.test.d.ts +0 -2
- package/lib/meta/queryFunctionTypeCollectionOptions.test.d.ts.map +0 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.test.js +0 -71
- package/lib/meta/queryFunctionTypeCollectionOptions.test.js.map +0 -1
- package/lib/meta/synthesizeCrudActionTypes.test.d.ts +0 -2
- package/lib/meta/synthesizeCrudActionTypes.test.d.ts.map +0 -1
- package/lib/meta/synthesizeCrudActionTypes.test.js +0 -153
- package/lib/meta/synthesizeCrudActionTypes.test.js.map +0 -1
|
@@ -1,90 +1,81 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { queryCollectionOptions } from "@tanstack/query-db-collection";
|
|
3
|
-
import { salesforceObjectTypeId, } from "../utils/ids.js";
|
|
4
|
-
import { convertSalesforceMetaLinkTypes } from "./convertMetaLinkType.js";
|
|
1
|
+
import { salesforceObjectTypeId } from "../utils/ids.js";
|
|
5
2
|
import { convertMetaNameQuery } from "./convertMetaLoadSubsetOptions.js";
|
|
3
|
+
import { convertSalesforceMetaLinkTypes } from "./convertMetaLinkType.js";
|
|
6
4
|
import { convertSalesforceMetaObjectType } from "./convertMetaObjectType.js";
|
|
5
|
+
import { QueryClient } from "@tanstack/query-core";
|
|
6
|
+
import { queryCollectionOptions } from "@tanstack/query-db-collection";
|
|
7
|
+
//#region src/meta/entityCollectionOptions.ts
|
|
7
8
|
async function describeSObjects(client, names) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}));
|
|
16
|
-
return describes.filter((describe) => Boolean(describe));
|
|
9
|
+
return (await Promise.all([...new Set(names)].map(async (name) => {
|
|
10
|
+
try {
|
|
11
|
+
return await client.describeSObject(name);
|
|
12
|
+
} catch {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
}))).filter((describe) => Boolean(describe));
|
|
17
16
|
}
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.map((sObject) => ({
|
|
49
|
-
id: salesforceObjectTypeId(sObject.name),
|
|
50
|
-
name: sObject.name,
|
|
51
|
-
displayName: sObject.label,
|
|
52
|
-
pluralDisplayName: sObject.labelPlural,
|
|
53
|
-
primaryKey: "Id",
|
|
54
|
-
properties: [],
|
|
55
|
-
}));
|
|
56
|
-
},
|
|
57
|
-
});
|
|
17
|
+
function objectTypeCollectionOptions(opts) {
|
|
18
|
+
return queryCollectionOptions({
|
|
19
|
+
queryClient: new QueryClient(),
|
|
20
|
+
getKey: (row) => row.name,
|
|
21
|
+
queryKey: [
|
|
22
|
+
"salesforce",
|
|
23
|
+
"ontology",
|
|
24
|
+
"objectTypes",
|
|
25
|
+
opts.objectTypeNames ?? "all"
|
|
26
|
+
],
|
|
27
|
+
syncMode: "on-demand",
|
|
28
|
+
queryFn: async (ctx) => {
|
|
29
|
+
const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);
|
|
30
|
+
if (query.type === "getBatch") {
|
|
31
|
+
const allowlist = opts.objectTypeNames ? new Set(opts.objectTypeNames) : void 0;
|
|
32
|
+
const names = allowlist ? query.names.filter((name) => allowlist.has(name)) : query.names;
|
|
33
|
+
return (await describeSObjects(opts.client, names)).map(convertSalesforceMetaObjectType);
|
|
34
|
+
}
|
|
35
|
+
const global = await opts.client.describeGlobal();
|
|
36
|
+
const allowlist = opts.objectTypeNames ? new Set(opts.objectTypeNames) : void 0;
|
|
37
|
+
return global.sobjects.filter((sObject) => sObject.queryable && (!allowlist || allowlist.has(sObject.name))).map((sObject) => ({
|
|
38
|
+
id: salesforceObjectTypeId(sObject.name),
|
|
39
|
+
name: sObject.name,
|
|
40
|
+
displayName: sObject.label,
|
|
41
|
+
pluralDisplayName: sObject.labelPlural,
|
|
42
|
+
primaryKey: "Id",
|
|
43
|
+
properties: []
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
58
47
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
48
|
+
function valueTypeCollectionOptions() {
|
|
49
|
+
return queryCollectionOptions({
|
|
50
|
+
queryClient: new QueryClient(),
|
|
51
|
+
getKey: (row) => row.name,
|
|
52
|
+
queryKey: [
|
|
53
|
+
"salesforce",
|
|
54
|
+
"ontology",
|
|
55
|
+
"valueTypes"
|
|
56
|
+
],
|
|
57
|
+
syncMode: "on-demand",
|
|
58
|
+
queryFn: () => Promise.resolve([])
|
|
59
|
+
});
|
|
71
60
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
});
|
|
61
|
+
function linkTypeCollectionOptions(opts) {
|
|
62
|
+
return queryCollectionOptions({
|
|
63
|
+
queryClient: new QueryClient(),
|
|
64
|
+
getKey: (row) => row.id,
|
|
65
|
+
queryKey: [
|
|
66
|
+
"salesforce",
|
|
67
|
+
"ontology",
|
|
68
|
+
"linkTypes",
|
|
69
|
+
opts.objectTypeNames ?? []
|
|
70
|
+
],
|
|
71
|
+
syncMode: "on-demand",
|
|
72
|
+
queryFn: async () => {
|
|
73
|
+
if (!opts.objectTypeNames?.length) return [];
|
|
74
|
+
return convertSalesforceMetaLinkTypes(await describeSObjects(opts.client, opts.objectTypeNames));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
89
77
|
}
|
|
78
|
+
//#endregion
|
|
79
|
+
export { linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions };
|
|
80
|
+
|
|
90
81
|
//# sourceMappingURL=entityCollectionOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityCollectionOptions.js","
|
|
1
|
+
{"version":3,"file":"entityCollectionOptions.js","names":[],"sources":["../../src/meta/entityCollectionOptions.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/query-core\";\nimport { queryCollectionOptions } from \"@tanstack/query-db-collection\";\nimport { salesforceObjectTypeId } from \"../utils/ids.js\";\nimport { convertSalesforceMetaLinkTypes } from \"./convertMetaLinkType.js\";\nimport { convertMetaNameQuery } from \"./convertMetaLoadSubsetOptions.js\";\nimport { convertSalesforceMetaObjectType } from \"./convertMetaObjectType.js\";\nimport type { MetaObjectType, OntologyCollectionOptions } from \"@party-stack/ontology\";\nimport type { SalesforceClient, SalesforceSObjectDescribe } from \"@party-stack/salesforce-client\";\n\nexport interface MetaEntityStoreOpts {\n client: SalesforceClient;\n /**\n * Optional allowlist of sObject API names. When omitted, all queryable\n * sObjects from the global describe are loaded.\n */\n objectTypeNames?: string[];\n}\n\nasync function describeSObjects(\n client: SalesforceClient,\n names: readonly string[]\n): Promise<SalesforceSObjectDescribe[]> {\n const describes = await Promise.all(\n [...new Set(names)].map(async (name) => {\n try {\n return await client.describeSObject(name);\n } catch {\n return undefined;\n }\n })\n );\n return describes.filter((describe): describe is SalesforceSObjectDescribe => Boolean(describe));\n}\n\nexport function objectTypeCollectionOptions(opts: MetaEntityStoreOpts): OntologyCollectionOptions {\n return queryCollectionOptions<MetaObjectType>({\n queryClient: new QueryClient(),\n getKey: (row) => row.name,\n queryKey: [\"salesforce\", \"ontology\", \"objectTypes\", opts.objectTypeNames ?? \"all\"],\n syncMode: \"on-demand\",\n queryFn: async (ctx) => {\n const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);\n if (query.type === \"getBatch\") {\n const allowlist = opts.objectTypeNames ? new Set(opts.objectTypeNames) : undefined;\n const names = allowlist ? query.names.filter((name) => allowlist.has(name)) : query.names;\n return (await describeSObjects(opts.client, names)).map(convertSalesforceMetaObjectType);\n }\n const global = await opts.client.describeGlobal();\n const allowlist = opts.objectTypeNames ? new Set(opts.objectTypeNames) : undefined;\n return global.sobjects\n .filter((sObject) => sObject.queryable && (!allowlist || allowlist.has(sObject.name)))\n .map((sObject): MetaObjectType => ({\n id: salesforceObjectTypeId(sObject.name),\n name: sObject.name,\n displayName: sObject.label,\n pluralDisplayName: sObject.labelPlural,\n primaryKey: \"Id\",\n properties: [],\n }));\n },\n }) as unknown as OntologyCollectionOptions;\n}\n\nexport function valueTypeCollectionOptions(): OntologyCollectionOptions {\n return queryCollectionOptions({\n queryClient: new QueryClient(),\n getKey: (row: { name: string }) => row.name,\n queryKey: [\"salesforce\", \"ontology\", \"valueTypes\"],\n syncMode: \"on-demand\",\n queryFn: () => Promise.resolve([]),\n }) as unknown as OntologyCollectionOptions;\n}\n\nexport function linkTypeCollectionOptions(opts: MetaEntityStoreOpts): OntologyCollectionOptions {\n return queryCollectionOptions({\n queryClient: new QueryClient(),\n getKey: (row: { id: string }) => row.id,\n queryKey: [\"salesforce\", \"ontology\", \"linkTypes\", opts.objectTypeNames ?? []],\n syncMode: \"on-demand\",\n queryFn: async () => {\n if (!opts.objectTypeNames?.length) return [];\n return convertSalesforceMetaLinkTypes(await describeSObjects(opts.client, opts.objectTypeNames));\n },\n }) as unknown as OntologyCollectionOptions;\n}\n"],"mappings":";;;;;;;AAkBA,eAAe,iBACX,QACA,OACoC;CAUpC,QAAO,MATiB,QAAQ,IAC5B,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,SAAS;EACpC,IAAI;GACA,OAAO,MAAM,OAAO,gBAAgB,IAAI;EAC5C,QAAQ;GACJ;EACJ;CACJ,CAAC,CACL,EAAA,CACiB,QAAQ,aAAoD,QAAQ,QAAQ,CAAC;AAClG;AAEA,SAAgB,4BAA4B,MAAsD;CAC9F,OAAO,uBAAuC;EAC1C,aAAa,IAAI,YAAY;EAC7B,SAAS,QAAQ,IAAI;EACrB,UAAU;GAAC;GAAc;GAAY;GAAe,KAAK,mBAAmB;EAAK;EACjF,UAAU;EACV,SAAS,OAAO,QAAQ;GACpB,MAAM,QAAQ,qBAAqB,IAAI,MAAM,iBAAiB;GAC9D,IAAI,MAAM,SAAS,YAAY;IAC3B,MAAM,YAAY,KAAK,kBAAkB,IAAI,IAAI,KAAK,eAAe,IAAI,KAAA;IACzE,MAAM,QAAQ,YAAY,MAAM,MAAM,QAAQ,SAAS,UAAU,IAAI,IAAI,CAAC,IAAI,MAAM;IACpF,QAAQ,MAAM,iBAAiB,KAAK,QAAQ,KAAK,EAAA,CAAG,IAAI,+BAA+B;GAC3F;GACA,MAAM,SAAS,MAAM,KAAK,OAAO,eAAe;GAChD,MAAM,YAAY,KAAK,kBAAkB,IAAI,IAAI,KAAK,eAAe,IAAI,KAAA;GACzE,OAAO,OAAO,SACT,QAAQ,YAAY,QAAQ,cAAc,CAAC,aAAa,UAAU,IAAI,QAAQ,IAAI,EAAE,CAAC,CACrF,KAAK,aAA6B;IAC/B,IAAI,uBAAuB,QAAQ,IAAI;IACvC,MAAM,QAAQ;IACd,aAAa,QAAQ;IACrB,mBAAmB,QAAQ;IAC3B,YAAY;IACZ,YAAY,CAAC;GACjB,EAAE;EACV;CACJ,CAAC;AACL;AAEA,SAAgB,6BAAwD;CACpE,OAAO,uBAAuB;EAC1B,aAAa,IAAI,YAAY;EAC7B,SAAS,QAA0B,IAAI;EACvC,UAAU;GAAC;GAAc;GAAY;EAAY;EACjD,UAAU;EACV,eAAe,QAAQ,QAAQ,CAAC,CAAC;CACrC,CAAC;AACL;AAEA,SAAgB,0BAA0B,MAAsD;CAC5F,OAAO,uBAAuB;EAC1B,aAAa,IAAI,YAAY;EAC7B,SAAS,QAAwB,IAAI;EACrC,UAAU;GAAC;GAAc;GAAY;GAAa,KAAK,mBAAmB,CAAC;EAAC;EAC5E,UAAU;EACV,SAAS,YAAY;GACjB,IAAI,CAAC,KAAK,iBAAiB,QAAQ,OAAO,CAAC;GAC3C,OAAO,+BAA+B,MAAM,iBAAiB,KAAK,QAAQ,KAAK,eAAe,CAAC;EACnG;CACJ,CAAC;AACL"}
|
package/lib/meta/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { ActionTypeCollectionOpts, actionTypeCollectionOptions } from "./actionTypeCollectionOptions.js";
|
|
2
|
+
import { convertSalesforceMetaActionType, convertSalesforceMetaStandardActionType } from "./convertMetaActionType.js";
|
|
3
|
+
import { convertSalesforceMetaLinkTypes } from "./convertMetaLinkType.js";
|
|
4
|
+
import { convertSalesforceMetaObjectType } from "./convertMetaObjectType.js";
|
|
5
|
+
import { CreateSalesforceMetaOntologyBackendAdapterOpts, createSalesforceMetaOntologyBackendAdapter } from "./createSalesforceMetaOntologyBackendAdapter.js";
|
|
6
|
+
import { MetaEntityStoreOpts, linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions } from "./entityCollectionOptions.js";
|
|
7
|
+
export { ActionTypeCollectionOpts, CreateSalesforceMetaOntologyBackendAdapterOpts, MetaEntityStoreOpts, actionTypeCollectionOptions, convertSalesforceMetaActionType, convertSalesforceMetaLinkTypes, convertSalesforceMetaObjectType, convertSalesforceMetaStandardActionType, createSalesforceMetaOntologyBackendAdapter, linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions };
|
package/lib/meta/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { convertSalesforceMetaActionType, convertSalesforceMetaStandardActionType } from "./convertMetaActionType.js";
|
|
2
|
+
import { actionTypeCollectionOptions } from "./actionTypeCollectionOptions.js";
|
|
3
|
+
import { convertSalesforceMetaLinkTypes } from "./convertMetaLinkType.js";
|
|
4
|
+
import { convertSalesforceMetaObjectType } from "./convertMetaObjectType.js";
|
|
5
|
+
import { linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions } from "./entityCollectionOptions.js";
|
|
6
|
+
import { createSalesforceMetaOntologyBackendAdapter } from "./createSalesforceMetaOntologyBackendAdapter.js";
|
|
7
|
+
export { actionTypeCollectionOptions, convertSalesforceMetaActionType, convertSalesforceMetaLinkTypes, convertSalesforceMetaObjectType, convertSalesforceMetaStandardActionType, createSalesforceMetaOntologyBackendAdapter, linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions };
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { SalesforceClient } from "@party-stack/salesforce-client";
|
|
2
|
+
import { OntologyCollectionOptions } from "@party-stack/ontology";
|
|
1
3
|
import { QueryClient } from "@tanstack/query-core";
|
|
2
|
-
|
|
3
|
-
import type { SalesforceClient } from "@party-stack/salesforce-client";
|
|
4
|
+
//#region src/meta/queryFunctionTypeCollectionOptions.d.ts
|
|
4
5
|
export declare function queryFunctionTypeCollectionOptions(opts: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
client: SalesforceClient;
|
|
7
|
+
standardQueryFunctionTypeNames?: string[];
|
|
8
|
+
queryClient?: QueryClient;
|
|
8
9
|
}): OntologyCollectionOptions;
|
|
10
|
+
//#endregion
|
|
9
11
|
//# sourceMappingURL=queryFunctionTypeCollectionOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryFunctionTypeCollectionOptions.d.ts","
|
|
1
|
+
{"version":3,"file":"queryFunctionTypeCollectionOptions.d.ts","names":[],"sources":["../../src/meta/queryFunctionTypeCollectionOptions.ts"],"mappings":";;;;wBAmCgB,mCAAmC;EAC/C,QAAQ;EACR;EACA,cAAc;IACd"}
|
|
@@ -1,97 +1,59 @@
|
|
|
1
|
-
import { QueryClient } from "@tanstack/query-core";
|
|
2
|
-
import { queryCollectionOptions } from "@tanstack/query-db-collection";
|
|
3
1
|
import { classifySalesforceStandardAction } from "../standardActions.js";
|
|
4
|
-
import { convertMetaNameQuery, matchesMetaNameQuery
|
|
2
|
+
import { convertMetaNameQuery, matchesMetaNameQuery } from "./convertMetaLoadSubsetOptions.js";
|
|
5
3
|
import { convertSalesforceMetaStandardQueryFunctionType } from "./convertMetaQueryFunctionType.js";
|
|
4
|
+
import { QueryClient } from "@tanstack/query-core";
|
|
5
|
+
import { queryCollectionOptions } from "@tanstack/query-db-collection";
|
|
6
|
+
//#region src/meta/queryFunctionTypeCollectionOptions.ts
|
|
6
7
|
async function describeStandardActions(client, names) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
return await client.describeStandardAction(name);
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
8
|
+
if (typeof client.describeStandardActions === "function") try {
|
|
9
|
+
return await client.describeStandardActions(names);
|
|
10
|
+
} catch {}
|
|
11
|
+
return Promise.all(names.map(async (name) => {
|
|
12
|
+
try {
|
|
13
|
+
return await client.describeStandardAction(name);
|
|
14
|
+
} catch {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
24
18
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"queryFunction"))
|
|
62
|
-
.map((name) => ({
|
|
63
|
-
name,
|
|
64
|
-
displayName: summaries?.find((summary) => summary.name === name)?.label ?? name,
|
|
65
|
-
}))
|
|
66
|
-
.filter((candidate) => matchesMetaNameQuery(query, candidate));
|
|
67
|
-
const offset = Math.max(0, Math.trunc(ctx.meta?.loadSubsetOptions
|
|
68
|
-
?.offset ?? 0));
|
|
69
|
-
const limit = ctx.meta?.loadSubsetOptions?.limit;
|
|
70
|
-
const names = (requestedNames
|
|
71
|
-
? candidates
|
|
72
|
-
: candidates.slice(offset, limit === undefined
|
|
73
|
-
? undefined
|
|
74
|
-
: offset +
|
|
75
|
-
Math.max(0, Math.trunc(limit)))).map((candidate) => candidate.name);
|
|
76
|
-
const describes = (await describeStandardActions(opts.client, names)).filter((describe) => Boolean(describe));
|
|
77
|
-
const sObjectNames = new Set();
|
|
78
|
-
for (const describe of describes) {
|
|
79
|
-
for (const parameter of [
|
|
80
|
-
...(describe.inputs ?? []),
|
|
81
|
-
...(describe.outputs ?? []),
|
|
82
|
-
]) {
|
|
83
|
-
const name = parameter.sobjectType ??
|
|
84
|
-
parameter.sObjectType;
|
|
85
|
-
if (name)
|
|
86
|
-
sObjectNames.add(name);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
const sObjectDescribes = new Map(await Promise.all([...sObjectNames].map(async (name) => [
|
|
90
|
-
name,
|
|
91
|
-
await opts.client.describeSObject(name),
|
|
92
|
-
])));
|
|
93
|
-
return describes.map((describe) => convertSalesforceMetaStandardQueryFunctionType(describe, sObjectDescribes));
|
|
94
|
-
},
|
|
95
|
-
});
|
|
19
|
+
function queryFunctionTypeCollectionOptions(opts) {
|
|
20
|
+
return queryCollectionOptions({
|
|
21
|
+
queryClient: opts.queryClient ?? new QueryClient(),
|
|
22
|
+
getKey: (row) => row.name,
|
|
23
|
+
queryKey: [
|
|
24
|
+
"salesforce",
|
|
25
|
+
"ontology",
|
|
26
|
+
"queryFunctionTypes",
|
|
27
|
+
opts.standardQueryFunctionTypeNames ?? []
|
|
28
|
+
],
|
|
29
|
+
syncMode: "on-demand",
|
|
30
|
+
queryFn: async (ctx) => {
|
|
31
|
+
const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);
|
|
32
|
+
let summaries;
|
|
33
|
+
if (query.type !== "getBatch" && !opts.standardQueryFunctionTypeNames) {
|
|
34
|
+
const response = await opts.client.listStandardActions();
|
|
35
|
+
summaries = Array.isArray(response) ? response : Array.isArray(response.actions) ? response.actions : Object.keys(response).map((name) => ({ name }));
|
|
36
|
+
}
|
|
37
|
+
const requestedNames = query.type === "getBatch" ? new Set(query.names) : void 0;
|
|
38
|
+
const candidates = (opts.standardQueryFunctionTypeNames ?? (requestedNames ? [...requestedNames] : summaries?.map((summary) => summary.name) ?? [])).filter((name) => (!requestedNames || requestedNames.has(name)) && (opts.standardQueryFunctionTypeNames !== void 0 || classifySalesforceStandardAction(name) === "queryFunction")).map((name) => ({
|
|
39
|
+
name,
|
|
40
|
+
displayName: summaries?.find((summary) => summary.name === name)?.label ?? name
|
|
41
|
+
})).filter((candidate) => matchesMetaNameQuery(query, candidate));
|
|
42
|
+
const offset = Math.max(0, Math.trunc(ctx.meta?.loadSubsetOptions?.offset ?? 0));
|
|
43
|
+
const limit = ctx.meta?.loadSubsetOptions?.limit;
|
|
44
|
+
const names = (requestedNames ? candidates : candidates.slice(offset, limit === void 0 ? void 0 : offset + Math.max(0, Math.trunc(limit)))).map((candidate) => candidate.name);
|
|
45
|
+
const describes = (await describeStandardActions(opts.client, names)).filter((describe) => Boolean(describe));
|
|
46
|
+
const sObjectNames = /* @__PURE__ */ new Set();
|
|
47
|
+
for (const describe of describes) for (const parameter of [...describe.inputs ?? [], ...describe.outputs ?? []]) {
|
|
48
|
+
const name = parameter.sobjectType ?? parameter.sObjectType;
|
|
49
|
+
if (name) sObjectNames.add(name);
|
|
50
|
+
}
|
|
51
|
+
const sObjectDescribes = new Map(await Promise.all([...sObjectNames].map(async (name) => [name, await opts.client.describeSObject(name)])));
|
|
52
|
+
return describes.map((describe) => convertSalesforceMetaStandardQueryFunctionType(describe, sObjectDescribes));
|
|
53
|
+
}
|
|
54
|
+
});
|
|
96
55
|
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { queryFunctionTypeCollectionOptions };
|
|
58
|
+
|
|
97
59
|
//# sourceMappingURL=queryFunctionTypeCollectionOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryFunctionTypeCollectionOptions.js","
|
|
1
|
+
{"version":3,"file":"queryFunctionTypeCollectionOptions.js","names":[],"sources":["../../src/meta/queryFunctionTypeCollectionOptions.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/query-core\";\nimport { queryCollectionOptions } from \"@tanstack/query-db-collection\";\nimport { classifySalesforceStandardAction } from \"../standardActions.js\";\nimport { convertMetaNameQuery, matchesMetaNameQuery } from \"./convertMetaLoadSubsetOptions.js\";\nimport { convertSalesforceMetaStandardQueryFunctionType } from \"./convertMetaQueryFunctionType.js\";\nimport type { OntologyCollectionOptions, QueryFunctionTypeDef } from \"@party-stack/ontology\";\nimport type {\n SalesforceClient,\n SalesforceInvocableActionDescribe,\n SalesforceInvocableActionSummary,\n SalesforceSObjectDescribe,\n} from \"@party-stack/salesforce-client\";\n\nasync function describeStandardActions(\n client: SalesforceClient,\n names: readonly string[]\n): Promise<Array<SalesforceInvocableActionDescribe | undefined>> {\n if (typeof client.describeStandardActions === \"function\") {\n try {\n return await client.describeStandardActions(names);\n } catch {\n // Fall through when Composite API access is unavailable.\n }\n }\n return Promise.all(\n names.map(async (name) => {\n try {\n return await client.describeStandardAction(name);\n } catch {\n return undefined;\n }\n })\n );\n}\n\nexport function queryFunctionTypeCollectionOptions(opts: {\n client: SalesforceClient;\n standardQueryFunctionTypeNames?: string[];\n queryClient?: QueryClient;\n}): OntologyCollectionOptions {\n return queryCollectionOptions<QueryFunctionTypeDef>({\n queryClient: opts.queryClient ?? new QueryClient(),\n getKey: (row) => row.name,\n queryKey: [\"salesforce\", \"ontology\", \"queryFunctionTypes\", opts.standardQueryFunctionTypeNames ?? []],\n syncMode: \"on-demand\",\n queryFn: async (ctx) => {\n const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);\n let summaries: SalesforceInvocableActionSummary[] | undefined;\n if (query.type !== \"getBatch\" && !opts.standardQueryFunctionTypeNames) {\n const response = await opts.client.listStandardActions();\n summaries = Array.isArray(response)\n ? response\n : Array.isArray(response.actions)\n ? response.actions\n : Object.keys(response).map((name) => ({ name }));\n }\n const requestedNames = query.type === \"getBatch\" ? new Set(query.names) : undefined;\n const candidates = (\n opts.standardQueryFunctionTypeNames ??\n (requestedNames ? [...requestedNames] : (summaries?.map((summary) => summary.name) ?? []))\n )\n .filter(\n (name) =>\n (!requestedNames || requestedNames.has(name)) &&\n (opts.standardQueryFunctionTypeNames !== undefined ||\n classifySalesforceStandardAction(name) === \"queryFunction\")\n )\n .map((name) => ({\n name,\n displayName: summaries?.find((summary) => summary.name === name)?.label ?? name,\n }))\n .filter((candidate) => matchesMetaNameQuery(query, candidate));\n const offset = Math.max(0, Math.trunc(ctx.meta?.loadSubsetOptions?.offset ?? 0));\n const limit = ctx.meta?.loadSubsetOptions?.limit;\n const names = (\n requestedNames\n ? candidates\n : candidates.slice(\n offset,\n limit === undefined ? undefined : offset + Math.max(0, Math.trunc(limit))\n )\n ).map((candidate) => candidate.name);\n const describes = (await describeStandardActions(opts.client, names)).filter(\n (describe): describe is SalesforceInvocableActionDescribe => Boolean(describe)\n );\n const sObjectNames = new Set<string>();\n for (const describe of describes) {\n for (const parameter of [...(describe.inputs ?? []), ...(describe.outputs ?? [])]) {\n const name = parameter.sobjectType ?? parameter.sObjectType;\n if (name) sObjectNames.add(name);\n }\n }\n const sObjectDescribes = new Map<string, SalesforceSObjectDescribe>(\n await Promise.all(\n [...sObjectNames].map(\n async (name) => [name, await opts.client.describeSObject(name)] as const\n )\n )\n );\n return describes.map((describe) =>\n convertSalesforceMetaStandardQueryFunctionType(describe, sObjectDescribes)\n );\n },\n }) as unknown as OntologyCollectionOptions;\n}\n"],"mappings":";;;;;;AAaA,eAAe,wBACX,QACA,OAC6D;CAC7D,IAAI,OAAO,OAAO,4BAA4B,YAC1C,IAAI;EACA,OAAO,MAAM,OAAO,wBAAwB,KAAK;CACrD,QAAQ,CAER;CAEJ,OAAO,QAAQ,IACX,MAAM,IAAI,OAAO,SAAS;EACtB,IAAI;GACA,OAAO,MAAM,OAAO,uBAAuB,IAAI;EACnD,QAAQ;GACJ;EACJ;CACJ,CAAC,CACL;AACJ;AAEA,SAAgB,mCAAmC,MAIrB;CAC1B,OAAO,uBAA6C;EAChD,aAAa,KAAK,eAAe,IAAI,YAAY;EACjD,SAAS,QAAQ,IAAI;EACrB,UAAU;GAAC;GAAc;GAAY;GAAsB,KAAK,kCAAkC,CAAC;EAAC;EACpG,UAAU;EACV,SAAS,OAAO,QAAQ;GACpB,MAAM,QAAQ,qBAAqB,IAAI,MAAM,iBAAiB;GAC9D,IAAI;GACJ,IAAI,MAAM,SAAS,cAAc,CAAC,KAAK,gCAAgC;IACnE,MAAM,WAAW,MAAM,KAAK,OAAO,oBAAoB;IACvD,YAAY,MAAM,QAAQ,QAAQ,IAC5B,WACA,MAAM,QAAQ,SAAS,OAAO,IAC5B,SAAS,UACT,OAAO,KAAK,QAAQ,CAAC,CAAC,KAAK,UAAU,EAAE,KAAK,EAAE;GAC1D;GACA,MAAM,iBAAiB,MAAM,SAAS,aAAa,IAAI,IAAI,MAAM,KAAK,IAAI,KAAA;GAC1E,MAAM,cACF,KAAK,mCACJ,iBAAiB,CAAC,GAAG,cAAc,IAAK,WAAW,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,GAAA,CAEtF,QACI,UACI,CAAC,kBAAkB,eAAe,IAAI,IAAI,OAC1C,KAAK,mCAAmC,KAAA,KACrC,iCAAiC,IAAI,MAAM,gBACvD,CAAC,CACA,KAAK,UAAU;IACZ;IACA,aAAa,WAAW,MAAM,YAAY,QAAQ,SAAS,IAAI,CAAC,EAAE,SAAS;GAC/E,EAAE,CAAC,CACF,QAAQ,cAAc,qBAAqB,OAAO,SAAS,CAAC;GACjE,MAAM,SAAS,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,MAAM,mBAAmB,UAAU,CAAC,CAAC;GAC/E,MAAM,QAAQ,IAAI,MAAM,mBAAmB;GAC3C,MAAM,SACF,iBACM,aACA,WAAW,MACP,QACA,UAAU,KAAA,IAAY,KAAA,IAAY,SAAS,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,CAAC,CAC5E,EAAA,CACR,KAAK,cAAc,UAAU,IAAI;GACnC,MAAM,aAAa,MAAM,wBAAwB,KAAK,QAAQ,KAAK,EAAA,CAAG,QACjE,aAA4D,QAAQ,QAAQ,CACjF;GACA,MAAM,+BAAe,IAAI,IAAY;GACrC,KAAK,MAAM,YAAY,WACnB,KAAK,MAAM,aAAa,CAAC,GAAI,SAAS,UAAU,CAAC,GAAI,GAAI,SAAS,WAAW,CAAC,CAAE,GAAG;IAC/E,MAAM,OAAO,UAAU,eAAe,UAAU;IAChD,IAAI,MAAM,aAAa,IAAI,IAAI;GACnC;GAEJ,MAAM,mBAAmB,IAAI,IACzB,MAAM,QAAQ,IACV,CAAC,GAAG,YAAY,CAAC,CAAC,IACd,OAAO,SAAS,CAAC,MAAM,MAAM,KAAK,OAAO,gBAAgB,IAAI,CAAC,CAClE,CACJ,CACJ;GACA,OAAO,UAAU,KAAK,aAClB,+CAA+C,UAAU,gBAAgB,CAC7E;EACJ;CACJ,CAAC;AACL"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { SalesforceSObjectDescribe } from "@party-stack/salesforce-client";
|
|
2
|
+
import { MetaActionType } from "@party-stack/ontology";
|
|
3
|
+
//#region src/meta/synthesizeCrudActionTypes.d.ts
|
|
3
4
|
export declare function synthesizeSalesforceCrudActionTypes(describe: SalesforceSObjectDescribe): MetaActionType[];
|
|
5
|
+
//#endregion
|
|
4
6
|
//# sourceMappingURL=synthesizeCrudActionTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesizeCrudActionTypes.d.ts","
|
|
1
|
+
{"version":3,"file":"synthesizeCrudActionTypes.d.ts","names":[],"sources":["../../src/meta/synthesizeCrudActionTypes.ts"],"mappings":";;;wBAiGgB,oCAAoC,UAAU,4BAA4B"}
|