@osdk/client 2.1.0-beta.21 → 2.1.0-beta.22
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 +15 -0
- package/build/browser/Client.d.ts.map +1 -1
- package/build/browser/__unstable/ConjureSupport.d.ts +18 -35
- package/build/browser/__unstable/ConjureSupport.d.ts.map +1 -1
- package/build/browser/createClient.d.ts.map +1 -1
- package/build/browser/createClient.js +2 -0
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createClient.test.js +1 -1
- package/build/browser/createClient.test.js.map +1 -1
- package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -1
- package/build/browser/createGeotimeSeriesProperty.js +3 -1
- package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
- package/build/browser/createTimeseriesProperty.d.ts.map +1 -1
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +1 -1
- package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.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/aggregate.test.js +1 -1
- package/build/browser/object/aggregate.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +2 -1
- package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +1 -1
- package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +9 -7
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/ontology/OntologyProvider.d.ts.map +1 -1
- package/build/browser/pageRequestAsAsyncIter.d.ts.map +1 -1
- package/build/browser/tsserver.d.ts +6 -8
- package/build/browser/tsserver.d.ts.map +1 -1
- package/build/browser/tsserver.js.map +1 -1
- package/build/browser/util/UserAgent.d.ts.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/streamutils.d.ts.map +1 -1
- package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
- package/build/esm/Client.d.ts.map +1 -1
- package/build/esm/__unstable/ConjureSupport.d.ts +18 -35
- package/build/esm/__unstable/ConjureSupport.d.ts.map +1 -1
- package/build/esm/createClient.d.ts.map +1 -1
- package/build/esm/createClient.js +2 -0
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createClient.test.js +1 -1
- package/build/esm/createClient.test.js.map +1 -1
- package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -1
- package/build/esm/createGeotimeSeriesProperty.js +3 -1
- package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
- package/build/esm/createTimeseriesProperty.d.ts.map +1 -1
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +1 -1
- package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.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/aggregate.test.js +1 -1
- package/build/esm/object/aggregate.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +2 -1
- package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +1 -1
- package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +9 -7
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/ontology/OntologyProvider.d.ts.map +1 -1
- package/build/esm/pageRequestAsAsyncIter.d.ts.map +1 -1
- package/build/esm/tsserver.d.ts +6 -8
- package/build/esm/tsserver.d.ts.map +1 -1
- package/build/esm/tsserver.js.map +1 -1
- package/build/esm/util/UserAgent.d.ts.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/streamutils.d.ts.map +1 -1
- package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
- package/package.json +13 -13
- package/build/browser/objectSet/toConjureObjectSet.d.ts +0 -2
- package/build/browser/objectSet/toConjureObjectSet.d.ts.map +0 -1
- package/build/browser/objectSet/toConjureObjectSet.js +0 -167
- package/build/browser/objectSet/toConjureObjectSet.js.map +0 -1
- package/build/esm/objectSet/toConjureObjectSet.d.ts +0 -2
- package/build/esm/objectSet/toConjureObjectSet.d.ts.map +0 -1
- package/build/esm/objectSet/toConjureObjectSet.js +0 -167
- package/build/esm/objectSet/toConjureObjectSet.js.map +0 -1
|
@@ -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.22"}`;
|
|
17
17
|
//# sourceMappingURL=UserAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamutils.d.ts","sourceRoot":"","sources":["../../../src/util/streamutils.ts"],"names":[],"mappings":"AAoBA,wBAAuB,qBAAqB,CAC1C,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"streamutils.d.ts","sourceRoot":"","sources":["../../../src/util/streamutils.ts"],"names":[],"mappings":"AAoBA,wBAAuB,qBAAqB,CAC1C,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,GACvC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CA8DpC;AA8BD,wBAAuB,qBAAqB,CAC1C,cAAc,EAAE,2BAA2B,CAAC,UAAU,CAAC,GACtD,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAM3C"}
|
|
@@ -1 +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;AAG7D,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,QAAQ
|
|
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;AAG7D,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,QAAQ,GACjB,cAAc,CACf;IACE,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,CAAC,CAAC;CACV,EACD,IAAI,EACJ,OAAO,CACR,CAUA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CACjE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC,GAC/C,CAAC,GAAG;IACJ,CAAC,YAAY,CAAC,EACZ,sDAAsD,CAAC,cAAc,cAAc,4BAA4B,CAAC;CACnH,CACJ,GACC,CAAC,CAAC;AAEN,MAAM,WAAW,MAAO,SAAQ,YAAY,EAAE,eAAe;IAC3D,CAAC,CAAC,SAAS,oBAAoB,EAC7B,CAAC,EAAE,CAAC,GACH,OAAO,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GACjE,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAExC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAC9B,CAAC,EAAE,CAAC,GACH,OAAO,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GACxE,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAExC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,CAAC,EAC9B,CAAC,EAAE,CAAC,GACH,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAE7B,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EAC7B,CAAC,EAAE,CAAC,GACH,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAE5B,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,EAClD,UAAU,EAAE,CAAC,GACZ,aAAa,CAAC,CAAC,CAAC,CAAC;IAEpB,aAAa,CACX,CAAC,SAAS,CACN,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,CAAC,GAAG,CAAC,GACrB,eAAe,CAAC,GAAG,CAAC,CACvB,EACD,CAAC,EAAE,CAAC,GAAG,OAAO,CACd,CAAC,SAAS,oBAAoB,GAAG,cAAc,GAC3C,CAAC,SAAS,mBAAmB,GAAG,iBAAiB,GACjD,CAAC,SAAS,gBAAgB,CAAC,GAAG,CAAC,GAAG,cAAc,GAChD,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,aAAa,GAC9C,KAAK,CACV,CAAC;CAIH;AAOD,QAAA,MAAM,cAAc,UAAU,CAAC;AAE/B,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CACjE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC,GAC/C,CAAC,GAAG;IACJ,CAAC,YAAY,CAAC,EACZ,sDAAsD,CAAC,cAAc,cAAc,4BAA4B,CAAC;CACnH,CACJ,GACC,CAAC,CAAC;AAEN,MAAM,WAAW,MAAO,SAAQ,YAAY,EAAE,eAAe;IAC3D,CAAC,CAAC,SAAS,oBAAoB,EAC7B,CAAC,EAAE,CAAC,GACH,OAAO,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GACjE,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAExC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAC9B,CAAC,EAAE,CAAC,GACH,OAAO,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GACxE,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAExC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,CAAC,EAC9B,CAAC,EAAE,CAAC,GACH,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAE7B,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EAC7B,CAAC,EAAE,CAAC,GACH,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAE5B,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,EAClD,UAAU,EAAE,CAAC,GACZ,aAAa,CAAC,CAAC,CAAC,CAAC;IAEpB,aAAa,CACX,CAAC,SAAS,CACN,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,CAAC,GAAG,CAAC,GACrB,eAAe,CAAC,GAAG,CAAC,CACvB,EACD,CAAC,EAAE,CAAC,GAAG,OAAO,CACd,CAAC,SAAS,oBAAoB,GAAG,cAAc,GAC3C,CAAC,SAAS,mBAAmB,GAAG,iBAAiB,GACjD,CAAC,SAAS,gBAAgB,CAAC,GAAG,CAAC,GAAG,cAAc,GAChD,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,GAAG,aAAa,GAC9C,KAAK,CACV,CAAC;CAIH;AAOD,QAAA,MAAM,cAAc,UAAU,CAAC;AAE/B,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AACnD,QAAA,MAAM,YAAY,EAAE,OAAO,MAA+B,CAAC"}
|
|
@@ -1,55 +1,38 @@
|
|
|
1
|
-
import type { DirectedLinkTypeRid } from "@osdk/client.unstable";
|
|
1
|
+
import type { DirectedLinkTypeRid, Type } from "@osdk/client.unstable";
|
|
2
2
|
import type { MinimalClient } from "../MinimalClientContext.js";
|
|
3
|
-
export
|
|
3
|
+
export interface ObjectPropertyMapping {
|
|
4
4
|
apiName: string;
|
|
5
5
|
id: string;
|
|
6
6
|
propertyIdToApiNameMapping: Record<string, string>;
|
|
7
7
|
propertyApiNameToIdMapping: Record<string, string>;
|
|
8
|
-
|
|
8
|
+
pk: {
|
|
9
|
+
rid: string;
|
|
10
|
+
apiName: string;
|
|
11
|
+
type: Type;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
type ObjectLinkMapping = Record<string, {
|
|
15
|
+
apiName: string;
|
|
16
|
+
directedLinkTypeRid: DirectedLinkTypeRid;
|
|
17
|
+
otherObjectType: string;
|
|
18
|
+
}>;
|
|
9
19
|
export declare class MetadataClient {
|
|
10
20
|
#private;
|
|
11
21
|
constructor(client: MinimalClient);
|
|
12
22
|
forObjectByRid: (key: string) => Promise<{
|
|
13
|
-
getPropertyMapping: () => Promise<
|
|
14
|
-
|
|
15
|
-
id: string;
|
|
16
|
-
propertyIdToApiNameMapping: Record<string, string>;
|
|
17
|
-
propertyApiNameToIdMapping: Record<string, string>;
|
|
18
|
-
pk: {
|
|
19
|
-
rid: string;
|
|
20
|
-
apiName: string;
|
|
21
|
-
type: import("@osdk/client.unstable").Type;
|
|
22
|
-
};
|
|
23
|
-
}>;
|
|
24
|
-
getLinkMapping: () => Promise<Record<string, {
|
|
25
|
-
apiName: string;
|
|
26
|
-
directedLinkTypeRid: DirectedLinkTypeRid;
|
|
27
|
-
otherObjectType: string;
|
|
28
|
-
}>>;
|
|
23
|
+
getPropertyMapping: () => Promise<ObjectPropertyMapping>;
|
|
24
|
+
getLinkMapping: () => Promise<ObjectLinkMapping>;
|
|
29
25
|
getRid: () => string;
|
|
30
26
|
getApiName: () => Promise<string | undefined>;
|
|
31
27
|
}>;
|
|
32
28
|
forObjectByApiName: (key: string) => Promise<{
|
|
33
|
-
getPropertyMapping: () => Promise<
|
|
34
|
-
|
|
35
|
-
id: string;
|
|
36
|
-
propertyIdToApiNameMapping: Record<string, string>;
|
|
37
|
-
propertyApiNameToIdMapping: Record<string, string>;
|
|
38
|
-
pk: {
|
|
39
|
-
rid: string;
|
|
40
|
-
apiName: string;
|
|
41
|
-
type: import("@osdk/client.unstable").Type;
|
|
42
|
-
};
|
|
43
|
-
}>;
|
|
44
|
-
getLinkMapping: () => Promise<Record<string, {
|
|
45
|
-
apiName: string;
|
|
46
|
-
directedLinkTypeRid: DirectedLinkTypeRid;
|
|
47
|
-
otherObjectType: string;
|
|
48
|
-
}>>;
|
|
29
|
+
getPropertyMapping: () => Promise<ObjectPropertyMapping>;
|
|
30
|
+
getLinkMapping: () => Promise<ObjectLinkMapping>;
|
|
49
31
|
getRid: () => string;
|
|
50
32
|
getApiName: () => Promise<string | undefined>;
|
|
51
33
|
}>;
|
|
52
34
|
ontologyVersion: (key: string) => Promise<string>;
|
|
53
35
|
}
|
|
54
36
|
export declare const metadataCacheClient: (key: MinimalClient) => Promise<MetadataClient>;
|
|
37
|
+
export {};
|
|
55
38
|
//# sourceMappingURL=ConjureSupport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConjureSupport.d.ts","sourceRoot":"","sources":["../../../src/__unstable/ConjureSupport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,mBAAmB,
|
|
1
|
+
{"version":3,"file":"ConjureSupport.d.ts","sourceRoot":"","sources":["../../../src/__unstable/ConjureSupport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,mBAAmB,EAInB,IAAI,EACL,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAOhE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,EAAE,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;CACH;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AA4BH,qBAAa,cAAc;;gBAKb,MAAM,EAAE,aAAa;IAUjC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QACvC,kBAAkB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC/C,CAAC,CAOC;IAEH,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3C,kBAAkB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,cAAc,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KAC/C,CAAC,CAOA;IA4HF,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAEyB;CAC3E;AAED,eAAO,MAAM,mBAAmB,EAAE,CAChC,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,cAAc,CAE1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../src/createClient.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAiM1C,eAAO,MAAM,YAAY,EAAE,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EACrC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACpC,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,SAAS,EACb,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,KAC/B,MAGJ,CAAC"}
|
|
@@ -52,8 +52,10 @@ baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {
|
|
|
52
52
|
throw new Error("Invalid ontology RID");
|
|
53
53
|
}
|
|
54
54
|
} else {
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
55
56
|
ontologyRid.then(ontologyRid => {
|
|
56
57
|
if (!ontologyRid.startsWith("ri.")) {
|
|
58
|
+
// FIXME this promise is not await so this just shows up as an unhandled promise rejection
|
|
57
59
|
throw new Error("Invalid ontology RID");
|
|
58
60
|
}
|
|
59
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","__EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","fetchSingle","createObjectSet","getWireObjectSet","ObjectSetListenerWebsocket","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","subscribe","objectSet","listener","opts","pendingSubscribe","getInstance","$objectSetInternals","def","properties","unsubscribe","fetchOneByRid","objectType","rid","createWithRid","value","createClient"],"sources":["createClient.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 { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe, } from \"@osdk/api/unstable\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { symbolClientContext } from \"@osdk/shared.client2\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet, getWireObjectSet, } from \"./objectSet/createObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./objectSet/ObjectSetListenerWebsocket.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nclass ActionInvoker {\n constructor(clientCtx, actionDef) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n applyAction;\n batchApplyAction;\n}\nclass QueryInvoker {\n constructor(clientCtx, queryDef) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n executeFunction;\n}\n/** @internal */\nexport function createClientInternal(objectSetFactory, // first so i can bind\nbaseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n }\n else {\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n const clientCtx = createMinimalClient({ ontologyRid }, baseUrl, tokenProvider, options, fetchFn, objectSetFactory);\n function clientFn(o) {\n if (o.type === \"object\" || o.type === \"interface\") {\n return objectSetFactory(o, clientCtx);\n }\n else if (o.type === \"action\") {\n return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value\n }\n else if (o.type === \"query\") {\n return new QueryInvoker(clientCtx, o);\n }\n else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(clientCtx),\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe.name:\n return {\n subscribe: (objectSet, listener, opts) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectSet.$objectSetInternals?.def, getWireObjectSet(objectSet), listener, opts?.properties);\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async (objectType, rid, options) => {\n return await fetchSingle(clientCtx, objectType, options, createWithRid(rid));\n },\n };\n }\n throw new Error(\"not implemented\");\n }\n else {\n throw new Error(\"not implemented\");\n }\n }\n const fetchMetadata = fetchMetadataInternal.bind(undefined, clientCtx);\n const client = Object.defineProperties(clientFn, {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n });\n return client;\n}\nexport const createClient = createClientInternal.bind(undefined, createObjectSet);\nfunction createWithRid(rid) {\n const withRid = {\n type: \"static\",\n \"objects\": [rid],\n };\n return withRid;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,gDAAgD,EAAEC,+CAA+C,EAAEC,2CAA2C,QAAS,oBAAoB;AACpL,SAASC,mBAAmB,IAAIC,sBAAsB,QAAQ,qBAAqB;AACnF,SAASD,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASE,+BAA+B,QAAQ,iDAAiD;AACjG,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,qBAAqB,QAAQ,oBAAoB;AAC1D,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,eAAe,EAAEC,gBAAgB,QAAS,gCAAgC;AACnF,SAASC,0BAA0B,QAAQ,2CAA2C;AACtF,SAASC,UAAU,QAAQ,yBAAyB;AACpD,MAAMC,aAAa,CAAC;EAChBC,WAAWA,CAACC,SAAS,EAAEC,SAAS,EAAE;IAC9B;IACA;IACA;IACA;IACA,IAAI,CAACZ,WAAW,GAAGA,WAAW,CAACa,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEC,SAAS,CAAC;IACpE,IAAI,CAACG,gBAAgB,GAAGf,WAAW,CAACa,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEC,SAAS,CAAC;EAC7E;EACAZ,WAAW;EACXe,gBAAgB;AACpB;AACA,MAAMC,YAAY,CAAC;EACfN,WAAWA,CAACC,SAAS,EAAEM,QAAQ,EAAE;IAC7B,IAAI,CAACC,eAAe,GAAGV,UAAU,CAACK,IAAI,CAACC,SAAS,EAAEH,SAAS,EAAEM,QAAQ,CAAC;EAC1E;EACAC,eAAe;AACnB;AACA;AACA,OAAO,SAASC,oBAAoBA,CAACC,gBAAgB;AAAE;AACvDC,OAAO,EAAEC,WAAW,EAAEC,aAAa,EAAEC,OAAO,GAAGV,SAAS,EAAEW,OAAO,GAAGC,KAAK,EAAE;EACvE,IAAI,OAAOJ,WAAW,KAAK,QAAQ,EAAE;IACjC,IAAI,CAACA,WAAW,CAACK,UAAU,CAAC,KAAK,CAAC,EAAE;MAChC,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IAC3C;EACJ,CAAC,MACI;
|
|
1
|
+
{"version":3,"file":"createClient.js","names":["__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","__EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe","symbolClientContext","oldSymbolClientContext","createBulkLinksAsyncIterFactory","applyAction","additionalContext","createMinimalClient","fetchMetadataInternal","fetchSingle","createObjectSet","getWireObjectSet","ObjectSetListenerWebsocket","applyQuery","ActionInvoker","constructor","clientCtx","actionDef","bind","undefined","batchApplyAction","QueryInvoker","queryDef","executeFunction","createClientInternal","objectSetFactory","baseUrl","ontologyRid","tokenProvider","options","fetchFn","fetch","startsWith","Error","then","fetchMetadata","client","Object","defineProperties","o","type","name","getBulkLinks","subscribe","objectSet","listener","opts","pendingSubscribe","getInstance","$objectSetInternals","def","properties","unsubscribe","fetchOneByRid","objectType","rid","createWithRid","value","createClient"],"sources":["createClient.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 { __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks, __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe, } from \"@osdk/api/unstable\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { symbolClientContext } from \"@osdk/shared.client2\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet, getWireObjectSet, } from \"./objectSet/createObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./objectSet/ObjectSetListenerWebsocket.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\nclass ActionInvoker {\n constructor(clientCtx, actionDef) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n applyAction;\n batchApplyAction;\n}\nclass QueryInvoker {\n constructor(clientCtx, queryDef) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n executeFunction;\n}\n/** @internal */\nexport function createClientInternal(objectSetFactory, // first so i can bind\nbaseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then((ontologyRid) => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n const clientCtx = createMinimalClient({ ontologyRid }, baseUrl, tokenProvider, options, fetchFn, objectSetFactory);\n function clientFn(o) {\n if (o.type === \"object\" || o.type === \"interface\") {\n return objectSetFactory(o, clientCtx);\n }\n else if (o.type === \"action\") {\n return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value\n }\n else if (o.type === \"query\") {\n return new QueryInvoker(clientCtx, o);\n }\n else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(clientCtx),\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET_subscribe.name:\n return {\n subscribe: (objectSet, listener, opts) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(clientCtx).subscribe(objectSet.$objectSetInternals?.def, getWireObjectSet(objectSet), listener, opts?.properties);\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async (objectType, rid, options) => {\n return await fetchSingle(clientCtx, objectType, options, createWithRid(rid));\n },\n };\n }\n throw new Error(\"not implemented\");\n }\n else {\n throw new Error(\"not implemented\");\n }\n }\n const fetchMetadata = fetchMetadataInternal.bind(undefined, clientCtx);\n const client = Object.defineProperties(clientFn, {\n [oldSymbolClientContext]: {\n value: clientCtx,\n },\n [symbolClientContext]: {\n value: clientCtx,\n },\n [additionalContext]: {\n value: clientCtx,\n },\n fetchMetadata: {\n value: fetchMetadata,\n },\n });\n return client;\n}\nexport const createClient = createClientInternal.bind(undefined, createObjectSet);\nfunction createWithRid(rid) {\n const withRid = {\n type: \"static\",\n \"objects\": [rid],\n };\n return withRid;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,7 +56,7 @@ describe(createClient, () => {
|
|
|
56
56
|
createClient("https://mock3.com/stuff/first/foo/", MockOntology.metadata.ontologyRid, async () => "Token", undefined, fetchFunction);
|
|
57
57
|
expect(spy.mock.calls[3][0]).toBe("https://mock3.com/stuff/first/foo/");
|
|
58
58
|
const conjureContextSpy = vi.spyOn(MakeConjureContext, "makeConjureContext");
|
|
59
|
-
metadataCacheClient({
|
|
59
|
+
void metadataCacheClient({
|
|
60
60
|
baseUrl: "https://mock4.com/",
|
|
61
61
|
ontologyProvider: {
|
|
62
62
|
getObjectDefinition: async () => ({})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClient.test.js","names":["Task","SharedClientContext","mockFetchResponse","MockOntology","beforeEach","describe","expect","it","vi","metadataCacheClient","createClient","MakeConjureContext","USER_AGENT","fetchFunction","client","fn","metadata","ontologyRid","undefined","data","getUserAgentPartsFromMockedFetch","userAgent","mock","calls","headers","get","parts","split","fetchPage","toHaveBeenCalledTimes","toEqual","osdkMetadata","extraUserAgent","spy","spyOn","toBe","conjureContextSpy","baseUrl","ontologyProvider","getObjectDefinition","results","value"],"sources":["createClient.test.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 { Task } from \"@osdk/client.test.ontology\";\nimport * as SharedClientContext from \"@osdk/shared.client.impl\";\nimport { mockFetchResponse, MockOntology } from \"@osdk/shared.test\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { metadataCacheClient } from \"./__unstable/ConjureSupport.js\";\nimport { createClient } from \"./createClient.js\";\nimport * as MakeConjureContext from \"./ontology/makeConjureContext.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\ndescribe(createClient, () => {\n const validOlderVersion = \"0.13.0\";\n const validCurrentVersion = \"0.14.0\";\n const invalidFutureVersion = \"100.100.100\";\n let fetchFunction;\n let client;\n beforeEach(() => {\n fetchFunction = vi.fn();\n client = createClient(\"https://mock.com\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n mockFetchResponse(fetchFunction, { data: [] });\n });\n describe(\"user agent passing\", () => {\n function getUserAgentPartsFromMockedFetch() {\n const userAgent = (fetchFunction.mock.calls[0][1]?.headers)\n .get(\"Fetch-User-Agent\");\n const parts = userAgent?.split(\" \") ?? [];\n return parts;\n }\n it(\"works for objects\", async () => {\n await client(Task).fetchPage();\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n const parts = getUserAgentPartsFromMockedFetch();\n expect(parts).toEqual([\n ...Task.osdkMetadata\n .extraUserAgent\n .split(\" \"),\n USER_AGENT,\n ]);\n });\n });\n describe(\"check url formatting\", () => {\n it(\"urls are correctly formatted\", async () => {\n const spy = vi.spyOn(SharedClientContext, \"createSharedClientContext\");\n const client = createClient(\"https://mock.com\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[0][0]).toBe(\"https://mock.com/\");\n createClient(\"https://mock1.com/\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[1][0]).toBe(\"https://mock1.com/\");\n createClient(\"https://mock2.com/stuff/first/foo\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[2][0]).toBe(\"https://mock2.com/stuff/first/foo/\");\n createClient(\"https://mock3.com/stuff/first/foo/\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[3][0]).toBe(\"https://mock3.com/stuff/first/foo/\");\n const conjureContextSpy = vi.spyOn(MakeConjureContext, \"makeConjureContext\");\n metadataCacheClient({\n baseUrl: \"https://mock4.com/\",\n ontologyProvider: { getObjectDefinition: async () => ({}) },\n });\n expect(conjureContextSpy.mock.results[0].value[\"baseUrl\"]\n + conjureContextSpy.mock.results[0].value[\"servicePath\"]).toBe(\"https://mock4.com/ontology-metadata/api\");\n });\n });\n});\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"createClient.test.js","names":["Task","SharedClientContext","mockFetchResponse","MockOntology","beforeEach","describe","expect","it","vi","metadataCacheClient","createClient","MakeConjureContext","USER_AGENT","fetchFunction","client","fn","metadata","ontologyRid","undefined","data","getUserAgentPartsFromMockedFetch","userAgent","mock","calls","headers","get","parts","split","fetchPage","toHaveBeenCalledTimes","toEqual","osdkMetadata","extraUserAgent","spy","spyOn","toBe","conjureContextSpy","baseUrl","ontologyProvider","getObjectDefinition","results","value"],"sources":["createClient.test.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 { Task } from \"@osdk/client.test.ontology\";\nimport * as SharedClientContext from \"@osdk/shared.client.impl\";\nimport { mockFetchResponse, MockOntology } from \"@osdk/shared.test\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport { metadataCacheClient } from \"./__unstable/ConjureSupport.js\";\nimport { createClient } from \"./createClient.js\";\nimport * as MakeConjureContext from \"./ontology/makeConjureContext.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\ndescribe(createClient, () => {\n const validOlderVersion = \"0.13.0\";\n const validCurrentVersion = \"0.14.0\";\n const invalidFutureVersion = \"100.100.100\";\n let fetchFunction;\n let client;\n beforeEach(() => {\n fetchFunction = vi.fn();\n client = createClient(\"https://mock.com\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n mockFetchResponse(fetchFunction, { data: [] });\n });\n describe(\"user agent passing\", () => {\n function getUserAgentPartsFromMockedFetch() {\n const userAgent = (fetchFunction.mock.calls[0][1]?.headers)\n .get(\"Fetch-User-Agent\");\n const parts = userAgent?.split(\" \") ?? [];\n return parts;\n }\n it(\"works for objects\", async () => {\n await client(Task).fetchPage();\n expect(fetchFunction).toHaveBeenCalledTimes(1);\n const parts = getUserAgentPartsFromMockedFetch();\n expect(parts).toEqual([\n ...Task.osdkMetadata\n .extraUserAgent\n .split(\" \"),\n USER_AGENT,\n ]);\n });\n });\n describe(\"check url formatting\", () => {\n it(\"urls are correctly formatted\", async () => {\n const spy = vi.spyOn(SharedClientContext, \"createSharedClientContext\");\n const client = createClient(\"https://mock.com\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[0][0]).toBe(\"https://mock.com/\");\n createClient(\"https://mock1.com/\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[1][0]).toBe(\"https://mock1.com/\");\n createClient(\"https://mock2.com/stuff/first/foo\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[2][0]).toBe(\"https://mock2.com/stuff/first/foo/\");\n createClient(\"https://mock3.com/stuff/first/foo/\", MockOntology.metadata.ontologyRid, async () => \"Token\", undefined, fetchFunction);\n expect(spy.mock.calls[3][0]).toBe(\"https://mock3.com/stuff/first/foo/\");\n const conjureContextSpy = vi.spyOn(MakeConjureContext, \"makeConjureContext\");\n void metadataCacheClient({\n baseUrl: \"https://mock4.com/\",\n ontologyProvider: { getObjectDefinition: async () => ({}) },\n });\n expect(conjureContextSpy.mock.results[0].value[\"baseUrl\"]\n + conjureContextSpy.mock.results[0].value[\"servicePath\"]).toBe(\"https://mock4.com/ontology-metadata/api\");\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGeotimeSeriesProperty.d.ts","sourceRoot":"","sources":["../../src/createGeotimeSeriesProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/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,EACpB,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAStB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"createGeotimeSeriesProperty.d.ts","sourceRoot":"","sources":["../../src/createGeotimeSeriesProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,eAAe,EAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/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,EACpB,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAStB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAezD,YAAY,CACvB,KAAK,CAAC,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IASlB,eAAe,CAC3B,KAAK,CAAC,EAAE,eAAe,GACtB,cAAc,CACf;QACE,IAAI,EAAE,GAAG,CAAC;QACV,KAAK,EAAE,CAAC,CAAC;KACV,EACD,IAAI,EACJ,OAAO,CACR;CAeF"}
|
|
@@ -28,7 +28,9 @@ export class GeotimeSeriesPropertyImpl {
|
|
|
28
28
|
}
|
|
29
29
|
async getLatestValue() {
|
|
30
30
|
const latestPointPromise = OntologiesV2.TimeSeriesValueBankProperties.getLatestValue(this.#client, await this.#client.ontologyRid, ...this.#triplet);
|
|
31
|
-
latestPointPromise.then(latestPoint => this.lastFetchedValue = latestPoint
|
|
31
|
+
latestPointPromise.then(latestPoint => this.lastFetchedValue = latestPoint,
|
|
32
|
+
// eslint-disable-next-line no-console
|
|
33
|
+
err => void console.error(err));
|
|
32
34
|
return latestPointPromise;
|
|
33
35
|
}
|
|
34
36
|
async getAllValues(query) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGeotimeSeriesProperty.js","names":["OntologiesV2","asyncIterPointsHelper","getTimeRange","GeotimeSeriesPropertyImpl","triplet","client","lastFetchedValue","constructor","objectApiName","primaryKey","propertyName","initialValue","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, initialValue) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n if (initialValue != null) {\n this.lastFetchedValue = initialValue;\n }\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,EAAEC,YAAY,EAAE;IACvE,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;IACzD,IAAIC,YAAY,IAAI,IAAI,EAAE;MACtB,IAAI,CAACL,gBAAgB,GAAGK,YAAY;IACxC;EACJ;EACA,MAAMC,cAAcA,CAAA,EAAG;IACnB,MAAMC,kBAAkB,GAAGb,YAAY,CAACc,6BAA6B,CAChEF,cAAc,CAAC,IAAI,CAAC,CAACP,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACU,WAAW,EAAE,GAAG,IAAI,CAAC,CAACX,OAAO,CAAC;IACnFS,kBAAkB,CAACG,IAAI,CAACC,WAAW,IAAI,IAAI,CAACX,gBAAgB,GAAGW,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"createGeotimeSeriesProperty.js","names":["OntologiesV2","asyncIterPointsHelper","getTimeRange","GeotimeSeriesPropertyImpl","triplet","client","lastFetchedValue","constructor","objectApiName","primaryKey","propertyName","initialValue","getLatestValue","latestPointPromise","TimeSeriesValueBankProperties","ontologyRid","then","latestPoint","err","console","error","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, initialValue) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n if (initialValue != null) {\n this.lastFetchedValue = initialValue;\n }\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 // eslint-disable-next-line no-console\n err => void console.error(err));\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,EAAEC,YAAY,EAAE;IACvE,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;IACzD,IAAIC,YAAY,IAAI,IAAI,EAAE;MACtB,IAAI,CAACL,gBAAgB,GAAGK,YAAY;IACxC;EACJ;EACA,MAAMC,cAAcA,CAAA,EAAG;IACnB,MAAMC,kBAAkB,GAAGb,YAAY,CAACc,6BAA6B,CAChEF,cAAc,CAAC,IAAI,CAAC,CAACP,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACU,WAAW,EAAE,GAAG,IAAI,CAAC,CAACX,OAAO,CAAC;IACnFS,kBAAkB,CAACG,IAAI,CAACC,WAAW,IAAI,IAAI,CAACX,gBAAgB,GAAGW,WAAW;IAC1E;IACAC,GAAG,IAAI,KAAKC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC,CAAC;IAC/B,OAAOL,kBAAkB;EAC7B;EACA,MAAMQ,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,MAAM3B,YAAY,CAC1Cc,6BAA6B,CAACc,YAAY,CAAC,IAAI,CAAC,CAACvB,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACU,WAAW,EAAE,GAAG,IAAI,CAAC,CAACX,OAAO,EAAEkB,KAAK,GAAG;MAAEO,KAAK,EAAE3B,YAAY,CAACoB,KAAK;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5J,WAAW,MAAMQ,eAAe,IAAI7B,qBAAqB,CAAC0B,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;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/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;
|
|
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;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/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,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAQ5C,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAQ3C,YAAY,CACvB,KAAK,CAAC,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IASlB,eAAe,CAC3B,KAAK,CAAC,EAAE,eAAe,GACtB,cAAc,CACf;QACE,IAAI,EAAE,GAAG,CAAC;QACV,KAAK,EAAE,CAAC,CAAC;KACV,EACD,IAAI,EACJ,OAAO,CACR;CAeF"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// break tests that have hard coded line numbers and line offsets.
|
|
20
20
|
import { queryAcceptsObject } from "@osdk/client.test.ontology";
|
|
21
21
|
const client = {};
|
|
22
|
-
client(queryAcceptsObject).executeFunction({
|
|
22
|
+
void client(queryAcceptsObject).executeFunction({
|
|
23
23
|
object: undefined
|
|
24
24
|
});
|
|
25
25
|
//# sourceMappingURL=callsQueryAcceptsObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callsQueryAcceptsObject.js","names":["queryAcceptsObject","client","executeFunction","object","undefined"],"sources":["callsQueryAcceptsObject.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 */\n// WARNING!\n// WARNING!\n// This file is used for tests that check intellisense. Editing this file by hand will likely\n// break tests that have hard coded line numbers and line offsets.\nimport { queryAcceptsObject } from \"@osdk/client.test.ontology\";\nconst client = {};\
|
|
1
|
+
{"version":3,"file":"callsQueryAcceptsObject.js","names":["queryAcceptsObject","client","executeFunction","object","undefined"],"sources":["callsQueryAcceptsObject.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 */\n// WARNING!\n// WARNING!\n// This file is used for tests that check intellisense. Editing this file by hand will likely\n// break tests that have hard coded line numbers and line offsets.\nimport { queryAcceptsObject } from \"@osdk/client.test.ontology\";\nconst client = {};\nvoid client(queryAcceptsObject).executeFunction({\n object: undefined,\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,kBAAkB,QAAQ,4BAA4B;AAC/D,MAAMC,MAAM,GAAG,CAAC,CAAC;AACjB,KAAKA,MAAM,CAACD,kBAAkB,CAAC,CAACE,eAAe,CAAC;EAC5CC,MAAM,EAAEC;AACZ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -148,7 +148,7 @@ describe("AsyncCache", () => {
|
|
|
148
148
|
for (let i = 0; i < asyncCacheSpies.get.mock.calls.length; i++) {
|
|
149
149
|
if (asyncCacheSpies.get.mock.calls[i][1] === key) {
|
|
150
150
|
if (asyncCacheSpies.get.mock.results[i].type === "return") {
|
|
151
|
-
expect(getPromises[i]).toReject();
|
|
151
|
+
await expect(getPromises[i]).toReject();
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
}
|
|
@@ -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","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":[]}
|
|
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 await 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":[]}
|
|
@@ -373,7 +373,7 @@ describe("aggregate", () => {
|
|
|
373
373
|
expectType(false); // subselect should hide unused keys
|
|
374
374
|
});
|
|
375
375
|
it("prohibits ordered select with multiple groupBy", async () => {
|
|
376
|
-
client(Todo).aggregate({
|
|
376
|
+
await client(Todo).aggregate({
|
|
377
377
|
$select: {
|
|
378
378
|
// @ts-expect-error
|
|
379
379
|
"id:max": "desc",
|