@osdk/client 2.1.0-beta.21 → 2.1.0-beta.23

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.
Files changed (146) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/build/browser/Client.d.ts.map +1 -1
  3. package/build/browser/__unstable/ConjureSupport.d.ts +18 -35
  4. package/build/browser/__unstable/ConjureSupport.d.ts.map +1 -1
  5. package/build/browser/__unstable/ConjureSupport.js +4 -1
  6. package/build/browser/__unstable/ConjureSupport.js.map +1 -1
  7. package/build/browser/actions/actions.test.js +20 -4
  8. package/build/browser/actions/actions.test.js.map +1 -1
  9. package/build/browser/actions/applyAction.d.ts +1 -1
  10. package/build/browser/actions/applyAction.d.ts.map +1 -1
  11. package/build/browser/createClient.d.ts.map +1 -1
  12. package/build/browser/createClient.js +2 -0
  13. package/build/browser/createClient.js.map +1 -1
  14. package/build/browser/createClient.test.js +1 -1
  15. package/build/browser/createClient.test.js.map +1 -1
  16. package/build/browser/createGeotimeSeriesProperty.d.ts.map +1 -1
  17. package/build/browser/createGeotimeSeriesProperty.js +3 -1
  18. package/build/browser/createGeotimeSeriesProperty.js.map +1 -1
  19. package/build/browser/createMediaReferenceProperty.d.ts +14 -0
  20. package/build/browser/createMediaReferenceProperty.d.ts.map +1 -0
  21. package/build/browser/createMediaReferenceProperty.js +46 -0
  22. package/build/browser/createMediaReferenceProperty.js.map +1 -0
  23. package/build/browser/createTimeseriesProperty.d.ts.map +1 -1
  24. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js +1 -1
  25. package/build/browser/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  26. package/build/browser/intellisense.test.js +1 -1
  27. package/build/browser/intellisense.test.js.map +1 -1
  28. package/build/browser/object/Cache.test.js +1 -1
  29. package/build/browser/object/Cache.test.js.map +1 -1
  30. package/build/browser/object/aggregate.test.js +1 -1
  31. package/build/browser/object/aggregate.test.js.map +1 -1
  32. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -1
  33. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -1
  34. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +2 -1
  35. package/build/browser/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  36. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +10 -1
  37. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  38. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -1
  39. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js +1 -1
  40. package/build/browser/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  41. package/build/browser/object/convertWireToOsdkObjects.test.js +18 -0
  42. package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
  43. package/build/browser/object/media.test.d.ts +2 -0
  44. package/build/browser/object/media.test.d.ts.map +1 -0
  45. package/build/browser/object/media.test.js +54 -0
  46. package/build/browser/object/media.test.js.map +1 -0
  47. package/build/browser/objectSet/ObjectSetListenerWebsocket.js +9 -7
  48. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  49. package/build/browser/ontology/OntologyProvider.d.ts.map +1 -1
  50. package/build/browser/pageRequestAsAsyncIter.d.ts.map +1 -1
  51. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts +2 -2
  52. package/build/browser/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -1
  53. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js +1 -1
  54. package/build/browser/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
  55. package/build/browser/public-utils/hydrateAttachmentFromRid.d.ts +1 -1
  56. package/build/browser/public-utils/hydrateAttachmentFromRid.js +1 -1
  57. package/build/browser/public-utils/hydrateAttachmentFromRid.js.map +1 -1
  58. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts +7 -7
  59. package/build/browser/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -1
  60. package/build/browser/public-utils/hydrateObjectSetFromRid.js +5 -5
  61. package/build/browser/public-utils/hydrateObjectSetFromRid.js.map +1 -1
  62. package/build/browser/tsserver.d.ts +6 -8
  63. package/build/browser/tsserver.d.ts.map +1 -1
  64. package/build/browser/tsserver.js.map +1 -1
  65. package/build/browser/util/UserAgent.d.ts.map +1 -1
  66. package/build/browser/util/UserAgent.js +1 -1
  67. package/build/browser/util/datetimeConverters.d.ts.map +1 -1
  68. package/build/browser/util/streamutils.d.ts.map +1 -1
  69. package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
  70. package/build/esm/Client.d.ts.map +1 -1
  71. package/build/esm/__unstable/ConjureSupport.d.ts +18 -35
  72. package/build/esm/__unstable/ConjureSupport.d.ts.map +1 -1
  73. package/build/esm/__unstable/ConjureSupport.js +4 -1
  74. package/build/esm/__unstable/ConjureSupport.js.map +1 -1
  75. package/build/esm/actions/actions.test.js +20 -4
  76. package/build/esm/actions/actions.test.js.map +1 -1
  77. package/build/esm/actions/applyAction.d.ts +1 -1
  78. package/build/esm/actions/applyAction.d.ts.map +1 -1
  79. package/build/esm/createClient.d.ts.map +1 -1
  80. package/build/esm/createClient.js +2 -0
  81. package/build/esm/createClient.js.map +1 -1
  82. package/build/esm/createClient.test.js +1 -1
  83. package/build/esm/createClient.test.js.map +1 -1
  84. package/build/esm/createGeotimeSeriesProperty.d.ts.map +1 -1
  85. package/build/esm/createGeotimeSeriesProperty.js +3 -1
  86. package/build/esm/createGeotimeSeriesProperty.js.map +1 -1
  87. package/build/esm/createMediaReferenceProperty.d.ts +14 -0
  88. package/build/esm/createMediaReferenceProperty.d.ts.map +1 -0
  89. package/build/esm/createMediaReferenceProperty.js +46 -0
  90. package/build/esm/createMediaReferenceProperty.js.map +1 -0
  91. package/build/esm/createTimeseriesProperty.d.ts.map +1 -1
  92. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js +1 -1
  93. package/build/esm/intellisense.test.helpers/callsQueryAcceptsObject.js.map +1 -1
  94. package/build/esm/intellisense.test.js +1 -1
  95. package/build/esm/intellisense.test.js.map +1 -1
  96. package/build/esm/object/Cache.test.js +1 -1
  97. package/build/esm/object/Cache.test.js.map +1 -1
  98. package/build/esm/object/aggregate.test.js +1 -1
  99. package/build/esm/object/aggregate.test.js.map +1 -1
  100. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts +17 -1
  101. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.d.ts.map +1 -1
  102. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js +2 -1
  103. package/build/esm/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.js.map +1 -1
  104. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +10 -1
  105. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  106. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.d.ts.map +1 -1
  107. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js +1 -1
  108. package/build/esm/object/convertWireToOsdkObjects/getDollarAs.js.map +1 -1
  109. package/build/esm/object/convertWireToOsdkObjects.test.js +18 -0
  110. package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
  111. package/build/esm/object/media.test.d.ts +2 -0
  112. package/build/esm/object/media.test.d.ts.map +1 -0
  113. package/build/esm/object/media.test.js +54 -0
  114. package/build/esm/object/media.test.js.map +1 -0
  115. package/build/esm/objectSet/ObjectSetListenerWebsocket.js +9 -7
  116. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  117. package/build/esm/ontology/OntologyProvider.d.ts.map +1 -1
  118. package/build/esm/pageRequestAsAsyncIter.d.ts.map +1 -1
  119. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts +2 -2
  120. package/build/esm/public-utils/createAndFetchTempObjectSetRid.d.ts.map +1 -1
  121. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js +1 -1
  122. package/build/esm/public-utils/createAndFetchTempObjectSetRid.js.map +1 -1
  123. package/build/esm/public-utils/hydrateAttachmentFromRid.d.ts +1 -1
  124. package/build/esm/public-utils/hydrateAttachmentFromRid.js +1 -1
  125. package/build/esm/public-utils/hydrateAttachmentFromRid.js.map +1 -1
  126. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts +7 -7
  127. package/build/esm/public-utils/hydrateObjectSetFromRid.d.ts.map +1 -1
  128. package/build/esm/public-utils/hydrateObjectSetFromRid.js +5 -5
  129. package/build/esm/public-utils/hydrateObjectSetFromRid.js.map +1 -1
  130. package/build/esm/tsserver.d.ts +6 -8
  131. package/build/esm/tsserver.d.ts.map +1 -1
  132. package/build/esm/tsserver.js.map +1 -1
  133. package/build/esm/util/UserAgent.d.ts.map +1 -1
  134. package/build/esm/util/UserAgent.js +1 -1
  135. package/build/esm/util/datetimeConverters.d.ts.map +1 -1
  136. package/build/esm/util/streamutils.d.ts.map +1 -1
  137. package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
  138. package/package.json +13 -13
  139. package/build/browser/objectSet/toConjureObjectSet.d.ts +0 -2
  140. package/build/browser/objectSet/toConjureObjectSet.d.ts.map +0 -1
  141. package/build/browser/objectSet/toConjureObjectSet.js +0 -167
  142. package/build/browser/objectSet/toConjureObjectSet.js.map +0 -1
  143. package/build/esm/objectSet/toConjureObjectSet.d.ts +0 -2
  144. package/build/esm/objectSet/toConjureObjectSet.d.ts.map +0 -1
  145. package/build/esm/objectSet/toConjureObjectSet.js +0 -167
  146. package/build/esm/objectSet/toConjureObjectSet.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ import type { Media, MediaMetadata } from "@osdk/api";
