@osdk/client 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/js/{chunk-ACK45YZ2.mjs → chunk-TJNTUGSE.mjs} +107 -56
- package/build/js/chunk-TJNTUGSE.mjs.map +1 -0
- package/build/js/{chunk-SAQ3VGLL.cjs → chunk-V77HHGVZ.cjs} +107 -56
- package/build/js/chunk-V77HHGVZ.cjs.map +1 -0
- package/build/js/index.cjs +11 -8
- package/build/js/index.cjs.map +1 -1
- package/build/js/index.mjs +6 -3
- package/build/js/index.mjs.map +1 -1
- package/build/js/public/objects.cjs +3 -3
- package/build/js/public/objects.mjs +1 -1
- package/build/types/createClient.test.d.ts +1 -0
- package/build/types/internal/conversions/modernToLegacyWhereClause.test.d.ts +1 -0
- package/build/types/query/WhereClause.d.ts +37 -5
- package/build/types/util/UserAgent.d.ts +1 -0
- package/package.json +7 -5
- package/build/js/chunk-ACK45YZ2.mjs.map +0 -1
- package/build/js/chunk-SAQ3VGLL.cjs.map +0 -1
|
@@ -62,6 +62,32 @@ function modernToLegacyGroupByClause(groupByClause) {
|
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
+
|
|
66
|
+
// src/query/WhereClause.ts
|
|
67
|
+
var DistanceUnitMapping = {
|
|
68
|
+
"centimeter": "CENTIMETERS",
|
|
69
|
+
"centimeters": "CENTIMETERS",
|
|
70
|
+
"cm": "CENTIMETERS",
|
|
71
|
+
"meter": "METERS",
|
|
72
|
+
"meters": "METERS",
|
|
73
|
+
"m": "METERS",
|
|
74
|
+
"kilometer": "KILOMETERS",
|
|
75
|
+
"kilometers": "KILOMETERS",
|
|
76
|
+
"km": "KILOMETERS",
|
|
77
|
+
"inch": "INCHES",
|
|
78
|
+
"inches": "INCHES",
|
|
79
|
+
"foot": "FEET",
|
|
80
|
+
"feet": "FEET",
|
|
81
|
+
"yard": "YARDS",
|
|
82
|
+
"yards": "YARDS",
|
|
83
|
+
"mile": "MILES",
|
|
84
|
+
"miles": "MILES",
|
|
85
|
+
"nautical_mile": "NAUTICAL_MILES",
|
|
86
|
+
"nauticalMile": "NAUTICAL_MILES",
|
|
87
|
+
"nautical miles": "NAUTICAL_MILES"
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// src/internal/conversions/modernToLegacyWhereClause.ts
|
|
65
91
|
function modernToLegacyWhereClause(whereClause) {
|
|
66
92
|
if ("$and" in whereClause) {
|
|
67
93
|
return {
|
|
@@ -81,64 +107,88 @@ function modernToLegacyWhereClause(whereClause) {
|
|
|
81
107
|
}
|
|
82
108
|
const parts = Object.entries(whereClause);
|
|
83
109
|
if (parts.length === 1) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
};
|
|
110
|
+
return handleWherePair(parts[0]);
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
type: "and",
|
|
114
|
+
value: parts.map(handleWherePair)
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function makeWithinBbox(field, bbox) {
|
|
118
|
+
return {
|
|
119
|
+
type: "withinBoundingBox",
|
|
120
|
+
field,
|
|
121
|
+
value: {
|
|
122
|
+
topLeft: {
|
|
123
|
+
type: "Point",
|
|
124
|
+
coordinates: [bbox[0], bbox[3]]
|
|
125
|
+
},
|
|
126
|
+
bottomRight: {
|
|
127
|
+
type: "Point",
|
|
128
|
+
coordinates: [bbox[2], bbox[1]]
|
|
129
|
+
}
|
|
105
130
|
}
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function handleWherePair([field, filter]) {
|
|
134
|
+
!(filter != null) ? process.env.NODE_ENV !== "production" ? invariant2(false, "Defined key values are only allowed when they are not undefined.") : invariant2(false) : void 0;
|
|
135
|
+
if (typeof filter === "string" || typeof filter === "number") {
|
|
106
136
|
return {
|
|
107
|
-
type,
|
|
137
|
+
type: "eq",
|
|
108
138
|
field,
|
|
109
|
-
value: filter
|
|
139
|
+
value: filter
|
|
110
140
|
};
|
|
111
141
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
142
|
+
!(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== "production" ? invariant2(false, "WhereClause Filter with multiple properties isn't allowed") : invariant2(false) : void 0;
|
|
143
|
+
const firstKey = Object.keys(filter)[0];
|
|
144
|
+
!(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant2(false) : invariant2(false) : void 0;
|
|
145
|
+
if (firstKey === "ne") {
|
|
146
|
+
return {
|
|
147
|
+
type: "not",
|
|
148
|
+
value: {
|
|
149
|
+
type: "eq",
|
|
150
|
+
field,
|
|
151
|
+
value: filter[firstKey]
|
|
122
152
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
if (firstKey === "$within") {
|
|
156
|
+
const withinBody = filter[firstKey];
|
|
157
|
+
if (Array.isArray(withinBody)) {
|
|
158
|
+
return makeWithinBbox(field, withinBody);
|
|
159
|
+
} else if ("bbox" in withinBody && !("type" in withinBody)) {
|
|
160
|
+
return makeWithinBbox(field, withinBody.bbox);
|
|
161
|
+
} else if ("distance" in withinBody && "of" in withinBody) {
|
|
162
|
+
return {
|
|
163
|
+
type: "withinDistanceOf",
|
|
164
|
+
field,
|
|
165
|
+
value: {
|
|
166
|
+
center: Array.isArray(withinBody.of) ? {
|
|
167
|
+
type: "Point",
|
|
168
|
+
coordinates: withinBody.of
|
|
169
|
+
} : withinBody.of,
|
|
170
|
+
distance: {
|
|
171
|
+
value: withinBody.distance[0],
|
|
172
|
+
unit: DistanceUnitMapping[withinBody.distance[1]]
|
|
133
173
|
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
} else {
|
|
177
|
+
const coordinates = "polygon" in withinBody ? withinBody.polygon : withinBody.coordinates;
|
|
136
178
|
return {
|
|
137
|
-
type:
|
|
179
|
+
type: "withinPolygon",
|
|
138
180
|
field,
|
|
139
|
-
value:
|
|
181
|
+
value: {
|
|
182
|
+
type: "Polygon",
|
|
183
|
+
coordinates
|
|
184
|
+
}
|
|
140
185
|
};
|
|
141
|
-
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return {
|
|
189
|
+
type: firstKey,
|
|
190
|
+
field,
|
|
191
|
+
value: filter[firstKey]
|
|
142
192
|
};
|
|
143
193
|
}
|
|
144
194
|
|
|
@@ -232,6 +282,9 @@ var OriginClient = Symbol();
|
|
|
232
282
|
function createPrototype(ontology, type) {
|
|
233
283
|
const objDef = ontology.objects[type];
|
|
234
284
|
const proto = {};
|
|
285
|
+
if (!objDef) {
|
|
286
|
+
return proto;
|
|
287
|
+
}
|
|
235
288
|
Object.defineProperty(proto, "$link", {
|
|
236
289
|
get: function() {
|
|
237
290
|
const client = this[OriginClient];
|
|
@@ -262,17 +315,15 @@ function createPrototype(ontology, type) {
|
|
|
262
315
|
enumerable: false,
|
|
263
316
|
configurable: false
|
|
264
317
|
});
|
|
265
|
-
Object.defineProperty(proto, "__name", {
|
|
266
|
-
value: type,
|
|
267
|
-
enumerable: false,
|
|
268
|
-
configurable: false,
|
|
269
|
-
writable: false
|
|
270
|
-
});
|
|
271
318
|
return proto;
|
|
272
319
|
}
|
|
273
320
|
function createConverter(ontology, type) {
|
|
321
|
+
const objDef = ontology.objects[type];
|
|
322
|
+
if (!objDef) {
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
274
325
|
const steps = [];
|
|
275
|
-
for (const [key, value] of Object.entries(
|
|
326
|
+
for (const [key, value] of Object.entries(objDef.properties)) {
|
|
276
327
|
if (value.type === "attachment") {
|
|
277
328
|
steps.push((o) => {
|
|
278
329
|
if (o[key] != null) {
|
|
@@ -339,4 +390,4 @@ __export(object_exports, {
|
|
|
339
390
|
|
|
340
391
|
export { aggregateOrThrow, convertWireToOsdkObjects, fetchPageOrThrow, isAttachment, modernToLegacyWhereClause, object_exports };
|
|
341
392
|
//# sourceMappingURL=out.js.map
|
|
342
|
-
//# sourceMappingURL=chunk-
|
|
393
|
+
//# sourceMappingURL=chunk-TJNTUGSE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/object/aggregateOrThrow.ts","../../src/internal/conversions/legacyToModernSingleAggregationResult.ts","../../src/internal/conversions/modernToLegacyAggregationClause.ts","../../src/internal/conversions/modernToLegacyGroupByClause.ts","../../src/internal/conversions/modernToLegacyWhereClause.ts","../../src/query/WhereClause.ts","../../src/object/fetchPageOrThrow.ts","../../src/createCachedOntologyTransform.ts","../../src/object/Attachment.ts","../../src/object/getLinkedObjectByPkOrThrow.ts","../../src/object/getLinkedObjectOrThrow.ts","../../src/object/pageLinkedObjectsOrThrow.ts","../../src/object/convertWireToOsdkObjects.ts","../../src/object/index.ts"],"names":["invariant","createOpenApiRequest"],"mappings":";;;;;;;AAgBA,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,OAAOA,gBAAe;;;ACFtB,OAAO,eAAe;AACf,SAAS,sCAAsC,OAAO;AAC3D,SAAO,MAAM,QAAQ,OAAO,CAAC,aAAa,aAAa;AACrD,UAAM,QAAQ,SAAS,KAAK,MAAM,GAAG;AACrC,MAAE,MAAM,UAAU,KAAK,QAAQ,IAAI,aAAa,eAAe,UAAU,OAAO,4CAA4C,IAAI,UAAU,KAAK,IAAI;AACnJ,QAAI,EAAE,MAAM,CAAC,KAAK,cAAc;AAC9B,kBAAY,MAAM,CAAC,CAAC,IAAI,CAAC;AAAA,IAC3B;AACA,gBAAY,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,SAAS;AAC3C,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACXO,SAAS,gCAAgC,QAAQ;AACtD,SAAO,OAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AAChD,QAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,aAAO,EAAE,IAAI,QAAM;AACjB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,MAAM,GAAG,CAAC,IAAI,EAAE;AAAA,UAChB,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,aAAO,CAAC;AAAA,QACN,MAAM;AAAA;AAAA,QAEN,MAAM,GAAG,CAAC,IAAI,CAAC;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;;;ACnBO,SAAS,4BAA4B,eAAe;AACzD,MAAI,CAAC;AAAe,WAAO,CAAC;AAC5B,SAAO,OAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,OAAO,IAAI,MAAM;AAC9D,QAAI,SAAS,SAAS;AACpB,aAAO,CAAC;AAAA,QACN;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH,WAAW,KAAK,gBAAgB;AAC9B,aAAO,CAAC;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,eAAe,KAAK;AAAA,MACtB,CAAC;AAAA,IACH,OAAO;AACL,aAAO,CAAC;AAAA,IACV;AAAA,EACF,CAAC;AACH;;;AClBA,OAAOA,gBAAe;;;ACEf,IAAM,sBAAsB;AAAA,EACjC,cAAc;AAAA,EACd,eAAe;AAAA,EACf,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AAAA,EACV,KAAK;AAAA,EACL,aAAa;AAAA,EACb,cAAc;AAAA,EACd,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;;;ADrBO,SAAS,0BAA0B,aAAa;AACrD,MAAI,UAAU,aAAa;AACzB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,YAAY,KAAK,IAAI,yBAAyB;AAAA,IACvD;AAAA,EACF,WAAW,SAAS,aAAa;AAC/B,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,YAAY,IAAI,IAAI,yBAAyB;AAAA,IACtD;AAAA,EACF,WAAW,UAAU,aAAa;AAChC,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,0BAA0B,YAAY,IAAI;AAAA,IACnD;AAAA,EACF;AACA,QAAM,QAAQ,OAAO,QAAQ,WAAW;AACxC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO,gBAAgB,MAAM,CAAC,CAAC;AAAA,EACjC;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,MAAM,IAAI,eAAe;AAAA,EAClC;AACF;AACA,SAAS,eAAe,OAAO,MAAM;AACnC,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,QACP,MAAM;AAAA,QACN,aAAa,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAAA,MAChC;AAAA,MACA,aAAa;AAAA,QACX,MAAM;AAAA,QACN,aAAa,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AACF;AACA,SAAS,gBAAgB,CAAC,OAAO,MAAM,GAAG;AACxC,IAAE,UAAU,QAAQ,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,kEAAkE,IAAIA,WAAU,KAAK,IAAI;AACtK,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAAU;AAC5D,WAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,IACT;AAAA,EACF;AACA,IAAE,OAAO,KAAK,MAAM,EAAE,WAAW,KAAK,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,2DAA2D,IAAIA,WAAU,KAAK,IAAI;AACjL,QAAM,WAAW,OAAO,KAAK,MAAM,EAAE,CAAC;AACtC,IAAE,OAAO,QAAQ,KAAK,QAAQ,QAAQ,IAAI,aAAa,eAAeA,WAAU,KAAK,IAAIA,WAAU,KAAK,IAAI;AAC5G,MAAI,aAAa,MAAM;AACrB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,OAAO,OAAO,QAAQ;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AACA,MAAI,aAAa,WAAW;AAC1B,UAAM,aAAa,OAAO,QAAQ;AAClC,QAAI,MAAM,QAAQ,UAAU,GAAG;AAC7B,aAAO,eAAe,OAAO,UAAU;AAAA,IACzC,WAAW,UAAU,cAAc,EAAE,UAAU,aAAa;AAC1D,aAAO,eAAe,OAAO,WAAW,IAAI;AAAA,IAC9C,WAAW,cAAc,cAAc,QAAQ,YAAY;AACzD,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,UACL,QAAQ,MAAM,QAAQ,WAAW,EAAE,IAAI;AAAA,YACrC,MAAM;AAAA,YACN,aAAa,WAAW;AAAA,UAC1B,IAAI,WAAW;AAAA,UACf,UAAU;AAAA,YACR,OAAO,WAAW,SAAS,CAAC;AAAA,YAC5B,MAAM,oBAAoB,WAAW,SAAS,CAAC,CAAC;AAAA,UAClD;AAAA,QACF;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,cAAc,aAAa,aAAa,WAAW,UAAU,WAAW;AAC9E,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,OAAO,OAAO,QAAQ;AAAA,EACxB;AACF;;;AJpGA,eAAsB,iBAAiB,WAAW,YAAY,KAAK;AACjE,QAAM,OAAO;AAAA,IACX,aAAa,gCAAgC,IAAI,MAAM;AAAA,IACvD,SAAS,CAAC;AAAA,IACV,OAAO;AAAA,EACT;AACA,MAAI,IAAI,SAAS;AACf,SAAK,UAAU,4BAA4B,IAAI,OAAO;AAAA,EACxD;AACA,MAAI,IAAI,OAAO;AACb,SAAK,QAAQ,0BAA0B,IAAI,KAAK;AAAA,EAGlD;AACA,QAAM,SAAS,MAAM,mBAAmB,qBAAqB,UAAU,OAAO,UAAU,KAAK,GAAG,UAAU,SAAS,SAAS,iBAAiB,YAAY,IAAI;AAC7J,MAAI,CAAC,IAAI,SAAS;AAChB,MAAE,OAAO,KAAK,WAAW,KAAK,QAAQ,IAAI,aAAa,eAAeA,WAAU,OAAO,qDAAqD,IAAIA,WAAU,KAAK,IAAI;AACnK,WAAO,sCAAsC,OAAO,KAAK,CAAC,CAAC;AAAA,EAC7D;AACA,QAAM,MAAM,OAAO,KAAK,IAAI,WAAS;AACnC,WAAO;AAAA,MACL,OAAO,MAAM;AAAA,MACb,QAAQ,sCAAsC,KAAK;AAAA,IACrD;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;AM/BA,SAAS,uBAAuB;AAChC,SAAS,wBAAAC,6BAA4B;;;ACI9B,SAAS,8BAA8B,SAAS;AAGrD,QAAM,QAAQ,oBAAI,IAAI;AACtB,SAAO,CAAC,UAAU,SAAS;AACzB,UAAM,mBAAmB,SAAS,QAAQ,IAAI;AAC9C,QAAI,SAAS,MAAM,IAAI,gBAAgB;AACvC,QAAI,UAAU,MAAM;AAClB,eAAS,QAAQ,UAAU,IAAI;AAC/B,YAAM,IAAI,kBAAkB,MAAM;AAAA,IACpC;AACA,WAAO;AAAA,EACT;AACF;;;AClBO,IAAM,aAAN,MAAiB;AAAA,EACtB,YAAY,KAAK;AACf,SAAK,MAAM;AAAA,EACb;AACF;AACO,SAAS,aAAa,GAAG;AAC9B,SAAO,aAAa;AACtB;;;ACPA,SAAS,yBAAyB;AAClC,SAAS,wBAAAA,6BAA4B;AAErC,eAAsB,2BAA2B,QAAQ,eAAe,YAAY,iBAAiB,wBAAwB,QAAQ;AACnI,QAAM,SAAS,MAAM,kBAAkBA,sBAAqB,OAAO,OAAO,OAAO,KAAK,GAAG,OAAO,SAAS,SAAS,iBAAiB,eAAe,YAAY,iBAAiB,wBAAwB;AAAA,IACrM,QAAQ,UAAU,CAAC;AAAA,EACrB,CAAC;AACD,QAAM,UAAU,CAAC,MAAM;AACvB,2BAAyB,QAAQ,OAAO;AACxC,SAAO,QAAQ,CAAC;AAClB;;;ACVA,SAAS,wBAAwB;;;ACAjC,SAAS,2BAA2B;AACpC,SAAS,wBAAAA,6BAA4B;AAErC,eAAsB,yBAAyB,QAAQ,eAAe,YAAY,iBAAiB,SAAS;AAC1G,QAAM,OAAO,MAAM,oBAAoBA,sBAAqB,OAAO,OAAO,OAAO,KAAK,GAAG,OAAO,SAAS,SAAS,iBAAiB,eAAe,YAAY,iBAAiB;AAAA,IAC7K,UAAU,SAAS;AAAA,IACnB,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS,UAAU,CAAC;AAAA,EAC9B,CAAC;AACD,2BAAyB,QAAQ,KAAK,IAAI;AAC1C,SAAO;AAAA,IACL,eAAe,KAAK;AAAA,IACpB,MAAM,KAAK;AAAA,EACb;AACF;;;ADZA,eAAsB,uBAAuB,QAAQ,eAAe,YAAY,iBAAiB,QAAQ;AACvG,QAAM,SAAS,MAAM,yBAAyB,QAAQ,eAAe,YAAY,iBAAiB;AAAA,IAChG,UAAU;AAAA,IACV;AAAA,EACF,CAAC;AACD,MAAI,OAAO,KAAK,WAAW,KAAK,OAAO,iBAAiB,MAAM;AAC5D,UAAM,IAAI,iBAAiB,oCAAoC,OAAO,KAAK,MAAM,WAAW,OAAO,iBAAiB,OAAO,4BAA4B,EAAE,EAAE;AAAA,EAC7J;AACA,SAAO,OAAO,KAAK,CAAC;AACtB;;;AENA,IAAM,eAAe,8BAA8B,eAAe;AAClE,IAAM,eAAe,8BAA8B,eAAe;AAClE,IAAM,eAAe,OAAO;AAC5B,SAAS,gBAAgB,UAAU,MAAM;AACvC,QAAM,SAAS,SAAS,QAAQ,IAAI;AACpC,QAAM,QAAQ,CAAC;AACf,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,SAAO,eAAe,OAAO,SAAS;AAAA,IACpC,KAAK,WAAY;AACf,YAAM,SAAS,KAAK,YAAY;AAChC,YAAM,aAAa,KAAK,cAAc;AACtC,aAAO,IAAI,MAAM,CAAC,GAAG;AAAA,QACnB,IAAI,SAAS,GAAG,WAAW;AACzB,gBAAM,UAAU,OAAO,MAAM,CAAC;AAC9B,cAAI,WAAW,MAAM;AACnB;AAAA,UACF;AACA,cAAI,CAAC,QAAQ,cAAc;AACzB,mBAAO;AAAA,cACL,KAAK,aAAW,uBAAuB,QAAQ,MAAM,YAAY,GAAG,SAAS,MAAM;AAAA,YACrF;AAAA,UACF,OAAO;AACL,mBAAO;AAAA,cACL,KAAK,CAAC,kBAAkB,YAAY,2BAA2B,QAAQ,MAAM,YAAY,GAAG,kBAAkB,SAAS,MAAM;AAAA,cAC7H,kBAAkB,aAAW,yBAAyB,QAAQ,MAAM,YAAY,GAAG;AAAA,gBACjF,eAAe,SAAS;AAAA,gBACxB,UAAU,SAAS;AAAA,gBACnB,QAAQ,SAAS;AAAA,cACnB,CAAC;AAAA,YACH;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB,CAAC;AACD,SAAO;AACT;AAGA,SAAS,gBAAgB,UAAU,MAAM;AACvC,QAAM,SAAS,SAAS,QAAQ,IAAI;AACpC,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,CAAC;AACf,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,UAAU,GAAG;AAE5D,QAAI,MAAM,SAAS,cAAc;AAC/B,YAAM,KAAK,OAAK;AACd,YAAI,EAAE,GAAG,KAAK,MAAM;AAClB,cAAI,MAAM,QAAQ,EAAE,GAAG,CAAC,GAAG;AACzB,cAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,OAAK,IAAI,WAAW,EAAE,GAAG,CAAC;AAAA,UAChD,OAAO;AACL,cAAE,GAAG,IAAI,IAAI,WAAW,EAAE,GAAG,EAAE,GAAG;AAAA,UACpC;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO,MAAM,SAAS,IAAI,OAAK;AAC7B,eAAW,QAAQ,OAAO;AACxB,WAAK,CAAC;AAAA,IACR;AAAA,EACF,IAAI;AACN;AAKO,SAAS,yBAAyB,QAAQ,MAAM;AACrD,aAAW,OAAO,MAAM;AACtB,UAAM,QAAQ,aAAa,OAAO,UAAU,IAAI,SAAS;AACzD,UAAM,YAAY,aAAa,OAAO,UAAU,IAAI,SAAS;AAC7D,WAAO,eAAe,KAAK,KAAK;AAChC,WAAO,eAAe,KAAK,cAAc;AAAA,MACvC,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,UAAU;AAAA,IACZ,CAAC;AACD,QAAI,WAAW;AACb,gBAAU,GAAG;AAAA,IACf;AAAA,EACF;AACF;;;AN1FA,eAAsB,iBAAiB,QAAQ,YAAY,MAAM,YAAY;AAAA,EAC3E,MAAM;AAAA,EACN;AACF,GAAG;AACD,QAAM,OAAO;AAAA,IACX;AAAA;AAAA,IAEA,QAAQ,MAAM,UAAU,CAAC;AAAA;AAAA,EAC3B;AACA,MAAI,MAAM,eAAe;AACvB,SAAK,YAAY,KAAK;AAAA,EACxB;AACA,MAAI,MAAM,YAAY,MAAM;AAC1B,SAAK,WAAW,KAAK;AAAA,EACvB;AACA,QAAM,IAAI,MAAM,gBAAgBA,sBAAqB,OAAO,OAAO,OAAO,KAAK,GAAG,OAAO,SAAS,SAAS,iBAAiB,IAAI;AAChI,2BAAyB,QAAQ,EAAE,IAAI;AAIvC,SAAO;AACT;;;AOxCA;AAAA;AAAA;AAAA;AAAA","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 { aggregateObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult, modernToLegacyAggregationClause, modernToLegacyGroupByClause, modernToLegacyWhereClause } from \"../internal/conversions/index.js\";\nexport async function aggregateOrThrow(clientCtx, objectType, req) {\n const body = {\n aggregation: modernToLegacyAggregationClause(req.select),\n groupBy: [],\n where: undefined\n };\n if (req.groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.groupBy);\n }\n if (req.where) {\n body.where = modernToLegacyWhereClause(req.where);\n // TODO: orderBy\n // TODO The token stuff here sucks\n }\n const result = await aggregateObjectsV2(createOpenApiRequest(clientCtx.stack, clientCtx.fetch), clientCtx.ontology.metadata.ontologyApiName, objectType, body);\n if (!req.groupBy) {\n !(result.data.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"no group by clause should mean only one data result\") : invariant(false) : void 0;\n return legacyToModernSingleAggregationResult(result.data[0]);\n }\n const ret = result.data.map(entry => {\n return {\n group: entry.group,\n values: legacyToModernSingleAggregationResult(entry)\n };\n }); // fixme\n\n return ret; // FIXME\n}","/*\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 invariant from \"tiny-invariant\";\nexport function legacyToModernSingleAggregationResult(entry) {\n return entry.metrics.reduce((accumulator, curValue) => {\n const parts = curValue.name.split(\".\");\n !(parts.length == 2) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"assumed we were getting a `${key}.${type}`\") : invariant(false) : void 0;\n if (!(parts[0] in accumulator)) {\n accumulator[parts[0]] = {};\n }\n accumulator[parts[0]][parts[1]] = curValue.value;\n return accumulator;\n }, {});\n}","/*\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\nexport function modernToLegacyAggregationClause(select) {\n return Object.entries(select).flatMap(([k, v]) => {\n if (Array.isArray(v)) {\n return v.map(v2 => {\n return {\n type: v2,\n name: `${k}.${v2}`,\n field: k\n };\n });\n } else {\n return [{\n type: v,\n // FIXME v has additional possible values\n name: `${k}.${v}`,\n field: k\n }];\n }\n });\n}","/*\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\nexport function modernToLegacyGroupByClause(groupByClause) {\n if (!groupByClause) return [];\n return Object.entries(groupByClause).flatMap(([field, type]) => {\n if (type === \"exact\") {\n return [{\n type,\n field\n }];\n } else if (type.exactWithLimit) {\n return [{\n type: \"exact\",\n field,\n maxGroupCount: type.exactWithLimit\n }];\n } else {\n return [];\n }\n });\n}","/*\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 invariant from \"tiny-invariant\";\nimport { DistanceUnitMapping } from \"../../query/WhereClause.js\";\nexport function modernToLegacyWhereClause(whereClause) {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: whereClause.$and.map(modernToLegacyWhereClause)\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: whereClause.$or.map(modernToLegacyWhereClause)\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(whereClause.$not)\n };\n }\n const parts = Object.entries(whereClause);\n if (parts.length === 1) {\n return handleWherePair(parts[0]);\n }\n return {\n type: \"and\",\n value: parts.map(handleWherePair)\n };\n}\nfunction makeWithinBbox(field, bbox) {\n return {\n type: \"withinBoundingBox\",\n field,\n value: {\n topLeft: {\n type: \"Point\",\n coordinates: [bbox[0], bbox[3]]\n },\n bottomRight: {\n type: \"Point\",\n coordinates: [bbox[2], bbox[1]]\n }\n }\n };\n}\nfunction handleWherePair([field, filter]) {\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n if (typeof filter === \"string\" || typeof filter === \"number\") {\n return {\n type: \"eq\",\n field,\n value: filter\n };\n }\n !(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"WhereClause Filter with multiple properties isn't allowed\") : invariant(false) : void 0;\n const firstKey = Object.keys(filter)[0];\n !(filter[firstKey] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (firstKey === \"ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n field,\n value: filter[firstKey]\n }\n };\n }\n if (firstKey === \"$within\") {\n const withinBody = filter[firstKey];\n if (Array.isArray(withinBody)) {\n return makeWithinBbox(field, withinBody);\n } else if (\"bbox\" in withinBody && !(\"type\" in withinBody)) {\n return makeWithinBbox(field, withinBody.bbox);\n } else if (\"distance\" in withinBody && \"of\" in withinBody) {\n return {\n type: \"withinDistanceOf\",\n field,\n value: {\n center: Array.isArray(withinBody.of) ? {\n type: \"Point\",\n coordinates: withinBody.of\n } : withinBody.of,\n distance: {\n value: withinBody.distance[0],\n unit: DistanceUnitMapping[withinBody.distance[1]]\n }\n }\n };\n } else {\n const coordinates = \"polygon\" in withinBody ? withinBody.polygon : withinBody.coordinates;\n return {\n type: \"withinPolygon\",\n field,\n value: {\n type: \"Polygon\",\n coordinates\n }\n };\n }\n }\n return {\n type: firstKey,\n field,\n value: filter[firstKey]\n };\n}","/*\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\n// We need to conditional here to force the union to be distributed\n\nexport const DistanceUnitMapping = {\n \"centimeter\": \"CENTIMETERS\",\n \"centimeters\": \"CENTIMETERS\",\n \"cm\": \"CENTIMETERS\",\n \"meter\": \"METERS\",\n \"meters\": \"METERS\",\n \"m\": \"METERS\",\n \"kilometer\": \"KILOMETERS\",\n \"kilometers\": \"KILOMETERS\",\n \"km\": \"KILOMETERS\",\n \"inch\": \"INCHES\",\n \"inches\": \"INCHES\",\n \"foot\": \"FEET\",\n \"feet\": \"FEET\",\n \"yard\": \"YARDS\",\n \"yards\": \"YARDS\",\n \"mile\": \"MILES\",\n \"miles\": \"MILES\",\n \"nautical_mile\": \"NAUTICAL_MILES\",\n \"nauticalMile\": \"NAUTICAL_MILES\",\n \"nautical miles\": \"NAUTICAL_MILES\"\n};\n\n// FIXME we need to represent all types","/*\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 { loadObjectSetV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function fetchPageOrThrow(client, objectType, args, objectSet = {\n type: \"base\",\n objectType\n}) {\n const body = {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isnt readonly\n select: args?.select ?? [] // FIXME?\n };\n if (args?.nextPageToken) {\n body.pageToken = args.nextPageToken;\n }\n if (args?.pageSize != null) {\n body.pageSize = args.pageSize;\n }\n const r = await loadObjectSetV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, body);\n convertWireToOsdkObjects(client, r.data);\n\n // any is okay here because we have properly converted the wire objects via prototypes\n // which don't type out correctly.\n return r;\n}","/*\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\n/**\n * Creates a getter function that caches based on the ontology.objects[type] value\n *\n * Any extra arguments are passed through, but only the first args passed in will be used and are not considered as part of the caching\n */\nexport function createCachedOntologyTransform(creator) {\n // We can use the ObjectTypeDefinition as the key because it will be a globally unique singleton\n // Use Map instead of WeakMap here so usage for things like object prototypes do not churn over time\n const cache = new Map();\n return (ontology, type) => {\n const objectDefinition = ontology.objects[type];\n let result = cache.get(objectDefinition);\n if (result == null) {\n result = creator(ontology, type);\n cache.set(objectDefinition, result);\n }\n return result;\n };\n}","/*\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\nexport class Attachment {\n constructor(rid) {\n this.rid = rid;\n }\n}\nexport function isAttachment(o) {\n return o instanceof Attachment;\n}","/*\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 { getLinkedObjectV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function getLinkedObjectByPkOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, select) {\n const object = await getLinkedObjectV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, {\n select: select ?? []\n });\n const objects = [object];\n convertWireToOsdkObjects(client, objects);\n return objects[0];\n}","/*\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 { PalantirApiError } from \"@osdk/shared.net\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nexport async function getLinkedObjectOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, select) {\n const result = await pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: 1,\n select\n });\n if (result.data.length !== 1 || result.nextPageToken != null) {\n throw new PalantirApiError(`Expected a single result but got ${result.data.length} instead${result.nextPageToken != null ? \" with nextPageToken set\" : \"\"}`);\n }\n return result.data[0];\n}","/*\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 { listLinkedObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, options) {\n const page = await listLinkedObjectsV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: options?.pageSize,\n pageToken: options?.nextPageToken,\n select: options?.select ?? []\n });\n convertWireToOsdkObjects(client, page.data);\n return {\n nextPageToken: page.nextPageToken,\n data: page.data\n };\n}","/*\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 { createCachedOntologyTransform } from \"../createCachedOntologyTransform.js\";\nimport { Attachment } from \"./Attachment.js\";\nimport { getLinkedObjectByPkOrThrow } from \"./getLinkedObjectByPkOrThrow.js\";\nimport { getLinkedObjectOrThrow } from \"./getLinkedObjectOrThrow.js\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nconst getPrototype = createCachedOntologyTransform(createPrototype);\nconst getConverter = createCachedOntologyTransform(createConverter);\nconst OriginClient = Symbol();\nfunction createPrototype(ontology, type) {\n const objDef = ontology.objects[type];\n const proto = {};\n if (!objDef) {\n return proto;\n }\n Object.defineProperty(proto, \"$link\", {\n get: function () {\n const client = this[OriginClient];\n const primaryKey = this[\"__primaryKey\"];\n return new Proxy({}, {\n get(_target, p, _receiver) {\n const linkDef = objDef.links[p];\n if (linkDef == null) {\n return;\n }\n if (!linkDef.multiplicity) {\n return {\n get: options => getLinkedObjectOrThrow(client, type, primaryKey, p, options?.select)\n };\n } else {\n return {\n get: (targetPrimaryKey, options) => getLinkedObjectByPkOrThrow(client, type, primaryKey, p, targetPrimaryKey, options?.select),\n fetchPageOrThrow: options => pageLinkedObjectsOrThrow(client, type, primaryKey, p, {\n nextPageToken: options?.nextPageToken,\n pageSize: options?.pageSize,\n select: options?.select\n })\n };\n }\n }\n });\n },\n enumerable: false,\n configurable: false\n });\n return proto;\n}\n\n// preprocess the ontology definition to more quickly apply object conversions when needed\nfunction createConverter(ontology, type) {\n const objDef = ontology.objects[type];\n if (!objDef) {\n return false;\n }\n const steps = [];\n for (const [key, value] of Object.entries(objDef.properties)) {\n // attachments need a wrapper to provide functionality and to identify them at serialization time\n if (value.type === \"attachment\") {\n steps.push(o => {\n if (o[key] != null) {\n if (Array.isArray(o[key])) {\n o[key] = o[key].map(a => new Attachment(a.rid));\n } else {\n o[key] = new Attachment(o[key].rid);\n }\n }\n });\n }\n }\n return steps.length > 0 ? o => {\n for (const step of steps) {\n step(o);\n }\n } : false;\n}\n\n/**\n * @param objs the objects to be converted, the contents of this array will be mutated\n */\nexport function convertWireToOsdkObjects(client, objs) {\n for (const obj of objs) {\n const proto = getPrototype(client.ontology, obj.__apiName);\n const converter = getConverter(client.ontology, obj.__apiName);\n Object.setPrototypeOf(obj, proto);\n Object.defineProperty(obj, OriginClient, {\n value: client,\n enumerable: false,\n configurable: false,\n writable: false\n });\n if (converter) {\n converter(obj);\n }\n }\n}","/*\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\nexport { aggregateOrThrow } from \"./aggregateOrThrow.js\";\nexport { fetchPageOrThrow } from \"./fetchPageOrThrow.js\";"]}
|
|
@@ -68,6 +68,32 @@ function modernToLegacyGroupByClause(groupByClause) {
|
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
+
|
|
72
|
+
// src/query/WhereClause.ts
|
|
73
|
+
var DistanceUnitMapping = {
|
|
74
|
+
"centimeter": "CENTIMETERS",
|
|
75
|
+
"centimeters": "CENTIMETERS",
|
|
76
|
+
"cm": "CENTIMETERS",
|
|
77
|
+
"meter": "METERS",
|
|
78
|
+
"meters": "METERS",
|
|
79
|
+
"m": "METERS",
|
|
80
|
+
"kilometer": "KILOMETERS",
|
|
81
|
+
"kilometers": "KILOMETERS",
|
|
82
|
+
"km": "KILOMETERS",
|
|
83
|
+
"inch": "INCHES",
|
|
84
|
+
"inches": "INCHES",
|
|
85
|
+
"foot": "FEET",
|
|
86
|
+
"feet": "FEET",
|
|
87
|
+
"yard": "YARDS",
|
|
88
|
+
"yards": "YARDS",
|
|
89
|
+
"mile": "MILES",
|
|
90
|
+
"miles": "MILES",
|
|
91
|
+
"nautical_mile": "NAUTICAL_MILES",
|
|
92
|
+
"nauticalMile": "NAUTICAL_MILES",
|
|
93
|
+
"nautical miles": "NAUTICAL_MILES"
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
// src/internal/conversions/modernToLegacyWhereClause.ts
|
|
71
97
|
function modernToLegacyWhereClause(whereClause) {
|
|
72
98
|
if ("$and" in whereClause) {
|
|
73
99
|
return {
|
|
@@ -87,64 +113,88 @@ function modernToLegacyWhereClause(whereClause) {
|
|
|
87
113
|
}
|
|
88
114
|
const parts = Object.entries(whereClause);
|
|
89
115
|
if (parts.length === 1) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
};
|
|
116
|
+
return handleWherePair(parts[0]);
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
type: "and",
|
|
120
|
+
value: parts.map(handleWherePair)
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function makeWithinBbox(field, bbox) {
|
|
124
|
+
return {
|
|
125
|
+
type: "withinBoundingBox",
|
|
126
|
+
field,
|
|
127
|
+
value: {
|
|
128
|
+
topLeft: {
|
|
129
|
+
type: "Point",
|
|
130
|
+
coordinates: [bbox[0], bbox[3]]
|
|
131
|
+
},
|
|
132
|
+
bottomRight: {
|
|
133
|
+
type: "Point",
|
|
134
|
+
coordinates: [bbox[2], bbox[1]]
|
|
135
|
+
}
|
|
111
136
|
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
function handleWherePair([field, filter]) {
|
|
140
|
+
!(filter != null) ? process.env.NODE_ENV !== "production" ? invariant2__default.default(false, "Defined key values are only allowed when they are not undefined.") : invariant2__default.default(false) : void 0;
|
|
141
|
+
if (typeof filter === "string" || typeof filter === "number") {
|
|
112
142
|
return {
|
|
113
|
-
type,
|
|
143
|
+
type: "eq",
|
|
114
144
|
field,
|
|
115
|
-
value: filter
|
|
145
|
+
value: filter
|
|
116
146
|
};
|
|
117
147
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
148
|
+
!(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== "production" ? invariant2__default.default(false, "WhereClause Filter with multiple properties isn't allowed") : invariant2__default.default(false) : void 0;
|
|
149
|
+
const firstKey = Object.keys(filter)[0];
|
|
150
|
+
!(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant2__default.default(false) : invariant2__default.default(false) : void 0;
|
|
151
|
+
if (firstKey === "ne") {
|
|
152
|
+
return {
|
|
153
|
+
type: "not",
|
|
154
|
+
value: {
|
|
155
|
+
type: "eq",
|
|
156
|
+
field,
|
|
157
|
+
value: filter[firstKey]
|
|
128
158
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
if (firstKey === "$within") {
|
|
162
|
+
const withinBody = filter[firstKey];
|
|
163
|
+
if (Array.isArray(withinBody)) {
|
|
164
|
+
return makeWithinBbox(field, withinBody);
|
|
165
|
+
} else if ("bbox" in withinBody && !("type" in withinBody)) {
|
|
166
|
+
return makeWithinBbox(field, withinBody.bbox);
|
|
167
|
+
} else if ("distance" in withinBody && "of" in withinBody) {
|
|
168
|
+
return {
|
|
169
|
+
type: "withinDistanceOf",
|
|
170
|
+
field,
|
|
171
|
+
value: {
|
|
172
|
+
center: Array.isArray(withinBody.of) ? {
|
|
173
|
+
type: "Point",
|
|
174
|
+
coordinates: withinBody.of
|
|
175
|
+
} : withinBody.of,
|
|
176
|
+
distance: {
|
|
177
|
+
value: withinBody.distance[0],
|
|
178
|
+
unit: DistanceUnitMapping[withinBody.distance[1]]
|
|
139
179
|
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
} else {
|
|
183
|
+
const coordinates = "polygon" in withinBody ? withinBody.polygon : withinBody.coordinates;
|
|
142
184
|
return {
|
|
143
|
-
type:
|
|
185
|
+
type: "withinPolygon",
|
|
144
186
|
field,
|
|
145
|
-
value:
|
|
187
|
+
value: {
|
|
188
|
+
type: "Polygon",
|
|
189
|
+
coordinates
|
|
190
|
+
}
|
|
146
191
|
};
|
|
147
|
-
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
type: firstKey,
|
|
196
|
+
field,
|
|
197
|
+
value: filter[firstKey]
|
|
148
198
|
};
|
|
149
199
|
}
|
|
150
200
|
|
|
@@ -238,6 +288,9 @@ var OriginClient = Symbol();
|
|
|
238
288
|
function createPrototype(ontology, type) {
|
|
239
289
|
const objDef = ontology.objects[type];
|
|
240
290
|
const proto = {};
|
|
291
|
+
if (!objDef) {
|
|
292
|
+
return proto;
|
|
293
|
+
}
|
|
241
294
|
Object.defineProperty(proto, "$link", {
|
|
242
295
|
get: function() {
|
|
243
296
|
const client = this[OriginClient];
|
|
@@ -268,17 +321,15 @@ function createPrototype(ontology, type) {
|
|
|
268
321
|
enumerable: false,
|
|
269
322
|
configurable: false
|
|
270
323
|
});
|
|
271
|
-
Object.defineProperty(proto, "__name", {
|
|
272
|
-
value: type,
|
|
273
|
-
enumerable: false,
|
|
274
|
-
configurable: false,
|
|
275
|
-
writable: false
|
|
276
|
-
});
|
|
277
324
|
return proto;
|
|
278
325
|
}
|
|
279
326
|
function createConverter(ontology, type) {
|
|
327
|
+
const objDef = ontology.objects[type];
|
|
328
|
+
if (!objDef) {
|
|
329
|
+
return false;
|
|
330
|
+
}
|
|
280
331
|
const steps = [];
|
|
281
|
-
for (const [key, value] of Object.entries(
|
|
332
|
+
for (const [key, value] of Object.entries(objDef.properties)) {
|
|
282
333
|
if (value.type === "attachment") {
|
|
283
334
|
steps.push((o) => {
|
|
284
335
|
if (o[key] != null) {
|
|
@@ -350,4 +401,4 @@ exports.isAttachment = isAttachment;
|
|
|
350
401
|
exports.modernToLegacyWhereClause = modernToLegacyWhereClause;
|
|
351
402
|
exports.object_exports = object_exports;
|
|
352
403
|
//# sourceMappingURL=out.js.map
|
|
353
|
-
//# sourceMappingURL=chunk-
|
|
404
|
+
//# sourceMappingURL=chunk-V77HHGVZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/object/aggregateOrThrow.ts","../../src/internal/conversions/legacyToModernSingleAggregationResult.ts","../../src/internal/conversions/modernToLegacyAggregationClause.ts","../../src/internal/conversions/modernToLegacyGroupByClause.ts","../../src/internal/conversions/modernToLegacyWhereClause.ts","../../src/query/WhereClause.ts","../../src/object/fetchPageOrThrow.ts","../../src/createCachedOntologyTransform.ts","../../src/object/Attachment.ts","../../src/object/getLinkedObjectByPkOrThrow.ts","../../src/object/getLinkedObjectOrThrow.ts","../../src/object/pageLinkedObjectsOrThrow.ts","../../src/object/convertWireToOsdkObjects.ts","../../src/object/index.ts"],"names":["invariant","createOpenApiRequest"],"mappings":"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","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 { aggregateObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport invariant from \"tiny-invariant\";\nimport { legacyToModernSingleAggregationResult, modernToLegacyAggregationClause, modernToLegacyGroupByClause, modernToLegacyWhereClause } from \"../internal/conversions/index.js\";\nexport async function aggregateOrThrow(clientCtx, objectType, req) {\n const body = {\n aggregation: modernToLegacyAggregationClause(req.select),\n groupBy: [],\n where: undefined\n };\n if (req.groupBy) {\n body.groupBy = modernToLegacyGroupByClause(req.groupBy);\n }\n if (req.where) {\n body.where = modernToLegacyWhereClause(req.where);\n // TODO: orderBy\n // TODO The token stuff here sucks\n }\n const result = await aggregateObjectsV2(createOpenApiRequest(clientCtx.stack, clientCtx.fetch), clientCtx.ontology.metadata.ontologyApiName, objectType, body);\n if (!req.groupBy) {\n !(result.data.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"no group by clause should mean only one data result\") : invariant(false) : void 0;\n return legacyToModernSingleAggregationResult(result.data[0]);\n }\n const ret = result.data.map(entry => {\n return {\n group: entry.group,\n values: legacyToModernSingleAggregationResult(entry)\n };\n }); // fixme\n\n return ret; // FIXME\n}","/*\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 invariant from \"tiny-invariant\";\nexport function legacyToModernSingleAggregationResult(entry) {\n return entry.metrics.reduce((accumulator, curValue) => {\n const parts = curValue.name.split(\".\");\n !(parts.length == 2) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"assumed we were getting a `${key}.${type}`\") : invariant(false) : void 0;\n if (!(parts[0] in accumulator)) {\n accumulator[parts[0]] = {};\n }\n accumulator[parts[0]][parts[1]] = curValue.value;\n return accumulator;\n }, {});\n}","/*\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\nexport function modernToLegacyAggregationClause(select) {\n return Object.entries(select).flatMap(([k, v]) => {\n if (Array.isArray(v)) {\n return v.map(v2 => {\n return {\n type: v2,\n name: `${k}.${v2}`,\n field: k\n };\n });\n } else {\n return [{\n type: v,\n // FIXME v has additional possible values\n name: `${k}.${v}`,\n field: k\n }];\n }\n });\n}","/*\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\nexport function modernToLegacyGroupByClause(groupByClause) {\n if (!groupByClause) return [];\n return Object.entries(groupByClause).flatMap(([field, type]) => {\n if (type === \"exact\") {\n return [{\n type,\n field\n }];\n } else if (type.exactWithLimit) {\n return [{\n type: \"exact\",\n field,\n maxGroupCount: type.exactWithLimit\n }];\n } else {\n return [];\n }\n });\n}","/*\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 invariant from \"tiny-invariant\";\nimport { DistanceUnitMapping } from \"../../query/WhereClause.js\";\nexport function modernToLegacyWhereClause(whereClause) {\n if (\"$and\" in whereClause) {\n return {\n type: \"and\",\n value: whereClause.$and.map(modernToLegacyWhereClause)\n };\n } else if (\"$or\" in whereClause) {\n return {\n type: \"or\",\n value: whereClause.$or.map(modernToLegacyWhereClause)\n };\n } else if (\"$not\" in whereClause) {\n return {\n type: \"not\",\n value: modernToLegacyWhereClause(whereClause.$not)\n };\n }\n const parts = Object.entries(whereClause);\n if (parts.length === 1) {\n return handleWherePair(parts[0]);\n }\n return {\n type: \"and\",\n value: parts.map(handleWherePair)\n };\n}\nfunction makeWithinBbox(field, bbox) {\n return {\n type: \"withinBoundingBox\",\n field,\n value: {\n topLeft: {\n type: \"Point\",\n coordinates: [bbox[0], bbox[3]]\n },\n bottomRight: {\n type: \"Point\",\n coordinates: [bbox[2], bbox[1]]\n }\n }\n };\n}\nfunction handleWherePair([field, filter]) {\n !(filter != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Defined key values are only allowed when they are not undefined.\") : invariant(false) : void 0;\n if (typeof filter === \"string\" || typeof filter === \"number\") {\n return {\n type: \"eq\",\n field,\n value: filter\n };\n }\n !(Object.keys(filter).length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"WhereClause Filter with multiple properties isn't allowed\") : invariant(false) : void 0;\n const firstKey = Object.keys(filter)[0];\n !(filter[firstKey] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (firstKey === \"ne\") {\n return {\n type: \"not\",\n value: {\n type: \"eq\",\n field,\n value: filter[firstKey]\n }\n };\n }\n if (firstKey === \"$within\") {\n const withinBody = filter[firstKey];\n if (Array.isArray(withinBody)) {\n return makeWithinBbox(field, withinBody);\n } else if (\"bbox\" in withinBody && !(\"type\" in withinBody)) {\n return makeWithinBbox(field, withinBody.bbox);\n } else if (\"distance\" in withinBody && \"of\" in withinBody) {\n return {\n type: \"withinDistanceOf\",\n field,\n value: {\n center: Array.isArray(withinBody.of) ? {\n type: \"Point\",\n coordinates: withinBody.of\n } : withinBody.of,\n distance: {\n value: withinBody.distance[0],\n unit: DistanceUnitMapping[withinBody.distance[1]]\n }\n }\n };\n } else {\n const coordinates = \"polygon\" in withinBody ? withinBody.polygon : withinBody.coordinates;\n return {\n type: \"withinPolygon\",\n field,\n value: {\n type: \"Polygon\",\n coordinates\n }\n };\n }\n }\n return {\n type: firstKey,\n field,\n value: filter[firstKey]\n };\n}","/*\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\n// We need to conditional here to force the union to be distributed\n\nexport const DistanceUnitMapping = {\n \"centimeter\": \"CENTIMETERS\",\n \"centimeters\": \"CENTIMETERS\",\n \"cm\": \"CENTIMETERS\",\n \"meter\": \"METERS\",\n \"meters\": \"METERS\",\n \"m\": \"METERS\",\n \"kilometer\": \"KILOMETERS\",\n \"kilometers\": \"KILOMETERS\",\n \"km\": \"KILOMETERS\",\n \"inch\": \"INCHES\",\n \"inches\": \"INCHES\",\n \"foot\": \"FEET\",\n \"feet\": \"FEET\",\n \"yard\": \"YARDS\",\n \"yards\": \"YARDS\",\n \"mile\": \"MILES\",\n \"miles\": \"MILES\",\n \"nautical_mile\": \"NAUTICAL_MILES\",\n \"nauticalMile\": \"NAUTICAL_MILES\",\n \"nautical miles\": \"NAUTICAL_MILES\"\n};\n\n// FIXME we need to represent all types","/*\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 { loadObjectSetV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function fetchPageOrThrow(client, objectType, args, objectSet = {\n type: \"base\",\n objectType\n}) {\n const body = {\n objectSet,\n // We have to do the following case because LoadObjectSetRequestV2 isnt readonly\n select: args?.select ?? [] // FIXME?\n };\n if (args?.nextPageToken) {\n body.pageToken = args.nextPageToken;\n }\n if (args?.pageSize != null) {\n body.pageSize = args.pageSize;\n }\n const r = await loadObjectSetV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, body);\n convertWireToOsdkObjects(client, r.data);\n\n // any is okay here because we have properly converted the wire objects via prototypes\n // which don't type out correctly.\n return r;\n}","/*\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\n/**\n * Creates a getter function that caches based on the ontology.objects[type] value\n *\n * Any extra arguments are passed through, but only the first args passed in will be used and are not considered as part of the caching\n */\nexport function createCachedOntologyTransform(creator) {\n // We can use the ObjectTypeDefinition as the key because it will be a globally unique singleton\n // Use Map instead of WeakMap here so usage for things like object prototypes do not churn over time\n const cache = new Map();\n return (ontology, type) => {\n const objectDefinition = ontology.objects[type];\n let result = cache.get(objectDefinition);\n if (result == null) {\n result = creator(ontology, type);\n cache.set(objectDefinition, result);\n }\n return result;\n };\n}","/*\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\nexport class Attachment {\n constructor(rid) {\n this.rid = rid;\n }\n}\nexport function isAttachment(o) {\n return o instanceof Attachment;\n}","/*\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 { getLinkedObjectV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function getLinkedObjectByPkOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, select) {\n const object = await getLinkedObjectV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, linkedObjectPrimaryKey, {\n select: select ?? []\n });\n const objects = [object];\n convertWireToOsdkObjects(client, objects);\n return objects[0];\n}","/*\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 { PalantirApiError } from \"@osdk/shared.net\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nexport async function getLinkedObjectOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, select) {\n const result = await pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: 1,\n select\n });\n if (result.data.length !== 1 || result.nextPageToken != null) {\n throw new PalantirApiError(`Expected a single result but got ${result.data.length} instead${result.nextPageToken != null ? \" with nextPageToken set\" : \"\"}`);\n }\n return result.data[0];\n}","/*\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 { listLinkedObjectsV2 } from \"@osdk/gateway/requests\";\nimport { createOpenApiRequest } from \"@osdk/shared.net\";\nimport { convertWireToOsdkObjects } from \"./convertWireToOsdkObjects.js\";\nexport async function pageLinkedObjectsOrThrow(client, sourceApiName, primaryKey, linkTypeApiName, options) {\n const page = await listLinkedObjectsV2(createOpenApiRequest(client.stack, client.fetch), client.ontology.metadata.ontologyApiName, sourceApiName, primaryKey, linkTypeApiName, {\n pageSize: options?.pageSize,\n pageToken: options?.nextPageToken,\n select: options?.select ?? []\n });\n convertWireToOsdkObjects(client, page.data);\n return {\n nextPageToken: page.nextPageToken,\n data: page.data\n };\n}","/*\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 { createCachedOntologyTransform } from \"../createCachedOntologyTransform.js\";\nimport { Attachment } from \"./Attachment.js\";\nimport { getLinkedObjectByPkOrThrow } from \"./getLinkedObjectByPkOrThrow.js\";\nimport { getLinkedObjectOrThrow } from \"./getLinkedObjectOrThrow.js\";\nimport { pageLinkedObjectsOrThrow } from \"./pageLinkedObjectsOrThrow.js\";\nconst getPrototype = createCachedOntologyTransform(createPrototype);\nconst getConverter = createCachedOntologyTransform(createConverter);\nconst OriginClient = Symbol();\nfunction createPrototype(ontology, type) {\n const objDef = ontology.objects[type];\n const proto = {};\n if (!objDef) {\n return proto;\n }\n Object.defineProperty(proto, \"$link\", {\n get: function () {\n const client = this[OriginClient];\n const primaryKey = this[\"__primaryKey\"];\n return new Proxy({}, {\n get(_target, p, _receiver) {\n const linkDef = objDef.links[p];\n if (linkDef == null) {\n return;\n }\n if (!linkDef.multiplicity) {\n return {\n get: options => getLinkedObjectOrThrow(client, type, primaryKey, p, options?.select)\n };\n } else {\n return {\n get: (targetPrimaryKey, options) => getLinkedObjectByPkOrThrow(client, type, primaryKey, p, targetPrimaryKey, options?.select),\n fetchPageOrThrow: options => pageLinkedObjectsOrThrow(client, type, primaryKey, p, {\n nextPageToken: options?.nextPageToken,\n pageSize: options?.pageSize,\n select: options?.select\n })\n };\n }\n }\n });\n },\n enumerable: false,\n configurable: false\n });\n return proto;\n}\n\n// preprocess the ontology definition to more quickly apply object conversions when needed\nfunction createConverter(ontology, type) {\n const objDef = ontology.objects[type];\n if (!objDef) {\n return false;\n }\n const steps = [];\n for (const [key, value] of Object.entries(objDef.properties)) {\n // attachments need a wrapper to provide functionality and to identify them at serialization time\n if (value.type === \"attachment\") {\n steps.push(o => {\n if (o[key] != null) {\n if (Array.isArray(o[key])) {\n o[key] = o[key].map(a => new Attachment(a.rid));\n } else {\n o[key] = new Attachment(o[key].rid);\n }\n }\n });\n }\n }\n return steps.length > 0 ? o => {\n for (const step of steps) {\n step(o);\n }\n } : false;\n}\n\n/**\n * @param objs the objects to be converted, the contents of this array will be mutated\n */\nexport function convertWireToOsdkObjects(client, objs) {\n for (const obj of objs) {\n const proto = getPrototype(client.ontology, obj.__apiName);\n const converter = getConverter(client.ontology, obj.__apiName);\n Object.setPrototypeOf(obj, proto);\n Object.defineProperty(obj, OriginClient, {\n value: client,\n enumerable: false,\n configurable: false,\n writable: false\n });\n if (converter) {\n converter(obj);\n }\n }\n}","/*\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\nexport { aggregateOrThrow } from \"./aggregateOrThrow.js\";\nexport { fetchPageOrThrow } from \"./fetchPageOrThrow.js\";"]}
|
package/build/js/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkV77HHGVZ_cjs = require('./chunk-V77HHGVZ.cjs');
|
|
4
4
|
var shared_net = require('@osdk/shared.net');
|
|
5
5
|
var requests = require('@osdk/gateway/requests');
|
|
6
6
|
var WebSocket = require('isomorphic-ws');
|
|
@@ -31,7 +31,7 @@ function toDataValue(value) {
|
|
|
31
31
|
if (Array.isArray(value) || value instanceof Set) {
|
|
32
32
|
return Array.from(value, toDataValue);
|
|
33
33
|
}
|
|
34
|
-
if (
|
|
34
|
+
if (chunkV77HHGVZ_cjs.isAttachment(value)) {
|
|
35
35
|
return value.rid;
|
|
36
36
|
}
|
|
37
37
|
if (isOntologyObjectV2(value)) {
|
|
@@ -598,7 +598,7 @@ async function convertFoundryToOsdkObjects(client, ctx, objects) {
|
|
|
598
598
|
}), [propertyMapping?.propertyIdToApiNameMapping[Object.entries(object.key)[0][0]], Object.entries(object.key)[0][1]], ["__apiName", propertyMapping?.apiName]]);
|
|
599
599
|
return convertedObject;
|
|
600
600
|
}));
|
|
601
|
-
|
|
601
|
+
chunkV77HHGVZ_cjs.convertWireToOsdkObjects(client, osdkObjects);
|
|
602
602
|
return osdkObjects;
|
|
603
603
|
}
|
|
604
604
|
var objectTypeMapping = /* @__PURE__ */ new WeakMap();
|
|
@@ -669,13 +669,13 @@ function createObjectSet2(objectType, clientCtx, objectSet = {
|
|
|
669
669
|
// throw "TODO";
|
|
670
670
|
// },
|
|
671
671
|
aggregateOrThrow: async (req) => {
|
|
672
|
-
return
|
|
672
|
+
return chunkV77HHGVZ_cjs.aggregateOrThrow(clientCtx, objectType, req);
|
|
673
673
|
},
|
|
674
674
|
// fetchPage: async (args?: { nextPageToken?: string }) => {
|
|
675
675
|
// throw "TODO";
|
|
676
676
|
// },
|
|
677
677
|
fetchPageOrThrow: async (args) => {
|
|
678
|
-
return
|
|
678
|
+
return chunkV77HHGVZ_cjs.fetchPageOrThrow(clientCtx, objectType, args ?? {}, objectSet);
|
|
679
679
|
},
|
|
680
680
|
// asyncIter: () => {
|
|
681
681
|
// throw "";
|
|
@@ -684,7 +684,7 @@ function createObjectSet2(objectType, clientCtx, objectSet = {
|
|
|
684
684
|
return createObjectSet2(objectType, clientCtx, {
|
|
685
685
|
type: "filter",
|
|
686
686
|
objectSet,
|
|
687
|
-
where:
|
|
687
|
+
where: chunkV77HHGVZ_cjs.modernToLegacyWhereClause(clause)
|
|
688
688
|
});
|
|
689
689
|
},
|
|
690
690
|
// [Symbol.asyncIterator]: () => {
|
|
@@ -740,9 +740,12 @@ function createObjectSetCreator(client, clientContext) {
|
|
|
740
740
|
});
|
|
741
741
|
}
|
|
742
742
|
|
|
743
|
+
// src/util/UserAgent.ts
|
|
744
|
+
var USER_AGENT = `osdk-client/${"0.8.0"}`;
|
|
745
|
+
|
|
743
746
|
// src/createClient.ts
|
|
744
747
|
function createClient(ontology, stack, tokenProvider, fetchFn = fetch) {
|
|
745
|
-
const clientCtx = shared_net.createClientContext(ontology, stack, tokenProvider,
|
|
748
|
+
const clientCtx = shared_net.createClientContext(ontology, stack, tokenProvider, USER_AGENT, fetchFn);
|
|
746
749
|
const objectSetFactory = (type) => createObjectSet2(type, clientCtx);
|
|
747
750
|
const client = Object.defineProperties({}, {
|
|
748
751
|
objectSet: {
|
|
@@ -774,7 +777,7 @@ function createClient(ontology, stack, tokenProvider, fetchFn = fetch) {
|
|
|
774
777
|
|
|
775
778
|
Object.defineProperty(exports, 'Objects', {
|
|
776
779
|
enumerable: true,
|
|
777
|
-
get: function () { return
|
|
780
|
+
get: function () { return chunkV77HHGVZ_cjs.object_exports; }
|
|
778
781
|
});
|
|
779
782
|
Object.defineProperty(exports, 'createClientContext', {
|
|
780
783
|
enumerable: true,
|