@osdk/client 2.1.0-beta.0 → 2.1.0-beta.2
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 +26 -0
- package/build/browser/createGeotimeSeriesProperty.d.ts +14 -0
- package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -0
- package/build/browser/createGeotimeSeriesProperty.js +47 -0
- package/build/browser/createGeotimeSeriesProperty.js.map +1 -0
- package/build/browser/createTimeseriesProperty.d.ts.map +1 -1
- package/build/browser/createTimeseriesProperty.js +4 -36
- package/build/browser/createTimeseriesProperty.js.map +1 -1
- package/build/browser/fetchMetadata.test.js +7 -0
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/object/Cache.test.js +1 -1
- package/build/browser/object/Cache.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts +1 -0
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js +1 -0
- package/build/browser/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +15 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +14 -3
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/geotimeseriesreference.test.d.ts +2 -0
- package/build/browser/object/geotimeseriesreference.test.d.ts.map +1 -0
- package/build/browser/object/geotimeseriesreference.test.js +257 -0
- package/build/browser/object/geotimeseriesreference.test.js.map +1 -0
- package/build/browser/objectSet/ObjectSet.test.js +6 -3
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/toConjureObjectSet.js +7 -0
- package/build/browser/objectSet/toConjureObjectSet.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/timeseriesUtils.d.ts +8 -0
- package/build/browser/util/timeseriesUtils.d.ts.map +1 -0
- package/build/browser/util/timeseriesUtils.js +51 -0
- package/build/browser/util/timeseriesUtils.js.map +1 -0
- package/build/esm/createGeotimeSeriesProperty.d.ts +14 -0
- package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -0
- package/build/esm/createGeotimeSeriesProperty.js +47 -0
- package/build/esm/createGeotimeSeriesProperty.js.map +1 -0
- package/build/esm/createTimeseriesProperty.d.ts.map +1 -1
- package/build/esm/createTimeseriesProperty.js +4 -36
- package/build/esm/createTimeseriesProperty.js.map +1 -1
- package/build/esm/fetchMetadata.test.js +7 -0
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/object/Cache.test.js +1 -1
- package/build/esm/object/Cache.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts +1 -0
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.d.ts.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js +1 -0
- package/build/esm/object/convertWireToOsdkObjects/InternalSymbols.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +15 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +14 -3
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/geotimeseriesreference.test.d.ts +2 -0
- package/build/esm/object/geotimeseriesreference.test.d.ts.map +1 -0
- package/build/esm/object/geotimeseriesreference.test.js +257 -0
- package/build/esm/object/geotimeseriesreference.test.js.map +1 -0
- package/build/esm/objectSet/ObjectSet.test.js +6 -3
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/toConjureObjectSet.js +7 -0
- package/build/esm/objectSet/toConjureObjectSet.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/timeseriesUtils.d.ts +8 -0
- package/build/esm/util/timeseriesUtils.d.ts.map +1 -0
- package/build/esm/util/timeseriesUtils.js +51 -0
- package/build/esm/util/timeseriesUtils.js.map +1 -0
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toConjureObjectSet.js","names":["conjureUnionType","toConjureObjectSet","objectSet","objectPropertyMapping","type","objectTypeId","id","objectRids","objects","provenance","undefined","objectSetRid","reference","runtimeDerivedProperties","filter","mapWhereClauseToObjectSetFilter","where","objectSets","map","os","Error","getObjectSetBaseType","objectType","objectSetFilter","propertyMapping","propertyId","propertyApiNameToIdMapping","field","lt","value","lte","gt","gte","terms","filters","hasProperty"],"sources":["toConjureObjectSet.js"],"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 */\nimport { conjureUnionType } from \"./conjureUnionType.js\";\n/** @internal */\nexport function toConjureObjectSet(objectSet, objectPropertyMapping) {\n switch (objectSet.type) {\n case \"base\":\n return conjureUnionType(\"base\", {\n objectTypeId: objectPropertyMapping.id,\n });\n case \"static\":\n return conjureUnionType(\"static\", {\n objectRids: objectSet.objects,\n provenance: undefined,\n });\n case \"reference\":\n return conjureUnionType(\"referenced\", {\n objectSetRid: objectSet.reference,\n });\n case \"filter\":\n return conjureUnionType(\"filtered\", {\n objectSet: toConjureObjectSet(objectSet.objectSet, objectPropertyMapping),\n runtimeDerivedProperties: undefined,\n filter: mapWhereClauseToObjectSetFilter(objectSet.where, objectPropertyMapping),\n });\n case \"union\":\n return conjureUnionType(\"unioned\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping)),\n });\n case \"intersect\":\n return conjureUnionType(\"intersected\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping)),\n });\n case \"subtract\":\n return conjureUnionType(\"subtracted\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping)),\n });\n case \"searchAround\":\n throw new Error(\"not implemented\");\n }\n}\n/** @internal */\nexport async function getObjectSetBaseType(objectSet) {\n switch (objectSet.type) {\n case \"base\":\n return objectSet.objectType;\n case \"static\":\n // TODO: Get the object type from a wire call\n // This is not supported at the moment by the API anyway\n throw new Error(\"not implemented\");\n case \"reference\":\n // TODO: Get the object type from a wire call\n throw new Error(\"not implemented\");\n case \"filter\":\n return getObjectSetBaseType(objectSet.objectSet);\n case \"union\":\n // Technically you can have multiple ObjectTypes but at the moment we only support one\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"intersect\":\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"subtract\":\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"searchAround\":\n // TODO: Get a mapping using the link\n throw new Error(\"not implemented\");\n }\n}\nfunction mapWhereClauseToObjectSetFilter(objectSetFilter, propertyMapping) {\n switch (objectSetFilter.type) {\n case \"lt\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n lt: objectSetFilter.value,\n lte: undefined,\n gt: undefined,\n gte: undefined,\n });\n case \"gt\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n gt: objectSetFilter.value,\n lte: undefined,\n lt: undefined,\n gte: undefined,\n });\n case \"lte\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n lte: objectSetFilter.value,\n lt: undefined,\n gt: undefined,\n gte: undefined,\n });\n case \"gte\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n gte: objectSetFilter.value,\n lt: undefined,\n lte: undefined,\n gt: undefined,\n });\n case \"eq\":\n return conjureUnionType(\"exactMatch\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n terms: [objectSetFilter.value],\n });\n case \"and\":\n return conjureUnionType(\"and\", {\n filters: objectSetFilter.value.map(filter => mapWhereClauseToObjectSetFilter(filter, propertyMapping)),\n });\n case \"or\":\n return conjureUnionType(\"or\", {\n filters: objectSetFilter.value.map(filter => mapWhereClauseToObjectSetFilter(filter, propertyMapping)),\n });\n case \"isNull\":\n return conjureUnionType(\"not\", {\n filter: {\n type: \"hasProperty\",\n hasProperty: {\n propertyId: propertyMapping\n .propertyApiNameToIdMapping[objectSetFilter.field],\n },\n },\n });\n case \"not\":\n return conjureUnionType(\"not\", {\n filter: mapWhereClauseToObjectSetFilter(objectSetFilter.value, propertyMapping),\n });\n case \"contains\":\n case \"startsWith\":\n case \"containsAllTermsInOrder\":\n case \"containsAnyTerm\":\n case \"containsAllTerms\":\n case \"withinDistanceOf\":\n case \"withinBoundingBox\":\n case \"intersectsBoundingBox\":\n case \"doesNotIntersectBoundingBox\":\n case \"withinPolygon\":\n case \"intersectsPolygon\":\n case \"doesNotIntersectPolygon\":\n case \"containsAllTermsInOrderPrefixLastTerm\":\n case \"in\":\n throw new Error(\"not implemented\");\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"toConjureObjectSet.js","names":["conjureUnionType","toConjureObjectSet","objectSet","objectPropertyMapping","type","objectTypeId","id","objectRids","objects","provenance","undefined","objectSetRid","reference","runtimeDerivedProperties","filter","mapWhereClauseToObjectSetFilter","where","objectSets","map","os","Error","getObjectSetBaseType","objectType","objectSetFilter","propertyMapping","propertyId","propertyApiNameToIdMapping","field","lt","value","lte","gt","gte","terms","filters","hasProperty"],"sources":["toConjureObjectSet.js"],"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 */\nimport { conjureUnionType } from \"./conjureUnionType.js\";\n/** @internal */\nexport function toConjureObjectSet(objectSet, objectPropertyMapping) {\n switch (objectSet.type) {\n case \"base\":\n return conjureUnionType(\"base\", {\n objectTypeId: objectPropertyMapping.id,\n });\n case \"static\":\n return conjureUnionType(\"static\", {\n objectRids: objectSet.objects,\n provenance: undefined,\n });\n case \"reference\":\n return conjureUnionType(\"referenced\", {\n objectSetRid: objectSet.reference,\n });\n case \"filter\":\n return conjureUnionType(\"filtered\", {\n objectSet: toConjureObjectSet(objectSet.objectSet, objectPropertyMapping),\n runtimeDerivedProperties: undefined,\n filter: mapWhereClauseToObjectSetFilter(objectSet.where, objectPropertyMapping),\n });\n case \"union\":\n return conjureUnionType(\"unioned\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping)),\n });\n case \"intersect\":\n return conjureUnionType(\"intersected\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping)),\n });\n case \"subtract\":\n return conjureUnionType(\"subtracted\", {\n objectSets: objectSet.objectSets.map(os => toConjureObjectSet(os, objectPropertyMapping)),\n });\n case \"searchAround\":\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"interfaceBase\":\n throw new Error(\"not implemented\");\n }\n}\n/** @internal */\nexport async function getObjectSetBaseType(objectSet) {\n switch (objectSet.type) {\n case \"base\":\n return objectSet.objectType;\n case \"static\":\n // TODO: Get the object type from a wire call\n // This is not supported at the moment by the API anyway\n throw new Error(\"not implemented\");\n case \"reference\":\n // TODO: Get the object type from a wire call\n throw new Error(\"not implemented\");\n case \"filter\":\n return getObjectSetBaseType(objectSet.objectSet);\n case \"union\":\n // Technically you can have multiple ObjectTypes but at the moment we only support one\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"intersect\":\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"subtract\":\n return getObjectSetBaseType(objectSet.objectSets[0]);\n case \"searchAround\":\n // TODO: Get a mapping using the link\n throw new Error(\"not implemented\");\n case \"asBaseObjectTypes\":\n case \"asType\":\n case \"interfaceBase\":\n throw new Error(\"not implemented\");\n }\n}\nfunction mapWhereClauseToObjectSetFilter(objectSetFilter, propertyMapping) {\n switch (objectSetFilter.type) {\n case \"lt\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n lt: objectSetFilter.value,\n lte: undefined,\n gt: undefined,\n gte: undefined,\n });\n case \"gt\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n gt: objectSetFilter.value,\n lte: undefined,\n lt: undefined,\n gte: undefined,\n });\n case \"lte\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n lte: objectSetFilter.value,\n lt: undefined,\n gt: undefined,\n gte: undefined,\n });\n case \"gte\":\n return conjureUnionType(\"range\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n gte: objectSetFilter.value,\n lt: undefined,\n lte: undefined,\n gt: undefined,\n });\n case \"eq\":\n return conjureUnionType(\"exactMatch\", {\n propertyId: propertyMapping.propertyApiNameToIdMapping[objectSetFilter.field],\n terms: [objectSetFilter.value],\n });\n case \"and\":\n return conjureUnionType(\"and\", {\n filters: objectSetFilter.value.map(filter => mapWhereClauseToObjectSetFilter(filter, propertyMapping)),\n });\n case \"or\":\n return conjureUnionType(\"or\", {\n filters: objectSetFilter.value.map(filter => mapWhereClauseToObjectSetFilter(filter, propertyMapping)),\n });\n case \"isNull\":\n return conjureUnionType(\"not\", {\n filter: {\n type: \"hasProperty\",\n hasProperty: {\n propertyId: propertyMapping\n .propertyApiNameToIdMapping[objectSetFilter.field],\n },\n },\n });\n case \"not\":\n return conjureUnionType(\"not\", {\n filter: mapWhereClauseToObjectSetFilter(objectSetFilter.value, propertyMapping),\n });\n case \"contains\":\n case \"startsWith\":\n case \"containsAllTermsInOrder\":\n case \"containsAnyTerm\":\n case \"containsAllTerms\":\n case \"withinDistanceOf\":\n case \"withinBoundingBox\":\n case \"intersectsBoundingBox\":\n case \"doesNotIntersectBoundingBox\":\n case \"withinPolygon\":\n case \"intersectsPolygon\":\n case \"doesNotIntersectPolygon\":\n case \"containsAllTermsInOrderPrefixLastTerm\":\n case \"in\":\n throw new Error(\"not implemented\");\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export const USER_AGENT = `osdk-client/${"2.1.0-beta.
|
|
16
|
+
export const USER_AGENT = `osdk-client/${"2.1.0-beta.2"}`;
|
|
17
17
|
//# sourceMappingURL=UserAgent.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TimeSeriesQuery } from "@osdk/api";
|
|
2
|
+
import type { TimeRange } from "@osdk/internal.foundry.core";
|
|
3
|
+
export declare function getTimeRange(body: TimeSeriesQuery): TimeRange;
|
|
4
|
+
export declare function asyncIterPointsHelper<T extends number | string | GeoJSON.Point>(iterator: Blob): AsyncGenerator<{
|
|
5
|
+
time: any;
|
|
6
|
+
value: T;
|
|
7
|
+
}, void, unknown>;
|
|
8
|
+
//# sourceMappingURL=timeseriesUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeseriesUtils.d.ts","sourceRoot":"","sources":["../../../src/util/timeseriesUtils.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAI7D,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAyB7D;AAED,wBAAuB,qBAAqB,CAC1C,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,EAEzC,QAAQ,EAAE,IAAI;;WAQY,CAAC;kBAG5B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { TimeseriesDurationMapping } from "@osdk/api";
|
|
17
|
+
import { iterateReadableStream, parseStreamedResponse } from "./streamutils.js";
|
|
18
|
+
export function getTimeRange(body) {
|
|
19
|
+
if ("$startTime" in body || "$endTime" in body) {
|
|
20
|
+
return {
|
|
21
|
+
type: "absolute",
|
|
22
|
+
startTime: body.$startTime,
|
|
23
|
+
endTime: body.$endTime
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return body.$before ? {
|
|
27
|
+
type: "relative",
|
|
28
|
+
startTime: {
|
|
29
|
+
when: "BEFORE",
|
|
30
|
+
value: body.$before,
|
|
31
|
+
unit: TimeseriesDurationMapping[body.$unit]
|
|
32
|
+
}
|
|
33
|
+
} : {
|
|
34
|
+
type: "relative",
|
|
35
|
+
endTime: {
|
|
36
|
+
when: "AFTER",
|
|
37
|
+
value: body.$after,
|
|
38
|
+
unit: TimeseriesDurationMapping[body.$unit]
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export async function* asyncIterPointsHelper(iterator) {
|
|
43
|
+
const reader = iterator.stream().getReader();
|
|
44
|
+
for await (const point of parseStreamedResponse(iterateReadableStream(reader))) {
|
|
45
|
+
yield {
|
|
46
|
+
time: point.time,
|
|
47
|
+
value: point.value
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=timeseriesUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeseriesUtils.js","names":["TimeseriesDurationMapping","iterateReadableStream","parseStreamedResponse","getTimeRange","body","type","startTime","$startTime","endTime","$endTime","$before","when","value","unit","$unit","$after","asyncIterPointsHelper","iterator","reader","stream","getReader","point","time"],"sources":["timeseriesUtils.js"],"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 */\nimport { TimeseriesDurationMapping } from \"@osdk/api\";\nimport { iterateReadableStream, parseStreamedResponse } from \"./streamutils.js\";\nexport function getTimeRange(body) {\n if (\"$startTime\" in body || \"$endTime\" in body) {\n return {\n type: \"absolute\",\n startTime: body.$startTime,\n endTime: body.$endTime,\n };\n }\n return body.$before\n ? {\n type: \"relative\",\n startTime: {\n when: \"BEFORE\",\n value: body.$before,\n unit: TimeseriesDurationMapping[body.$unit],\n },\n }\n : {\n type: \"relative\",\n endTime: {\n when: \"AFTER\",\n value: body.$after,\n unit: TimeseriesDurationMapping[body.$unit],\n },\n };\n}\nexport async function* asyncIterPointsHelper(iterator) {\n const reader = iterator.stream().getReader();\n for await (const point of parseStreamedResponse(iterateReadableStream(reader))) {\n yield {\n time: point.time,\n value: point.value,\n };\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,yBAAyB,QAAQ,WAAW;AACrD,SAASC,qBAAqB,EAAEC,qBAAqB,QAAQ,kBAAkB;AAC/E,OAAO,SAASC,YAAYA,CAACC,IAAI,EAAE;EAC/B,IAAI,YAAY,IAAIA,IAAI,IAAI,UAAU,IAAIA,IAAI,EAAE;IAC5C,OAAO;MACHC,IAAI,EAAE,UAAU;MAChBC,SAAS,EAAEF,IAAI,CAACG,UAAU;MAC1BC,OAAO,EAAEJ,IAAI,CAACK;IAClB,CAAC;EACL;EACA,OAAOL,IAAI,CAACM,OAAO,GACb;IACEL,IAAI,EAAE,UAAU;IAChBC,SAAS,EAAE;MACPK,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAER,IAAI,CAACM,OAAO;MACnBG,IAAI,EAAEb,yBAAyB,CAACI,IAAI,CAACU,KAAK;IAC9C;EACJ,CAAC,GACC;IACET,IAAI,EAAE,UAAU;IAChBG,OAAO,EAAE;MACLG,IAAI,EAAE,OAAO;MACbC,KAAK,EAAER,IAAI,CAACW,MAAM;MAClBF,IAAI,EAAEb,yBAAyB,CAACI,IAAI,CAACU,KAAK;IAC9C;EACJ,CAAC;AACT;AACA,OAAO,gBAAgBE,qBAAqBA,CAACC,QAAQ,EAAE;EACnD,MAAMC,MAAM,GAAGD,QAAQ,CAACE,MAAM,CAAC,CAAC,CAACC,SAAS,CAAC,CAAC;EAC5C,WAAW,MAAMC,KAAK,IAAInB,qBAAqB,CAACD,qBAAqB,CAACiB,MAAM,CAAC,CAAC,EAAE;IAC5E,MAAM;MACFI,IAAI,EAAED,KAAK,CAACC,IAAI;MAChBV,KAAK,EAAES,KAAK,CAACT;IACjB,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { GeotimeSeriesProperty, TimeSeriesPoint, TimeSeriesQuery } from "@osdk/api";
|
|
2
|
+
import type { MinimalClient } from "./MinimalClientContext.js";
|
|
3
|
+
export declare class GeotimeSeriesPropertyImpl<T extends GeoJSON.Point> implements GeotimeSeriesProperty<T> {
|
|
4
|
+
#private;
|
|
5
|
+
lastFetchedValue: TimeSeriesPoint<T> | undefined;
|
|
6
|
+
constructor(client: MinimalClient, objectApiName: string, primaryKey: any, propertyName: string);
|
|
7
|
+
getLatestValue(): Promise<TimeSeriesPoint<T> | undefined>;
|
|
8
|
+
getAllValues(query?: TimeSeriesQuery): Promise<TimeSeriesPoint<T>[]>;
|
|
9
|
+
asyncIterValues(query?: TimeSeriesQuery): AsyncGenerator<{
|
|
10
|
+
time: any;
|
|
11
|
+
value: T;
|
|
12
|
+
}, void, unknown>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=createGeotimeSeriesProperty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createGeotimeSeriesProperty.d.ts","sourceRoot":"","sources":["../../src/createGeotimeSeriesProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAEf,eAAe,EAChB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,qBAAa,yBAAyB,CAAC,CAAC,SAAS,OAAO,CAAC,KAAK,CAC5D,YAAW,qBAAqB,CAAC,CAAC,CAAC;;IAInC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAG/C,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM;IAMT,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAWzD,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe;IASnC,eAAe,CAC3B,KAAK,CAAC,EAAE,eAAe;;;;CAgB1B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import * as OntologiesV2 from "@osdk/internal.foundry.ontologiesv2";
|
|
17
|
+
import { asyncIterPointsHelper, getTimeRange } from "./util/timeseriesUtils.js";
|
|
18
|
+
export class GeotimeSeriesPropertyImpl {
|
|
19
|
+
#triplet;
|
|
20
|
+
#client;
|
|
21
|
+
lastFetchedValue;
|
|
22
|
+
constructor(client, objectApiName, primaryKey, propertyName) {
|
|
23
|
+
this.#client = client;
|
|
24
|
+
this.#triplet = [objectApiName, primaryKey, propertyName];
|
|
25
|
+
}
|
|
26
|
+
async getLatestValue() {
|
|
27
|
+
const latestPointPromise = OntologiesV2.TimeSeriesValueBankProperties.getLatestValue(this.#client, await this.#client.ontologyRid, ...this.#triplet);
|
|
28
|
+
latestPointPromise.then(latestPoint => this.lastFetchedValue = latestPoint);
|
|
29
|
+
return latestPointPromise;
|
|
30
|
+
}
|
|
31
|
+
async getAllValues(query) {
|
|
32
|
+
const allPoints = [];
|
|
33
|
+
for await (const point of this.asyncIterValues(query)) {
|
|
34
|
+
allPoints.push(point);
|
|
35
|
+
}
|
|
36
|
+
return allPoints;
|
|
37
|
+
}
|
|
38
|
+
async *asyncIterValues(query) {
|
|
39
|
+
const streamPointsIterator = await OntologiesV2.TimeSeriesValueBankProperties.streamValues(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? {
|
|
40
|
+
range: getTimeRange(query)
|
|
41
|
+
} : {});
|
|
42
|
+
for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {
|
|
43
|
+
yield timeseriesPoint;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=createGeotimeSeriesProperty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createGeotimeSeriesProperty.js","names":["OntologiesV2","asyncIterPointsHelper","getTimeRange","GeotimeSeriesPropertyImpl","triplet","client","lastFetchedValue","constructor","objectApiName","primaryKey","propertyName","getLatestValue","latestPointPromise","TimeSeriesValueBankProperties","ontologyRid","then","latestPoint","getAllValues","query","allPoints","point","asyncIterValues","push","streamPointsIterator","streamValues","range","timeseriesPoint"],"sources":["createGeotimeSeriesProperty.js"],"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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { asyncIterPointsHelper, getTimeRange } from \"./util/timeseriesUtils.js\";\nexport class GeotimeSeriesPropertyImpl {\n #triplet;\n #client;\n lastFetchedValue;\n constructor(client, objectApiName, primaryKey, propertyName) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n }\n async getLatestValue() {\n const latestPointPromise = OntologiesV2.TimeSeriesValueBankProperties\n .getLatestValue(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n latestPointPromise.then(latestPoint => this.lastFetchedValue = latestPoint);\n return latestPointPromise;\n }\n async getAllValues(query) {\n const allPoints = [];\n for await (const point of this.asyncIterValues(query)) {\n allPoints.push(point);\n }\n return allPoints;\n }\n async *asyncIterValues(query) {\n const streamPointsIterator = await OntologiesV2\n .TimeSeriesValueBankProperties.streamValues(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? { range: getTimeRange(query) } : {});\n for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {\n yield timeseriesPoint;\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,qBAAqB,EAAEC,YAAY,QAAQ,2BAA2B;AAC/E,OAAO,MAAMC,yBAAyB,CAAC;EACnC,CAACC,OAAO;EACR,CAACC,MAAM;EACPC,gBAAgB;EAChBC,WAAWA,CAACF,MAAM,EAAEG,aAAa,EAAEC,UAAU,EAAEC,YAAY,EAAE;IACzD,IAAI,CAAC,CAACL,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;EAC7D;EACA,MAAMC,cAAcA,CAAA,EAAG;IACnB,MAAMC,kBAAkB,GAAGZ,YAAY,CAACa,6BAA6B,CAChEF,cAAc,CAAC,IAAI,CAAC,CAACN,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,CAAC;IACnFQ,kBAAkB,CAACG,IAAI,CAACC,WAAW,IAAI,IAAI,CAACV,gBAAgB,GAAGU,WAAW,CAAC;IAC3E,OAAOJ,kBAAkB;EAC7B;EACA,MAAMK,YAAYA,CAACC,KAAK,EAAE;IACtB,MAAMC,SAAS,GAAG,EAAE;IACpB,WAAW,MAAMC,KAAK,IAAI,IAAI,CAACC,eAAe,CAACH,KAAK,CAAC,EAAE;MACnDC,SAAS,CAACG,IAAI,CAACF,KAAK,CAAC;IACzB;IACA,OAAOD,SAAS;EACpB;EACA,OAAOE,eAAeA,CAACH,KAAK,EAAE;IAC1B,MAAMK,oBAAoB,GAAG,MAAMvB,YAAY,CAC1Ca,6BAA6B,CAACW,YAAY,CAAC,IAAI,CAAC,CAACnB,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,EAAEc,KAAK,GAAG;MAAEO,KAAK,EAAEvB,YAAY,CAACgB,KAAK;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5J,WAAW,MAAMQ,eAAe,IAAIzB,qBAAqB,CAACsB,oBAAoB,CAAC,EAAE;MAC7E,MAAMG,eAAe;IACzB;EACJ;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTimeseriesProperty.d.ts","sourceRoot":"","sources":["../../src/createTimeseriesProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"createTimeseriesProperty.d.ts","sourceRoot":"","sources":["../../src/createTimeseriesProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,WAAW,CAAC;AAInB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,qBAAa,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAC3D,YAAW,kBAAkB,CAAC,CAAC,CAAC;;gBAM9B,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM;IAMT,aAAa;IAQb,YAAY;IAQZ,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe;IASnC,eAAe,CAC3B,KAAK,CAAC,EAAE,eAAe;;;;CAgB1B"}
|
|
@@ -13,9 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { TimeseriesDurationMapping } from "@osdk/api";
|
|
17
16
|
import * as OntologiesV2 from "@osdk/internal.foundry.ontologiesv2";
|
|
18
|
-
import {
|
|
17
|
+
import { asyncIterPointsHelper, getTimeRange } from "./util/timeseriesUtils.js";
|
|
19
18
|
export class TimeSeriesPropertyImpl {
|
|
20
19
|
#triplet;
|
|
21
20
|
#client;
|
|
@@ -32,10 +31,7 @@ export class TimeSeriesPropertyImpl {
|
|
|
32
31
|
async getAllPoints(query) {
|
|
33
32
|
const allPoints = [];
|
|
34
33
|
for await (const point of this.asyncIterPoints(query)) {
|
|
35
|
-
allPoints.push(
|
|
36
|
-
time: point.time,
|
|
37
|
-
value: point.value
|
|
38
|
-
});
|
|
34
|
+
allPoints.push(point);
|
|
39
35
|
}
|
|
40
36
|
return allPoints;
|
|
41
37
|
}
|
|
@@ -43,37 +39,9 @@ export class TimeSeriesPropertyImpl {
|
|
|
43
39
|
const streamPointsIterator = await OntologiesV2.TimeSeriesPropertiesV2.streamPoints(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? {
|
|
44
40
|
range: getTimeRange(query)
|
|
45
41
|
} : {});
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
yield {
|
|
49
|
-
time: point.time,
|
|
50
|
-
value: point.value
|
|
51
|
-
};
|
|
42
|
+
for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {
|
|
43
|
+
yield timeseriesPoint;
|
|
52
44
|
}
|
|
53
45
|
}
|
|
54
46
|
}
|
|
55
|
-
function getTimeRange(body) {
|
|
56
|
-
if ("$startTime" in body || "$endTime" in body) {
|
|
57
|
-
return {
|
|
58
|
-
type: "absolute",
|
|
59
|
-
startTime: body.$startTime,
|
|
60
|
-
endTime: body.$endTime
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
return body.$before ? {
|
|
64
|
-
type: "relative",
|
|
65
|
-
startTime: {
|
|
66
|
-
when: "BEFORE",
|
|
67
|
-
value: body.$before,
|
|
68
|
-
unit: TimeseriesDurationMapping[body.$unit]
|
|
69
|
-
}
|
|
70
|
-
} : {
|
|
71
|
-
type: "relative",
|
|
72
|
-
endTime: {
|
|
73
|
-
when: "AFTER",
|
|
74
|
-
value: body.$after,
|
|
75
|
-
unit: TimeseriesDurationMapping[body.$unit]
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
47
|
//# sourceMappingURL=createTimeseriesProperty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTimeseriesProperty.js","names":["
|
|
1
|
+
{"version":3,"file":"createTimeseriesProperty.js","names":["OntologiesV2","asyncIterPointsHelper","getTimeRange","TimeSeriesPropertyImpl","triplet","client","constructor","objectApiName","primaryKey","propertyName","getFirstPoint","TimeSeriesPropertiesV2","ontologyRid","getLastPoint","getAllPoints","query","allPoints","point","asyncIterPoints","push","streamPointsIterator","streamPoints","range","timeseriesPoint"],"sources":["createTimeseriesProperty.js"],"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 */\nimport * as OntologiesV2 from \"@osdk/internal.foundry.ontologiesv2\";\nimport { asyncIterPointsHelper, getTimeRange } from \"./util/timeseriesUtils.js\";\nexport class TimeSeriesPropertyImpl {\n #triplet;\n #client;\n constructor(client, objectApiName, primaryKey, propertyName) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n }\n async getFirstPoint() {\n return OntologiesV2.TimeSeriesPropertiesV2.getFirstPoint(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n }\n async getLastPoint() {\n return OntologiesV2.TimeSeriesPropertiesV2.getLastPoint(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n }\n async getAllPoints(query) {\n const allPoints = [];\n for await (const point of this.asyncIterPoints(query)) {\n allPoints.push(point);\n }\n return allPoints;\n }\n async *asyncIterPoints(query) {\n const streamPointsIterator = await OntologiesV2.TimeSeriesPropertiesV2\n .streamPoints(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? { range: getTimeRange(query) } : {});\n for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {\n yield timeseriesPoint;\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,qCAAqC;AACnE,SAASC,qBAAqB,EAAEC,YAAY,QAAQ,2BAA2B;AAC/E,OAAO,MAAMC,sBAAsB,CAAC;EAChC,CAACC,OAAO;EACR,CAACC,MAAM;EACPC,WAAWA,CAACD,MAAM,EAAEE,aAAa,EAAEC,UAAU,EAAEC,YAAY,EAAE;IACzD,IAAI,CAAC,CAACJ,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACG,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;EAC7D;EACA,MAAMC,aAAaA,CAAA,EAAG;IAClB,OAAOV,YAAY,CAACW,sBAAsB,CAACD,aAAa,CAAC,IAAI,CAAC,CAACL,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACO,WAAW,EAAE,GAAG,IAAI,CAAC,CAACR,OAAO,CAAC;EAC5H;EACA,MAAMS,YAAYA,CAAA,EAAG;IACjB,OAAOb,YAAY,CAACW,sBAAsB,CAACE,YAAY,CAAC,IAAI,CAAC,CAACR,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACO,WAAW,EAAE,GAAG,IAAI,CAAC,CAACR,OAAO,CAAC;EAC3H;EACA,MAAMU,YAAYA,CAACC,KAAK,EAAE;IACtB,MAAMC,SAAS,GAAG,EAAE;IACpB,WAAW,MAAMC,KAAK,IAAI,IAAI,CAACC,eAAe,CAACH,KAAK,CAAC,EAAE;MACnDC,SAAS,CAACG,IAAI,CAACF,KAAK,CAAC;IACzB;IACA,OAAOD,SAAS;EACpB;EACA,OAAOE,eAAeA,CAACH,KAAK,EAAE;IAC1B,MAAMK,oBAAoB,GAAG,MAAMpB,YAAY,CAACW,sBAAsB,CACjEU,YAAY,CAAC,IAAI,CAAC,CAAChB,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACO,WAAW,EAAE,GAAG,IAAI,CAAC,CAACR,OAAO,EAAEW,KAAK,GAAG;MAAEO,KAAK,EAAEpB,YAAY,CAACa,KAAK;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9H,WAAW,MAAMQ,eAAe,IAAItB,qBAAqB,CAACmB,oBAAoB,CAAC,EAAE;MAC7E,MAAMG,eAAe;IACzB;EACJ;AACJ","ignoreList":[]}
|
|
@@ -79,6 +79,13 @@ describe("FetchMetadata", () => {
|
|
|
79
79
|
"nullable": false,
|
|
80
80
|
"type": "integer",
|
|
81
81
|
},
|
|
82
|
+
"employeeLocation": {
|
|
83
|
+
"description": "Geotime series reference of the location of the employee",
|
|
84
|
+
"displayName": undefined,
|
|
85
|
+
"multiplicity": false,
|
|
86
|
+
"nullable": true,
|
|
87
|
+
"type": "geotimeSeriesReference",
|
|
88
|
+
},
|
|
82
89
|
"employeeStatus": {
|
|
83
90
|
"description": "TimeSeries of the status of the employee",
|
|
84
91
|
"displayName": undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchMetadata.test.js","names":["$Actions","$Interfaces","$Objects","$ontologyRid","$Queries","apiServer","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","objectMetadata","fetchMetadata","Employee","toEqualTypeOf","toMatchInlineSnapshot","interfaceMetadata","FooInterface","actionMetadata","moveOffice","queryMetadata","queryAcceptsObject"],"sources":["fetchMetadata.test.js"],"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 */\nimport { $Actions, $Interfaces, $Objects, $ontologyRid, $Queries, } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"./createClient.js\";\ndescribe(\"FetchMetadata\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"fetches object metadata correctly\", async () => {\n const objectMetadata = await client.fetchMetadata($Objects.Employee);\n expectTypeOf(objectMetadata).toEqualTypeOf();\n expect(objectMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"Employee\",\n \"description\": \"A full-time or part-time \n\n employee of our firm\",\n \"displayName\": \"Employee\",\n \"icon\": {\n \"color\": \"blue\",\n \"name\": \"person\",\n \"type\": \"blueprint\",\n },\n \"implements\": [\n \"FooInterface\",\n ],\n \"interfaceMap\": {\n \"FooInterface\": {\n \"fooSpt\": \"fullName\",\n },\n },\n \"inverseInterfaceMap\": {\n \"FooInterface\": {\n \"fullName\": \"fooSpt\",\n },\n },\n \"links\": {\n \"lead\": {\n \"multiplicity\": false,\n \"targetType\": \"Employee\",\n },\n \"officeLink\": {\n \"multiplicity\": false,\n \"targetType\": \"Office\",\n },\n \"peeps\": {\n \"multiplicity\": true,\n \"targetType\": \"Employee\",\n },\n },\n \"pluralDisplayName\": \"Employees\",\n \"primaryKeyApiName\": \"employeeId\",\n \"primaryKeyType\": \"integer\",\n \"properties\": {\n \"employeeId\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": false,\n \"type\": \"integer\",\n },\n \"employeeStatus\": {\n \"description\": \"TimeSeries of the status of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"stringTimeseries\",\n },\n \"fullName\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n \"office\": {\n \"description\": \"The unique \"ID\" of the employee's \\\\\"primary\\\\\" assigned office.\n This is some more text.\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n \"startDate\": {\n \"description\": \"The date the employee was hired (most recently, if they were re-hired)\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"datetime\",\n },\n },\n \"rid\": \"ri.ontology.main.object-type.401ac022-89eb-4591-8b7e-0a912b9efb44\",\n \"status\": \"ACTIVE\",\n \"titleProperty\": \"fullName\",\n \"type\": \"object\",\n \"visibility\": \"NORMAL\",\n }\n `);\n });\n it(\"fetches interface metadata correctly\", async () => {\n const interfaceMetadata = await client.fetchMetadata($Interfaces.FooInterface);\n expectTypeOf(interfaceMetadata).toEqualTypeOf();\n expect(interfaceMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"FooInterface\",\n \"description\": \"Interface for Foo\",\n \"displayName\": \"Foo Interface\",\n \"implements\": [],\n \"links\": {},\n \"properties\": {\n \"fooSpt\": {\n \"description\": \"A foo\",\n \"displayName\": \"Foo\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n },\n \"rid\": \"ri.interface.main.interface.1\",\n \"type\": \"interface\",\n }\n `);\n });\n it(\"fetches action metadata correctly\", async () => {\n const actionMetadata = await client.fetchMetadata($Actions.moveOffice);\n expectTypeOf(actionMetadata).toEqualTypeOf();\n expect(actionMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"moveOffice\",\n \"description\": \"Update an office's physical location\",\n \"displayName\": \"move-office\",\n \"modifiedEntities\": {\n \"Office\": {\n \"created\": false,\n \"modified\": true,\n },\n },\n \"parameters\": {\n \"newAddress\": {\n \"description\": \"The office's new physical address (not necessarily shipping address)\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n \"newCapacity\": {\n \"description\": \"The maximum seated-at-desk capacity of the new office (maximum fire-safe capacity may be higher)\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"integer\",\n },\n \"officeId\": {\n \"description\": undefined,\n \"multiplicity\": false,\n \"nullable\": false,\n \"type\": \"string\",\n },\n \"officeNames\": {\n \"description\": \"A list of all office names\",\n \"multiplicity\": true,\n \"nullable\": true,\n \"type\": \"integer\",\n },\n },\n \"rid\": \"ri.ontology.main.action-type.9f84017d-cf17-4fa8-84c3-8e01e5d594f2\",\n \"status\": \"ACTIVE\",\n \"type\": \"action\",\n }\n `);\n });\n it(\"fetches query metadata correctly\", async () => {\n const queryMetadata = await client.fetchMetadata($Queries.queryAcceptsObject);\n expectTypeOf(queryMetadata).toEqualTypeOf();\n expect(queryMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"queryAcceptsObject\",\n \"description\": \"description of the query that takes object types\",\n \"displayName\": \"QueryAcceptsObject\",\n \"output\": {\n \"nullable\": false,\n \"object\": \"Employee\",\n \"type\": \"object\",\n },\n \"parameters\": {\n \"object\": {\n \"description\": undefined,\n \"nullable\": false,\n \"object\": \"Employee\",\n \"type\": \"object\",\n },\n },\n \"rid\": \"ri.function-registry.main.function.9b55870a-63c7-4d48-8f06-9627c0805968\",\n \"type\": \"query\",\n \"version\": \"0.11.0\",\n }\n `);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,QAAS,4BAA4B;AACrG,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,YAAY,EAAEC,EAAE,QAAS,QAAQ;AACjF,SAASC,YAAY,QAAQ,mBAAmB;AAChDJ,QAAQ,CAAC,eAAe,EAAE,MAAM;EAC5B,IAAIK,MAAM;EACVN,SAAS,CAAC,YAAY;IAClBF,SAAS,CAACS,MAAM,CAAC,CAAC;IAClBD,MAAM,GAAGD,YAAY,CAAC,4BAA4B,EAAET,YAAY,EAAE,YAAY,eAAe,CAAC;EAClG,CAAC,CAAC;EACFG,QAAQ,CAAC,MAAM;IACXD,SAAS,CAACU,KAAK,CAAC,CAAC;EACrB,CAAC,CAAC;EACFJ,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAChD,MAAMK,cAAc,GAAG,MAAMH,MAAM,CAACI,aAAa,CAACf,QAAQ,CAACgB,QAAQ,CAAC;IACpER,YAAY,CAACM,cAAc,CAAC,CAACG,aAAa,CAAC,CAAC;IAC5CV,MAAM,CAACO,cAAc,CAAC,CAACI,qBAAqB,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFT,EAAE,CAAC,sCAAsC,EAAE,YAAY;IACnD,MAAMU,iBAAiB,GAAG,MAAMR,MAAM,CAACI,aAAa,CAAChB,WAAW,CAACqB,YAAY,CAAC;IAC9EZ,YAAY,CAACW,iBAAiB,CAAC,CAACF,aAAa,CAAC,CAAC;IAC/CV,MAAM,CAACY,iBAAiB,CAAC,CAACD,qBAAqB,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFT,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAChD,MAAMY,cAAc,GAAG,MAAMV,MAAM,CAACI,aAAa,CAACjB,QAAQ,CAACwB,UAAU,CAAC;IACtEd,YAAY,CAACa,cAAc,CAAC,CAACJ,aAAa,CAAC,CAAC;IAC5CV,MAAM,CAACc,cAAc,CAAC,CAACH,qBAAqB,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFT,EAAE,CAAC,kCAAkC,EAAE,YAAY;IAC/C,MAAMc,aAAa,GAAG,MAAMZ,MAAM,CAACI,aAAa,CAACb,QAAQ,CAACsB,kBAAkB,CAAC;IAC7EhB,YAAY,CAACe,aAAa,CAAC,CAACN,aAAa,CAAC,CAAC;IAC3CV,MAAM,CAACgB,aAAa,CAAC,CAACL,qBAAqB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fetchMetadata.test.js","names":["$Actions","$Interfaces","$Objects","$ontologyRid","$Queries","apiServer","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","objectMetadata","fetchMetadata","Employee","toEqualTypeOf","toMatchInlineSnapshot","interfaceMetadata","FooInterface","actionMetadata","moveOffice","queryMetadata","queryAcceptsObject"],"sources":["fetchMetadata.test.js"],"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 */\nimport { $Actions, $Interfaces, $Objects, $ontologyRid, $Queries, } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"./createClient.js\";\ndescribe(\"FetchMetadata\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"fetches object metadata correctly\", async () => {\n const objectMetadata = await client.fetchMetadata($Objects.Employee);\n expectTypeOf(objectMetadata).toEqualTypeOf();\n expect(objectMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"Employee\",\n \"description\": \"A full-time or part-time \n\n employee of our firm\",\n \"displayName\": \"Employee\",\n \"icon\": {\n \"color\": \"blue\",\n \"name\": \"person\",\n \"type\": \"blueprint\",\n },\n \"implements\": [\n \"FooInterface\",\n ],\n \"interfaceMap\": {\n \"FooInterface\": {\n \"fooSpt\": \"fullName\",\n },\n },\n \"inverseInterfaceMap\": {\n \"FooInterface\": {\n \"fullName\": \"fooSpt\",\n },\n },\n \"links\": {\n \"lead\": {\n \"multiplicity\": false,\n \"targetType\": \"Employee\",\n },\n \"officeLink\": {\n \"multiplicity\": false,\n \"targetType\": \"Office\",\n },\n \"peeps\": {\n \"multiplicity\": true,\n \"targetType\": \"Employee\",\n },\n },\n \"pluralDisplayName\": \"Employees\",\n \"primaryKeyApiName\": \"employeeId\",\n \"primaryKeyType\": \"integer\",\n \"properties\": {\n \"employeeId\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": false,\n \"type\": \"integer\",\n },\n \"employeeLocation\": {\n \"description\": \"Geotime series reference of the location of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"geotimeSeriesReference\",\n },\n \"employeeStatus\": {\n \"description\": \"TimeSeries of the status of the employee\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"stringTimeseries\",\n },\n \"fullName\": {\n \"description\": undefined,\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n \"office\": {\n \"description\": \"The unique \"ID\" of the employee's \\\\\"primary\\\\\" assigned office.\n This is some more text.\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n \"startDate\": {\n \"description\": \"The date the employee was hired (most recently, if they were re-hired)\",\n \"displayName\": undefined,\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"datetime\",\n },\n },\n \"rid\": \"ri.ontology.main.object-type.401ac022-89eb-4591-8b7e-0a912b9efb44\",\n \"status\": \"ACTIVE\",\n \"titleProperty\": \"fullName\",\n \"type\": \"object\",\n \"visibility\": \"NORMAL\",\n }\n `);\n });\n it(\"fetches interface metadata correctly\", async () => {\n const interfaceMetadata = await client.fetchMetadata($Interfaces.FooInterface);\n expectTypeOf(interfaceMetadata).toEqualTypeOf();\n expect(interfaceMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"FooInterface\",\n \"description\": \"Interface for Foo\",\n \"displayName\": \"Foo Interface\",\n \"implements\": [],\n \"links\": {},\n \"properties\": {\n \"fooSpt\": {\n \"description\": \"A foo\",\n \"displayName\": \"Foo\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n },\n \"rid\": \"ri.interface.main.interface.1\",\n \"type\": \"interface\",\n }\n `);\n });\n it(\"fetches action metadata correctly\", async () => {\n const actionMetadata = await client.fetchMetadata($Actions.moveOffice);\n expectTypeOf(actionMetadata).toEqualTypeOf();\n expect(actionMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"moveOffice\",\n \"description\": \"Update an office's physical location\",\n \"displayName\": \"move-office\",\n \"modifiedEntities\": {\n \"Office\": {\n \"created\": false,\n \"modified\": true,\n },\n },\n \"parameters\": {\n \"newAddress\": {\n \"description\": \"The office's new physical address (not necessarily shipping address)\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"string\",\n },\n \"newCapacity\": {\n \"description\": \"The maximum seated-at-desk capacity of the new office (maximum fire-safe capacity may be higher)\",\n \"multiplicity\": false,\n \"nullable\": true,\n \"type\": \"integer\",\n },\n \"officeId\": {\n \"description\": undefined,\n \"multiplicity\": false,\n \"nullable\": false,\n \"type\": \"string\",\n },\n \"officeNames\": {\n \"description\": \"A list of all office names\",\n \"multiplicity\": true,\n \"nullable\": true,\n \"type\": \"integer\",\n },\n },\n \"rid\": \"ri.ontology.main.action-type.9f84017d-cf17-4fa8-84c3-8e01e5d594f2\",\n \"status\": \"ACTIVE\",\n \"type\": \"action\",\n }\n `);\n });\n it(\"fetches query metadata correctly\", async () => {\n const queryMetadata = await client.fetchMetadata($Queries.queryAcceptsObject);\n expectTypeOf(queryMetadata).toEqualTypeOf();\n expect(queryMetadata).toMatchInlineSnapshot(`\n {\n \"apiName\": \"queryAcceptsObject\",\n \"description\": \"description of the query that takes object types\",\n \"displayName\": \"QueryAcceptsObject\",\n \"output\": {\n \"nullable\": false,\n \"object\": \"Employee\",\n \"type\": \"object\",\n },\n \"parameters\": {\n \"object\": {\n \"description\": undefined,\n \"nullable\": false,\n \"object\": \"Employee\",\n \"type\": \"object\",\n },\n },\n \"rid\": \"ri.function-registry.main.function.9b55870a-63c7-4d48-8f06-9627c0805968\",\n \"type\": \"query\",\n \"version\": \"0.11.0\",\n }\n `);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,QAAS,4BAA4B;AACrG,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,YAAY,EAAEC,EAAE,QAAS,QAAQ;AACjF,SAASC,YAAY,QAAQ,mBAAmB;AAChDJ,QAAQ,CAAC,eAAe,EAAE,MAAM;EAC5B,IAAIK,MAAM;EACVN,SAAS,CAAC,YAAY;IAClBF,SAAS,CAACS,MAAM,CAAC,CAAC;IAClBD,MAAM,GAAGD,YAAY,CAAC,4BAA4B,EAAET,YAAY,EAAE,YAAY,eAAe,CAAC;EAClG,CAAC,CAAC;EACFG,QAAQ,CAAC,MAAM;IACXD,SAAS,CAACU,KAAK,CAAC,CAAC;EACrB,CAAC,CAAC;EACFJ,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAChD,MAAMK,cAAc,GAAG,MAAMH,MAAM,CAACI,aAAa,CAACf,QAAQ,CAACgB,QAAQ,CAAC;IACpER,YAAY,CAACM,cAAc,CAAC,CAACG,aAAa,CAAC,CAAC;IAC5CV,MAAM,CAACO,cAAc,CAAC,CAACI,qBAAqB,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFT,EAAE,CAAC,sCAAsC,EAAE,YAAY;IACnD,MAAMU,iBAAiB,GAAG,MAAMR,MAAM,CAACI,aAAa,CAAChB,WAAW,CAACqB,YAAY,CAAC;IAC9EZ,YAAY,CAACW,iBAAiB,CAAC,CAACF,aAAa,CAAC,CAAC;IAC/CV,MAAM,CAACY,iBAAiB,CAAC,CAACD,qBAAqB,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFT,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAChD,MAAMY,cAAc,GAAG,MAAMV,MAAM,CAACI,aAAa,CAACjB,QAAQ,CAACwB,UAAU,CAAC;IACtEd,YAAY,CAACa,cAAc,CAAC,CAACJ,aAAa,CAAC,CAAC;IAC5CV,MAAM,CAACc,cAAc,CAAC,CAACH,qBAAqB,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;EACFT,EAAE,CAAC,kCAAkC,EAAE,YAAY;IAC/C,MAAMc,aAAa,GAAG,MAAMZ,MAAM,CAACI,aAAa,CAACb,QAAQ,CAACsB,kBAAkB,CAAC;IAC7EhB,YAAY,CAACe,aAAa,CAAC,CAACN,aAAa,CAAC,CAAC;IAC3CV,MAAM,CAACgB,aAAa,CAAC,CAACL,qBAAqB,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACF,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -180,7 +180,7 @@ describe("AsyncCache", () => {
|
|
|
180
180
|
for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {
|
|
181
181
|
if (asyncCacheSpies.get.mock.calls[i][1] === key) {
|
|
182
182
|
expect(asyncCacheSpies.get.mock.settledResults[i].type).toBe("rejected");
|
|
183
|
-
expect(asyncCacheSpies.get.mock.settledResults[i].value).
|
|
183
|
+
expect(asyncCacheSpies.get.mock.settledResults[i].value).toMatchObject(new Error("aError"));
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.test.js","names":["matchers","pDefer","promiseStateAsync","pStateAsync","beforeAll","beforeEach","describe","expect","it","vi","createAsyncClientCache","createClientCache","extend","createSpys","cache","get","spyOn","remove","set","fauxClient","clientCacheKey","fauxClient2","client","key","Promise","resolve","toEqual","mock","fn","setTimeout","all","toHaveBeenCalledTimes","factoryFn","inProgress","asyncCache","asyncCacheSpies","asyncSetSpy","factoryDefers","getPromises","expectedAsyncSets","expectedFactoryCalls","successfulFetches","pendingFetches","expectedPending","mockImplementation","defer","push","promise","Set","createSyncCacheMock","mockReturnValueOnce","getOrUndefined","expectSaneCalls","initiateAsyncCacheGetFor","has","add","before","getStats","toStrictEqual","asyncCacheGetCalls","resolveFactoryCall","num","value","toBe","calls","toContain","not","delete","fulfilledFactoryCalls","rejectFactoryCall","error","reject","Error","i","length","results","type","toReject","map","d","filter","a","rejectedFactoryCalls","stats","size","itRejectsAllRequestsOf","settledResults","toMatchInlineSnapshot","itDoesNotRejectLastRequestRightAway","at","describeRejectsFactoryCall","describeResolvesFactoryCall","describeAsyncCacheGetFor","itFulfillsAsyncCacheGets","indexes","join","itLeavesAsyncGetPromisesInStates","states","p","itHasOnlyInvokedFactoryNTimes","n","itReturnsForAsyncGet","toHaveBeenCalled","undefined"],"sources":["Cache.test.js"],"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 */\nimport * as matchers from \"jest-extended\";\nimport pDefer from \"p-defer\";\nimport { promiseStateAsync as pStateAsync } from \"p-state\";\nimport { beforeAll, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { createAsyncClientCache, createClientCache } from \"./Cache.js\";\nexpect.extend(matchers);\nfunction createSpys(cache) {\n return {\n get: vi.spyOn(cache, \"get\"),\n remove: vi.spyOn(cache, \"remove\"),\n set: vi.spyOn(cache, \"set\"),\n };\n}\ndescribe(\"AsyncCache\", () => {\n beforeAll(() => {\n });\n const fauxClient = { clientCacheKey: {} };\n const fauxClient2 = { clientCacheKey: {} };\n it(\"keeps clients separate\", async () => {\n const cache = createAsyncClientCache((client, key) => Promise.resolve(key));\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get(fauxClient2, \"k\")).toEqual(\"k\");\n });\n it(\"has a client and its copy access the same cache\", async () => {\n const cache = createAsyncClientCache((client, key) => Promise.resolve(key));\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get({ ...fauxClient }, \"k\")).toEqual(\"v\");\n });\n it(\"does not double factory\", async () => {\n const resolveToKey = (client, key) => new Promise((resolve, reject) => {\n setTimeout(() => resolve(key), 100);\n });\n const mock = vi.fn(resolveToKey);\n const cache = createAsyncClientCache(mock);\n await Promise.all([\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n ]);\n expect(mock).toHaveBeenCalledTimes(2);\n });\n describe(\"race checks\", () => {\n let factoryFn;\n let cache;\n let inProgress;\n let asyncCache;\n let asyncCacheSpies;\n let asyncSetSpy;\n let factoryDefers;\n let getPromises;\n let expectedAsyncSets;\n let expectedFactoryCalls;\n let successfulFetches;\n let pendingFetches;\n let expectedPending = {};\n beforeEach(async () => {\n factoryFn = vi.fn();\n factoryFn.mockImplementation(() => {\n const defer = pDefer();\n factoryDefers.push(defer);\n return defer.promise;\n });\n getPromises = [];\n factoryDefers = [];\n expectedAsyncSets = 0;\n expectedFactoryCalls = 0;\n successfulFetches = new Set();\n pendingFetches = new Set();\n expectedPending = {};\n const createSyncCacheMock = vi.fn();\n cache = createSpys(createClientCache());\n inProgress = createSpys(createClientCache());\n createSyncCacheMock.mockReturnValueOnce(cache);\n createSyncCacheMock.mockReturnValueOnce(inProgress);\n asyncCache = createAsyncClientCache(factoryFn, createSyncCacheMock);\n asyncSetSpy = vi.spyOn(asyncCache, \"set\");\n asyncCacheSpies = {\n get: vi.spyOn(asyncCache, \"get\"),\n set: vi.spyOn(asyncCache, \"set\"),\n getOrUndefined: vi.spyOn(asyncCache, \"getOrUndefined\"),\n };\n await expectSaneCalls();\n });\n function initiateAsyncCacheGetFor(key) {\n return async () => {\n if (!successfulFetches.has(key)) {\n expectedPending[key] = (expectedPending[key] ?? 0) + 1;\n if (!pendingFetches.has(key)) {\n pendingFetches.add(key);\n expectedFactoryCalls++;\n expectedAsyncSets++;\n }\n }\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n getPromises.push(asyncCache.get(fauxClient, key));\n expect(await getStats()).toStrictEqual({\n ...before,\n asyncCacheGetCalls: before.asyncCacheGetCalls + 1,\n // may or may not bump the unique keys\n });\n await expectSaneCalls();\n };\n }\n function resolveFactoryCall(num, key, value = `${key}Result`) {\n return async () => {\n // <preconditions>\n expect(await pStateAsync(factoryDefers[num].promise)).toBe(\"pending\");\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n expect(successfulFetches).not.toContain(key);\n // </preconditions>\n // Update expectations\n pendingFetches.delete(value);\n successfulFetches.add(value);\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n factoryDefers[num].resolve(value);\n expect(await getStats()).toStrictEqual({\n ...before,\n fulfilledFactoryCalls: before.fulfilledFactoryCalls + 1,\n });\n await expectSaneCalls();\n };\n }\n function rejectFactoryCall(num, key, error = `${key}Error`) {\n return async () => {\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n pendingFetches.delete(key);\n factoryDefers[num].reject(new Error(error));\n // we need to ensure the outstanding get promises are rejected\n for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n if (asyncCacheSpies.get.mock.results[i].type === \"return\") {\n expect(getPromises[i]).toReject();\n }\n }\n }\n await expectSaneCalls();\n };\n }\n async function getStats() {\n return {\n fulfilledFactoryCalls: (await Promise.all(factoryDefers.map(d => pStateAsync(d.promise)))).filter(a => a === \"fulfilled\").length,\n rejectedFactoryCalls: (await Promise.all(factoryDefers.map(d => pStateAsync(d.promise)))).filter(a => a === \"rejected\").length,\n asyncCacheGetCalls: asyncCacheSpies.get.mock.calls.length,\n };\n }\n async function expectSaneCalls() {\n const stats = await getStats();\n // both of these should be connected\n expect(factoryFn).toHaveBeenCalledTimes(expectedFactoryCalls);\n expect(inProgress.set).toHaveBeenCalledTimes(expectedFactoryCalls);\n expect(asyncSetSpy).toHaveBeenCalledTimes(expectedAsyncSets);\n // inProgress should be removed after a success or failure\n expect(inProgress.remove).toHaveBeenCalledTimes(stats.fulfilledFactoryCalls + stats.rejectedFactoryCalls);\n // the inner cache gets checked once per async get\n expect(cache.get).toHaveBeenCalledTimes(stats.asyncCacheGetCalls);\n // the inner cache only gets set after a successful factory call\n expect(cache.set).toHaveBeenCalledTimes(successfulFetches.size);\n }\n function itRejectsAllRequestsOf(key) {\n it(`rejects all ${key} requests`, () => {\n for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n expect(asyncCacheSpies.get.mock.settledResults[i].type).toBe(\"rejected\");\n expect(asyncCacheSpies.get.mock.settledResults[i].value)\n .toMatchInlineSnapshot(`[Error: aError]`);\n }\n }\n });\n }\n function itDoesNotRejectLastRequestRightAway() {\n it(\"does not reject right away\", () => {\n expect(asyncCacheSpies.get.mock.results.at(-1)?.type).toBe(\"return\");\n });\n }\n function describeRejectsFactoryCall(num, key, fn) {\n return describe(`rejects factory request ${num} for ${key}`, () => {\n beforeEach(rejectFactoryCall(num, key));\n itRejectsAllRequestsOf(\"a\");\n fn();\n });\n }\n function describeResolvesFactoryCall(num, key, fn) {\n return describe(`resolves factory request ${num} for ${key}`, () => {\n beforeEach(resolveFactoryCall(num, key));\n fn();\n });\n }\n function describeAsyncCacheGetFor(key, fn) {\n return describe(`gets a request for '${key}'`, () => {\n beforeEach(initiateAsyncCacheGetFor(key));\n itDoesNotRejectLastRequestRightAway();\n fn();\n });\n }\n function itFulfillsAsyncCacheGets(indexes, value) {\n it(`fulfills the AsyncCache.get()'s ${indexes.join(\", \")} with '${value}'`, async () => {\n for (const i of indexes) {\n expect(await pStateAsync(getPromises[i])).toBe(\"fulfilled\");\n expect(await getPromises[i]).toBe(value);\n }\n });\n }\n function itLeavesAsyncGetPromisesInStates(states) {\n it(`leaves the AsyncCache.get()'s in states [${states.join(\", \")}]`, async () => {\n expect(await Promise.all(getPromises.map(p => pStateAsync(p))))\n .toStrictEqual(states);\n for (let i = 0; i < states.length; i++) {\n expect(await pStateAsync(getPromises[i])).toBe(states[i]);\n }\n });\n }\n function itHasOnlyInvokedFactoryNTimes(n) {\n it(`has only invoked the factory ${n} times`, () => {\n expect(factoryFn).toHaveBeenCalledTimes(n);\n });\n }\n function itReturnsForAsyncGet(results) {\n it(\"returns for async get\", () => {\n expect(asyncCacheSpies.get.mock.settledResults.map(a => a.value))\n .toEqual(results);\n });\n }\n it(\"has a minimal base state\", () => {\n expect(cache.get).not.toHaveBeenCalled();\n expect(inProgress.get).not.toHaveBeenCalled();\n expect(factoryFn).not.toHaveBeenCalled();\n expect(inProgress.set).not.toHaveBeenCalled();\n });\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describe(\"before the first resolves\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describeRejectsFactoryCall(0, \"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"rejected\", \"rejected\"]);\n describeAsyncCacheGetFor(\"a\", () => {\n itDoesNotRejectLastRequestRightAway();\n itHasOnlyInvokedFactoryNTimes(2);\n });\n });\n describeAsyncCacheGetFor(\"b\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(2);\n describeResolvesFactoryCall(1, \"b\", () => {\n itLeavesAsyncGetPromisesInStates([\n \"pending\",\n \"pending\",\n \"fulfilled\",\n ]);\n itReturnsForAsyncGet([\n undefined,\n undefined,\n \"bResult\",\n ]);\n });\n });\n describeResolvesFactoryCall(0, \"a\", () => {\n itFulfillsAsyncCacheGets([0, 1], \"aResult\");\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n ]);\n describeAsyncCacheGetFor(\"a\", () => {\n itHasOnlyInvokedFactoryNTimes(1);\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n \"fulfilled\",\n ]);\n itReturnsForAsyncGet([\n \"aResult\",\n \"aResult\",\n \"aResult\",\n ]);\n });\n });\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Cache.test.js","names":["matchers","pDefer","promiseStateAsync","pStateAsync","beforeAll","beforeEach","describe","expect","it","vi","createAsyncClientCache","createClientCache","extend","createSpys","cache","get","spyOn","remove","set","fauxClient","clientCacheKey","fauxClient2","client","key","Promise","resolve","toEqual","mock","fn","setTimeout","all","toHaveBeenCalledTimes","factoryFn","inProgress","asyncCache","asyncCacheSpies","asyncSetSpy","factoryDefers","getPromises","expectedAsyncSets","expectedFactoryCalls","successfulFetches","pendingFetches","expectedPending","mockImplementation","defer","push","promise","Set","createSyncCacheMock","mockReturnValueOnce","getOrUndefined","expectSaneCalls","initiateAsyncCacheGetFor","has","add","before","getStats","toStrictEqual","asyncCacheGetCalls","resolveFactoryCall","num","value","toBe","calls","toContain","not","delete","fulfilledFactoryCalls","rejectFactoryCall","error","reject","Error","i","length","results","type","toReject","map","d","filter","a","rejectedFactoryCalls","stats","size","itRejectsAllRequestsOf","settledResults","toMatchObject","itDoesNotRejectLastRequestRightAway","at","describeRejectsFactoryCall","describeResolvesFactoryCall","describeAsyncCacheGetFor","itFulfillsAsyncCacheGets","indexes","join","itLeavesAsyncGetPromisesInStates","states","p","itHasOnlyInvokedFactoryNTimes","n","itReturnsForAsyncGet","toHaveBeenCalled","undefined"],"sources":["Cache.test.js"],"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 */\nimport * as matchers from \"jest-extended\";\nimport pDefer from \"p-defer\";\nimport { promiseStateAsync as pStateAsync } from \"p-state\";\nimport { beforeAll, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { createAsyncClientCache, createClientCache } from \"./Cache.js\";\nexpect.extend(matchers);\nfunction createSpys(cache) {\n return {\n get: vi.spyOn(cache, \"get\"),\n remove: vi.spyOn(cache, \"remove\"),\n set: vi.spyOn(cache, \"set\"),\n };\n}\ndescribe(\"AsyncCache\", () => {\n beforeAll(() => {\n });\n const fauxClient = { clientCacheKey: {} };\n const fauxClient2 = { clientCacheKey: {} };\n it(\"keeps clients separate\", async () => {\n const cache = createAsyncClientCache((client, key) => Promise.resolve(key));\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get(fauxClient2, \"k\")).toEqual(\"k\");\n });\n it(\"has a client and its copy access the same cache\", async () => {\n const cache = createAsyncClientCache((client, key) => Promise.resolve(key));\n await cache.set(fauxClient, \"k\", \"v\");\n expect(await cache.get({ ...fauxClient }, \"k\")).toEqual(\"v\");\n });\n it(\"does not double factory\", async () => {\n const resolveToKey = (client, key) => new Promise((resolve, reject) => {\n setTimeout(() => resolve(key), 100);\n });\n const mock = vi.fn(resolveToKey);\n const cache = createAsyncClientCache(mock);\n await Promise.all([\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"a\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n cache.get(fauxClient, \"b\"),\n ]);\n expect(mock).toHaveBeenCalledTimes(2);\n });\n describe(\"race checks\", () => {\n let factoryFn;\n let cache;\n let inProgress;\n let asyncCache;\n let asyncCacheSpies;\n let asyncSetSpy;\n let factoryDefers;\n let getPromises;\n let expectedAsyncSets;\n let expectedFactoryCalls;\n let successfulFetches;\n let pendingFetches;\n let expectedPending = {};\n beforeEach(async () => {\n factoryFn = vi.fn();\n factoryFn.mockImplementation(() => {\n const defer = pDefer();\n factoryDefers.push(defer);\n return defer.promise;\n });\n getPromises = [];\n factoryDefers = [];\n expectedAsyncSets = 0;\n expectedFactoryCalls = 0;\n successfulFetches = new Set();\n pendingFetches = new Set();\n expectedPending = {};\n const createSyncCacheMock = vi.fn();\n cache = createSpys(createClientCache());\n inProgress = createSpys(createClientCache());\n createSyncCacheMock.mockReturnValueOnce(cache);\n createSyncCacheMock.mockReturnValueOnce(inProgress);\n asyncCache = createAsyncClientCache(factoryFn, createSyncCacheMock);\n asyncSetSpy = vi.spyOn(asyncCache, \"set\");\n asyncCacheSpies = {\n get: vi.spyOn(asyncCache, \"get\"),\n set: vi.spyOn(asyncCache, \"set\"),\n getOrUndefined: vi.spyOn(asyncCache, \"getOrUndefined\"),\n };\n await expectSaneCalls();\n });\n function initiateAsyncCacheGetFor(key) {\n return async () => {\n if (!successfulFetches.has(key)) {\n expectedPending[key] = (expectedPending[key] ?? 0) + 1;\n if (!pendingFetches.has(key)) {\n pendingFetches.add(key);\n expectedFactoryCalls++;\n expectedAsyncSets++;\n }\n }\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n getPromises.push(asyncCache.get(fauxClient, key));\n expect(await getStats()).toStrictEqual({\n ...before,\n asyncCacheGetCalls: before.asyncCacheGetCalls + 1,\n // may or may not bump the unique keys\n });\n await expectSaneCalls();\n };\n }\n function resolveFactoryCall(num, key, value = `${key}Result`) {\n return async () => {\n // <preconditions>\n expect(await pStateAsync(factoryDefers[num].promise)).toBe(\"pending\");\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n expect(successfulFetches).not.toContain(key);\n // </preconditions>\n // Update expectations\n pendingFetches.delete(value);\n successfulFetches.add(value);\n // check before and after make sense so that `expectSaneCalls` can work\n const before = await getStats();\n factoryDefers[num].resolve(value);\n expect(await getStats()).toStrictEqual({\n ...before,\n fulfilledFactoryCalls: before.fulfilledFactoryCalls + 1,\n });\n await expectSaneCalls();\n };\n }\n function rejectFactoryCall(num, key, error = `${key}Error`) {\n return async () => {\n expect(factoryFn.mock.calls[num][1]).toBe(key);\n expect(pendingFetches).toContain(key);\n pendingFetches.delete(key);\n factoryDefers[num].reject(new Error(error));\n // we need to ensure the outstanding get promises are rejected\n for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n if (asyncCacheSpies.get.mock.results[i].type === \"return\") {\n expect(getPromises[i]).toReject();\n }\n }\n }\n await expectSaneCalls();\n };\n }\n async function getStats() {\n return {\n fulfilledFactoryCalls: (await Promise.all(factoryDefers.map(d => pStateAsync(d.promise)))).filter(a => a === \"fulfilled\").length,\n rejectedFactoryCalls: (await Promise.all(factoryDefers.map(d => pStateAsync(d.promise)))).filter(a => a === \"rejected\").length,\n asyncCacheGetCalls: asyncCacheSpies.get.mock.calls.length,\n };\n }\n async function expectSaneCalls() {\n const stats = await getStats();\n // both of these should be connected\n expect(factoryFn).toHaveBeenCalledTimes(expectedFactoryCalls);\n expect(inProgress.set).toHaveBeenCalledTimes(expectedFactoryCalls);\n expect(asyncSetSpy).toHaveBeenCalledTimes(expectedAsyncSets);\n // inProgress should be removed after a success or failure\n expect(inProgress.remove).toHaveBeenCalledTimes(stats.fulfilledFactoryCalls + stats.rejectedFactoryCalls);\n // the inner cache gets checked once per async get\n expect(cache.get).toHaveBeenCalledTimes(stats.asyncCacheGetCalls);\n // the inner cache only gets set after a successful factory call\n expect(cache.set).toHaveBeenCalledTimes(successfulFetches.size);\n }\n function itRejectsAllRequestsOf(key) {\n it(`rejects all ${key} requests`, () => {\n for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {\n if (asyncCacheSpies.get.mock.calls[i][1] === key) {\n expect(asyncCacheSpies.get.mock.settledResults[i].type).toBe(\"rejected\");\n expect(asyncCacheSpies.get.mock.settledResults[i].value)\n .toMatchObject(new Error(\"aError\"));\n }\n }\n });\n }\n function itDoesNotRejectLastRequestRightAway() {\n it(\"does not reject right away\", () => {\n expect(asyncCacheSpies.get.mock.results.at(-1)?.type).toBe(\"return\");\n });\n }\n function describeRejectsFactoryCall(num, key, fn) {\n return describe(`rejects factory request ${num} for ${key}`, () => {\n beforeEach(rejectFactoryCall(num, key));\n itRejectsAllRequestsOf(\"a\");\n fn();\n });\n }\n function describeResolvesFactoryCall(num, key, fn) {\n return describe(`resolves factory request ${num} for ${key}`, () => {\n beforeEach(resolveFactoryCall(num, key));\n fn();\n });\n }\n function describeAsyncCacheGetFor(key, fn) {\n return describe(`gets a request for '${key}'`, () => {\n beforeEach(initiateAsyncCacheGetFor(key));\n itDoesNotRejectLastRequestRightAway();\n fn();\n });\n }\n function itFulfillsAsyncCacheGets(indexes, value) {\n it(`fulfills the AsyncCache.get()'s ${indexes.join(\", \")} with '${value}'`, async () => {\n for (const i of indexes) {\n expect(await pStateAsync(getPromises[i])).toBe(\"fulfilled\");\n expect(await getPromises[i]).toBe(value);\n }\n });\n }\n function itLeavesAsyncGetPromisesInStates(states) {\n it(`leaves the AsyncCache.get()'s in states [${states.join(\", \")}]`, async () => {\n expect(await Promise.all(getPromises.map(p => pStateAsync(p))))\n .toStrictEqual(states);\n for (let i = 0; i < states.length; i++) {\n expect(await pStateAsync(getPromises[i])).toBe(states[i]);\n }\n });\n }\n function itHasOnlyInvokedFactoryNTimes(n) {\n it(`has only invoked the factory ${n} times`, () => {\n expect(factoryFn).toHaveBeenCalledTimes(n);\n });\n }\n function itReturnsForAsyncGet(results) {\n it(\"returns for async get\", () => {\n expect(asyncCacheSpies.get.mock.settledResults.map(a => a.value))\n .toEqual(results);\n });\n }\n it(\"has a minimal base state\", () => {\n expect(cache.get).not.toHaveBeenCalled();\n expect(inProgress.get).not.toHaveBeenCalled();\n expect(factoryFn).not.toHaveBeenCalled();\n expect(inProgress.set).not.toHaveBeenCalled();\n });\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describeAsyncCacheGetFor(\"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describe(\"before the first resolves\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(1);\n describeRejectsFactoryCall(0, \"a\", () => {\n itLeavesAsyncGetPromisesInStates([\"rejected\", \"rejected\"]);\n describeAsyncCacheGetFor(\"a\", () => {\n itDoesNotRejectLastRequestRightAway();\n itHasOnlyInvokedFactoryNTimes(2);\n });\n });\n describeAsyncCacheGetFor(\"b\", () => {\n itLeavesAsyncGetPromisesInStates([\"pending\", \"pending\", \"pending\"]);\n itHasOnlyInvokedFactoryNTimes(2);\n describeResolvesFactoryCall(1, \"b\", () => {\n itLeavesAsyncGetPromisesInStates([\n \"pending\",\n \"pending\",\n \"fulfilled\",\n ]);\n itReturnsForAsyncGet([\n undefined,\n undefined,\n \"bResult\",\n ]);\n });\n });\n describeResolvesFactoryCall(0, \"a\", () => {\n itFulfillsAsyncCacheGets([0, 1], \"aResult\");\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n ]);\n describeAsyncCacheGetFor(\"a\", () => {\n itHasOnlyInvokedFactoryNTimes(1);\n itLeavesAsyncGetPromisesInStates([\n \"fulfilled\",\n \"fulfilled\",\n \"fulfilled\",\n ]);\n itReturnsForAsyncGet([\n \"aResult\",\n \"aResult\",\n \"aResult\",\n ]);\n });\n });\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ export declare const InterfaceDefRef: unique symbol;
|
|
|
5
5
|
/** A symbol for getting the raw data object off of the holder an osdk object proxy points to */
|
|
6
6
|
export declare const RawObject: unique symbol;
|
|
7
7
|
export declare const ClientRef: unique symbol;
|
|
8
|
+
export declare const CachedPropertiesRef: unique symbol;
|
|
8
9
|
export interface HolderBase<T extends ObjectOrInterfaceDefinition> {
|
|
9
10
|
[UnderlyingOsdkObject]: OsdkBase<any>;
|
|
10
11
|
[ObjectDefRef]?: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalSymbols.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/InternalSymbols.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEvE,eAAO,MAAM,oBAAoB,eAEhC,CAAC;AAEF,eAAO,MAAM,YAAY,eAExB,CAAC;AAEF,eAAO,MAAM,eAAe,eAE3B,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,2BAA2B;IAC/D,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"InternalSymbols.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/InternalSymbols.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEvE,eAAO,MAAM,oBAAoB,eAEhC,CAAC;AAEF,eAAO,MAAM,YAAY,eAExB,CAAC;AAEF,eAAO,MAAM,eAAe,eAE3B,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAE/B,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,2BAA2B;IAC/D,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;CACvB"}
|
|
@@ -19,4 +19,5 @@ export const InterfaceDefRef = Symbol("InterfaceDefinition");
|
|
|
19
19
|
/** A symbol for getting the raw data object off of the holder an osdk object proxy points to */
|
|
20
20
|
export const RawObject = Symbol("RawObject");
|
|
21
21
|
export const ClientRef = Symbol("ClientRef");
|
|
22
|
+
export const CachedPropertiesRef = Symbol("CachedProperties");
|
|
22
23
|
//# sourceMappingURL=InternalSymbols.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalSymbols.js","names":["UnderlyingOsdkObject","Symbol","ObjectDefRef","InterfaceDefRef","RawObject","ClientRef"],"sources":["InternalSymbols.js"],"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 */\nexport const UnderlyingOsdkObject = Symbol(process.env.MODE !== \"production\" ? \"Underlying Object\" : undefined);\nexport const ObjectDefRef = Symbol(process.env.MODE !== \"production\" ? \"ObjectDefinition\" : undefined);\nexport const InterfaceDefRef = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinition\" : undefined);\n/** A symbol for getting the raw data object off of the holder an osdk object proxy points to */\nexport const RawObject = Symbol(process.env.MODE !== \"production\" ? \"RawObject\" : undefined);\nexport const ClientRef = Symbol(process.env.MODE !== \"production\" ? \"ClientRef\" : undefined);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAGC,MAAM,CAAqC,mBAA+B,CAAC;AAC/G,OAAO,MAAMC,YAAY,GAAGD,MAAM,CAAqC,kBAA8B,CAAC;AACtG,OAAO,MAAME,eAAe,GAAGF,MAAM,CAAqC,qBAAiC,CAAC;AAC5G;AACA,OAAO,MAAMG,SAAS,GAAGH,MAAM,CAAqC,WAAuB,CAAC;AAC5F,OAAO,MAAMI,SAAS,GAAGJ,MAAM,CAAqC,WAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"InternalSymbols.js","names":["UnderlyingOsdkObject","Symbol","ObjectDefRef","InterfaceDefRef","RawObject","ClientRef","CachedPropertiesRef"],"sources":["InternalSymbols.js"],"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 */\nexport const UnderlyingOsdkObject = Symbol(process.env.MODE !== \"production\" ? \"Underlying Object\" : undefined);\nexport const ObjectDefRef = Symbol(process.env.MODE !== \"production\" ? \"ObjectDefinition\" : undefined);\nexport const InterfaceDefRef = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinition\" : undefined);\n/** A symbol for getting the raw data object off of the holder an osdk object proxy points to */\nexport const RawObject = Symbol(process.env.MODE !== \"production\" ? \"RawObject\" : undefined);\nexport const ClientRef = Symbol(process.env.MODE !== \"production\" ? \"ClientRef\" : undefined);\nexport const CachedPropertiesRef = Symbol(process.env.MODE !== \"production\" ? \"CachedProperties\" : undefined);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAGC,MAAM,CAAqC,mBAA+B,CAAC;AAC/G,OAAO,MAAMC,YAAY,GAAGD,MAAM,CAAqC,kBAA8B,CAAC;AACtG,OAAO,MAAME,eAAe,GAAGF,MAAM,CAAqC,qBAAiC,CAAC;AAC5G;AACA,OAAO,MAAMG,SAAS,GAAGH,MAAM,CAAqC,WAAuB,CAAC;AAC5F,OAAO,MAAMI,SAAS,GAAGJ,MAAM,CAAqC,WAAuB,CAAC;AAC5F,OAAO,MAAMK,mBAAmB,GAAGL,MAAM,CAAqC,kBAA8B,CAAC","ignoreList":[]}
|