2
+ import type { MinimalClient } from "./MinimalClientContext.js";
3
+ export declare class MediaReferencePropertyImpl implements Media {
4
+ #private;
5
+ constructor(args: {
6
+ client: MinimalClient;
7
+ objectApiName: string;
8
+ primaryKey: any;
9
+ propertyName: string;
10
+ });
11
+ fetchContents(): Promise<Response>;
12
+ fetchMetadata(): Promise<MediaMetadata>;
13
+ }
14
+ //# sourceMappingURL=createMediaReferenceProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMediaReferenceProperty.d.ts","sourceRoot":"","sources":["../../src/createMediaReferenceProperty.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,qBAAa,0BAA2B,YAAW,KAAK;;gBAI1C,IAAI,EAAE;QAChB,MAAM,EAAE,aAAa,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,GAAG,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;KACtB;IAMY,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC;IAWlC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;CAerD"}
@@ -0,0 +1,46 @@
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
+ export class MediaReferencePropertyImpl {
18
+ #triplet;
19
+ #client;
20
+ constructor(args) {
21
+ const {
22
+ client,
23
+ objectApiName,
24
+ primaryKey,
25
+ propertyName
26
+ } = args;
27
+ this.#client = client;
28
+ this.#triplet = [objectApiName, primaryKey, propertyName];
29
+ }
30
+ async fetchContents() {
31
+ return OntologiesV2.MediaReferenceProperties.getMediaContent(this.#client, await this.#client.ontologyRid, ...this.#triplet, {
32
+ preview: true // TODO: Can turn this back off when backend is no longer in beta.
33
+ });
34
+ }
35
+ async fetchMetadata() {
36
+ const r = await OntologiesV2.MediaReferenceProperties.getMediaMetadata(this.#client, await this.#client.ontologyRid, ...this.#triplet, {
37
+ preview: true // TODO: Can turn this back off when backend is no longer in beta.
38
+ });
39
+ return {
40
+ path: r.path,
41
+ sizeBytes: Number(r.sizeBytes),
42
+ mediaType: r.mediaType
43
+ };
44
+ }
45
+ }
46
+ //# sourceMappingURL=createMediaReferenceProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMediaReferenceProperty.js","names":["OntologiesV2","MediaReferencePropertyImpl","triplet","client","constructor","args","objectApiName","primaryKey","propertyName","fetchContents","MediaReferenceProperties","getMediaContent","ontologyRid","preview","fetchMetadata","r","getMediaMetadata","path","sizeBytes","Number","mediaType"],"sources":["createMediaReferenceProperty.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\";\nexport class MediaReferencePropertyImpl {\n #triplet;\n #client;\n constructor(args) {\n const { client, objectApiName, primaryKey, propertyName } = args;\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n }\n async fetchContents() {\n return OntologiesV2.MediaReferenceProperties.getMediaContent(this.#client, await this.#client.ontologyRid, ...this.#triplet, {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n });\n }\n async fetchMetadata() {\n const r = await OntologiesV2.MediaReferenceProperties.getMediaMetadata(this.#client, await this.#client.ontologyRid, ...this.#triplet, {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n });\n return {\n path: r.path,\n sizeBytes: Number(r.sizeBytes),\n mediaType: r.mediaType,\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,OAAO,MAAMC,0BAA0B,CAAC;EACpC,CAACC,OAAO;EACR,CAACC,MAAM;EACPC,WAAWA,CAACC,IAAI,EAAE;IACd,MAAM;MAAEF,MAAM;MAAEG,aAAa;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGH,IAAI;IAChE,IAAI,CAAC,CAACF,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;EAC7D;EACA,MAAMC,aAAaA,CAAA,EAAG;IAClB,OAAOT,YAAY,CAACU,wBAAwB,CAACC,eAAe,CAAC,IAAI,CAAC,CAACR,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,EAAE;MACzHW,OAAO,EAAE,IAAI,CAAE;IACnB,CAAC,CAAC;EACN;EACA,MAAMC,aAAaA,CAAA,EAAG;IAClB,MAAMC,CAAC,GAAG,MAAMf,YAAY,CAACU,wBAAwB,CAACM,gBAAgB,CAAC,IAAI,CAAC,CAACb,MAAM,EAAE,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAAE,GAAG,IAAI,CAAC,CAACV,OAAO,EAAE;MACnIW,OAAO,EAAE,IAAI,CAAE;IACnB,CAAC,CAAC;IACF,OAAO;MACHI,IAAI,EAAEF,CAAC,CAACE,IAAI;MACZC,SAAS,EAAEC,MAAM,CAACJ,CAAC,CAACG,SAAS,CAAC;MAC9BE,SAAS,EAAEL,CAAC,CAACK;IACjB,CAAC;EACL;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;IAQb,YAAY;IAQZ,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe;IASnC,eAAe,CAC3B,KAAK,CAAC,EAAE,eAAe;;;;CAgB1B"}
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 = {};\nclient(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;AACjBA,MAAM,CAACD,kBAAkB,CAAC,CAACE,eAAe,CAAC;EACvCC,MAAM,EAAEC;AACZ,CAAC,CAAC","ignoreList":[]}
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":[]}
@@ -71,7 +71,7 @@ describe("intellisense", () => {
71
71
  tsServer = undefined;
72
72
  });
73
73
  it("callsQueryAcceptsObject", {
74
- timeout: 20_000
74
+ timeout: 40_000
75
75
  }, async () => {
76
76
  const {
77
77
  resp
@@ -1 +1 @@
1
- {"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","url","process","env","NODE_ENV","join","dirname","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot"],"sources":["intellisense.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 { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport { afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from \"vitest\";\nimport { startTsServer } from \"./tsserver.js\";\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async () => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\")\n a = a.slice(0, -1);\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino({ level: \"info\" }, (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n })));\n});\ndescribe(\"intellisense\", () => {\n let packagesDir;\n let clientPackagePath;\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.url,\n });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(path.dirname(clientsPackageJson), \"..\");\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n let tsServer;\n let intellisenseFilePath;\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(clientPackagePath, \"src\", \"intellisense.test.helpers\", `${a.task.name}.ts`);\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined;\n });\n it(\"callsQueryAcceptsObject\", { timeout: 20_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(`\"(no ontology metadata)\"`);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","url","process","env","NODE_ENV","join","dirname","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot"],"sources":["intellisense.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 { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport { afterEach, beforeAll, beforeEach, describe, expect, it, vi, } from \"vitest\";\nimport { startTsServer } from \"./tsserver.js\";\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async () => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\")\n a = a.slice(0, -1);\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino({ level: \"info\" }, (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n })));\n});\ndescribe(\"intellisense\", () => {\n let packagesDir;\n let clientPackagePath;\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.url,\n });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(path.dirname(clientsPackageJson), \"..\");\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n let tsServer;\n let intellisenseFilePath;\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(clientPackagePath, \"src\", \"intellisense.test.helpers\", `${a.task.name}.ts`);\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined;\n });\n it(\"callsQueryAcceptsObject\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(`\"(no ontology metadata)\"`);\n });\n});\n"],"mappings":"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","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":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,QAAQ,MAAM,eAAe;AACzC,OAAOC,MAAM,MAAM,SAAS;AAC5B,SAASC,iBAAiB,IAAIC,WAAW,QAAQ,SAAS;AAC1D,SAASC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AACxE,SAASC,sBAAsB,EAAEC,iBAAiB,QAAQ,YAAY;AACtEJ,MAAM,CAACK,MAAM,CAACZ,QAAQ,CAAC;AACvB,SAASa,UAAUA,CAACC,KAAK,EAAE;EACvB,OAAO;IACHC,GAAG,EAAEN,EAAE,CAACO,KAAK,CAACF,KAAK,EAAE,KAAK,CAAC;IAC3BG,MAAM,EAAER,EAAE,CAACO,KAAK,CAACF,KAAK,EAAE,QAAQ,CAAC;IACjCI,GAAG,EAAET,EAAE,CAACO,KAAK,CAACF,KAAK,EAAE,KAAK;EAC9B,CAAC;AACL;AACAR,QAAQ,CAAC,YAAY,EAAE,MAAM;EACzBF,SAAS,CAAC,MAAM,CAChB,CAAC,CAAC;EACF,MAAMe,UAAU,GAAG;IAAEC,cAAc,EAAE,CAAC;EAAE,CAAC;EACzC,MAAMC,WAAW,GAAG;IAAED,cAAc,EAAE,CAAC;EAAE,CAAC;EAC1CZ,EAAE,CAAC,wBAAwB,EAAE,YAAY;IACrC,MAAMM,KAAK,GAAGJ,sBAAsB,CAAC,CAACY,MAAM,EAAEC,GAAG,KAAKC,OAAO,CAACC,OAAO,CAACF,GAAG,CAAC,CAAC;IAC3E,MAAMT,KAAK,CAACI,GAAG,CAACC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;IACrCZ,MAAM,CAAC,MAAMO,KAAK,CAACC,GAAG,CAACM,WAAW,EAAE,GAAG,CAAC,CAAC,CAACK,OAAO,CAAC,GAAG,CAAC;EAC1D,CAAC,CAAC;EACFlB,EAAE,CAAC,iDAAiD,EAAE,YAAY;IAC9D,MAAMM,KAAK,GAAGJ,sBAAsB,CAAC,CAACY,MAAM,EAAEC,GAAG,KAAKC,OAAO,CAACC,OAAO,CAACF,GAAG,CAAC,CAAC;IAC3E,MAAMT,KAAK,CAACI,GAAG,CAACC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;IACrCZ,MAAM,CAAC,MAAMO,KAAK,CAACC,GAAG,CAAC;MAAE,GAAGI;IAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAACO,OAAO,CAAC,GAAG,CAAC;EAChE,CAAC,CAAC;EACFlB,EAAE,CAAC,yBAAyB,EAAE,YAAY;IAItC,MAAMmB,IAAI,GAAGlB,EAAE,CAACmB,EAAE,CAHG,CAACN,MAAM,EAAEC,GAAG,KAAK,IAAIC,OAAO,CAAEC,OAAO,IAAa;MACnEI,UAAU,CAAC,MAAMJ,OAAO,CAACF,GAAG,CAAC,EAAE,GAAG,CAAC;IACvC,CAAC,CAC8B,CAAC;IAChC,MAAMT,KAAK,GAAGJ,sBAAsB,CAACiB,IAAI,CAAC;IAC1C,MAAMH,OAAO,CAACM,GAAG,CAAC,CACdhB,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,EAC1BL,KAAK,CAACC,GAAG,CAACI,UAAU,EAAE,GAAG,CAAC,CAC7B,CAAC;IACFZ,MAAM,CAACoB,IAAI,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC;EACzC,CAAC,CAAC;EACFzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC1B,IAAI0B,SAAS;IACb,IAAIlB,KAAK;IACT,IAAImB,UAAU;IACd,IAAIC,UAAU;IACd,IAAIC,eAAe;IACnB,IAAIC,WAAW;IACf,IAAIC,aAAa;IACjB,IAAIC,WAAW;IACf,IAAIC,iBAAiB;IACrB,IAAIC,oBAAoB;IACxB,IAAIC,iBAAiB;IACrB,IAAIC,cAAc;IAClB,IAAIC,eAAe,GAAG,CAAC,CAAC;IACxBtC,UAAU,CAAC,YAAY;MACnB2B,SAAS,GAAGvB,EAAE,CAACmB,EAAE,CAAC,CAAC;MACnBI,SAAS,CAACY,kBAAkB,CAAC,MAAM;QAC/B,MAAMC,KAAK,GAAG5C,MAAM,CAAC,CAAC;QACtBoC,aAAa,CAACS,IAAI,CAACD,KAAK,CAAC;QACzB,OAAOA,KAAK,CAACE,OAAO;MACxB,CAAC,CAAC;MACFT,WAAW,GAAG,EAAE;MAChBD,aAAa,GAAG,EAAE;MAClBE,iBAAiB,GAAG,CAAC;MACrBC,oBAAoB,GAAG,CAAC;MACxBC,iBAAiB,GAAG,IAAIO,GAAG,CAAC,CAAC;MAC7BN,cAAc,GAAG,IAAIM,GAAG,CAAC,CAAC;MAC1BL,eAAe,GAAG,CAAC,CAAC;MACpB,MAAMM,mBAAmB,GAAGxC,EAAE,CAACmB,EAAE,CAAC,CAAC;MACnCd,KAAK,GAAGD,UAAU,CAACF,iBAAiB,CAAC,CAAC,CAAC;MACvCsB,UAAU,GAAGpB,UAAU,CAACF,iBAAiB,CAAC,CAAC,CAAC;MAC5CsC,mBAAmB,CAACC,mBAAmB,CAACpC,KAAK,CAAC;MAC9CmC,mBAAmB,CAACC,mBAAmB,CAACjB,UAAU,CAAC;MACnDC,UAAU,GAAGxB,sBAAsB,CAACsB,SAAS,EAAEiB,mBAAmB,CAAC;MACnEb,WAAW,GAAG3B,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,KAAK,CAAC;MACzCC,eAAe,GAAG;QACdpB,GAAG,EAAEN,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,KAAK,CAAC;QAChChB,GAAG,EAAET,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,KAAK,CAAC;QAChCiB,cAAc,EAAE1C,EAAE,CAACO,KAAK,CAACkB,UAAU,EAAE,gBAAgB;MACzD,CAAC;MACD,MAAMkB,eAAe,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,SAASC,wBAAwBA,CAAC9B,GAAG,EAAE;MACnC,OAAO,YAAY;QACf,IAAI,CAACkB,iBAAiB,CAACa,GAAG,CAAC/B,GAAG,CAAC,EAAE;UAC7BoB,eAAe,CAACpB,GAAG,CAAC,GAAG,CAACoB,eAAe,CAACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;UACtD,IAAI,CAACmB,cAAc,CAACY,GAAG,CAAC/B,GAAG,CAAC,EAAE;YAC1BmB,cAAc,CAACa,GAAG,CAAChC,GAAG,CAAC;YACvBiB,oBAAoB,EAAE;YACtBD,iBAAiB,EAAE;UACvB;QACJ;QACA;QACA,MAAMiB,MAAM,GAAG,MAAMC,QAAQ,CAAC,CAAC;QAC/BnB,WAAW,CAACQ,IAAI,CAACZ,UAAU,CAACnB,GAAG,CAACI,UAAU,EAAEI,GAAG,CAAC,CAAC;QACjDhB,MAAM,CAAC,MAAMkD,QAAQ,CAAC,CAAC,CAAC,CAACC,aAAa,CAAC;UACnC,GAAGF,MAAM;UACTG,kBAAkB,EAAEH,MAAM,CAACG,kBAAkB,GAAG;UAChD;QACJ,CAAC,CAAC;QACF,MAAMP,eAAe,CAAC,CAAC;MAC3B,CAAC;IACL;IACA,SAASQ,kBAAkBA,CAACC,GAAG,EAAEtC,GAAG,EAAEuC,KAAK,GAAG,GAAGvC,GAAG,QAAQ,EAAE;MAC1D,OAAO,YAAY;QACf;QACAhB,MAAM,CAAC,MAAMJ,WAAW,CAACkC,aAAa,CAACwB,GAAG,CAAC,CAACd,OAAO,CAAC,CAAC,CAACgB,IAAI,CAAC,SAAS,CAAC;QACrExD,MAAM,CAACyB,SAAS,CAACL,IAAI,CAACqC,KAAK,CAACH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAACxC,GAAG,CAAC;QAC9ChB,MAAM,CAACmC,cAAc,CAAC,CAACuB,SAAS,CAAC1C,GAAG,CAAC;QACrChB,MAAM,CAACkC,iBAAiB,CAAC,CAACyB,GAAG,CAACD,SAAS,CAAC1C,GAAG,CAAC;QAC5C;QACA;QACAmB,cAAc,CAACyB,MAAM,CAACL,KAAK,CAAC;QAC5BrB,iBAAiB,CAACc,GAAG,CAACO,KAAK,CAAC;QAC5B;QACA,MAAMN,MAAM,GAAG,MAAMC,QAAQ,CAAC,CAAC;QAC/BpB,aAAa,CAACwB,GAAG,CAAC,CAACpC,OAAO,CAACqC,KAAK,CAAC;QACjCvD,MAAM,CAAC,MAAMkD,QAAQ,CAAC,CAAC,CAAC,CAACC,aAAa,CAAC;UACnC,GAAGF,MAAM;UACTY,qBAAqB,EAAEZ,MAAM,CAACY,qBAAqB,GAAG;QAC1D,CAAC,CAAC;QACF,MAAMhB,eAAe,CAAC,CAAC;MAC3B,CAAC;IACL;IACA,SAASiB,iBAAiBA,CAACR,GAAG,EAAEtC,GAAG,EAAE+C,KAAK,GAAG,GAAG/C,GAAG,OAAO,EAAE;MACxD,OAAO,YAAY;QACfhB,MAAM,CAACyB,SAAS,CAACL,IAAI,CAACqC,KAAK,CAACH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAACxC,GAAG,CAAC;QAC9ChB,MAAM,CAACmC,cAAc,CAAC,CAACuB,SAAS,CAAC1C,GAAG,CAAC;QACrCmB,cAAc,CAACyB,MAAM,CAAC5C,GAAG,CAAC;QAC1Bc,aAAa,CAACwB,GAAG,CAAC,CAACU,MAAM,CAAC,IAAIC,KAAK,CAACF,KAAK,CAAC,CAAC;QAC3C;QACA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGtC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACU,MAAM,EAAED,CAAC,EAAE,EAAE;UAC5D,IAAItC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKlD,GAAG,EAAE;YAC9C,IAAIY,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACgD,OAAO,CAACF,CAAC,CAAC,CAACG,IAAI,KAAK,QAAQ,EAAE;cACvDrE,MAAM,CAAC+B,WAAW,CAACmC,CAAC,CAAC,CAAC,CAACI,QAAQ,CAAC,CAAC;YACrC;UACJ;QACJ;QACA,MAAMzB,eAAe,CAAC,CAAC;MAC3B,CAAC;IACL;IACA,eAAeK,QAAQA,CAAA,EAAG;MACtB,OAAO;QACHW,qBAAqB,EAAE,CAAC,MAAM5C,OAAO,CAACM,GAAG,CAACO,aAAa,CAACyC,GAAG,CAACC,CAAC,IAAI5E,WAAW,CAAC4E,CAAC,CAAChC,OAAO,CAAC,CAAC,CAAC,EAAEiC,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAK,WAAW,CAAC,CAACP,MAAM;QAChIQ,oBAAoB,EAAE,CAAC,MAAM1D,OAAO,CAACM,GAAG,CAACO,aAAa,CAACyC,GAAG,CAACC,CAAC,IAAI5E,WAAW,CAAC4E,CAAC,CAAChC,OAAO,CAAC,CAAC,CAAC,EAAEiC,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAK,UAAU,CAAC,CAACP,MAAM;QAC9Hf,kBAAkB,EAAExB,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACU;MACvD,CAAC;IACL;IACA,eAAetB,eAAeA,CAAA,EAAG;MAC7B,MAAM+B,KAAK,GAAG,MAAM1B,QAAQ,CAAC,CAAC;MAC9B;MACAlD,MAAM,CAACyB,SAAS,CAAC,CAACD,qBAAqB,CAACS,oBAAoB,CAAC;MAC7DjC,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC,CAACa,qBAAqB,CAACS,oBAAoB,CAAC;MAClEjC,MAAM,CAAC6B,WAAW,CAAC,CAACL,qBAAqB,CAACQ,iBAAiB,CAAC;MAC5D;MACAhC,MAAM,CAAC0B,UAAU,CAAChB,MAAM,CAAC,CAACc,qBAAqB,CAACoD,KAAK,CAACf,qBAAqB,GAAGe,KAAK,CAACD,oBAAoB,CAAC;MACzG;MACA3E,MAAM,CAACO,KAAK,CAACC,GAAG,CAAC,CAACgB,qBAAqB,CAACoD,KAAK,CAACxB,kBAAkB,CAAC;MACjE;MACApD,MAAM,CAACO,KAAK,CAACI,GAAG,CAAC,CAACa,qBAAqB,CAACU,iBAAiB,CAAC2C,IAAI,CAAC;IACnE;IACA,SAASC,sBAAsBA,CAAC9D,GAAG,EAAE;MACjCf,EAAE,CAAC,eAAee,GAAG,WAAW,EAAE,MAAM;QACpC,KAAK,IAAIkD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGtC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACU,MAAM,EAAED,CAAC,EAAE,EAAE;UAC5D,IAAItC,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACqC,KAAK,CAACS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKlD,GAAG,EAAE;YAC9ChB,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAAC2D,cAAc,CAACb,CAAC,CAAC,CAACG,IAAI,CAAC,CAACb,IAAI,CAAC,UAAU,CAAC;YACxExD,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAAC2D,cAAc,CAACb,CAAC,CAAC,CAACX,KAAK,CAAC,CACnDyB,aAAa,CAAC,IAAIf,KAAK,CAAC,QAAQ,CAAC,CAAC;UAC3C;QACJ;MACJ,CAAC,CAAC;IACN;IACA,SAASgB,mCAAmCA,CAAA,EAAG;MAC3ChF,EAAE,CAAC,4BAA4B,EAAE,MAAM;QACnCD,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAACgD,OAAO,CAACc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEb,IAAI,CAAC,CAACb,IAAI,CAAC,QAAQ,CAAC;MACxE,CAAC,CAAC;IACN;IACA,SAAS2B,0BAA0BA,CAAC7B,GAAG,EAAEtC,GAAG,EAAEK,EAAE,EAAE;MAC9C,OAAOtB,QAAQ,CAAC,2BAA2BuD,GAAG,QAAQtC,GAAG,EAAE,EAAE,MAAM;QAC/DlB,UAAU,CAACgE,iBAAiB,CAACR,GAAG,EAAEtC,GAAG,CAAC,CAAC;QACvC8D,sBAAsB,CAAC,GAAG,CAAC;QAC3BzD,EAAE,CAAC,CAAC;MACR,CAAC,CAAC;IACN;IACA,SAAS+D,2BAA2BA,CAAC9B,GAAG,EAAEtC,GAAG,EAAEK,EAAE,EAAE;MAC/C,OAAOtB,QAAQ,CAAC,4BAA4BuD,GAAG,QAAQtC,GAAG,EAAE,EAAE,MAAM;QAChElB,UAAU,CAACuD,kBAAkB,CAACC,GAAG,EAAEtC,GAAG,CAAC,CAAC;QACxCK,EAAE,CAAC,CAAC;MACR,CAAC,CAAC;IACN;IACA,SAASgE,wBAAwBA,CAACrE,GAAG,EAAEK,EAAE,EAAE;MACvC,OAAOtB,QAAQ,CAAC,uBAAuBiB,GAAG,GAAG,EAAE,MAAM;QACjDlB,UAAU,CAACgD,wBAAwB,CAAC9B,GAAG,CAAC,CAAC;QACzCiE,mCAAmC,CAAC,CAAC;QACrC5D,EAAE,CAAC,CAAC;MACR,CAAC,CAAC;IACN;IACA,SAASiE,wBAAwBA,CAACC,OAAO,EAAEhC,KAAK,EAAE;MAC9CtD,EAAE,CAAC,mCAAmCsF,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,UAAUjC,KAAK,GAAG,EAAE,YAAY;QACpF,KAAK,MAAMW,CAAC,IAAIqB,OAAO,EAAE;UACrBvF,MAAM,CAAC,MAAMJ,WAAW,CAACmC,WAAW,CAACmC,CAAC,CAAC,CAAC,CAAC,CAACV,IAAI,CAAC,WAAW,CAAC;UAC3DxD,MAAM,CAAC,MAAM+B,WAAW,CAACmC,CAAC,CAAC,CAAC,CAACV,IAAI,CAACD,KAAK,CAAC;QAC5C;MACJ,CAAC,CAAC;IACN;IACA,SAASkC,gCAAgCA,CAACC,MAAM,EAAE;MAC9CzF,EAAE,CAAC,4CAA4CyF,MAAM,CAACF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY;QAC7ExF,MAAM,CAAC,MAAMiB,OAAO,CAACM,GAAG,CAACQ,WAAW,CAACwC,GAAG,CAACoB,CAAC,IAAI/F,WAAW,CAAC+F,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1DxC,aAAa,CAACuC,MAAM,CAAC;QAC1B,KAAK,IAAIxB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwB,MAAM,CAACvB,MAAM,EAAED,CAAC,EAAE,EAAE;UACpClE,MAAM,CAAC,MAAMJ,WAAW,CAACmC,WAAW,CAACmC,CAAC,CAAC,CAAC,CAAC,CAACV,IAAI,CAACkC,MAAM,CAACxB,CAAC,CAAC,CAAC;QAC7D;MACJ,CAAC,CAAC;IACN;IACA,SAAS0B,6BAA6BA,CAACC,CAAC,EAAE;MACtC5F,EAAE,CAAC,gCAAgC4F,CAAC,QAAQ,EAAE,MAAM;QAChD7F,MAAM,CAACyB,SAAS,CAAC,CAACD,qBAAqB,CAACqE,CAAC,CAAC;MAC9C,CAAC,CAAC;IACN;IACA,SAASC,oBAAoBA,CAAC1B,OAAO,EAAE;MACnCnE,EAAE,CAAC,uBAAuB,EAAE,MAAM;QAC9BD,MAAM,CAAC4B,eAAe,CAACpB,GAAG,CAACY,IAAI,CAAC2D,cAAc,CAACR,GAAG,CAACG,CAAC,IAAIA,CAAC,CAACnB,KAAK,CAAC,CAAC,CAC5DpC,OAAO,CAACiD,OAAO,CAAC;MACzB,CAAC,CAAC;IACN;IACAnE,EAAE,CAAC,0BAA0B,EAAE,MAAM;MACjCD,MAAM,CAACO,KAAK,CAACC,GAAG,CAAC,CAACmD,GAAG,CAACoC,gBAAgB,CAAC,CAAC;MACxC/F,MAAM,CAAC0B,UAAU,CAAClB,GAAG,CAAC,CAACmD,GAAG,CAACoC,gBAAgB,CAAC,CAAC;MAC7C/F,MAAM,CAACyB,SAAS,CAAC,CAACkC,GAAG,CAACoC,gBAAgB,CAAC,CAAC;MACxC/F,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC,CAACgD,GAAG,CAACoC,gBAAgB,CAAC,CAAC;IACjD,CAAC,CAAC;IACFV,wBAAwB,CAAC,GAAG,EAAE,MAAM;MAChCI,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC;MAC7CG,6BAA6B,CAAC,CAAC,CAAC;MAChCP,wBAAwB,CAAC,GAAG,EAAE,MAAM;QAChCI,gCAAgC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxDG,6BAA6B,CAAC,CAAC,CAAC;QAChC7F,QAAQ,CAAC,2BAA2B,EAAE,MAAM;UACxC0F,gCAAgC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;UACxDG,6BAA6B,CAAC,CAAC,CAAC;UAChCT,0BAA0B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;YACrCM,gCAAgC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1DJ,wBAAwB,CAAC,GAAG,EAAE,MAAM;cAChCJ,mCAAmC,CAAC,CAAC;cACrCW,6BAA6B,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC;UACN,CAAC,CAAC;UACFP,wBAAwB,CAAC,GAAG,EAAE,MAAM;YAChCI,gCAAgC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACnEG,6BAA6B,CAAC,CAAC,CAAC;YAChCR,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;cACtCK,gCAAgC,CAAC,CAC7B,SAAS,EACT,SAAS,EACT,WAAW,CACd,CAAC;cACFK,oBAAoB,CAAC,CACjBE,SAAS,EACTA,SAAS,EACT,SAAS,CACZ,CAAC;YACN,CAAC,CAAC;UACN,CAAC,CAAC;UACFZ,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;YACtCE,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;YAC3CG,gCAAgC,CAAC,CAC7B,WAAW,EACX,WAAW,CACd,CAAC;YACFJ,wBAAwB,CAAC,GAAG,EAAE,MAAM;cAChCO,6BAA6B,CAAC,CAAC,CAAC;cAChCH,gCAAgC,CAAC,CAC7B,WAAW,EACX,WAAW,EACX,WAAW,CACd,CAAC;cACFK,oBAAoB,CAAC,CACjB,SAAS,EACT,SAAS,EACT,SAAS,CACZ,CAAC;YACN,CAAC,CAAC;UACN,CAAC,CAAC;QACN,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","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",
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.test.js","names":["objectTypeWithAllPropertyTypes","Todo","expectType","beforeAll","describe","expect","expectTypeOf","it","vi","createClient","createMinimalClient","aggregate","metadata","expectsClientVersion","ontologyRid","ontologyApiName","userAgent","mockFetch","clientCtx","client","fn","mockResolvedValue","ok","status","json","Promise","resolve","aggregationResponse","undefined","accuracy","data","group","string","metrics","name","value","toEqualTypeOf","notGrouped","type","objectType","$select","toHaveBeenCalledWith","body","JSON","stringify","method","headers","anything","approximateDistinct","exactDistinct","id","max","avg","$count","grouped","$groupBy","$exactWithLimit","integer","$ranges","short","float","$fixedWidth","dateTime","$duration","date","boolean","$group","wrongSelectKey","wrongKey","toBeCallableWith","direction","timestamp"],"sources":["aggregate.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 { objectTypeWithAllPropertyTypes, Todo, } from \"@osdk/client.test.ontology\";\nimport { expectType } from \"ts-expect\";\nimport { beforeAll, describe, expect, expectTypeOf, it, vi, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { aggregate } from \"./aggregate.js\";\nconst metadata = {\n expectsClientVersion: \"0.0.0\",\n ontologyRid: \"ri.a.b.c.d\",\n ontologyApiName: \"apiName\",\n userAgent: \"\",\n};\nlet mockFetch;\nlet clientCtx;\nlet client;\nbeforeAll(() => {\n mockFetch = vi.fn();\n mockFetch.mockResolvedValue({\n ok: true,\n status: 200,\n json: () => new Promise((resolve) => resolve(aggregationResponse)),\n });\n clientCtx = createMinimalClient(metadata, \"https://host.com\", async () => \"myAccessToken\", {}, mockFetch);\n client = createClient(\"https://host.com\", metadata.ontologyRid, async () => \"\", undefined, mockFetch);\n});\nconst aggregationResponse = {\n accuracy: \"APPROXIMATE\",\n data: [\n {\n group: {\n string: \"hello\",\n },\n metrics: [\n {\n name: \"string.approximateDistinct\",\n value: 1,\n },\n {\n name: \"string.exactDistinct\",\n value: 1,\n },\n {\n name: \"id.max\",\n value: 1,\n },\n {\n name: \"id.avg\",\n value: 1,\n },\n ],\n },\n ],\n};\ndescribe(\"aggregate\", () => {\n it(\"works\", async () => {\n expectTypeOf().toEqualTypeOf;\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"unordered\",\n \"string:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n \"field\": \"string\",\n },\n { \"type\": \"max\", \"name\": \"id.max\", \"field\": \"id\" },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.string.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subSelect should hide unused keys\n const grouped = await client(objectTypeWithAllPropertyTypes).aggregate({\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"id:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $ranges: [[\"2024-01-02\", \"2024-01-09\"]] },\n boolean: \"exact\",\n },\n });\n expectType(grouped);\n expectType(grouped[0].$group.string);\n expectType(grouped[0].id.approximateDistinct);\n expectType(grouped[0].id.exactDistinct);\n expectType(grouped[0].$group.id);\n expectType(grouped[0].$count);\n expectType(grouped[0].$group.integer);\n expectType(grouped[0].$group.short);\n expectType(grouped[0].$group.float);\n expectType(grouped[0].$group.dateTime);\n expectType(grouped[0].$group.date);\n expectType(grouped[0].$group.boolean);\n expectType({\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n $select: {\n id: \"approximateDistinct\",\n // @ts-expect-error\n wrongSelectKey: \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n // @ts-expect-error\n wrongKey: \"don't work\",\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectTypeOf().toBeCallableWith(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n // @ts-expect-error\n \"wrongSelectKey\": \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n // @ts-expect-error\n wrongKey: \"wrongKey\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $duration: [1, \"years\"] },\n });\n // Can't use value greater than 1 for years\n expectType({\n // @ts-expect-error\n date: { $duration: [10, \"years\"] },\n });\n // Can't use arbitrary string for time unit\n expectType({\n // @ts-expect-error\n dateTime: { $duration: [1, \"nonexistentTimeUnit\"] },\n });\n // Can't use time unit smaller than days for date type\n expectType({\n // @ts-expect-error\n date: { $duration: [1, \"seconds\"] },\n });\n });\n it(\"works with $orderBy (no groups)\", async () => {\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"asc\",\n \"id:exactDistinct\": \"asc\",\n \"id:avg\": \"desc\",\n \"id:max\": \"asc\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"id.exactDistinct\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"avg\",\n \"name\": \"id.avg\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.id.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subselect should hide unused keys\n });\n it(\"works with $orderBy (1 group)\", async () => {\n const grouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:max\": \"desc\",\n \"string:approximateDistinct\": \"asc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n \"string:exactDistinct\": \"desc\",\n },\n $groupBy: {\n id: \"exact\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [{ \"type\": \"exact\", \"field\": \"id\" }],\n \"aggregation\": [\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n direction: \"DESC\",\n \"field\": \"string\",\n },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(grouped[0].string.approximateDistinct);\n expectType(grouped[0].id.max);\n expectType(grouped[0].id.avg);\n expectType(grouped[0].$count);\n expectType(grouped[0].string.exactDistinct);\n expectType(false); // subselect should hide unused keys\n });\n it(\"prohibits ordered select with multiple groupBy\", async () => {\n client(Todo).aggregate({\n $select: {\n // @ts-expect-error\n \"id:max\": \"desc\",\n // @ts-expect-error\n \"text:approximateDistinct\": \"asc\",\n // @ts-expect-error\n \"text:exactDistinct\": \"desc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n id: \"exact\",\n timestamp: \"exact\",\n },\n });\n });\n it(\"works with where: todo\", async () => {\n const f = {\n $select: {\n \"office:approximateDistinct\": \"unordered\",\n },\n };\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"aggregate.test.js","names":["objectTypeWithAllPropertyTypes","Todo","expectType","beforeAll","describe","expect","expectTypeOf","it","vi","createClient","createMinimalClient","aggregate","metadata","expectsClientVersion","ontologyRid","ontologyApiName","userAgent","mockFetch","clientCtx","client","fn","mockResolvedValue","ok","status","json","Promise","resolve","aggregationResponse","undefined","accuracy","data","group","string","metrics","name","value","toEqualTypeOf","notGrouped","type","objectType","$select","toHaveBeenCalledWith","body","JSON","stringify","method","headers","anything","approximateDistinct","exactDistinct","id","max","avg","$count","grouped","$groupBy","$exactWithLimit","integer","$ranges","short","float","$fixedWidth","dateTime","$duration","date","boolean","$group","wrongSelectKey","wrongKey","toBeCallableWith","direction","timestamp"],"sources":["aggregate.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 { objectTypeWithAllPropertyTypes, Todo, } from \"@osdk/client.test.ontology\";\nimport { expectType } from \"ts-expect\";\nimport { beforeAll, describe, expect, expectTypeOf, it, vi, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nimport { createMinimalClient } from \"../createMinimalClient.js\";\nimport { aggregate } from \"./aggregate.js\";\nconst metadata = {\n expectsClientVersion: \"0.0.0\",\n ontologyRid: \"ri.a.b.c.d\",\n ontologyApiName: \"apiName\",\n userAgent: \"\",\n};\nlet mockFetch;\nlet clientCtx;\nlet client;\nbeforeAll(() => {\n mockFetch = vi.fn();\n mockFetch.mockResolvedValue({\n ok: true,\n status: 200,\n json: () => new Promise((resolve) => resolve(aggregationResponse)),\n });\n clientCtx = createMinimalClient(metadata, \"https://host.com\", async () => \"myAccessToken\", {}, mockFetch);\n client = createClient(\"https://host.com\", metadata.ontologyRid, async () => \"\", undefined, mockFetch);\n});\nconst aggregationResponse = {\n accuracy: \"APPROXIMATE\",\n data: [\n {\n group: {\n string: \"hello\",\n },\n metrics: [\n {\n name: \"string.approximateDistinct\",\n value: 1,\n },\n {\n name: \"string.exactDistinct\",\n value: 1,\n },\n {\n name: \"id.max\",\n value: 1,\n },\n {\n name: \"id.avg\",\n value: 1,\n },\n ],\n },\n ],\n};\ndescribe(\"aggregate\", () => {\n it(\"works\", async () => {\n expectTypeOf().toEqualTypeOf;\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"unordered\",\n \"string:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n \"field\": \"string\",\n },\n { \"type\": \"max\", \"name\": \"id.max\", \"field\": \"id\" },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.string.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subSelect should hide unused keys\n const grouped = await client(objectTypeWithAllPropertyTypes).aggregate({\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"id:exactDistinct\": \"unordered\",\n \"id:max\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $ranges: [[\"2024-01-02\", \"2024-01-09\"]] },\n boolean: \"exact\",\n },\n });\n expectType(grouped);\n expectType(grouped[0].$group.string);\n expectType(grouped[0].id.approximateDistinct);\n expectType(grouped[0].id.exactDistinct);\n expectType(grouped[0].$group.id);\n expectType(grouped[0].$count);\n expectType(grouped[0].$group.integer);\n expectType(grouped[0].$group.short);\n expectType(grouped[0].$group.float);\n expectType(grouped[0].$group.dateTime);\n expectType(grouped[0].$group.date);\n expectType(grouped[0].$group.boolean);\n expectType({\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n $select: {\n id: \"approximateDistinct\",\n // @ts-expect-error\n wrongSelectKey: \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n // @ts-expect-error\n wrongKey: \"don't work\",\n string: \"exact\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectTypeOf().toBeCallableWith(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:approximateDistinct\": \"unordered\",\n // @ts-expect-error\n \"wrongSelectKey\": \"don't work\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n string: \"exact\",\n // @ts-expect-error\n wrongKey: \"wrongKey\",\n id: { $exactWithLimit: 10 },\n integer: { $ranges: [[1, 2]] },\n short: {\n $ranges: [[2, 3], [4, 5]],\n },\n float: { $fixedWidth: 10 },\n },\n });\n expectType({\n dateTime: { $duration: [10, \"seconds\"] },\n date: { $duration: [1, \"years\"] },\n });\n // Can't use value greater than 1 for years\n expectType({\n // @ts-expect-error\n date: { $duration: [10, \"years\"] },\n });\n // Can't use arbitrary string for time unit\n expectType({\n // @ts-expect-error\n dateTime: { $duration: [1, \"nonexistentTimeUnit\"] },\n });\n // Can't use time unit smaller than days for date type\n expectType({\n // @ts-expect-error\n date: { $duration: [1, \"seconds\"] },\n });\n });\n it(\"works with $orderBy (no groups)\", async () => {\n const notGrouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"string:approximateDistinct\": \"asc\",\n \"id:exactDistinct\": \"asc\",\n \"id:avg\": \"desc\",\n \"id:max\": \"asc\",\n \"$count\": \"unordered\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [],\n \"aggregation\": [\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"id.exactDistinct\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"avg\",\n \"name\": \"id.avg\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"ASC\",\n \"field\": \"id\",\n },\n { \"type\": \"count\", \"name\": \"count\" },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(notGrouped.string.approximateDistinct);\n expectType(notGrouped.id.exactDistinct);\n expectType(notGrouped.id.max);\n expectType(notGrouped.id.avg);\n expectType(notGrouped.$count);\n expectType(false); // subselect should hide unused keys\n });\n it(\"works with $orderBy (1 group)\", async () => {\n const grouped = await aggregate(clientCtx, objectTypeWithAllPropertyTypes, {\n type: \"base\",\n objectType: \"ToDo\",\n }, {\n $select: {\n \"id:max\": \"desc\",\n \"string:approximateDistinct\": \"asc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n \"string:exactDistinct\": \"desc\",\n },\n $groupBy: {\n id: \"exact\",\n },\n });\n expect(mockFetch).toHaveBeenCalledWith(\"https://host.com/api/v2/ontologies/ri.a.b.c.d/objectSets/aggregate\", {\n body: JSON.stringify({\n \"objectSet\": { \"type\": \"base\", \"objectType\": \"ToDo\" },\n \"groupBy\": [{ \"type\": \"exact\", \"field\": \"id\" }],\n \"aggregation\": [\n {\n \"type\": \"max\",\n \"name\": \"id.max\",\n direction: \"DESC\",\n \"field\": \"id\",\n },\n {\n \"type\": \"approximateDistinct\",\n \"name\": \"string.approximateDistinct\",\n direction: \"ASC\",\n \"field\": \"string\",\n },\n { \"type\": \"avg\", \"name\": \"id.avg\", \"field\": \"id\" },\n { \"type\": \"count\", \"name\": \"count\" },\n {\n \"type\": \"exactDistinct\",\n \"name\": \"string.exactDistinct\",\n direction: \"DESC\",\n \"field\": \"string\",\n },\n ],\n }),\n method: \"POST\",\n headers: expect.anything(),\n });\n expectType(grouped[0].string.approximateDistinct);\n expectType(grouped[0].id.max);\n expectType(grouped[0].id.avg);\n expectType(grouped[0].$count);\n expectType(grouped[0].string.exactDistinct);\n expectType(false); // subselect should hide unused keys\n });\n it(\"prohibits ordered select with multiple groupBy\", async () => {\n await client(Todo).aggregate({\n $select: {\n // @ts-expect-error\n \"id:max\": \"desc\",\n // @ts-expect-error\n \"text:approximateDistinct\": \"asc\",\n // @ts-expect-error\n \"text:exactDistinct\": \"desc\",\n \"id:avg\": \"unordered\",\n \"$count\": \"unordered\",\n },\n $groupBy: {\n id: \"exact\",\n timestamp: \"exact\",\n },\n });\n });\n it(\"works with where: todo\", async () => {\n const f = {\n $select: {\n \"office:approximateDistinct\": \"unordered\",\n },\n };\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,18 @@
1
- export declare const OsdkCustomInspectPrototype: any;
1
+ import type { ObjectOrInterfaceDefinition, Osdk } from "@osdk/api";
2
+ import type { inspect, InspectOptionsStylized } from "node:util";
3
+ import type { HolderBase } from "./InternalSymbols.js";
4
+ declare const nodejsUtilInspectCustom: unique symbol;
5
+ export declare const OsdkCustomInspectPrototype: {
6
+ [nodejsUtilInspectCustom]: typeof customInspect;
7
+ };
8
+ /**
9
+ * A custom `util.inspect`/`console.log` for nodejs. Not emitted in the browser version
10
+ * @param this
11
+ * @param _depth
12
+ * @param options
13
+ * @param inspect
14
+ * @returns
15
+ */
16
+ declare function customInspect(this: HolderBase<ObjectOrInterfaceDefinition> & Osdk<any>, _depth: number, options: InspectOptionsStylized, localInspect: typeof inspect): string;
17
+ export {};
2
18
  //# sourceMappingURL=OsdkCustomInspectPrototype.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OsdkCustomInspectPrototype.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,0BAA0B,KAErC,CAAC"}
1
+ {"version":3,"file":"OsdkCustomInspectPrototype.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/OsdkCustomInspectPrototype.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOvD,QAAA,MAAM,uBAAuB,EAAE,OAAO,MAErC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE;IACvC,CAAC,uBAAuB,CAAC,EAAE,OAAO,aAAa,CAAC;CAGhD,CAAC;AAEH;;;;;;;GAOG;AACH,iBAAS,aAAa,CACpB,IAAI,EACA,UAAU,CAAC,2BAA2B,CAAC,GACvC,IAAI,CAAC,GAAG,CAAC,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,sBAAsB,EAC/B,YAAY,EAAE,OAAO,OAAO,GAC3B,MAAM,CAwCR"}
@@ -14,8 +14,9 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject } from "./InternalSymbols.js";
17
+ const nodejsUtilInspectCustom = Symbol.for("nodejs.util.inspect.custom");
17
18
  export const OsdkCustomInspectPrototype = Object.create(null, {
18
- [Symbol.for("nodejs.util.inspect.custom")]: {
19
+ [nodejsUtilInspectCustom]: {
19
20
  value: customInspect
20
21
  }
21
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OsdkCustomInspectPrototype.js","names":["InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","OsdkCustomInspectPrototype","Object","create","Symbol","for","value","customInspect","_depth","options","localInspect","newOptions","depth","ret","stylize","apiName","k","Set","Reflect","ownKeys","toString","replace"],"sources":["OsdkCustomInspectPrototype.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 { InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject, } from \"./InternalSymbols.js\";\nexport const OsdkCustomInspectPrototype = Object.create(null, {\n [Symbol.for(\"nodejs.util.inspect.custom\")]: { value: customInspect },\n});\n/**\n * A custom `util.inspect`/`console.log` for nodejs. Not emitted in the browser version\n * @param this\n * @param _depth\n * @param options\n * @param inspect\n * @returns\n */\nfunction customInspect(_depth, options, localInspect) {\n const newOptions = {\n ...options,\n depth: options.depth == null ? null : options.depth - 1,\n };\n let ret = `Osdk<${options.stylize(this[ObjectDefRef]?.apiName ?? this[InterfaceDefRef]?.apiName ?? \"\", \"special\")}> {\\n`;\n for (const k of new Set([\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n ...Reflect.ownKeys(this),\n ])) {\n if (typeof k === \"symbol\")\n continue;\n ret += ` ${options.stylize(k.toString(), \"undefined\")}: ${localInspect(this[k], newOptions)}\\n`;\n }\n if (this[UnderlyingOsdkObject] !== this) {\n ret += \"\\n\";\n ret += ` ${options.stylize(\"$as\", \"special\")}: ${localInspect(this[UnderlyingOsdkObject], newOptions).replace(/\\n/g, `\\n `)}`;\n ret += \"\\n\";\n }\n ret += \"}\";\n return ret;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,eAAe,EAAEC,YAAY,EAAEC,oBAAoB,QAAS,sBAAsB;AAC3F,OAAO,MAAMC,0BAA0B,GAAGC,MAAM,CAACC,MAAM,CAAC,IAAI,EAAE;EAC1D,CAACC,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC,GAAG;IAAEC,KAAK,EAAEC;EAAc;AACvE,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAaA,CAACC,MAAM,EAAEC,OAAO,EAAEC,YAAY,EAAE;EAClD,MAAMC,UAAU,GAAG;IACf,GAAGF,OAAO;IACVG,KAAK,EAAEH,OAAO,CAACG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAGH,OAAO,CAACG,KAAK,GAAG;EAC1D,CAAC;EACD,IAAIC,GAAG,GAAG,QAAQJ,OAAO,CAACK,OAAO,CAAC,IAAI,CAACf,YAAY,CAAC,EAAEgB,OAAO,IAAI,IAAI,CAACjB,eAAe,CAAC,EAAEiB,OAAO,IAAI,EAAE,EAAE,SAAS,CAAC,OAAO;EACxH,KAAK,MAAMC,CAAC,IAAI,IAAIC,GAAG,CAAC,CACpB,UAAU,EACV,aAAa,EACb,aAAa,EACb,GAAGC,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC,CAC3B,CAAC,EAAE;IACA,IAAI,OAAOH,CAAC,KAAK,QAAQ,EACrB;IACJH,GAAG,IAAI,KAAKJ,OAAO,CAACK,OAAO,CAACE,CAAC,CAACI,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,KAAKV,YAAY,CAAC,IAAI,CAACM,CAAC,CAAC,EAAEL,UAAU,CAAC,IAAI;EACpG;EACA,IAAI,IAAI,CAACX,oBAAoB,CAAC,KAAK,IAAI,EAAE;IACrCa,GAAG,IAAI,IAAI;IACXA,GAAG,IAAI,KAAKJ,OAAO,CAACK,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,KAAKJ,YAAY,CAAC,IAAI,CAACV,oBAAoB,CAAC,EAAEW,UAAU,CAAC,CAACU,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IAC/HR,GAAG,IAAI,IAAI;EACf;EACAA,GAAG,IAAI,GAAG;EACV,OAAOA,GAAG;AACd","ignoreList":[]}
1
+ {"version":3,"file":"OsdkCustomInspectPrototype.js","names":["InterfaceDefRef","ObjectDefRef","UnderlyingOsdkObject","nodejsUtilInspectCustom","Symbol","for","OsdkCustomInspectPrototype","Object","create","value","customInspect","_depth","options","localInspect","newOptions","depth","ret","stylize","apiName","k","Set","Reflect","ownKeys","toString","replace"],"sources":["OsdkCustomInspectPrototype.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 { InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject, } from \"./InternalSymbols.js\";\nconst nodejsUtilInspectCustom = Symbol.for(\"nodejs.util.inspect.custom\");\nexport const OsdkCustomInspectPrototype = Object.create(null, {\n [nodejsUtilInspectCustom]: { value: customInspect },\n});\n/**\n * A custom `util.inspect`/`console.log` for nodejs. Not emitted in the browser version\n * @param this\n * @param _depth\n * @param options\n * @param inspect\n * @returns\n */\nfunction customInspect(_depth, options, localInspect) {\n const newOptions = {\n ...options,\n depth: options.depth == null ? null : options.depth - 1,\n };\n let ret = `Osdk<${options.stylize(this[ObjectDefRef]?.apiName ?? this[InterfaceDefRef]?.apiName ?? \"\", \"special\")}> {\\n`;\n for (const k of new Set([\n \"$apiName\",\n \"$objectType\",\n \"$primaryKey\",\n ...Reflect.ownKeys(this),\n ])) {\n if (typeof k === \"symbol\")\n continue;\n ret += ` ${options.stylize(k.toString(), \"undefined\")}: ${localInspect(this[k], newOptions)}\\n`;\n }\n if (this[UnderlyingOsdkObject] !== this) {\n ret += \"\\n\";\n ret += ` ${options.stylize(\"$as\", \"special\")}: ${localInspect(this[UnderlyingOsdkObject], newOptions).replace(/\\n/g, `\\n `)}`;\n ret += \"\\n\";\n }\n ret += \"}\";\n return ret;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,eAAe,EAAEC,YAAY,EAAEC,oBAAoB,QAAS,sBAAsB;AAC3F,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AACxE,OAAO,MAAMC,0BAA0B,GAAGC,MAAM,CAACC,MAAM,CAAC,IAAI,EAAE;EAC1D,CAACL,uBAAuB,GAAG;IAAEM,KAAK,EAAEC;EAAc;AACtD,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAaA,CAACC,MAAM,EAAEC,OAAO,EAAEC,YAAY,EAAE;EAClD,MAAMC,UAAU,GAAG;IACf,GAAGF,OAAO;IACVG,KAAK,EAAEH,OAAO,CAACG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAGH,OAAO,CAACG,KAAK,GAAG;EAC1D,CAAC;EACD,IAAIC,GAAG,GAAG,QAAQJ,OAAO,CAACK,OAAO,CAAC,IAAI,CAAChB,YAAY,CAAC,EAAEiB,OAAO,IAAI,IAAI,CAAClB,eAAe,CAAC,EAAEkB,OAAO,IAAI,EAAE,EAAE,SAAS,CAAC,OAAO;EACxH,KAAK,MAAMC,CAAC,IAAI,IAAIC,GAAG,CAAC,CACpB,UAAU,EACV,aAAa,EACb,aAAa,EACb,GAAGC,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC,CAC3B,CAAC,EAAE;IACA,IAAI,OAAOH,CAAC,KAAK,QAAQ,EACrB;IACJH,GAAG,IAAI,KAAKJ,OAAO,CAACK,OAAO,CAACE,CAAC,CAACI,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,KAAKV,YAAY,CAAC,IAAI,CAACM,CAAC,CAAC,EAAEL,UAAU,CAAC,IAAI;EACpG;EACA,IAAI,IAAI,CAACZ,oBAAoB,CAAC,KAAK,IAAI,EAAE;IACrCc,GAAG,IAAI,IAAI;IACXA,GAAG,IAAI,KAAKJ,OAAO,CAACK,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,KAAKJ,YAAY,CAAC,IAAI,CAACX,oBAAoB,CAAC,EAAEY,UAAU,CAAC,CAACU,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IAC/HR,GAAG,IAAI,IAAI;EACf;EACAA,GAAG,IAAI,GAAG;EACV,OAAOA,GAAG;AACd","ignoreList":[]}
@@ -15,12 +15,13 @@
15
15
  */
16
16
  import invariant from "tiny-invariant";
17
17
  import { GeotimeSeriesPropertyImpl } from "../../createGeotimeSeriesProperty.js";
18
+ import { MediaReferencePropertyImpl } from "../../createMediaReferenceProperty.js";
18
19
  import { TimeSeriesPropertyImpl } from "../../createTimeseriesProperty.js";
19
20
  import { hydrateAttachmentFromRidInternal } from "../../public-utils/hydrateAttachmentFromRid.js";
20
21
  import { get$as } from "./getDollarAs.js";
21
22
  import { get$link } from "./getDollarLink.js";
22
23
  import { ClientRef, ObjectDefRef, UnderlyingOsdkObject } from "./InternalSymbols.js";
23
- const specialPropertyTypes = new Set(["attachment", "geotimeSeriesReference", "numericTimeseries", "stringTimeseries", "sensorTimeseries"]);
24
+ const specialPropertyTypes = new Set(["attachment", "geotimeSeriesReference", "mediaReference", "numericTimeseries", "stringTimeseries", "sensorTimeseries"]);
24
25
  // kept separate so we are not redefining these functions
25
26
  // every time an object is created.
26
27
  const basePropDefs = {
@@ -89,6 +90,14 @@ function createSpecialProperty(client, objectDef, rawObject, p) {
89
90
  }
90
91
  } : undefined);
91
92
  }
93
+ if (propDef.type === "mediaReference") {
94
+ return new MediaReferencePropertyImpl({
95
+ client,
96
+ objectApiName: objectDef.apiName,
97
+ primaryKey: rawObject[objectDef.primaryKeyApiName],
98
+ propertyName: p
99
+ });
100
+ }
92
101
  }
93
102
  }
94
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createOsdkObject.js","names":["invariant","GeotimeSeriesPropertyImpl","TimeSeriesPropertyImpl","hydrateAttachmentFromRidInternal","get$as","get$link","ClientRef","ObjectDefRef","UnderlyingOsdkObject","specialPropertyTypes","Set","basePropDefs","get","createOsdkObject","client","objectDef","rawObj","Object","defineProperties","enumerable","value","propKey","keys","properties","type","has","createSpecialProperty","freeze","rawObject","p","rawValue","propDef","process","env","NODE_ENV","Array","isArray","map","a","rid","apiName","primaryKeyApiName","time","timestamp","coordinates","position","undefined"],"sources":["createOsdkObject.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 invariant from \"tiny-invariant\";\nimport { GeotimeSeriesPropertyImpl } from \"../../createGeotimeSeriesProperty.js\";\nimport { TimeSeriesPropertyImpl } from \"../../createTimeseriesProperty.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../../public-utils/hydrateAttachmentFromRid.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport { ClientRef, ObjectDefRef, UnderlyingOsdkObject, } from \"./InternalSymbols.js\";\nconst specialPropertyTypes = new Set([\n \"attachment\",\n \"geotimeSeriesReference\",\n \"numericTimeseries\",\n \"stringTimeseries\",\n \"sensorTimeseries\",\n]);\n// kept separate so we are not redefining these functions\n// every time an object is created.\nconst basePropDefs = {\n \"$as\": {\n get: function () {\n return get$as(this[ObjectDefRef]);\n },\n },\n \"$link\": {\n get: function () {\n return get$link(this);\n },\n },\n};\n/** @internal */\nexport function createOsdkObject(client, objectDef, rawObj) {\n // updates the object's \"hidden class/map\".\n Object.defineProperties(rawObj, {\n [UnderlyingOsdkObject]: {\n enumerable: false,\n value: rawObj,\n },\n [ObjectDefRef]: { value: objectDef, enumerable: false },\n [ClientRef]: { value: client, enumerable: false },\n ...basePropDefs,\n });\n // Assign the special values\n for (const propKey of Object.keys(rawObj)) {\n if (propKey in objectDef.properties\n && typeof (objectDef.properties[propKey].type) === \"string\"\n && specialPropertyTypes.has(objectDef.properties[propKey].type)) {\n rawObj[propKey] = createSpecialProperty(client, objectDef, rawObj, propKey);\n }\n }\n return Object.freeze(rawObj);\n}\nfunction createSpecialProperty(client, objectDef, rawObject, p) {\n const rawValue = rawObject[p];\n const propDef = objectDef.properties[p];\n if (process.env.NODE_ENV !== \"production\") {\n invariant(propDef != null && typeof propDef.type === \"string\"\n && specialPropertyTypes.has(propDef.type));\n }\n {\n {\n {\n {\n if (propDef.type === \"attachment\") {\n if (Array.isArray(rawValue)) {\n return rawValue.map(a => hydrateAttachmentFromRidInternal(client, a.rid));\n }\n return hydrateAttachmentFromRidInternal(client, rawValue.rid);\n }\n if (propDef.type === \"numericTimeseries\"\n || propDef.type === \"stringTimeseries\"\n || propDef.type === \"sensorTimeseries\") {\n return new TimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p);\n }\n if (propDef.type === \"geotimeSeriesReference\") {\n return new GeotimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p, rawValue.type === \"geotimeSeriesValue\"\n ? {\n time: rawValue.timestamp,\n value: {\n type: \"Point\",\n coordinates: rawValue.position,\n },\n }\n : undefined);\n }\n }\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createOsdkObject.js","names":["invariant","GeotimeSeriesPropertyImpl","MediaReferencePropertyImpl","TimeSeriesPropertyImpl","hydrateAttachmentFromRidInternal","get$as","get$link","ClientRef","ObjectDefRef","UnderlyingOsdkObject","specialPropertyTypes","Set","basePropDefs","get","createOsdkObject","client","objectDef","rawObj","Object","defineProperties","enumerable","value","propKey","keys","properties","type","has","createSpecialProperty","freeze","rawObject","p","rawValue","propDef","process","env","NODE_ENV","Array","isArray","map","a","rid","apiName","primaryKeyApiName","time","timestamp","coordinates","position","undefined","objectApiName","primaryKey","propertyName"],"sources":["createOsdkObject.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 invariant from \"tiny-invariant\";\nimport { GeotimeSeriesPropertyImpl } from \"../../createGeotimeSeriesProperty.js\";\nimport { MediaReferencePropertyImpl } from \"../../createMediaReferenceProperty.js\";\nimport { TimeSeriesPropertyImpl } from \"../../createTimeseriesProperty.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../../public-utils/hydrateAttachmentFromRid.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport { ClientRef, ObjectDefRef, UnderlyingOsdkObject, } from \"./InternalSymbols.js\";\nconst specialPropertyTypes = new Set([\n \"attachment\",\n \"geotimeSeriesReference\",\n \"mediaReference\",\n \"numericTimeseries\",\n \"stringTimeseries\",\n \"sensorTimeseries\",\n]);\n// kept separate so we are not redefining these functions\n// every time an object is created.\nconst basePropDefs = {\n \"$as\": {\n get: function () {\n return get$as(this[ObjectDefRef]);\n },\n },\n \"$link\": {\n get: function () {\n return get$link(this);\n },\n },\n};\n/** @internal */\nexport function createOsdkObject(client, objectDef, rawObj) {\n // updates the object's \"hidden class/map\".\n Object.defineProperties(rawObj, {\n [UnderlyingOsdkObject]: {\n enumerable: false,\n value: rawObj,\n },\n [ObjectDefRef]: { value: objectDef, enumerable: false },\n [ClientRef]: { value: client, enumerable: false },\n ...basePropDefs,\n });\n // Assign the special values\n for (const propKey of Object.keys(rawObj)) {\n if (propKey in objectDef.properties\n && typeof (objectDef.properties[propKey].type) === \"string\"\n && specialPropertyTypes.has(objectDef.properties[propKey].type)) {\n rawObj[propKey] = createSpecialProperty(client, objectDef, rawObj, propKey);\n }\n }\n return Object.freeze(rawObj);\n}\nfunction createSpecialProperty(client, objectDef, rawObject, p) {\n const rawValue = rawObject[p];\n const propDef = objectDef.properties[p];\n if (process.env.NODE_ENV !== \"production\") {\n invariant(propDef != null && typeof propDef.type === \"string\"\n && specialPropertyTypes.has(propDef.type));\n }\n {\n {\n {\n {\n if (propDef.type === \"attachment\") {\n if (Array.isArray(rawValue)) {\n return rawValue.map(a => hydrateAttachmentFromRidInternal(client, a.rid));\n }\n return hydrateAttachmentFromRidInternal(client, rawValue.rid);\n }\n if (propDef.type === \"numericTimeseries\"\n || propDef.type === \"stringTimeseries\"\n || propDef.type === \"sensorTimeseries\") {\n return new TimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p);\n }\n if (propDef.type === \"geotimeSeriesReference\") {\n return new GeotimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p, rawValue.type === \"geotimeSeriesValue\"\n ? {\n time: rawValue.timestamp,\n value: {\n type: \"Point\",\n coordinates: rawValue.position,\n },\n }\n : undefined);\n }\n if (propDef.type === \"mediaReference\") {\n return new MediaReferencePropertyImpl({\n client,\n objectApiName: objectDef.apiName,\n primaryKey: rawObject[objectDef.primaryKeyApiName],\n propertyName: p,\n });\n }\n }\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getDollarAs.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/getDollarAs.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,oCAAoC,CAAC;AAgB5C,eAAO,MAAM,MAAM,kDAGa,CAAC"}
1
+ {"version":3,"file":"getDollarAs.d.ts","sourceRoot":"","sources":["../../../../src/object/convertWireToOsdkObjects/getDollarAs.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,2BAA2B,EAEjC,MAAM,oCAAoC,CAAC;AAgB5C,eAAO,MAAM,MAAM,EAAE,CAAC,GAAG,EAAE,2BAA2B,KAAK,UAIzB,CAAC"}
@@ -42,7 +42,7 @@ function $asFactory(objDef) {
42
42
  }
43
43
  const def = objDef[InterfaceDefinitions][targetInterfaceApiName];
44
44
  if (!def) {
45
- throw new Error(`Object does not implement interface '${targetMinDef}'.`);
45
+ throw new Error(`Object does not implement interface '${targetInterfaceApiName}'.`);
46
46
  }
47
47
  const underlying = this[UnderlyingOsdkObject];
48
48
  const existing = osdkObjectToInterfaceView.get(underlying).get(targetInterfaceApiName)?.deref();