@osdk/client 2.8.0-beta.29 → 2.8.0-beta.30
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/CHANGELOG.md +13 -0
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js +9 -2
- package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +30 -10
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/util/UserAgent.js +2 -2
- package/build/browser/util/extractRdpDefinition.js +15 -0
- package/build/browser/util/extractRdpDefinition.js.map +1 -1
- package/build/cjs/{chunk-XYZOCIVH.cjs → chunk-3QMUE6AG.cjs} +46 -39
- package/build/cjs/chunk-3QMUE6AG.cjs.map +1 -0
- package/build/cjs/{chunk-KGWUPXAM.cjs → chunk-ZZ6DP3W4.cjs} +22 -7
- package/build/cjs/chunk-ZZ6DP3W4.cjs.map +1 -0
- package/build/cjs/index.cjs +10 -10
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/unstable-do-not-use.cjs +67 -67
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js +9 -2
- package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +30 -10
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/util/UserAgent.js +2 -2
- package/build/esm/util/extractRdpDefinition.js +15 -0
- package/build/esm/util/extractRdpDefinition.js.map +1 -1
- package/build/types/objectSet/createObjectSet.d.ts.map +1 -1
- package/package.json +7 -7
- package/build/cjs/chunk-KGWUPXAM.cjs.map +0 -1
- package/build/cjs/chunk-XYZOCIVH.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @osdk/client
|
|
2
2
|
|
|
3
|
+
## 2.8.0-beta.30
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 4ef6adc: Fix interface links off of objects
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [4ef6adc]
|
|
12
|
+
- @osdk/api@2.8.0-beta.30
|
|
13
|
+
- @osdk/client.unstable@2.8.0-beta.30
|
|
14
|
+
- @osdk/generator-converters@2.8.0-beta.30
|
|
15
|
+
|
|
3
16
|
## 2.8.0-beta.29
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
|
@@ -46,9 +46,16 @@ export function get$linkForInterface(holder) {
|
|
|
46
46
|
const objectSet = client.objectSetFactory(interfaceDef, client).intersect(client.objectSetFactory(objDef, client).where({
|
|
47
47
|
[objDef.primaryKeyApiName]: rawObj.$primaryKey
|
|
48
48
|
})).pivotTo(linkName);
|
|
49
|
+
const linkTargetDef = linkDef.targetType === "object" ? {
|
|
50
|
+
type: "object",
|
|
51
|
+
apiName: linkDef.targetTypeApiName
|
|
52
|
+
} : {
|
|
53
|
+
type: "interface",
|
|
54
|
+
apiName: linkDef.targetTypeApiName
|
|
55
|
+
};
|
|
49
56
|
const value = !linkDef.multiplicity ? {
|
|
50
|
-
fetchOne: options => fetchSingle(client,
|
|
51
|
-
fetchOneWithErrors: options => fetchSingleWithErrors(client,
|
|
57
|
+
fetchOne: options => fetchSingle(client, linkTargetDef, options ?? {}, getWireObjectSet(objectSet)),
|
|
58
|
+
fetchOneWithErrors: options => fetchSingleWithErrors(client, linkTargetDef, options ?? {}, getWireObjectSet(objectSet))
|
|
52
59
|
} : objectSet;
|
|
53
60
|
return [linkName, value];
|
|
54
61
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDollarLink.js","names":["getWireObjectSet","fetchSingle","fetchSingleWithErrors","ClientRef","InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","get$link","holder","client","objDef","rawObj","Object","freeze","fromEntries","keys","links","map","linkName","linkDef","objectSet","objectSetFactory","where","primaryKeyApiName","$primaryKey","pivotTo","value","multiplicity","fetchOne","options","fetchOneWithErrors","get$linkForInterface","interfaceDef","intersect"],"sources":["getDollarLink.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ObjectSet,\n OsdkObjectLinksObject,\n SelectArg,\n SingleLinkAccessor,\n WhereClause,\n} from \"@osdk/api\";\nimport { getWireObjectSet } from \"../../objectSet/createObjectSet.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../fetchSingle.js\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport {\n ClientRef,\n InterfaceDefRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\nexport function get$link(\n holder: ObjectHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[ClientRef];\n const objDef = holder[ObjectDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(objDef.links).map(\n (linkName) => {\n const linkDef = objDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>)\n .pivotTo(linkName);\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n fetchOneWithErrors: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingleWithErrors(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n } as SingleLinkAccessor<any>\n : objectSet;\n\n return [linkName, value];\n },\n ),\n ));\n}\n\n/** @internal */\nexport function get$linkForInterface(\n holder: InterfaceHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[UnderlyingOsdkObject][ClientRef];\n const objDef = holder[UnderlyingOsdkObject][ObjectDefRef];\n const interfaceDef = holder[InterfaceDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(interfaceDef.links).map(\n (linkName) => {\n const linkDef =\n interfaceDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(interfaceDef, client) as ObjectSet<any>)\n .intersect(\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>),\n )\n .pivotTo(linkName);\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n
|
|
1
|
+
{"version":3,"file":"getDollarLink.js","names":["getWireObjectSet","fetchSingle","fetchSingleWithErrors","ClientRef","InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","get$link","holder","client","objDef","rawObj","Object","freeze","fromEntries","keys","links","map","linkName","linkDef","objectSet","objectSetFactory","where","primaryKeyApiName","$primaryKey","pivotTo","value","multiplicity","fetchOne","options","fetchOneWithErrors","get$linkForInterface","interfaceDef","intersect","linkTargetDef","targetType","type","apiName","targetTypeApiName"],"sources":["getDollarLink.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ObjectSet,\n OsdkObjectLinksObject,\n SelectArg,\n SingleLinkAccessor,\n WhereClause,\n} from \"@osdk/api\";\nimport { getWireObjectSet } from \"../../objectSet/createObjectSet.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../fetchSingle.js\";\nimport type { InterfaceHolder } from \"./InterfaceHolder.js\";\nimport {\n ClientRef,\n InterfaceDefRef,\n ObjectDefRef,\n UnderlyingOsdkObject,\n} from \"./InternalSymbols.js\";\nimport type { ObjectHolder } from \"./ObjectHolder.js\";\n\n/** @internal */\nexport function get$link(\n holder: ObjectHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[ClientRef];\n const objDef = holder[ObjectDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(objDef.links).map(\n (linkName) => {\n const linkDef = objDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>)\n .pivotTo(linkName);\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n fetchOneWithErrors: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingleWithErrors(\n client,\n objDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n } as SingleLinkAccessor<any>\n : objectSet;\n\n return [linkName, value];\n },\n ),\n ));\n}\n\n/** @internal */\nexport function get$linkForInterface(\n holder: InterfaceHolder,\n): OsdkObjectLinksObject<any> {\n const client = holder[UnderlyingOsdkObject][ClientRef];\n const objDef = holder[UnderlyingOsdkObject][ObjectDefRef];\n const interfaceDef = holder[InterfaceDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(\n Object.keys(interfaceDef.links).map(\n (linkName) => {\n const linkDef =\n interfaceDef.links[linkName as keyof typeof objDef.links];\n const objectSet =\n (client.objectSetFactory(interfaceDef, client) as ObjectSet<any>)\n .intersect(\n (client.objectSetFactory(objDef, client) as ObjectSet<any>)\n .where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey,\n } as WhereClause<any>),\n )\n .pivotTo(linkName);\n\n const linkTargetDef = linkDef.targetType === \"object\"\n ? { type: \"object\" as const, apiName: linkDef.targetTypeApiName }\n : { type: \"interface\" as const, apiName: linkDef.targetTypeApiName };\n\n const value = !linkDef.multiplicity\n ? {\n fetchOne: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingle(\n client,\n linkTargetDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n fetchOneWithErrors: <A extends SelectArg<any, any, any, any>>(\n options?: A,\n ) =>\n fetchSingleWithErrors(\n client,\n linkTargetDef,\n options ?? {},\n getWireObjectSet(objectSet),\n ),\n } as SingleLinkAccessor<any>\n : objectSet;\n\n return [linkName, value];\n },\n ),\n ));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,SAASA,gBAAgB,QAAQ,oCAAoC;AACrE,SAASC,WAAW,EAAEC,qBAAqB,QAAQ,mBAAmB;AAEtE,SACEC,SAAS,EACTC,eAAe,EACfC,YAAY,EACZC,oBAAoB,QACf,sBAAsB;AAG7B;AACA,OAAO,SAASC,QAAQA,CACtBC,MAAoB,EACQ;EAC5B,MAAMC,MAAM,GAAGD,MAAM,CAACL,SAAS,CAAC;EAChC,MAAMO,MAAM,GAAGF,MAAM,CAACH,YAAY,CAAC;EACnC,MAAMM,MAAM,GAAGH,MAAM,CAACF,oBAAoB,CAAC;EAC3C,OAAOM,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,WAAW,CACrCF,MAAM,CAACG,IAAI,CAACL,MAAM,CAACM,KAAK,CAAC,CAACC,GAAG,CAC1BC,QAAQ,IAAK;IACZ,MAAMC,OAAO,GAAGT,MAAM,CAACM,KAAK,CAACE,QAAQ,CAA8B;IACnE,MAAME,SAAS,GACZX,MAAM,CAACY,gBAAgB,CAACX,MAAM,EAAED,MAAM,CAAC,CACrCa,KAAK,CAAC;MACL,CAACZ,MAAM,CAACa,iBAAiB,GAAGZ,MAAM,CAACa;IACrC,CAAqB,CAAC,CACrBC,OAAO,CAACP,QAAQ,CAAC;IAEtB,MAAMQ,KAAK,GAAG,CAACP,OAAO,CAACQ,YAAY,GAC/B;MACAC,QAAQ,EACNC,OAAW,IAEX5B,WAAW,CACTQ,MAAM,EACNC,MAAM,EACNmB,OAAO,IAAI,CAAC,CAAC,EACb7B,gBAAgB,CAACoB,SAAS,CAC5B,CAAC;MACHU,kBAAkB,EAChBD,OAAW,IAEX3B,qBAAqB,CACnBO,MAAM,EACNC,MAAM,EACNmB,OAAO,IAAI,CAAC,CAAC,EACb7B,gBAAgB,CAACoB,SAAS,CAC5B;IACJ,CAAC,GACCA,SAAS;IAEb,OAAO,CAACF,QAAQ,EAAEQ,KAAK,CAAC;EAC1B,CACF,CACF,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASK,oBAAoBA,CAClCvB,MAAuB,EACK;EAC5B,MAAMC,MAAM,GAAGD,MAAM,CAACF,oBAAoB,CAAC,CAACH,SAAS,CAAC;EACtD,MAAMO,MAAM,GAAGF,MAAM,CAACF,oBAAoB,CAAC,CAACD,YAAY,CAAC;EACzD,MAAM2B,YAAY,GAAGxB,MAAM,CAACJ,eAAe,CAAC;EAC5C,MAAMO,MAAM,GAAGH,MAAM,CAACF,oBAAoB,CAAC;EAC3C,OAAOM,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,WAAW,CACrCF,MAAM,CAACG,IAAI,CAACiB,YAAY,CAAChB,KAAK,CAAC,CAACC,GAAG,CAChCC,QAAQ,IAAK;IACZ,MAAMC,OAAO,GACXa,YAAY,CAAChB,KAAK,CAACE,QAAQ,CAA8B;IAC3D,MAAME,SAAS,GACZX,MAAM,CAACY,gBAAgB,CAACW,YAAY,EAAEvB,MAAM,CAAC,CAC3CwB,SAAS,CACPxB,MAAM,CAACY,gBAAgB,CAACX,MAAM,EAAED,MAAM,CAAC,CACrCa,KAAK,CAAC;MACL,CAACZ,MAAM,CAACa,iBAAiB,GAAGZ,MAAM,CAACa;IACrC,CAAqB,CACzB,CAAC,CACAC,OAAO,CAACP,QAAQ,CAAC;IAEtB,MAAMgB,aAAa,GAAGf,OAAO,CAACgB,UAAU,KAAK,QAAQ,GACjD;MAAEC,IAAI,EAAE,QAAiB;MAAEC,OAAO,EAAElB,OAAO,CAACmB;IAAkB,CAAC,GAC/D;MAAEF,IAAI,EAAE,WAAoB;MAAEC,OAAO,EAAElB,OAAO,CAACmB;IAAkB,CAAC;IAEtE,MAAMZ,KAAK,GAAG,CAACP,OAAO,CAACQ,YAAY,GAC/B;MACAC,QAAQ,EACNC,OAAW,IAEX5B,WAAW,CACTQ,MAAM,EACNyB,aAAa,EACbL,OAAO,IAAI,CAAC,CAAC,EACb7B,gBAAgB,CAACoB,SAAS,CAC5B,CAAC;MACHU,kBAAkB,EAChBD,OAAW,IAEX3B,qBAAqB,CACnBO,MAAM,EACNyB,aAAa,EACbL,OAAO,IAAI,CAAC,CAAC,EACb7B,gBAAgB,CAACoB,SAAS,CAC5B;IACJ,CAAC,GACCA,SAAS;IAEb,OAAO,CAACF,QAAQ,EAAEQ,KAAK,CAAC;EAC1B,CACF,CACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -24,6 +24,26 @@ import { augmentRequestContext } from "../util/augmentRequestContext.js";
|
|
|
24
24
|
import { resolveBaseObjectSetType } from "../util/objectSetUtils.js";
|
|
25
25
|
import { isWireObjectSet } from "../util/WireObjectSet.js";
|
|
26
26
|
import { fetchLinksPage } from "./fetchLinksPage.js";
|
|
27
|
+
const a = {
|
|
28
|
+
"type": "interfaceLinkSearchAround",
|
|
29
|
+
"interfaceLink": "lead",
|
|
30
|
+
"objectSet": {
|
|
31
|
+
"type": "asType",
|
|
32
|
+
"entityType": "Person",
|
|
33
|
+
"objectSet": {
|
|
34
|
+
"type": "filter",
|
|
35
|
+
"objectSet": {
|
|
36
|
+
"type": "base",
|
|
37
|
+
"objectType": "Employee"
|
|
38
|
+
},
|
|
39
|
+
"where": {
|
|
40
|
+
"type": "eq",
|
|
41
|
+
"field": "employeeNumber",
|
|
42
|
+
"value": "657495107"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
27
47
|
function isObjectTypeDefinition(def) {
|
|
28
48
|
return def.type === "object";
|
|
29
49
|
}
|
|
@@ -52,11 +72,11 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
|
|
|
52
72
|
where: clause => {
|
|
53
73
|
return clientCtx.objectSetFactory(objectType, clientCtx, {
|
|
54
74
|
type: "filter",
|
|
55
|
-
objectSet
|
|
75
|
+
objectSet,
|
|
56
76
|
where: modernToLegacyWhereClause(clause, objectType)
|
|
57
77
|
});
|
|
58
78
|
},
|
|
59
|
-
pivotTo
|
|
79
|
+
pivotTo(type) {
|
|
60
80
|
return createSearchAround(type)();
|
|
61
81
|
},
|
|
62
82
|
union: (...objectSets) => {
|
|
@@ -96,8 +116,8 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
|
|
|
96
116
|
query: nearestNeighborsQuery
|
|
97
117
|
});
|
|
98
118
|
},
|
|
99
|
-
|
|
100
|
-
let $nextPageToken
|
|
119
|
+
async *asyncIter(args) {
|
|
120
|
+
let $nextPageToken;
|
|
101
121
|
do {
|
|
102
122
|
const result = await fetchPageInternal(augmentRequestContext(clientCtx, () => ({
|
|
103
123
|
finalMethodCall: "asyncIter"
|
|
@@ -141,8 +161,8 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
|
|
|
141
161
|
}
|
|
142
162
|
return clientCtx.objectSetFactory(objectType, clientCtx, {
|
|
143
163
|
type: "withProperties",
|
|
144
|
-
derivedProperties
|
|
145
|
-
objectSet
|
|
164
|
+
derivedProperties,
|
|
165
|
+
objectSet
|
|
146
166
|
});
|
|
147
167
|
},
|
|
148
168
|
narrowToType: objectTypeDef => {
|
|
@@ -151,12 +171,12 @@ export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseOb
|
|
|
151
171
|
clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName] = objectTypeDef.type;
|
|
152
172
|
return clientCtx.objectSetFactory(objectTypeDef, clientCtx, {
|
|
153
173
|
type: "asType",
|
|
154
|
-
objectSet
|
|
174
|
+
objectSet,
|
|
155
175
|
entityType: objectTypeDef.apiName
|
|
156
176
|
});
|
|
157
177
|
},
|
|
158
|
-
|
|
159
|
-
let $nextPageToken
|
|
178
|
+
async *experimental_asyncIterLinks(links) {
|
|
179
|
+
let $nextPageToken;
|
|
160
180
|
do {
|
|
161
181
|
const result = await fetchLinksPage(augmentRequestContext(clientCtx, () => ({
|
|
162
182
|
finalMethodCall: "asyncIterLinks"
|
|
@@ -194,7 +214,7 @@ async function createWithPk(clientCtx, objectType, objectSet, primaryKey) {
|
|
|
194
214
|
const objDef = await clientCtx.ontologyProvider.getObjectDefinition(objectType.apiName);
|
|
195
215
|
const withPk = {
|
|
196
216
|
type: "filter",
|
|
197
|
-
objectSet
|
|
217
|
+
objectSet,
|
|
198
218
|
where: {
|
|
199
219
|
type: "eq",
|
|
200
220
|
field: objDef.primaryKeyApiName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createObjectSet.js","names":["invariant","createWithPropertiesObjectSet","modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","resolveBaseObjectSetType","isWireObjectSet","fetchLinksPage","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","nearestNeighbors","query","numNeighbors","property","nearestNeighborsQuery","isTextQuery","propertyIdentifier","apiName","asyncIter","args","$nextPageToken","undefined","result","$pageSize","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","fetchOneWithErrors","subscribe","listener","opts","pendingSubscribe","then","ObjectSetListenerWebsocket","getInstance","properties","includeRid","unsubscribe","withProperties","definitionMap","Map","derivedProperties","key","Object","keys","derivedPropertyDefinition","narrowToType","objectTypeDef","existingMapping","narrowTypeInterfaceOrObjectMapping","process","env","NODE_ENV","entityType","experimental_asyncIterLinks","links","$objectSetInternals","link","interfaceLink","set","objDef","ontologyProvider","getObjectDefinition","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AsyncIterArgs,\n Augments,\n FetchPageResult,\n InterfaceDefinition,\n LinkedType,\n LinkNames,\n LinkTypeApiNamesFor,\n MinimalDirectedObjectLinkInstance,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectSetArgs,\n ObjectSetSubscription,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n Result,\n SelectArg,\n SingleOsdkResult,\n} from \"@osdk/api\";\nimport type { MinimalObjectSet } from \"@osdk/api/unstable\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n PropertyApiName,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { createWithPropertiesObjectSet } from \"../derivedProperties/createWithPropertiesObjectSet.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport {\n fetchPageInternal,\n fetchPageWithErrorsInternal,\n} from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { fetchLinksPage } from \"./fetchLinksPage.js\";\n\nfunction isObjectTypeDefinition(\n def: ObjectOrInterfaceDefinition,\n): def is ObjectTypeDefinition {\n return def.type === \"object\";\n}\n\nexport function isObjectSet(\n o: object,\n): o is ObjectSet<ObjectOrInterfaceDefinition> {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\nexport function getWireObjectSet(\n objectSet: ObjectSet<any> | MinimalObjectSet<any>,\n): WireObjectSet {\n return objectSetDefinitions.get(objectSet)!;\n}\n\n/** @internal exported for internal use only */\nexport const objectSetDefinitions = new WeakMap<\n any,\n WireObjectSet\n>();\n\n/** @internal */\nexport function createObjectSet<Q extends ObjectOrInterfaceDefinition>(\n objectType: Q,\n clientCtx: MinimalClient,\n objectSet: WireObjectSet = resolveBaseObjectSetType(objectType),\n): ObjectSet<Q> {\n const base: ObjectSet<Q> = {\n aggregate: (aggregate<Q, any>).bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"aggregate\"],\n\n fetchPage: fetchPageInternal.bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPage\"],\n\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(\n globalThis,\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchPageWithErrors\" }),\n ),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPageWithErrors\"],\n\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n\n pivotTo: function<L extends LinkNames<Q>>(\n type: L,\n ): ObjectSet<LinkedType<Q, L>> {\n return createSearchAround(type)();\n },\n\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n nearestNeighbors: (query, numNeighbors, property) => {\n const nearestNeighborsQuery = isTextQuery(query)\n ? { \"type\": \"text\" as const, \"value\": query }\n : { \"type\": \"vector\" as const, \"value\": query };\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"nearestNeighbors\",\n objectSet,\n propertyIdentifier: {\n type: \"property\",\n apiName: property as PropertyApiName,\n },\n numNeighbors,\n query: nearestNeighborsQuery,\n },\n ) as ObjectSet<Q>;\n },\n\n asyncIter: async function*<\n L extends PropertyKeys<Q>,\n R extends boolean,\n const A extends Augments,\n S extends NullabilityAdherence = NullabilityAdherence.Default,\n T extends boolean = false,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L> = never,\n >(\n args?: AsyncIterArgs<Q, L, R, A, S, T, never, ORDER_BY_OPTIONS>,\n ): AsyncIterableIterator<\n SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>\n > {\n let $nextPageToken: string | undefined = undefined;\n do {\n const result: FetchPageResult<\n Q,\n L,\n R,\n S,\n T,\n ORDER_BY_OPTIONS\n > = await fetchPageInternal(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIter\" }),\n ),\n objectType,\n objectSet,\n { ...args, $pageSize: 10000, $nextPageToken },\n true,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj as SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>;\n }\n } while ($nextPageToken != null);\n },\n\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: PrimaryKeyType<Q>,\n options: A,\n ) => {\n return await fetchSingle(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOne\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Osdk<Q>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOne\"],\n\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: Q extends ObjectTypeDefinition ? PrimaryKeyType<Q>\n : never,\n options: A,\n ) => {\n return await fetchSingleWithErrors(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOneWithErrors\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Result<Osdk<Q>>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOneWithErrors\"],\n\n subscribe: (\n listener,\n opts,\n ) => {\n const pendingSubscribe = import(\"./ObjectSetListenerWebsocket.js\")\n .then(({ ObjectSetListenerWebsocket }) =>\n ObjectSetListenerWebsocket.getInstance(clientCtx)\n .subscribe(\n objectType,\n objectSet,\n listener as ObjectSetSubscription.Listener<Q, any>,\n opts?.properties,\n opts?.includeRid,\n )\n );\n\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n\n withProperties: (clause) => {\n const definitionMap = new Map<any, DerivedPropertyDefinition>();\n\n const derivedProperties: Record<string, DerivedPropertyDefinition> = {};\n for (const key of Object.keys(clause)) {\n const derivedPropertyDefinition = clause\n [key](createWithPropertiesObjectSet(\n objectType,\n { type: \"methodInput\" },\n definitionMap,\n true,\n ));\n derivedProperties[key] = definitionMap.get(\n derivedPropertyDefinition,\n )!;\n }\n\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"withProperties\",\n derivedProperties: derivedProperties,\n objectSet: objectSet,\n },\n );\n },\n\n narrowToType: (\n objectTypeDef: ObjectTypeDefinition | InterfaceDefinition,\n ) => {\n const existingMapping =\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName];\n invariant(\n !existingMapping || existingMapping === objectTypeDef.type,\n `${objectTypeDef.apiName} was previously used as an ${existingMapping}, but now used as a ${objectTypeDef.type}.`,\n );\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName] =\n objectTypeDef.type;\n\n return clientCtx.objectSetFactory(\n objectTypeDef,\n clientCtx,\n {\n type: \"asType\",\n objectSet: objectSet,\n entityType: objectTypeDef.apiName,\n },\n );\n },\n\n experimental_asyncIterLinks: async function*<\n LINK_TYPE_API_NAME extends LinkTypeApiNamesFor<Q>,\n >(\n links: LINK_TYPE_API_NAME[],\n ): AsyncIterableIterator<\n MinimalDirectedObjectLinkInstance<Q, LINK_TYPE_API_NAME>\n > {\n let $nextPageToken: string | undefined = undefined;\n do {\n const result = await fetchLinksPage(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIterLinks\" }),\n ),\n objectType,\n objectSet,\n links,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj;\n }\n } while ($nextPageToken != null);\n },\n\n $objectSetInternals: {\n def: objectType,\n },\n };\n\n function createSearchAround<L extends LinkNames<Q>>(link: L) {\n return () => {\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n objectType.type === \"object\"\n ? {\n type: \"searchAround\",\n objectSet,\n link,\n }\n : {\n type: \"interfaceLinkSearchAround\",\n objectSet,\n interfaceLink: link,\n },\n );\n };\n }\n\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base as ObjectSet<Q>;\n}\n\nasync function createWithPk(\n clientCtx: MinimalClient,\n objectType: ObjectTypeDefinition,\n objectSet: WireObjectSet,\n primaryKey: PrimaryKeyType<ObjectTypeDefinition>,\n) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n\n const withPk: WireObjectSet = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n\nfunction isTextQuery(query: string | number[]): query is string {\n return typeof query === \"string\";\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createObjectSet.js","names":["invariant","createWithPropertiesObjectSet","modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","resolveBaseObjectSetType","isWireObjectSet","fetchLinksPage","a","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","nearestNeighbors","query","numNeighbors","property","nearestNeighborsQuery","isTextQuery","propertyIdentifier","apiName","asyncIter","args","$nextPageToken","result","$pageSize","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","undefined","fetchOneWithErrors","subscribe","listener","opts","pendingSubscribe","then","ObjectSetListenerWebsocket","getInstance","properties","includeRid","unsubscribe","withProperties","definitionMap","Map","derivedProperties","key","Object","keys","derivedPropertyDefinition","narrowToType","objectTypeDef","existingMapping","narrowTypeInterfaceOrObjectMapping","process","env","NODE_ENV","entityType","experimental_asyncIterLinks","links","$objectSetInternals","link","interfaceLink","set","objDef","ontologyProvider","getObjectDefinition","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AsyncIterArgs,\n Augments,\n FetchPageResult,\n InterfaceDefinition,\n LinkedType,\n LinkNames,\n LinkTypeApiNamesFor,\n MinimalDirectedObjectLinkInstance,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectSetArgs,\n ObjectSetSubscription,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n Result,\n SelectArg,\n SingleOsdkResult,\n} from \"@osdk/api\";\nimport type { MinimalObjectSet } from \"@osdk/api/unstable\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n PropertyApiName,\n} from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { createWithPropertiesObjectSet } from \"../derivedProperties/createWithPropertiesObjectSet.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport {\n fetchPageInternal,\n fetchPageWithErrorsInternal,\n} from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { fetchLinksPage } from \"./fetchLinksPage.js\";\n\nconst a: WireObjectSet = {\n \"type\": \"interfaceLinkSearchAround\",\n \"interfaceLink\": \"lead\",\n \"objectSet\": {\n \"type\": \"asType\",\n \"entityType\": \"Person\",\n \"objectSet\": {\n \"type\": \"filter\",\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"Employee\" },\n \"where\": {\n \"type\": \"eq\",\n \"field\": \"employeeNumber\",\n \"value\": \"657495107\",\n },\n },\n },\n};\nfunction isObjectTypeDefinition(\n def: ObjectOrInterfaceDefinition,\n): def is ObjectTypeDefinition {\n return def.type === \"object\";\n}\n\nexport function isObjectSet(\n o: object,\n): o is ObjectSet<ObjectOrInterfaceDefinition> {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\nexport function getWireObjectSet(\n objectSet: ObjectSet<any> | MinimalObjectSet<any>,\n): WireObjectSet {\n return objectSetDefinitions.get(objectSet)!;\n}\n\n/** @internal exported for internal use only */\nexport const objectSetDefinitions = new WeakMap<\n any,\n WireObjectSet\n>();\n\n/** @internal */\nexport function createObjectSet<Q extends ObjectOrInterfaceDefinition>(\n objectType: Q,\n clientCtx: MinimalClient,\n objectSet: WireObjectSet = resolveBaseObjectSetType(objectType),\n): ObjectSet<Q> {\n const base: ObjectSet<Q> = {\n aggregate: (aggregate<Q, any>).bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"aggregate\"],\n\n fetchPage: fetchPageInternal.bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPage\"],\n\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(\n globalThis,\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchPageWithErrors\" }),\n ),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPageWithErrors\"],\n\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n\n pivotTo<L extends LinkNames<Q>>(\n type: L,\n ): ObjectSet<LinkedType<Q, L>> {\n return createSearchAround(type)();\n },\n\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n nearestNeighbors: (query, numNeighbors, property) => {\n const nearestNeighborsQuery = isTextQuery(query)\n ? { \"type\": \"text\" as const, \"value\": query }\n : { \"type\": \"vector\" as const, \"value\": query };\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"nearestNeighbors\",\n objectSet,\n propertyIdentifier: {\n type: \"property\",\n apiName: property as PropertyApiName,\n },\n numNeighbors,\n query: nearestNeighborsQuery,\n },\n ) as ObjectSet<Q>;\n },\n\n async *asyncIter<\n L extends PropertyKeys<Q>,\n R extends boolean,\n const A extends Augments,\n S extends NullabilityAdherence = NullabilityAdherence.Default,\n T extends boolean = false,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L> = never,\n >(\n args?: AsyncIterArgs<Q, L, R, A, S, T, never, ORDER_BY_OPTIONS>,\n ): AsyncIterableIterator<\n SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>\n > {\n let $nextPageToken: string | undefined;\n do {\n const result: FetchPageResult<\n Q,\n L,\n R,\n S,\n T,\n ORDER_BY_OPTIONS\n > = await fetchPageInternal(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIter\" }),\n ),\n objectType,\n objectSet,\n { ...args, $pageSize: 10000, $nextPageToken },\n true,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj as SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>;\n }\n } while ($nextPageToken != null);\n },\n\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: PrimaryKeyType<Q>,\n options: A,\n ) => {\n return await fetchSingle(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOne\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Osdk<Q>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOne\"],\n\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: Q extends ObjectTypeDefinition ? PrimaryKeyType<Q>\n : never,\n options: A,\n ) => {\n return await fetchSingleWithErrors(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOneWithErrors\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Result<Osdk<Q>>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOneWithErrors\"],\n\n subscribe: (\n listener,\n opts,\n ) => {\n const pendingSubscribe = import(\"./ObjectSetListenerWebsocket.js\")\n .then(({ ObjectSetListenerWebsocket }) =>\n ObjectSetListenerWebsocket.getInstance(clientCtx)\n .subscribe(\n objectType,\n objectSet,\n listener as ObjectSetSubscription.Listener<Q, any>,\n opts?.properties,\n opts?.includeRid,\n )\n );\n\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n\n withProperties: (clause) => {\n const definitionMap = new Map<any, DerivedPropertyDefinition>();\n\n const derivedProperties: Record<string, DerivedPropertyDefinition> = {};\n for (const key of Object.keys(clause)) {\n const derivedPropertyDefinition = clause\n [key](createWithPropertiesObjectSet(\n objectType,\n { type: \"methodInput\" },\n definitionMap,\n true,\n ));\n derivedProperties[key] = definitionMap.get(\n derivedPropertyDefinition,\n )!;\n }\n\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"withProperties\",\n derivedProperties,\n objectSet,\n },\n );\n },\n\n narrowToType: (\n objectTypeDef: ObjectTypeDefinition | InterfaceDefinition,\n ) => {\n const existingMapping =\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName];\n invariant(\n !existingMapping || existingMapping === objectTypeDef.type,\n `${objectTypeDef.apiName} was previously used as an ${existingMapping}, but now used as a ${objectTypeDef.type}.`,\n );\n clientCtx.narrowTypeInterfaceOrObjectMapping[objectTypeDef.apiName] =\n objectTypeDef.type;\n\n return clientCtx.objectSetFactory(\n objectTypeDef,\n clientCtx,\n {\n type: \"asType\",\n objectSet,\n entityType: objectTypeDef.apiName,\n },\n );\n },\n\n async *experimental_asyncIterLinks<\n LINK_TYPE_API_NAME extends LinkTypeApiNamesFor<Q>,\n >(\n links: LINK_TYPE_API_NAME[],\n ): AsyncIterableIterator<\n MinimalDirectedObjectLinkInstance<Q, LINK_TYPE_API_NAME>\n > {\n let $nextPageToken: string | undefined;\n do {\n const result = await fetchLinksPage(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIterLinks\" }),\n ),\n objectType,\n objectSet,\n links,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj;\n }\n } while ($nextPageToken != null);\n },\n\n $objectSetInternals: {\n def: objectType,\n },\n };\n\n function createSearchAround<L extends LinkNames<Q>>(link: L) {\n return () => {\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n objectType.type === \"object\"\n ? {\n type: \"searchAround\",\n objectSet,\n link,\n }\n : {\n type: \"interfaceLinkSearchAround\",\n objectSet,\n interfaceLink: link,\n },\n );\n };\n }\n\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base as ObjectSet<Q>;\n}\n\nasync function createWithPk(\n clientCtx: MinimalClient,\n objectType: ObjectTypeDefinition,\n objectSet: WireObjectSet,\n primaryKey: PrimaryKeyType<ObjectTypeDefinition>,\n) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n\n const withPk: WireObjectSet = {\n type: \"filter\",\n objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n\nfunction isTextQuery(query: string | number[]): query is string {\n return typeof query === \"string\";\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
export const USER_AGENT = `osdk-client/${"2.8.0-beta.
|
|
18
|
-
export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.
|
|
17
|
+
export const USER_AGENT = `osdk-client/${"2.8.0-beta.30"}`;
|
|
18
|
+
export const OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.30"}`;
|
|
19
19
|
//# sourceMappingURL=UserAgent.js.map
|
|
@@ -16,8 +16,23 @@
|
|
|
16
16
|
|
|
17
17
|
import invariant from "tiny-invariant";
|
|
18
18
|
export async function extractRdpDefinition(clientCtx, objectSet) {
|
|
19
|
+
if (!hasWithProperties(objectSet)) {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
19
22
|
return (await extractRdpDefinitionInternal(clientCtx, objectSet, undefined)).definitions;
|
|
20
23
|
}
|
|
24
|
+
function hasWithProperties(objectSet) {
|
|
25
|
+
if (objectSet.type === "withProperties") {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
if ("objectSet" in objectSet && objectSet.objectSet != null) {
|
|
29
|
+
return hasWithProperties(objectSet.objectSet);
|
|
30
|
+
}
|
|
31
|
+
if ("objectSets" in objectSet && objectSet.objectSets != null) {
|
|
32
|
+
return objectSet.objectSets.some(hasWithProperties);
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
21
36
|
|
|
22
37
|
/* @internal
|
|
23
38
|
* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractRdpDefinition.js","names":["invariant","extractRdpDefinition","clientCtx","objectSet","extractRdpDefinitionInternal","undefined","definitions","methodInputObjectType","type","childObjectType","objDef","ontologyProvider","getObjectDefinition","linkDef","links","link","process","env","NODE_ENV","targetType","name","definition","Object","entries","derivedProperties","selectedOrCollectedPropertyType","operation","operationLevelObjectType","properties","selectedPropertyApiName","objectType","interfaceType","objectSets","objectSetTypes","Promise","all","map","os","reduce","acc","keys","length","firstValidChildObjectType","find","every"],"sources":["extractRdpDefinition.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { DerivedPropertyRuntimeMetadata } from \"../derivedProperties/derivedPropertyRuntimeMetadata.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function extractRdpDefinition(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n): Promise<\n DerivedPropertyRuntimeMetadata\n> {\n return (await extractRdpDefinitionInternal(\n clientCtx,\n objectSet,\n undefined,\n )).definitions;\n}\n\n/* @internal\n* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.\n*/\nasync function extractRdpDefinitionInternal(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n methodInputObjectType: string | undefined,\n): Promise<\n {\n definitions: DerivedPropertyRuntimeMetadata;\n childObjectType?: string;\n }\n> {\n switch (objectSet.type) {\n case \"searchAround\": {\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n childObjectType,\n );\n const linkDef = objDef.links[objectSet.link];\n invariant(linkDef, `Missing link definition for '${objectSet.link}'`);\n return {\n definitions,\n childObjectType: objDef.links[objectSet.link].targetType,\n };\n }\n case \"withProperties\": {\n // These are the definitions and current object type for all object set operations prior to the definition (e.g. filter, pivotTo, etc.)\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n\n for (\n const [name, definition] of Object.entries(objectSet.derivedProperties)\n ) {\n if (definition.type !== \"selection\") {\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n continue;\n }\n\n switch (definition.operation.type) {\n case \"collectList\":\n case \"collectSet\":\n case \"get\":\n // This is the object set construction for the derived property definition construction. We pass in childObjectType so that when we reach MethodInputObjectSet, we know where to start looking.\n const { childObjectType: operationLevelObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n definition.objectSet,\n childObjectType,\n );\n if (\n operationLevelObjectType === undefined\n || operationLevelObjectType === \"\"\n ) {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n operationLevelObjectType,\n );\n\n definitions[name] = {\n selectedOrCollectedPropertyType:\n objDef.properties[definition.operation.selectedPropertyApiName],\n definition,\n };\n break;\n\n default:\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n }\n }\n return { definitions, childObjectType };\n }\n case \"methodInput\":\n return { definitions: {}, childObjectType: methodInputObjectType };\n case \"base\":\n return { definitions: {}, childObjectType: objectSet.objectType };\n case \"interfaceBase\":\n return { definitions: {}, childObjectType: objectSet.interfaceType };\n case \"filter\":\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"nearestNeighbors\":\n return extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n // These will throw in OSS so we should throw here so no request is made\n case \"intersect\":\n case \"subtract\":\n case \"union\":\n const objectSets = objectSet.objectSets;\n const objectSetTypes = await Promise.all(\n objectSets.map((os) =>\n extractRdpDefinitionInternal(\n clientCtx,\n os,\n methodInputObjectType,\n )\n ),\n );\n\n const definitions = objectSetTypes.reduce(\n (acc, { definitions }) => ({ ...acc, ...definitions }),\n {},\n );\n invariant(\n Object.keys(definitions).length === 0,\n \"Object sets combined using intersect, subtract, or union must not contain any derived property definitions\",\n );\n\n const firstValidChildObjectType = objectSetTypes.find(\n ({ childObjectType }) => childObjectType != null,\n )?.childObjectType;\n invariant(\n objectSetTypes.every(\n ({ childObjectType }) =>\n childObjectType === firstValidChildObjectType\n || childObjectType == null,\n ),\n \"All object sets in an intersect, subtract, or union must have the same child object type\",\n );\n\n return {\n definitions: {},\n childObjectType: firstValidChildObjectType,\n };\n case \"static\":\n case \"reference\":\n // Static and reference object sets are always intersected with a base object set, so we can just return no child object type.\n return { definitions: {} };\n // We don't have to worry about new object sets being added and doing a runtime break and breaking people since the OSDK is always constructing these.\n case \"interfaceLinkSearchAround\":\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n default:\n const _: never = objectSet;\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"extractRdpDefinition.js","names":["invariant","extractRdpDefinition","clientCtx","objectSet","hasWithProperties","extractRdpDefinitionInternal","undefined","definitions","type","objectSets","some","methodInputObjectType","childObjectType","objDef","ontologyProvider","getObjectDefinition","linkDef","links","link","process","env","NODE_ENV","targetType","name","definition","Object","entries","derivedProperties","selectedOrCollectedPropertyType","operation","operationLevelObjectType","properties","selectedPropertyApiName","objectType","interfaceType","objectSetTypes","Promise","all","map","os","reduce","acc","keys","length","firstValidChildObjectType","find","every"],"sources":["extractRdpDefinition.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet } from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport type { DerivedPropertyRuntimeMetadata } from \"../derivedProperties/derivedPropertyRuntimeMetadata.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\n\nexport async function extractRdpDefinition(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n): Promise<\n DerivedPropertyRuntimeMetadata\n> {\n if (!hasWithProperties(objectSet)) {\n return {};\n }\n return (await extractRdpDefinitionInternal(\n clientCtx,\n objectSet,\n undefined,\n )).definitions;\n}\n\nfunction hasWithProperties(objectSet: ObjectSet): boolean {\n if (objectSet.type === \"withProperties\") {\n return true;\n }\n if (\"objectSet\" in objectSet && objectSet.objectSet != null) {\n return hasWithProperties(objectSet.objectSet);\n }\n if (\"objectSets\" in objectSet && objectSet.objectSets != null) {\n return objectSet.objectSets.some(hasWithProperties);\n }\n return false;\n}\n\n/* @internal\n* Returns a tuple of the derived property definitions and the object type that the derived property is defined on.\n*/\nasync function extractRdpDefinitionInternal(\n clientCtx: MinimalClient,\n objectSet: ObjectSet,\n methodInputObjectType: string | undefined,\n): Promise<\n {\n definitions: DerivedPropertyRuntimeMetadata;\n childObjectType?: string;\n }\n> {\n switch (objectSet.type) {\n case \"searchAround\": {\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n childObjectType,\n );\n const linkDef = objDef.links[objectSet.link];\n invariant(linkDef, `Missing link definition for '${objectSet.link}'`);\n return {\n definitions,\n childObjectType: objDef.links[objectSet.link].targetType,\n };\n }\n case \"withProperties\": {\n // These are the definitions and current object type for all object set operations prior to the definition (e.g. filter, pivotTo, etc.)\n const { definitions, childObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n if (childObjectType === undefined || childObjectType === \"\") {\n return { definitions: {} };\n }\n\n for (\n const [name, definition] of Object.entries(objectSet.derivedProperties)\n ) {\n if (definition.type !== \"selection\") {\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n continue;\n }\n\n switch (definition.operation.type) {\n case \"collectList\":\n case \"collectSet\":\n case \"get\":\n // This is the object set construction for the derived property definition construction. We pass in childObjectType so that when we reach MethodInputObjectSet, we know where to start looking.\n const { childObjectType: operationLevelObjectType } =\n await extractRdpDefinitionInternal(\n clientCtx,\n definition.objectSet,\n childObjectType,\n );\n if (\n operationLevelObjectType === undefined\n || operationLevelObjectType === \"\"\n ) {\n return { definitions: {} };\n }\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n operationLevelObjectType,\n );\n\n definitions[name] = {\n selectedOrCollectedPropertyType:\n objDef.properties[definition.operation.selectedPropertyApiName],\n definition,\n };\n break;\n\n default:\n definitions[name] = {\n selectedOrCollectedPropertyType: undefined,\n definition,\n };\n }\n }\n return { definitions, childObjectType };\n }\n case \"methodInput\":\n return { definitions: {}, childObjectType: methodInputObjectType };\n case \"base\":\n return { definitions: {}, childObjectType: objectSet.objectType };\n case \"interfaceBase\":\n return { definitions: {}, childObjectType: objectSet.interfaceType };\n case \"filter\":\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"nearestNeighbors\":\n return extractRdpDefinitionInternal(\n clientCtx,\n objectSet.objectSet,\n methodInputObjectType,\n );\n // These will throw in OSS so we should throw here so no request is made\n case \"intersect\":\n case \"subtract\":\n case \"union\":\n const objectSets = objectSet.objectSets;\n const objectSetTypes = await Promise.all(\n objectSets.map((os) =>\n extractRdpDefinitionInternal(\n clientCtx,\n os,\n methodInputObjectType,\n )\n ),\n );\n\n const definitions = objectSetTypes.reduce(\n (acc, { definitions }) => ({ ...acc, ...definitions }),\n {},\n );\n invariant(\n Object.keys(definitions).length === 0,\n \"Object sets combined using intersect, subtract, or union must not contain any derived property definitions\",\n );\n\n const firstValidChildObjectType = objectSetTypes.find(\n ({ childObjectType }) => childObjectType != null,\n )?.childObjectType;\n invariant(\n objectSetTypes.every(\n ({ childObjectType }) =>\n childObjectType === firstValidChildObjectType\n || childObjectType == null,\n ),\n \"All object sets in an intersect, subtract, or union must have the same child object type\",\n );\n\n return {\n definitions: {},\n childObjectType: firstValidChildObjectType,\n };\n case \"static\":\n case \"reference\":\n // Static and reference object sets are always intersected with a base object set, so we can just return no child object type.\n return { definitions: {} };\n // We don't have to worry about new object sets being added and doing a runtime break and breaking people since the OSDK is always constructing these.\n case \"interfaceLinkSearchAround\":\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n default:\n const _: never = objectSet;\n invariant(\n false,\n `Unsupported object set type for Runtime Derived Properties`,\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkZZ6DP3W4_cjs = require('./chunk-ZZ6DP3W4.cjs');
|
|
4
4
|
var chunkGSVXEVM4_cjs = require('./chunk-GSVXEVM4.cjs');
|
|
5
5
|
var chunkD26YLHTV_cjs = require('./chunk-D26YLHTV.cjs');
|
|
6
6
|
var chunkYJG67XL4_cjs = require('./chunk-YJG67XL4.cjs');
|
|
@@ -200,13 +200,13 @@ async function toDataValue(value, client, actionMetadata) {
|
|
|
200
200
|
return Promise.all(promiseArray);
|
|
201
201
|
}
|
|
202
202
|
if (isAttachmentUpload(value)) {
|
|
203
|
-
const attachment = await
|
|
203
|
+
const attachment = await chunkZZ6DP3W4_cjs.upload(client, value.data, {
|
|
204
204
|
filename: value.name
|
|
205
205
|
});
|
|
206
206
|
return await toDataValue(attachment.rid, client);
|
|
207
207
|
}
|
|
208
208
|
if (isAttachmentFile(value)) {
|
|
209
|
-
const attachment = await
|
|
209
|
+
const attachment = await chunkZZ6DP3W4_cjs.upload(client, value, {
|
|
210
210
|
filename: value.name
|
|
211
211
|
});
|
|
212
212
|
return await toDataValue(attachment.rid, client);
|
|
@@ -233,11 +233,11 @@ async function toDataValue(value, client, actionMetadata) {
|
|
|
233
233
|
if (isPoint(value)) {
|
|
234
234
|
return await toDataValue(`${value.coordinates[1]},${value.coordinates[0]}`, client);
|
|
235
235
|
}
|
|
236
|
-
if (
|
|
236
|
+
if (chunkZZ6DP3W4_cjs.isWireObjectSet(value)) {
|
|
237
237
|
return value;
|
|
238
238
|
}
|
|
239
|
-
if (
|
|
240
|
-
return
|
|
239
|
+
if (chunkZZ6DP3W4_cjs.isObjectSet(value)) {
|
|
240
|
+
return chunkZZ6DP3W4_cjs.getWireObjectSet(value);
|
|
241
241
|
}
|
|
242
242
|
if (isInterfaceActionParam(value)) {
|
|
243
243
|
return {
|
|
@@ -257,7 +257,7 @@ async function toDataValue(value, client, actionMetadata) {
|
|
|
257
257
|
|
|
258
258
|
// src/actions/applyAction.ts
|
|
259
259
|
async function applyAction(client, action, parameters, options = {}) {
|
|
260
|
-
const clientWithHeaders =
|
|
260
|
+
const clientWithHeaders = chunkZZ6DP3W4_cjs.addUserAgentAndRequestContextHeaders(chunkZZ6DP3W4_cjs.augmentRequestContext(client, (_) => ({
|
|
261
261
|
finalMethodCall: "applyAction"
|
|
262
262
|
})), action);
|
|
263
263
|
if (Array.isArray(parameters)) {
|
|
@@ -988,8 +988,8 @@ function get$link(holder) {
|
|
|
988
988
|
[objDef.primaryKeyApiName]: rawObj.$primaryKey
|
|
989
989
|
}).pivotTo(linkName);
|
|
990
990
|
const value = !linkDef.multiplicity ? {
|
|
991
|
-
fetchOne: (options) =>
|
|
992
|
-
fetchOneWithErrors: (options) =>
|
|
991
|
+
fetchOne: (options) => chunkZZ6DP3W4_cjs.fetchSingle(client, objDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet)),
|
|
992
|
+
fetchOneWithErrors: (options) => chunkZZ6DP3W4_cjs.fetchSingleWithErrors(client, objDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet))
|
|
993
993
|
} : objectSet;
|
|
994
994
|
return [linkName, value];
|
|
995
995
|
})));
|
|
@@ -1004,9 +1004,16 @@ function get$linkForInterface(holder) {
|
|
|
1004
1004
|
const objectSet = client.objectSetFactory(interfaceDef, client).intersect(client.objectSetFactory(objDef, client).where({
|
|
1005
1005
|
[objDef.primaryKeyApiName]: rawObj.$primaryKey
|
|
1006
1006
|
})).pivotTo(linkName);
|
|
1007
|
+
const linkTargetDef = linkDef.targetType === "object" ? {
|
|
1008
|
+
type: "object",
|
|
1009
|
+
apiName: linkDef.targetTypeApiName
|
|
1010
|
+
} : {
|
|
1011
|
+
type: "interface",
|
|
1012
|
+
apiName: linkDef.targetTypeApiName
|
|
1013
|
+
};
|
|
1007
1014
|
const value = !linkDef.multiplicity ? {
|
|
1008
|
-
fetchOne: (options) =>
|
|
1009
|
-
fetchOneWithErrors: (options) =>
|
|
1015
|
+
fetchOne: (options) => chunkZZ6DP3W4_cjs.fetchSingle(client, linkTargetDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet)),
|
|
1016
|
+
fetchOneWithErrors: (options) => chunkZZ6DP3W4_cjs.fetchSingleWithErrors(client, linkTargetDef, options ?? {}, chunkZZ6DP3W4_cjs.getWireObjectSet(objectSet))
|
|
1010
1017
|
} : objectSet;
|
|
1011
1018
|
return [linkName, value];
|
|
1012
1019
|
})));
|
|
@@ -1014,7 +1021,7 @@ function get$linkForInterface(holder) {
|
|
|
1014
1021
|
|
|
1015
1022
|
// src/object/convertWireToOsdkObjects/createOsdkInterface.ts
|
|
1016
1023
|
function createOsdkInterface(underlying, interfaceDef) {
|
|
1017
|
-
const [objApiNamespace] =
|
|
1024
|
+
const [objApiNamespace] = chunkZZ6DP3W4_cjs.extractNamespace(interfaceDef.apiName);
|
|
1018
1025
|
return Object.freeze(Object.defineProperties({}, {
|
|
1019
1026
|
// first to minimize hidden classes
|
|
1020
1027
|
[UnderlyingOsdkObject]: {
|
|
@@ -1077,7 +1084,7 @@ function createOsdkInterface(underlying, interfaceDef) {
|
|
|
1077
1084
|
},
|
|
1078
1085
|
...Object.fromEntries(Object.keys(interfaceDef.properties).map((p) => {
|
|
1079
1086
|
const objDef = underlying[ObjectDefRef];
|
|
1080
|
-
const [apiNamespace, apiName] =
|
|
1087
|
+
const [apiNamespace, apiName] = chunkZZ6DP3W4_cjs.extractNamespace(p);
|
|
1081
1088
|
const targetPropName = objDef.interfaceMap[interfaceDef.apiName][p];
|
|
1082
1089
|
return [apiNamespace === objApiNamespace ? apiName : p, {
|
|
1083
1090
|
enumerable: targetPropName in underlying,
|
|
@@ -1252,9 +1259,9 @@ function modifyRdpProperties(client, derivedPropertyTypeByName, rawValue, propKe
|
|
|
1252
1259
|
switch (derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType?.type) {
|
|
1253
1260
|
case "attachment":
|
|
1254
1261
|
if (Array.isArray(rawValue)) {
|
|
1255
|
-
return rawValue.map((a) =>
|
|
1262
|
+
return rawValue.map((a) => chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, a.rid));
|
|
1256
1263
|
} else {
|
|
1257
|
-
return
|
|
1264
|
+
return chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, rawValue.rid);
|
|
1258
1265
|
}
|
|
1259
1266
|
default:
|
|
1260
1267
|
process.env.NODE_ENV !== "production" ? invariant__default.default(false, "Derived property aggregations for Timeseries and Media are not supported") : invariant__default.default(false) ;
|
|
@@ -1270,9 +1277,9 @@ function createSpecialProperty(client, objectDef, rawObject, p) {
|
|
|
1270
1277
|
}
|
|
1271
1278
|
if (propDef.type === "attachment") {
|
|
1272
1279
|
if (Array.isArray(rawValue)) {
|
|
1273
|
-
return rawValue.map((a) =>
|
|
1280
|
+
return rawValue.map((a) => chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, a.rid));
|
|
1274
1281
|
}
|
|
1275
|
-
return
|
|
1282
|
+
return chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, rawValue.rid);
|
|
1276
1283
|
}
|
|
1277
1284
|
if (propDef.type === "numericTimeseries" || propDef.type === "stringTimeseries" || propDef.type === "sensorTimeseries") {
|
|
1278
1285
|
return new TimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p);
|
|
@@ -1605,7 +1612,7 @@ async function loadFullObjectMetadata(client, objectType) {
|
|
|
1605
1612
|
|
|
1606
1613
|
// src/ontology/loadInterfaceMetadata.ts
|
|
1607
1614
|
async function loadInterfaceMetadata(client, objectType) {
|
|
1608
|
-
const r = await
|
|
1615
|
+
const r = await chunkZZ6DP3W4_cjs.get(client, await client.ontologyRid, objectType, {
|
|
1609
1616
|
preview: true,
|
|
1610
1617
|
branch: client.branch
|
|
1611
1618
|
});
|
|
@@ -1684,11 +1691,11 @@ var createStandardOntologyProviderFactory = (client) => {
|
|
|
1684
1691
|
};
|
|
1685
1692
|
|
|
1686
1693
|
// src/util/UserAgent.ts
|
|
1687
|
-
var USER_AGENT = `osdk-client/${"2.8.0-beta.
|
|
1688
|
-
var OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.
|
|
1694
|
+
var USER_AGENT = `osdk-client/${"2.8.0-beta.30"}`;
|
|
1695
|
+
var OBSERVABLE_USER_AGENT = `osdk-observable-client/${"2.8.0-beta.30"}`;
|
|
1689
1696
|
|
|
1690
1697
|
// src/createMinimalClient.ts
|
|
1691
|
-
function createMinimalClient(metadata2, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory =
|
|
1698
|
+
function createMinimalClient(metadata2, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = chunkZZ6DP3W4_cjs.createObjectSet, createOntologyProviderFactory = createStandardOntologyProviderFactory) {
|
|
1692
1699
|
if (process.env.NODE_ENV !== "production") {
|
|
1693
1700
|
try {
|
|
1694
1701
|
new URL(baseUrl);
|
|
@@ -1801,13 +1808,13 @@ async function toDataValueQueries(value, client, desiredType) {
|
|
|
1801
1808
|
switch (desiredType.type) {
|
|
1802
1809
|
case "attachment": {
|
|
1803
1810
|
if (isAttachmentUpload(value)) {
|
|
1804
|
-
const attachment = await
|
|
1811
|
+
const attachment = await chunkZZ6DP3W4_cjs.upload(client, value.data, {
|
|
1805
1812
|
filename: value.name
|
|
1806
1813
|
});
|
|
1807
1814
|
return attachment.rid;
|
|
1808
1815
|
}
|
|
1809
1816
|
if (isAttachmentFile(value)) {
|
|
1810
|
-
const attachment = await
|
|
1817
|
+
const attachment = await chunkZZ6DP3W4_cjs.upload(client, value, {
|
|
1811
1818
|
filename: value.name
|
|
1812
1819
|
});
|
|
1813
1820
|
return attachment.rid;
|
|
@@ -1863,11 +1870,11 @@ async function toDataValueQueries(value, client, desiredType) {
|
|
|
1863
1870
|
}
|
|
1864
1871
|
case "objectSet":
|
|
1865
1872
|
case "interfaceObjectSet": {
|
|
1866
|
-
if (
|
|
1873
|
+
if (chunkZZ6DP3W4_cjs.isWireObjectSet(value)) {
|
|
1867
1874
|
return value;
|
|
1868
1875
|
}
|
|
1869
|
-
if (
|
|
1870
|
-
return
|
|
1876
|
+
if (chunkZZ6DP3W4_cjs.isObjectSet(value)) {
|
|
1877
|
+
return chunkZZ6DP3W4_cjs.getWireObjectSet(value);
|
|
1871
1878
|
}
|
|
1872
1879
|
break;
|
|
1873
1880
|
}
|
|
@@ -1912,7 +1919,7 @@ async function applyQuery(client, query, params) {
|
|
|
1912
1919
|
if (client.flushEdits != null) {
|
|
1913
1920
|
await client.flushEdits();
|
|
1914
1921
|
}
|
|
1915
|
-
const response = await execute(
|
|
1922
|
+
const response = await execute(chunkZZ6DP3W4_cjs.addUserAgentAndRequestContextHeaders(chunkZZ6DP3W4_cjs.augmentRequestContext(client, (_) => ({
|
|
1916
1923
|
finalMethodCall: "applyQuery"
|
|
1917
1924
|
})), query), await client.ontologyRid, query.apiName, {
|
|
1918
1925
|
parameters: params ? await remapQueryParams(params, client, (await qd).parameters) : {}
|
|
@@ -1957,7 +1964,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
|
|
|
1957
1964
|
return responseValue;
|
|
1958
1965
|
}
|
|
1959
1966
|
case "attachment": {
|
|
1960
|
-
return
|
|
1967
|
+
return chunkZZ6DP3W4_cjs.hydrateAttachmentFromRidInternal(client, responseValue);
|
|
1961
1968
|
}
|
|
1962
1969
|
case "mediaReference": {
|
|
1963
1970
|
return createMediaFromReference(client, responseValue);
|
|
@@ -1982,7 +1989,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
|
|
|
1982
1989
|
throw new Error(`Missing definition for ${responseDataType.objectSet}`);
|
|
1983
1990
|
}
|
|
1984
1991
|
if (typeof responseValue === "string") {
|
|
1985
|
-
return
|
|
1992
|
+
return chunkZZ6DP3W4_cjs.createObjectSet(def, client, {
|
|
1986
1993
|
type: "intersect",
|
|
1987
1994
|
objectSets: [{
|
|
1988
1995
|
type: "base",
|
|
@@ -1993,7 +2000,7 @@ async function remapQueryResponse(client, responseDataType, responseValue, defin
|
|
|
1993
2000
|
}]
|
|
1994
2001
|
});
|
|
1995
2002
|
}
|
|
1996
|
-
return
|
|
2003
|
+
return chunkZZ6DP3W4_cjs.createObjectSet(def, client, responseValue);
|
|
1997
2004
|
}
|
|
1998
2005
|
case "struct": {
|
|
1999
2006
|
for (const [key, subtype] of Object.entries(responseDataType.struct)) {
|
|
@@ -2188,7 +2195,7 @@ function createClientInternal(objectSetFactory, transactionRid, flushEdits, base
|
|
|
2188
2195
|
ontologyRid
|
|
2189
2196
|
}, baseUrl, tokenProvider, {
|
|
2190
2197
|
...options,
|
|
2191
|
-
logger: options?.logger ?? new
|
|
2198
|
+
logger: options?.logger ?? new chunkZZ6DP3W4_cjs.MinimalLogger(),
|
|
2192
2199
|
transactionId: transactionRid,
|
|
2193
2200
|
flushEdits,
|
|
2194
2201
|
branch: options?.UNSTABLE_DO_NOT_USE_BRANCH
|
|
@@ -2217,7 +2224,7 @@ function createClientFromContext(clientCtx) {
|
|
|
2217
2224
|
case unstable.__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:
|
|
2218
2225
|
return {
|
|
2219
2226
|
fetchOneByRid: async (objectType, rid, options) => {
|
|
2220
|
-
return await
|
|
2227
|
+
return await chunkZZ6DP3W4_cjs.fetchSingle(clientCtx, objectType, options, createWithRid([rid]));
|
|
2221
2228
|
}
|
|
2222
2229
|
};
|
|
2223
2230
|
case unstable.__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:
|
|
@@ -2241,10 +2248,10 @@ function createClientFromContext(clientCtx) {
|
|
|
2241
2248
|
case unstable.__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:
|
|
2242
2249
|
return {
|
|
2243
2250
|
fetchPageByRid: async (objectOrInterfaceType, rids, options = {}) => {
|
|
2244
|
-
return await
|
|
2251
|
+
return await chunkZZ6DP3W4_cjs.fetchPage(clientCtx, objectOrInterfaceType, options, createWithRid(rids));
|
|
2245
2252
|
},
|
|
2246
2253
|
fetchPageByRidNoType: async (rids, options) => {
|
|
2247
|
-
return await
|
|
2254
|
+
return await chunkZZ6DP3W4_cjs.fetchStaticRidPage(clientCtx, rids, options ?? {});
|
|
2248
2255
|
}
|
|
2249
2256
|
};
|
|
2250
2257
|
}
|
|
@@ -2262,7 +2269,7 @@ function createClientFromContext(clientCtx) {
|
|
|
2262
2269
|
[symbolClientContext2]: {
|
|
2263
2270
|
value: clientCtx
|
|
2264
2271
|
},
|
|
2265
|
-
[
|
|
2272
|
+
[chunkZZ6DP3W4_cjs.additionalContext]: {
|
|
2266
2273
|
value: clientCtx
|
|
2267
2274
|
},
|
|
2268
2275
|
fetchMetadata: {
|
|
@@ -2271,8 +2278,8 @@ function createClientFromContext(clientCtx) {
|
|
|
2271
2278
|
});
|
|
2272
2279
|
return client;
|
|
2273
2280
|
}
|
|
2274
|
-
var createClient = createClientInternal.bind(void 0,
|
|
2275
|
-
var createClientWithTransaction = (transactionRid, flushEdits, ...args) => createClientInternal(
|
|
2281
|
+
var createClient = createClientInternal.bind(void 0, chunkZZ6DP3W4_cjs.createObjectSet, void 0, void 0);
|
|
2282
|
+
var createClientWithTransaction = (transactionRid, flushEdits, ...args) => createClientInternal(chunkZZ6DP3W4_cjs.createObjectSet, transactionRid, flushEdits, ...args);
|
|
2276
2283
|
function createWithRid(rids) {
|
|
2277
2284
|
const withRid = {
|
|
2278
2285
|
type: "static",
|
|
@@ -2297,5 +2304,5 @@ exports.createOsdkObject = createOsdkObject;
|
|
|
2297
2304
|
exports.extractPrimaryKeyFromObjectSpecifier = extractPrimaryKeyFromObjectSpecifier;
|
|
2298
2305
|
exports.getDefType = getDefType;
|
|
2299
2306
|
exports.isObjectSpecifiersObject = isObjectSpecifiersObject;
|
|
2300
|
-
//# sourceMappingURL=chunk-
|
|
2301
|
-
//# sourceMappingURL=chunk-
|
|
2307
|
+
//# sourceMappingURL=chunk-3QMUE6AG.cjs.map
|
|
2308
|
+
//# sourceMappingURL=chunk-3QMUE6AG.cjs.map
|