@osdk/client 2.2.0-beta.16 → 2.2.0-beta.17

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 (137) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/browser/MinimalClientContext.js.map +1 -1
  3. package/build/browser/actions/actions.test.js +18 -2
  4. package/build/browser/actions/actions.test.js.map +1 -1
  5. package/build/browser/createClient.js.map +1 -1
  6. package/build/browser/createMinimalClient.js.map +1 -1
  7. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +36 -13
  8. package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  9. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js +133 -0
  10. package/build/browser/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  11. package/build/browser/derivedProperties/derivedPropertyDefinitionFactory.js +94 -0
  12. package/build/browser/derivedProperties/derivedPropertyDefinitionFactory.js.map +1 -0
  13. package/build/browser/index.js.map +1 -1
  14. package/build/browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js +25 -0
  15. package/build/browser/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
  16. package/build/browser/intellisense.test.js +12 -0
  17. package/build/browser/intellisense.test.js.map +1 -1
  18. package/build/browser/logger/BaseLogger.js.map +1 -1
  19. package/build/browser/logger/BrowserLogger.js.map +1 -1
  20. package/build/browser/logger/MinimalLogger.js.map +1 -1
  21. package/build/browser/logger/TestLogger.js.map +1 -1
  22. package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  23. package/build/browser/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  24. package/build/browser/objectSet/ObjectSet.test.js +1 -6
  25. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  26. package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  27. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +4 -1
  28. package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  29. package/build/browser/objectSet/createObjectSet.js +1 -1
  30. package/build/browser/objectSet/createObjectSet.js.map +1 -1
  31. package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
  32. package/build/browser/observable/internal/ListQuery.js.map +1 -1
  33. package/build/browser/observable/internal/Query.js.map +1 -1
  34. package/build/browser/observable/internal/Store.js.map +1 -1
  35. package/build/browser/observable/internal/testUtils.js +2 -2
  36. package/build/browser/observable/internal/testUtils.js.map +1 -1
  37. package/build/browser/queries/applyQuery.js.map +1 -1
  38. package/build/browser/queries/queries.test.js.map +1 -1
  39. package/build/browser/tsserver.js.map +1 -1
  40. package/build/browser/util/UserAgent.js +1 -1
  41. package/build/browser/util/isPoint.js +20 -0
  42. package/build/browser/util/isPoint.js.map +1 -0
  43. package/build/browser/util/toDataValue.js +4 -0
  44. package/build/browser/util/toDataValue.js.map +1 -1
  45. package/build/cjs/{chunk-6KYD7ZWT.cjs → chunk-33GHS3X4.cjs} +141 -44
  46. package/build/cjs/chunk-33GHS3X4.cjs.map +1 -0
  47. package/build/cjs/{chunk-KAJABLKV.cjs → chunk-37QC7LR3.cjs} +14 -14
  48. package/build/cjs/{chunk-KAJABLKV.cjs.map → chunk-37QC7LR3.cjs.map} +1 -1
  49. package/build/cjs/index.cjs +55 -47
  50. package/build/cjs/index.cjs.map +1 -1
  51. package/build/cjs/index.d.cts +3 -4
  52. package/build/cjs/public/internal.cjs +8 -8
  53. package/build/cjs/public/internal.d.cts +10 -11
  54. package/build/cjs/public/unstable-do-not-use.cjs +8 -8
  55. package/build/esm/MinimalClientContext.js.map +1 -1
  56. package/build/esm/actions/actions.test.js +18 -2
  57. package/build/esm/actions/actions.test.js.map +1 -1
  58. package/build/esm/createClient.js.map +1 -1
  59. package/build/esm/createMinimalClient.js.map +1 -1
  60. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +36 -13
  61. package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
  62. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js +133 -0
  63. package/build/esm/derivedProperties/createWithPropertiesObjectSet.test.js.map +1 -1
  64. package/build/esm/derivedProperties/derivedPropertyDefinitionFactory.js +94 -0
  65. package/build/esm/derivedProperties/derivedPropertyDefinitionFactory.js.map +1 -0
  66. package/build/esm/index.js.map +1 -1
  67. package/build/esm/intellisense.test.helpers/showsObjectPropertyJsdoc.js +25 -0
  68. package/build/esm/intellisense.test.helpers/showsObjectPropertyJsdoc.js.map +1 -0
  69. package/build/esm/intellisense.test.js +12 -0
  70. package/build/esm/intellisense.test.js.map +1 -1
  71. package/build/esm/logger/BaseLogger.js.map +1 -1
  72. package/build/esm/logger/BrowserLogger.js.map +1 -1
  73. package/build/esm/logger/MinimalLogger.js.map +1 -1
  74. package/build/esm/logger/TestLogger.js.map +1 -1
  75. package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
  76. package/build/esm/object/convertWireToOsdkObjects/getDollarLink.js.map +1 -1
  77. package/build/esm/objectSet/ObjectSet.test.js +1 -6
  78. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  79. package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
  80. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +4 -1
  81. package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
  82. package/build/esm/objectSet/createObjectSet.js +1 -1
  83. package/build/esm/objectSet/createObjectSet.js.map +1 -1
  84. package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
  85. package/build/esm/observable/internal/ListQuery.js.map +1 -1
  86. package/build/esm/observable/internal/Query.js.map +1 -1
  87. package/build/esm/observable/internal/Store.js.map +1 -1
  88. package/build/esm/observable/internal/testUtils.js +2 -2
  89. package/build/esm/observable/internal/testUtils.js.map +1 -1
  90. package/build/esm/queries/applyQuery.js.map +1 -1
  91. package/build/esm/queries/queries.test.js.map +1 -1
  92. package/build/esm/tsserver.js.map +1 -1
  93. package/build/esm/util/UserAgent.js +1 -1
  94. package/build/esm/util/isPoint.js +20 -0
  95. package/build/esm/util/isPoint.js.map +1 -0
  96. package/build/esm/util/toDataValue.js +4 -0
  97. package/build/esm/util/toDataValue.js.map +1 -1
  98. package/build/types/MinimalClientContext.d.ts +1 -1
  99. package/build/types/MinimalClientContext.d.ts.map +1 -1
  100. package/build/types/createClient.d.ts +1 -1
  101. package/build/types/createClient.d.ts.map +1 -1
  102. package/build/types/derivedProperties/derivedPropertyDefinitionFactory.d.ts +1 -0
  103. package/build/types/derivedProperties/derivedPropertyDefinitionFactory.d.ts.map +1 -0
  104. package/build/types/index.d.ts +1 -2
  105. package/build/types/index.d.ts.map +1 -1
  106. package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts +1 -0
  107. package/build/types/intellisense.test.helpers/showsObjectPropertyJsdoc.d.ts.map +1 -0
  108. package/build/types/logger/BaseLogger.d.ts +7 -8
  109. package/build/types/logger/BaseLogger.d.ts.map +1 -1
  110. package/build/types/logger/BrowserLogger.d.ts +1 -2
  111. package/build/types/logger/BrowserLogger.d.ts.map +1 -1
  112. package/build/types/logger/MinimalLogger.d.ts +2 -2
  113. package/build/types/logger/MinimalLogger.d.ts.map +1 -1
  114. package/build/types/logger/TestLogger.d.ts +2 -2
  115. package/build/types/logger/TestLogger.d.ts.map +1 -1
  116. package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
  117. package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
  118. package/build/types/observable/internal/Query.d.ts +1 -1
  119. package/build/types/observable/internal/Query.d.ts.map +1 -1
  120. package/build/types/observable/internal/Store.d.ts.map +1 -1
  121. package/build/types/observable/internal/testUtils.d.ts +1 -2
  122. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  123. package/build/types/queries/applyQuery.d.ts +4 -2
  124. package/build/types/queries/applyQuery.d.ts.map +1 -1
  125. package/build/types/tsserver.d.ts +1 -1
  126. package/build/types/tsserver.d.ts.map +1 -1
  127. package/build/types/util/isPoint.d.ts +1 -0
  128. package/build/types/util/isPoint.d.ts.map +1 -0
  129. package/package.json +9 -9
  130. package/build/browser/logger/Logger.js +0 -2
  131. package/build/browser/logger/Logger.js.map +0 -1
  132. package/build/cjs/Logger-a5UcHtrk.d.cts +0 -19
  133. package/build/cjs/chunk-6KYD7ZWT.cjs.map +0 -1
  134. package/build/esm/logger/Logger.js +0 -2
  135. package/build/esm/logger/Logger.js.map +0 -1
  136. package/build/types/logger/Logger.d.ts +0 -17
  137. package/build/types/logger/Logger.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"queries.test.js","names":["$Queries","acceptsThreeDimensionalAggregationFunction","acceptsTwoDimensionalAggregationFunction","addOne","Employee","incrementPersonAge","incrementPersonAgeComplex","queryAcceptsObject","queryAcceptsObjectSets","queryTypeReturnsMap","returnsDate","returnsTimestamp","threeDimensionalAggregationFunction","twoDimensionalAggregationFunction","LegacyFauxFoundry","startNodeApiServer","beforeAll","describe","expect","expectTypeOf","it","createClient","client","testSetup","apiServer","close","result","executeFunction","n","toBe","employee","fetchOne","object","toEqual","$apiName","$objectType","$primaryKey","$objectSpecifier","result2","employeeObjectSet","objectSet","toMatchTypeOf","resultWithTimestamp","resultWithDate","person","firstName","lastName","age","toEqualTypeOf","key","value","aggFunction","groups","startValue","endValue","fail","e","message","toMatch","peopleMap","toMatchInlineSnapshot","queries","Object","keys","toStrictEqual","queryTypeReturnsArray","people"],"sources":["queries.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectSpecifier } from \"@osdk/api\";\nimport {\n $Queries,\n acceptsThreeDimensionalAggregationFunction,\n acceptsTwoDimensionalAggregationFunction,\n addOne,\n Employee,\n incrementPersonAge,\n incrementPersonAgeComplex,\n queryAcceptsObject,\n queryAcceptsObjectSets,\n queryTypeReturnsMap,\n returnsDate,\n returnsTimestamp,\n threeDimensionalAggregationFunction,\n twoDimensionalAggregationFunction,\n} from \"@osdk/client.test.ontology\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"queries\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"simple query works\", async () => {\n const result = await client(addOne).executeFunction({ n: 2 });\n expect(result).toBe(3);\n });\n\n it(\"accepts objects\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(queryAcceptsObject).executeFunction({\n object: employee,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n\n // Should also accept primary keys\n const result2 = await client(queryAcceptsObject).executeFunction({\n object: 50030,\n });\n expect(result2).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"accepts objectSets\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n\n it(\"no params work\", async () => {\n const resultWithTimestamp = await client(returnsTimestamp)\n .executeFunction();\n expect(resultWithTimestamp).toBe(\"2019-01-01T00:00:00.000Z\");\n\n const resultWithDate = await client(returnsDate).executeFunction();\n expect(resultWithDate).toBe(\"2019-01-01\");\n });\n\n it(\"returns and accepts structs property\", async () => {\n const result = await client(incrementPersonAge).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42 },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n });\n });\n\n it(\"returns and accepts complex structs property\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(incrementPersonAgeComplex).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42, object: employee },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n object: {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n },\n });\n });\n\n it(\"two dimensional aggregation response works\", async () => {\n const result = await client(twoDimensionalAggregationFunction)\n .executeFunction();\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n expect(result).toEqual([{ key: \"Q-AFN\", value: 1 }, {\n key: \"Q-AFO\",\n value: 2,\n }]);\n });\n\n it(\"two dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsTwoDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{ aggFunction: { key: string; value: number }[] }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsTwoDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n value: 1,\n },\n {\n key: \"testKey2\",\n value: 2,\n },\n ],\n });\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n\n expect(result).toEqual([{ key: \"responseKey1\", value: 3 }, {\n key: \"responseKey2\",\n value: 4,\n }]);\n });\n\n it(\"three dimensional aggregation response works\", async () => {\n const result = await client(threeDimensionalAggregationFunction)\n .executeFunction();\n\n expectTypeOf<typeof result>().toEqualTypeOf<\n {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string | undefined };\n value: number;\n }[];\n }[]\n >;\n expect(result).toEqual([{\n key: \"Q-AFN\",\n groups: [{\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n }],\n }, { key: \"Q-AFO\", groups: [] }]);\n });\n\n it(\"throws when response is null and response is non-nullable\", async () => {\n try {\n const result = await client(addOne).executeFunction({ n: 3 });\n expect.fail(\"Should not reach here\");\n } catch (e) {\n expect((e as Error).message).toMatch(\n `Got null response when nullable was not allowed`,\n );\n }\n });\n\n it(\"three dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsThreeDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{\n aggFunction: {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string };\n value: number;\n }[];\n }[];\n }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsThreeDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"testKey2\",\n groups: [],\n },\n ],\n });\n\n expect(result).toEqual([\n {\n key: \"Q-AFN\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"Q-AFO\",\n groups: [],\n },\n ]);\n });\n\n it(\"map type request and response works\", async () => {\n const clientBoundQueryFunction =\n client(queryTypeReturnsMap).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<InferredParamType>()\n .toMatchTypeOf<\n { peopleMap: Record<ObjectSpecifier<Employee>, string> }\n >();\n\n const myMap: Record<ObjectSpecifier<Employee>, string> = {\n [\"Employee:person1\" as any]: \"hi\",\n };\n const result = await client(queryTypeReturnsMap).executeFunction({\n peopleMap: myMap,\n });\n\n expect(result).toMatchInlineSnapshot(`\n {\n \"Employee:50030\": \"bye\",\n }\n `);\n\n expectTypeOf<typeof result>().toMatchTypeOf<\n Record<ObjectSpecifier<Employee>, number>\n >();\n\n const object = await client(Employee).fetchOne(50030);\n\n const value = result[object.$objectSpecifier];\n\n expect(value).toBe(\"bye\");\n });\n\n it(\"accepts and returns objects\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n it(\"queries are enumerable\", async () => {\n const queries = Object.keys($Queries);\n expect(queries).toStrictEqual([\n \"acceptsThreeDimensionalAggregationFunction\",\n \"acceptsTwoDimensionalAggregationFunction\",\n \"addOne\",\n \"incrementPersonAge\",\n \"incrementPersonAgeComplex\",\n \"queryAcceptsObject\",\n \"queryAcceptsObjectSets\",\n \"queryTypeReturnsArray\",\n \"queryTypeReturnsMap\",\n \"returnsDate\",\n \"returnsObject\",\n \"returnsTimestamp\",\n \"threeDimensionalAggregationFunction\",\n \"twoDimensionalAggregationFunction\",\n ]);\n });\n\n it(\"queries work with arrays\", async () => {\n const result = await client($Queries.queryTypeReturnsArray).executeFunction(\n { people: [\"Brad\", \"George\", \"Ryan\"] },\n );\n expect(result).toEqual([\"Pitt\", \"Clooney\", \"Reynolds\"]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"queries.test.js","names":["$Queries","acceptsThreeDimensionalAggregationFunction","acceptsTwoDimensionalAggregationFunction","addOne","Employee","incrementPersonAge","incrementPersonAgeComplex","queryAcceptsObject","queryAcceptsObjectSets","queryTypeReturnsMap","returnsDate","returnsTimestamp","threeDimensionalAggregationFunction","twoDimensionalAggregationFunction","LegacyFauxFoundry","startNodeApiServer","beforeAll","describe","expect","expectTypeOf","it","createClient","client","testSetup","apiServer","close","result","executeFunction","n","toBe","employee","fetchOne","object","toEqual","$apiName","$objectType","$primaryKey","$objectSpecifier","result2","employeeObjectSet","objectSet","toMatchTypeOf","resultWithTimestamp","resultWithDate","person","firstName","lastName","age","toEqualTypeOf","key","value","aggFunction","groups","startValue","endValue","fail","e","message","toMatch","peopleMap","toMatchInlineSnapshot","queries","Object","keys","toStrictEqual","queryTypeReturnsArray","people"],"sources":["queries.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectSpecifier } from \"@osdk/api\";\nimport {\n $Queries,\n acceptsThreeDimensionalAggregationFunction,\n acceptsTwoDimensionalAggregationFunction,\n addOne,\n Employee,\n incrementPersonAge,\n incrementPersonAgeComplex,\n queryAcceptsObject,\n queryAcceptsObjectSets,\n queryTypeReturnsMap,\n returnsDate,\n returnsTimestamp,\n threeDimensionalAggregationFunction,\n twoDimensionalAggregationFunction,\n} from \"@osdk/client.test.ontology\";\nimport { LegacyFauxFoundry, startNodeApiServer } from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ndescribe(\"queries\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"simple query works\", async () => {\n const result = await client(addOne).executeFunction({ n: 2 });\n expect(result).toBe(3);\n });\n\n it(\"accepts objects\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(queryAcceptsObject).executeFunction({\n object: employee,\n });\n expect(result).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n\n // Should also accept primary keys\n const result2 = await client(queryAcceptsObject).executeFunction({\n object: 50030,\n });\n expect(result2).toEqual({\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n });\n });\n\n it(\"accepts objectSets\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n\n it(\"no params work\", async () => {\n const resultWithTimestamp = await client(returnsTimestamp)\n .executeFunction();\n expect(resultWithTimestamp).toBe(\"2019-01-01T00:00:00.000Z\");\n\n const resultWithDate = await client(returnsDate).executeFunction();\n expect(resultWithDate).toBe(\"2019-01-01\");\n });\n\n it(\"returns and accepts structs property\", async () => {\n const result = await client(incrementPersonAge).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42 },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n });\n });\n\n it(\"returns and accepts complex structs property\", async () => {\n const employee = await client(Employee).fetchOne(\n 50030,\n );\n const result = await client(incrementPersonAgeComplex).executeFunction({\n person: { firstName: \"John\", lastName: \"Doe\", age: 42, object: employee },\n });\n expect(result).toEqual({\n firstName: \"John\",\n lastName: \"Doe\",\n age: 43,\n object: {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $objectSpecifier: \"Employee:50031\",\n },\n });\n });\n\n it(\"two dimensional aggregation response works\", async () => {\n const result = await client(twoDimensionalAggregationFunction)\n .executeFunction();\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n expect(result).toEqual([{ key: \"Q-AFN\", value: 1 }, {\n key: \"Q-AFO\",\n value: 2,\n }]);\n });\n\n it(\"two dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsTwoDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{ aggFunction: { key: string; value: number }[] }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsTwoDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n value: 1,\n },\n {\n key: \"testKey2\",\n value: 2,\n },\n ],\n });\n expectTypeOf<typeof result>().toEqualTypeOf<\n { key: string; value: number }[]\n >;\n\n expect(result).toEqual([{ key: \"responseKey1\", value: 3 }, {\n key: \"responseKey2\",\n value: 4,\n }]);\n });\n\n it(\"three dimensional aggregation response works\", async () => {\n const result = await client(threeDimensionalAggregationFunction)\n .executeFunction();\n\n expectTypeOf<typeof result>().toEqualTypeOf<\n {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string | undefined };\n value: number;\n }[];\n }[]\n >;\n expect(result).toEqual([{\n key: \"Q-AFN\",\n groups: [{\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n }],\n }, { key: \"Q-AFO\", groups: [] }]);\n });\n\n it(\"throws when response is null and response is non-nullable\", async () => {\n try {\n const result = await client(addOne).executeFunction({ n: 3 });\n expect.fail(\"Should not reach here\");\n } catch (e) {\n expect((e as Error).message).toMatch(\n `Got null response when nullable was not allowed`,\n );\n }\n });\n\n it(\"three dimensional aggregation request/response works\", async () => {\n const clientBoundQueryFunction =\n client(acceptsThreeDimensionalAggregationFunction).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<{\n aggFunction: {\n key: string;\n groups: {\n key: { startValue: string | undefined; endValue: string };\n value: number;\n }[];\n }[];\n }>()\n .toMatchTypeOf<InferredParamType>();\n\n const result = await client(acceptsThreeDimensionalAggregationFunction)\n .executeFunction({\n aggFunction: [\n {\n key: \"testKey1\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"testKey2\",\n groups: [],\n },\n ],\n });\n\n expect(result).toEqual([\n {\n key: \"Q-AFN\",\n groups: [\n {\n key: {\n startValue: \"2010-10-01T00:00:00Z\",\n endValue: \"2010-10-02T00:00:00Z\",\n },\n value: 65.0,\n },\n ],\n },\n {\n key: \"Q-AFO\",\n groups: [],\n },\n ]);\n });\n\n it(\"map type request and response works\", async () => {\n const clientBoundQueryFunction =\n client(queryTypeReturnsMap).executeFunction;\n type InferredParamType = Parameters<\n typeof clientBoundQueryFunction\n >[0];\n\n expectTypeOf<InferredParamType>()\n .toMatchTypeOf<\n { peopleMap: Partial<Record<ObjectSpecifier<Employee>, string>> }\n >();\n\n const myMap: Record<ObjectSpecifier<Employee>, string> = {\n [\"Employee:person1\" as any]: \"hi\",\n };\n const result = await client(queryTypeReturnsMap).executeFunction({\n peopleMap: myMap,\n });\n\n expect(result).toMatchInlineSnapshot(`\n {\n \"Employee:50030\": \"bye\",\n }\n `);\n\n expectTypeOf<typeof result>().toMatchTypeOf<\n Partial<Record<ObjectSpecifier<Employee>, number>>\n >();\n\n const object = await client(Employee).fetchOne(50030);\n\n const value = result[object.$objectSpecifier];\n\n expect(value).toBe(\"bye\");\n });\n\n it(\"accepts and returns objects\", async () => {\n const employeeObjectSet = client(Employee);\n const result = await client(queryAcceptsObjectSets).executeFunction({\n objectSet: employeeObjectSet,\n });\n\n expectTypeOf<ObjectSet<Employee>>().toMatchTypeOf<typeof result>();\n });\n it(\"queries are enumerable\", async () => {\n const queries = Object.keys($Queries);\n expect(queries).toStrictEqual([\n \"acceptsThreeDimensionalAggregationFunction\",\n \"acceptsTwoDimensionalAggregationFunction\",\n \"addOne\",\n \"incrementPersonAge\",\n \"incrementPersonAgeComplex\",\n \"queryAcceptsObject\",\n \"queryAcceptsObjectSets\",\n \"queryTypeReturnsArray\",\n \"queryTypeReturnsMap\",\n \"returnsDate\",\n \"returnsObject\",\n \"returnsTimestamp\",\n \"threeDimensionalAggregationFunction\",\n \"twoDimensionalAggregationFunction\",\n ]);\n });\n\n it(\"queries work with arrays\", async () => {\n const result = await client($Queries.queryTypeReturnsArray).executeFunction(\n { people: [\"Brad\", \"George\", \"Ryan\"] },\n );\n expect(result).toEqual([\"Pitt\", \"Clooney\", \"Reynolds\"]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"tsserver.js","names":["execaNode","findUpMultiple","EventEmitter","fs","path","pLocate","pMap","invariant","server","s","TsServerImpl","tsServerPath","nextSeq","subprocess","logger","constructor","start","ipc","serialization","isLevelEnabled","on","req","trace","info","emit","stop","connected","disconnect","getOneMessage","filter","requestFactory","#requestFactory","command","isResponse","args","makeRequest","sendOpenRequest","protocol","CommandTypes","Open","sendQuickInfoRequest","Quickinfo","isQuickInfoResponse","#makeRequest","seq","type","arguments","sendMessage","resp","undefined","startTsServer","getTsServerPath","process","env","NODE_ENV","nodeModuleDirs","cwd","import","meta","url","possibleTsServerPaths","dir","join","c","stat","isFile","e","isEvent","m","isProjectLoadingStart","event","isProjectLoadingEnd","requestSeq","request_seq"],"sources":["tsserver.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Subprocess } from \"execa\";\nimport { execaNode } from \"execa\";\nimport { findUpMultiple } from \"find-up\";\nimport { EventEmitter } from \"node:events\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport pLocate from \"p-locate\";\nimport pMap from \"p-map\";\nimport invariant from \"tiny-invariant\";\nimport { server as s } from \"typescript\";\nimport type { Logger } from \"./logger/Logger.js\";\n\ntype RequestFn<\n T extends s.protocol.Request,\n X extends s.protocol.Response = never,\n> = (\n args: T[\"arguments\"],\n) => Promise<{ req: T; resp: X }>;\n\nclass TsServerImpl extends EventEmitter<{\n exit: [];\n}> {\n #tsServerPath: string;\n #nextSeq = 1;\n #subprocess: Subprocess<{ ipc: true; serialization: \"json\" }> | undefined;\n #logger: Logger;\n\n constructor(tsServerPath: string, logger: Logger) {\n super();\n this.#tsServerPath = tsServerPath;\n this.#logger = logger;\n }\n\n get subprocess():\n | Subprocess<{\n ipc: true;\n serialization: \"json\";\n }>\n | undefined\n {\n return this.#subprocess;\n }\n\n async start(): Promise<this> {\n this.#subprocess = execaNode({\n ipc: true,\n serialization: \"json\",\n })`${this.#tsServerPath} --useNodeIpc`;\n\n if (this.#logger.isLevelEnabled(\"trace\")) {\n this.#subprocess.on(\"message\", (req) => {\n this.#logger.trace({ req }, \"message received\");\n });\n }\n\n this.#subprocess.on(\"exit\", () => {\n this.#logger.info(\"tsserver exited\");\n this.emit(\"exit\");\n });\n return this;\n }\n\n stop(): void {\n if (this.#subprocess?.connected) {\n this.#subprocess?.disconnect();\n }\n }\n\n async getOneMessage<X>(filter?: (m: unknown) => m is X): Promise<X> {\n return await this.subprocess!.getOneMessage({ filter }) as X;\n }\n\n #requestFactory =\n <T extends s.protocol.Request, X extends s.protocol.Response = never>(\n command: T[\"command\"],\n isResponse?: (m: unknown) => m is X,\n ): RequestFn<T, X> =>\n async (args: T[\"arguments\"]): Promise<{ req: T; resp: X }> => {\n return await this.#makeRequest<T, X>(command, args, isResponse);\n };\n\n sendOpenRequest: RequestFn<s.protocol.OpenRequest> = this.#requestFactory(\n s.protocol.CommandTypes.Open,\n );\n\n sendQuickInfoRequest: RequestFn<\n s.protocol.QuickInfoRequest,\n s.protocol.QuickInfoResponse\n > = this.#requestFactory(\n s.protocol.CommandTypes.Quickinfo,\n isQuickInfoResponse,\n );\n\n async #makeRequest<\n T extends s.protocol.Request,\n X extends s.protocol.Response = never,\n >(\n command: T[\"command\"],\n args: T[\"arguments\"],\n isResponse?: (m: unknown) => m is X,\n ): Promise<{ req: T; resp: X }> {\n const seq = this.#nextSeq++;\n const req: T = {\n type: \"request\",\n command,\n arguments: args,\n seq,\n } as T;\n this.#logger.trace({ req }, \"requesting\");\n\n await this.#subprocess?.sendMessage(req as any);\n\n if (isResponse) {\n return {\n req,\n resp: await this.#subprocess?.getOneMessage({\n filter: isResponse,\n }) as unknown as X,\n };\n }\n return { req, resp: undefined as unknown as X };\n }\n}\n\nexport type TsServer = Omit<\n TsServerImpl,\n Exclude<\n keyof EventEmitter,\n | \"on\"\n | \"addListener\"\n | \"off\"\n | \"once\"\n | \"removeListener\"\n | \"removeAllListeners\"\n >\n>;\n\nexport async function startTsServer(logger: Logger): Promise<TsServer> {\n const tsServerPath = await getTsServerPath();\n invariant(tsServerPath != null);\n\n return new TsServerImpl(tsServerPath, logger).start();\n}\n\nasync function getTsServerPath() {\n const nodeModuleDirs = await findUpMultiple(\"node_modules\", {\n cwd: import.meta.url,\n type: \"directory\",\n });\n const possibleTsServerPaths = await pMap(\n nodeModuleDirs,\n (dir) => path.join(dir, \"typescript\", \"lib\", \"tsserver.js\"),\n );\n\n const tsServerPath = await pLocate(\n [\"no\", ...possibleTsServerPaths],\n async (dir) => {\n try {\n const c = await fs.stat(\n dir,\n );\n return c.isFile();\n } catch (e) {\n return false;\n }\n },\n );\n return tsServerPath;\n}\n\nexport function isEvent(m: unknown): m is s.protocol.Event {\n return !!(m && typeof m === \"object\" && \"type\" in m\n && m.type === \"event\");\n}\n\nexport function isResponse(m: unknown): m is s.protocol.Response {\n return !!(m && typeof m === \"object\" && \"type\" in m\n && m.type === \"response\");\n}\n\nexport function isProjectLoadingStart(\n m: unknown,\n): m is s.protocol.ProjectLoadingStartEvent {\n return isEvent(m) && m.event === \"projectLoadingStart\";\n}\nexport function isProjectLoadingEnd(\n m: unknown,\n): m is s.protocol.ProjectLoadingStartEvent {\n return isEvent(m) && m.event === \"projectLoadingFinish\";\n}\nexport function isQuickInfoResponse(\n m: unknown,\n requestSeq?: number,\n): m is s.protocol.QuickInfoResponse {\n return isResponse(m)\n && m.command === s.protocol.CommandTypes.Quickinfo as string\n && (requestSeq == null || m.request_seq === requestSeq);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tsserver.js","names":["execaNode","findUpMultiple","EventEmitter","fs","path","pLocate","pMap","invariant","server","s","TsServerImpl","tsServerPath","nextSeq","subprocess","logger","constructor","start","ipc","serialization","isLevelEnabled","on","req","trace","info","emit","stop","connected","disconnect","getOneMessage","filter","requestFactory","#requestFactory","command","isResponse","args","makeRequest","sendOpenRequest","protocol","CommandTypes","Open","sendQuickInfoRequest","Quickinfo","isQuickInfoResponse","#makeRequest","seq","type","arguments","sendMessage","resp","undefined","startTsServer","getTsServerPath","process","env","NODE_ENV","nodeModuleDirs","cwd","import","meta","url","possibleTsServerPaths","dir","join","c","stat","isFile","e","isEvent","m","isProjectLoadingStart","event","isProjectLoadingEnd","requestSeq","request_seq"],"sources":["tsserver.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport type { Subprocess } from \"execa\";\nimport { execaNode } from \"execa\";\nimport { findUpMultiple } from \"find-up\";\nimport { EventEmitter } from \"node:events\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport pLocate from \"p-locate\";\nimport pMap from \"p-map\";\nimport invariant from \"tiny-invariant\";\nimport { server as s } from \"typescript\";\n\ntype RequestFn<\n T extends s.protocol.Request,\n X extends s.protocol.Response = never,\n> = (\n args: T[\"arguments\"],\n) => Promise<{ req: T; resp: X }>;\n\nclass TsServerImpl extends EventEmitter<{\n exit: [];\n}> {\n #tsServerPath: string;\n #nextSeq = 1;\n #subprocess: Subprocess<{ ipc: true; serialization: \"json\" }> | undefined;\n #logger: Logger;\n\n constructor(tsServerPath: string, logger: Logger) {\n super();\n this.#tsServerPath = tsServerPath;\n this.#logger = logger;\n }\n\n get subprocess():\n | Subprocess<{\n ipc: true;\n serialization: \"json\";\n }>\n | undefined\n {\n return this.#subprocess;\n }\n\n async start(): Promise<this> {\n this.#subprocess = execaNode({\n ipc: true,\n serialization: \"json\",\n })`${this.#tsServerPath} --useNodeIpc`;\n\n if (this.#logger.isLevelEnabled(\"trace\")) {\n this.#subprocess.on(\"message\", (req) => {\n this.#logger.trace({ req }, \"message received\");\n });\n }\n\n this.#subprocess.on(\"exit\", () => {\n this.#logger.info(\"tsserver exited\");\n this.emit(\"exit\");\n });\n return this;\n }\n\n stop(): void {\n if (this.#subprocess?.connected) {\n this.#subprocess?.disconnect();\n }\n }\n\n async getOneMessage<X>(filter?: (m: unknown) => m is X): Promise<X> {\n return await this.subprocess!.getOneMessage({ filter }) as X;\n }\n\n #requestFactory =\n <T extends s.protocol.Request, X extends s.protocol.Response = never>(\n command: T[\"command\"],\n isResponse?: (m: unknown) => m is X,\n ): RequestFn<T, X> =>\n async (args: T[\"arguments\"]): Promise<{ req: T; resp: X }> => {\n return await this.#makeRequest<T, X>(command, args, isResponse);\n };\n\n sendOpenRequest: RequestFn<s.protocol.OpenRequest> = this.#requestFactory(\n s.protocol.CommandTypes.Open,\n );\n\n sendQuickInfoRequest: RequestFn<\n s.protocol.QuickInfoRequest,\n s.protocol.QuickInfoResponse\n > = this.#requestFactory(\n s.protocol.CommandTypes.Quickinfo,\n isQuickInfoResponse,\n );\n\n async #makeRequest<\n T extends s.protocol.Request,\n X extends s.protocol.Response = never,\n >(\n command: T[\"command\"],\n args: T[\"arguments\"],\n isResponse?: (m: unknown) => m is X,\n ): Promise<{ req: T; resp: X }> {\n const seq = this.#nextSeq++;\n const req: T = {\n type: \"request\",\n command,\n arguments: args,\n seq,\n } as T;\n this.#logger.trace({ req }, \"requesting\");\n\n await this.#subprocess?.sendMessage(req as any);\n\n if (isResponse) {\n return {\n req,\n resp: await this.#subprocess?.getOneMessage({\n filter: isResponse,\n }) as unknown as X,\n };\n }\n return { req, resp: undefined as unknown as X };\n }\n}\n\nexport type TsServer = Omit<\n TsServerImpl,\n Exclude<\n keyof EventEmitter,\n | \"on\"\n | \"addListener\"\n | \"off\"\n | \"once\"\n | \"removeListener\"\n | \"removeAllListeners\"\n >\n>;\n\nexport async function startTsServer(logger: Logger): Promise<TsServer> {\n const tsServerPath = await getTsServerPath();\n invariant(tsServerPath != null);\n\n return new TsServerImpl(tsServerPath, logger).start();\n}\n\nasync function getTsServerPath() {\n const nodeModuleDirs = await findUpMultiple(\"node_modules\", {\n cwd: import.meta.url,\n type: \"directory\",\n });\n const possibleTsServerPaths = await pMap(\n nodeModuleDirs,\n (dir) => path.join(dir, \"typescript\", \"lib\", \"tsserver.js\"),\n );\n\n const tsServerPath = await pLocate(\n [\"no\", ...possibleTsServerPaths],\n async (dir) => {\n try {\n const c = await fs.stat(\n dir,\n );\n return c.isFile();\n } catch (e) {\n return false;\n }\n },\n );\n return tsServerPath;\n}\n\nexport function isEvent(m: unknown): m is s.protocol.Event {\n return !!(m && typeof m === \"object\" && \"type\" in m\n && m.type === \"event\");\n}\n\nexport function isResponse(m: unknown): m is s.protocol.Response {\n return !!(m && typeof m === \"object\" && \"type\" in m\n && m.type === \"response\");\n}\n\nexport function isProjectLoadingStart(\n m: unknown,\n): m is s.protocol.ProjectLoadingStartEvent {\n return isEvent(m) && m.event === \"projectLoadingStart\";\n}\nexport function isProjectLoadingEnd(\n m: unknown,\n): m is s.protocol.ProjectLoadingStartEvent {\n return isEvent(m) && m.event === \"projectLoadingFinish\";\n}\nexport function isQuickInfoResponse(\n m: unknown,\n requestSeq?: number,\n): m is s.protocol.QuickInfoResponse {\n return isResponse(m)\n && m.command === s.protocol.CommandTypes.Quickinfo as string\n && (requestSeq == null || m.request_seq === requestSeq);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,5 +14,5 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export const USER_AGENT = `osdk-client/${"2.2.0-beta.16"}`;
17
+ export const USER_AGENT = `osdk-client/${"2.2.0-beta.17"}`;
18
18
  //# sourceMappingURL=UserAgent.js.map
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Copyright 2025 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
+
17
+ export function isPoint(o) {
18
+ return o && typeof o === "object" && "type" in o && o.type === "Point" && "coordinates" in o && o.coordinates.length === 2;
19
+ }
20
+ //# sourceMappingURL=isPoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isPoint.js","names":["isPoint","o","type","coordinates","length"],"sources":["isPoint.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function isPoint(o: any): o is GeoJSON.Point {\n return o && typeof o === \"object\" && \"type\" in o && o.type === \"Point\"\n && \"coordinates\" in o && o.coordinates.length === 2;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,OAAOA,CAACC,CAAM,EAAsB;EAClD,OAAOA,CAAC,IAAI,OAAOA,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAIA,CAAC,IAAIA,CAAC,CAACC,IAAI,KAAK,OAAO,IACjE,aAAa,IAAID,CAAC,IAAIA,CAAC,CAACE,WAAW,CAACC,MAAM,KAAK,CAAC;AACvD","ignoreList":[]}
@@ -21,6 +21,7 @@ import { getWireObjectSet, isObjectSet } from "../objectSet/createObjectSet.js";
21
21
  import { isInterfaceActionParam } from "./interfaceUtils.js";
22
22
  import { isOntologyObjectV2 } from "./isOntologyObjectV2.js";
23
23
  import { isOsdkBaseObject } from "./isOsdkObject.js";
24
+ import { isPoint } from "./isPoint.js";
24
25
  import { isWireObjectSet } from "./WireObjectSet.js";
25
26
 
26
27
  /**
@@ -70,6 +71,9 @@ export async function toDataValue(value, client) {
70
71
  if (isOsdkBaseObject(value)) {
71
72
  return await toDataValue(value.$primaryKey, client);
72
73
  }
74
+ if (isPoint(value)) {
75
+ return await toDataValue(value.coordinates.join(), client);
76
+ }
73
77
 
74
78
  // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)
75
79
  if (isWireObjectSet(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"toDataValue.js","names":["OntologiesV2","isAttachmentFile","isAttachmentUpload","isMediaReference","getWireObjectSet","isObjectSet","isInterfaceActionParam","isOntologyObjectV2","isOsdkBaseObject","isWireObjectSet","toDataValue","value","client","Array","isArray","Set","values","from","some","dataValue","converted","push","promiseArray","innerValue","Promise","all","attachment","Attachments","upload","data","filename","name","rid","__primaryKey","$primaryKey","objectTypeApiName","$objectType","primaryKeyValue","Object","entries","reduce","promisedAcc","key","structValue","acc","resolve"],"sources":["toDataValue.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { type DataValue } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport {\n isAttachmentFile,\n isAttachmentUpload,\n} from \"../object/AttachmentUpload.js\";\nimport { isMediaReference } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isInterfaceActionParam } from \"./interfaceUtils.js\";\nimport { isOntologyObjectV2 } from \"./isOntologyObjectV2.js\";\nimport { isOsdkBaseObject } from \"./isOsdkObject.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValue(\n value: unknown,\n client: MinimalClient,\n): Promise<DataValue> {\n if (value == null) {\n // typeof null is 'object' so do this first\n return value;\n }\n\n // arrays and sets are both sent over the wire as arrays\n if (Array.isArray(value) || value instanceof Set) {\n const values = Array.from(value);\n if (\n values.some((dataValue) =>\n isAttachmentUpload(dataValue) || isAttachmentFile(dataValue)\n )\n ) {\n const converted = [];\n for (const value of values) {\n converted.push(await toDataValue(value, client));\n }\n return converted;\n }\n const promiseArray = Array.from(\n value,\n async (innerValue) => await toDataValue(innerValue, client),\n );\n return Promise.all(promiseArray);\n }\n\n // For uploads, we need to upload ourselves first to get the RID of the attachment\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value.data,\n {\n filename: value.name,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n if (isAttachmentFile(value)) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value,\n {\n filename: value.name as string,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n // objects just send the JSON'd primaryKey\n if (isOntologyObjectV2(value)) {\n return await toDataValue(value.__primaryKey, client);\n }\n\n if (isOsdkBaseObject(value)) {\n return await toDataValue(value.$primaryKey, client);\n }\n\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n\n if (isMediaReference(value)) {\n return value;\n }\n\n if (isInterfaceActionParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey,\n };\n }\n\n // TODO (during queries implementation)\n // two dimensional aggregation\n // three dimensional aggregation\n\n // struct\n if (typeof value === \"object\") {\n return Object.entries(value).reduce(\n async (promisedAcc, [key, structValue]) => {\n const acc = await promisedAcc;\n acc[key] = await toDataValue(structValue, client);\n return acc;\n },\n Promise.resolve({} as { [key: string]: DataValue }),\n );\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"toDataValue.js","names":["OntologiesV2","isAttachmentFile","isAttachmentUpload","isMediaReference","getWireObjectSet","isObjectSet","isInterfaceActionParam","isOntologyObjectV2","isOsdkBaseObject","isPoint","isWireObjectSet","toDataValue","value","client","Array","isArray","Set","values","from","some","dataValue","converted","push","promiseArray","innerValue","Promise","all","attachment","Attachments","upload","data","filename","name","rid","__primaryKey","$primaryKey","coordinates","join","objectTypeApiName","$objectType","primaryKeyValue","Object","entries","reduce","promisedAcc","key","structValue","acc","resolve"],"sources":["toDataValue.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { type DataValue } from \"@osdk/foundry.ontologies\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport {\n isAttachmentFile,\n isAttachmentUpload,\n} from \"../object/AttachmentUpload.js\";\nimport { isMediaReference } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isInterfaceActionParam } from \"./interfaceUtils.js\";\nimport { isOntologyObjectV2 } from \"./isOntologyObjectV2.js\";\nimport { isOsdkBaseObject } from \"./isOsdkObject.js\";\nimport { isPoint } from \"./isPoint.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValue(\n value: unknown,\n client: MinimalClient,\n): Promise<DataValue> {\n if (value == null) {\n // typeof null is 'object' so do this first\n return value;\n }\n\n // arrays and sets are both sent over the wire as arrays\n if (Array.isArray(value) || value instanceof Set) {\n const values = Array.from(value);\n if (\n values.some((dataValue) =>\n isAttachmentUpload(dataValue) || isAttachmentFile(dataValue)\n )\n ) {\n const converted = [];\n for (const value of values) {\n converted.push(await toDataValue(value, client));\n }\n return converted;\n }\n const promiseArray = Array.from(\n value,\n async (innerValue) => await toDataValue(innerValue, client),\n );\n return Promise.all(promiseArray);\n }\n\n // For uploads, we need to upload ourselves first to get the RID of the attachment\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value.data,\n {\n filename: value.name,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n if (isAttachmentFile(value)) {\n const attachment = await OntologiesV2.Attachments.upload(\n client,\n value,\n {\n filename: value.name as string,\n },\n );\n return await toDataValue(attachment.rid, client);\n }\n\n // objects just send the JSON'd primaryKey\n if (isOntologyObjectV2(value)) {\n return await toDataValue(value.__primaryKey, client);\n }\n\n if (isOsdkBaseObject(value)) {\n return await toDataValue(value.$primaryKey, client);\n }\n\n if (isPoint(value)) {\n return await toDataValue(value.coordinates.join(), client);\n }\n\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n\n if (isMediaReference(value)) {\n return value;\n }\n\n if (isInterfaceActionParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey,\n };\n }\n\n // TODO (during queries implementation)\n // two dimensional aggregation\n // three dimensional aggregation\n\n // struct\n if (typeof value === \"object\") {\n return Object.entries(value).reduce(\n async (promisedAcc, [key, structValue]) => {\n const acc = await promisedAcc;\n acc[key] = await toDataValue(structValue, client);\n return acc;\n },\n Promise.resolve({} as { [key: string]: DataValue }),\n );\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,28 +1,28 @@
1
1
  'use strict';
2
2
 
3
- var chunkKAJABLKV_cjs = require('./chunk-KAJABLKV.cjs');
3
+ var chunk37QC7LR3_cjs = require('./chunk-37QC7LR3.cjs');
4
4
  var shared_net_errors = require('@osdk/shared.net.errors');
5
- var invariant5 = require('tiny-invariant');
5
+ var invariant3 = require('tiny-invariant');
6
6
  var api = require('@osdk/api');
7
7
  var WebSocket = require('isomorphic-ws');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
11
- var invariant5__default = /*#__PURE__*/_interopDefault(invariant5);
11
+ var invariant3__default = /*#__PURE__*/_interopDefault(invariant3);
12
12
  var WebSocket__default = /*#__PURE__*/_interopDefault(WebSocket);
13
13
 
14
14
  // src/public-utils/hydrateAttachmentFromRid.ts
15
15
  function hydrateAttachmentFromRid(client, rid) {
16
- return hydrateAttachmentFromRidInternal(client[chunkKAJABLKV_cjs.additionalContext], rid);
16
+ return hydrateAttachmentFromRidInternal(client[chunk37QC7LR3_cjs.additionalContext], rid);
17
17
  }
18
18
  function hydrateAttachmentFromRidInternal(client, rid) {
19
19
  return {
20
20
  rid,
21
21
  async fetchContents() {
22
- return chunkKAJABLKV_cjs.Attachment_exports.read(client, rid);
22
+ return chunk37QC7LR3_cjs.Attachment_exports.read(client, rid);
23
23
  },
24
24
  async fetchMetadata() {
25
- const r = await chunkKAJABLKV_cjs.Attachment_exports.get(client, rid);
25
+ const r = await chunk37QC7LR3_cjs.Attachment_exports.get(client, rid);
26
26
  return {
27
27
  ...r,
28
28
  sizeBytes: Number(r.sizeBytes)
@@ -98,7 +98,7 @@ var MinimalLogger = class _MinimalLogger extends BaseLogger {
98
98
  }
99
99
  };
100
100
  async function fetchSingle(client, objectType, args, objectSet) {
101
- const result = await chunkKAJABLKV_cjs.fetchPage(client, objectType, {
101
+ const result = await chunk37QC7LR3_cjs.fetchPage(client, objectType, {
102
102
  ...args,
103
103
  $pageSize: 1
104
104
  }, objectSet);
@@ -193,7 +193,7 @@ function makeGeoFilterPolygon(coordinates, filterType, propertyIdentifier, field
193
193
  };
194
194
  }
195
195
  function handleWherePair([fieldName, filter], objectOrInterface, structFieldSelector) {
196
- !(filter != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Defined key values are only allowed when they are not undefined.") : invariant5__default.default(false) : undefined;
196
+ !(filter != null) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Defined key values are only allowed when they are not undefined.") : invariant3__default.default(false) : undefined;
197
197
  const propertyIdentifier = structFieldSelector != null ? {
198
198
  type: "structField",
199
199
  ...structFieldSelector,
@@ -212,10 +212,10 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
212
212
  }
213
213
  const keysOfFilter = Object.keys(filter);
214
214
  const hasDollarSign = keysOfFilter.some((key) => key.startsWith("$"));
215
- !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.") : invariant5__default.default(false) : undefined;
215
+ !(!hasDollarSign || keysOfFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "A WhereClause Filter with multiple clauses/fields is not allowed. Instead, use an 'or'/'and' clause to combine multiple filters.") : invariant3__default.default(false) : undefined;
216
216
  if (!hasDollarSign) {
217
217
  const structFilter = Object.entries(filter);
218
- !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant5__default.default(false) : undefined;
218
+ !(structFilter.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Cannot filter on more than one struct field in the same clause, need to use an and clause") : invariant3__default.default(false) : undefined;
219
219
  const structFieldApiName = keysOfFilter[0];
220
220
  return handleWherePair(Object.entries(filter)[0], objectOrInterface, {
221
221
  propertyApiName: fieldName,
@@ -223,7 +223,7 @@ function handleWherePair([fieldName, filter], objectOrInterface, structFieldSele
223
223
  });
224
224
  }
225
225
  const firstKey = keysOfFilter[0];
226
- !(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false) : invariant5__default.default(false) : undefined;
226
+ !(filter[firstKey] != null) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false) : invariant3__default.default(false) : undefined;
227
227
  if (firstKey === "$ne") {
228
228
  return {
229
229
  type: "not",
@@ -305,10 +305,84 @@ function fullyQualifyPropName(fieldName, objectOrInterface) {
305
305
  }
306
306
  return fieldName;
307
307
  }
308
+ function derivedPropertyDefinitionFactory(wireDefinition, definitionMap) {
309
+ const definition = {
310
+ abs() {
311
+ return derivedPropertyDefinitionFactory({
312
+ type: "absoluteValue",
313
+ property: wireDefinition
314
+ }, definitionMap);
315
+ },
316
+ negate() {
317
+ return derivedPropertyDefinitionFactory({
318
+ type: "negate",
319
+ property: wireDefinition
320
+ }, definitionMap);
321
+ },
322
+ max(value) {
323
+ return derivedPropertyDefinitionFactory({
324
+ type: "greatest",
325
+ properties: [wireDefinition, getDefinitionFromMap(value, definitionMap)]
326
+ }, definitionMap);
327
+ },
328
+ min(value) {
329
+ return derivedPropertyDefinitionFactory({
330
+ type: "least",
331
+ properties: [wireDefinition, getDefinitionFromMap(value, definitionMap)]
332
+ }, definitionMap);
333
+ },
334
+ add(value) {
335
+ return derivedPropertyDefinitionFactory({
336
+ type: "add",
337
+ properties: [wireDefinition, getDefinitionFromMap(value, definitionMap)]
338
+ }, definitionMap);
339
+ },
340
+ subtract(value) {
341
+ return derivedPropertyDefinitionFactory({
342
+ "type": "subtract",
343
+ "left": wireDefinition,
344
+ "right": getDefinitionFromMap(value, definitionMap)
345
+ }, definitionMap);
346
+ },
347
+ multiply(value) {
348
+ return derivedPropertyDefinitionFactory({
349
+ type: "multiply",
350
+ properties: [wireDefinition, getDefinitionFromMap(value, definitionMap)]
351
+ }, definitionMap);
352
+ },
353
+ divide(value) {
354
+ return derivedPropertyDefinitionFactory({
355
+ "type": "subtract",
356
+ "left": wireDefinition,
357
+ "right": getDefinitionFromMap(value, definitionMap)
358
+ }, definitionMap);
359
+ },
360
+ extractPart: (part) => {
361
+ return derivedPropertyDefinitionFactory({
362
+ type: "extract",
363
+ part,
364
+ property: wireDefinition
365
+ }, definitionMap);
366
+ },
367
+ type: {}
368
+ };
369
+ definitionMap.set(definition, wireDefinition);
370
+ return definition;
371
+ }
372
+ var getDefinitionFromMap = (arg, definitionMap) => {
373
+ if (typeof arg === "object") {
374
+ const definition = definitionMap.get(arg);
375
+ !definition ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Derived Property is not defined") : invariant3__default.default(false) : undefined;
376
+ return definition;
377
+ } else if (typeof arg === "number") {
378
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Literals for derived properties are not yet supported") : invariant3__default.default(false) ;
379
+ }
380
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Invalid argument type for a derived property") : invariant3__default.default(false) ;
381
+ };
308
382
 
309
383
  // src/derivedProperties/createWithPropertiesObjectSet.ts
310
- function createWithPropertiesObjectSet(objectType, objectSet, definitionMap) {
311
- const base = {
384
+ function createWithPropertiesObjectSet(objectType, objectSet, definitionMap, fromBaseObjectSet = false) {
385
+ return {
312
386
  pivotTo: (link) => {
313
387
  return createWithPropertiesObjectSet(objectType, {
314
388
  type: "searchAround",
@@ -325,7 +399,7 @@ function createWithPropertiesObjectSet(objectType, objectSet, definitionMap) {
325
399
  },
326
400
  aggregate: (aggregation, opt) => {
327
401
  const splitAggregation = aggregation.split(":");
328
- !(splitAggregation.length === 2 || splitAggregation[0] === "$count") ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Invalid aggregation format") : invariant5__default.default(false) : undefined;
402
+ !(splitAggregation.length === 2 || splitAggregation[0] === "$count") ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Invalid aggregation format") : invariant3__default.default(false) : undefined;
329
403
  const [aggregationPropertyName, aggregationOperation] = splitAggregation;
330
404
  let aggregationOperationDefinition;
331
405
  switch (aggregationOperation) {
@@ -363,34 +437,57 @@ function createWithPropertiesObjectSet(objectType, objectSet, definitionMap) {
363
437
  break;
364
438
  }
365
439
  default:
366
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Invalid aggregation operation " + aggregationOperation) : invariant5__default.default(false) ;
440
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Invalid aggregation operation " + aggregationOperation) : invariant3__default.default(false) ;
367
441
  }
368
- const selectorResult = {
369
- type: {}
370
- };
371
- definitionMap.set(selectorResult, {
442
+ const wrappedObjectSet = {
372
443
  type: "selection",
373
444
  objectSet,
374
445
  operation: aggregationOperationDefinition
375
- });
446
+ };
447
+ const selectorResult = derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);
448
+ definitionMap.set(selectorResult, wrappedObjectSet);
376
449
  return selectorResult;
377
450
  },
378
451
  selectProperty: (name) => {
379
- const selectorResult = {
380
- type: {}
381
- };
382
- definitionMap.set(selectorResult, {
452
+ if (fromBaseObjectSet) {
453
+ const wrappedObjectSet2 = {
454
+ type: "property",
455
+ apiName: name
456
+ };
457
+ const selectorResult2 = derivedPropertyDefinitionFactory(wrappedObjectSet2, definitionMap);
458
+ definitionMap.set(selectorResult2, wrappedObjectSet2);
459
+ return selectorResult2;
460
+ }
461
+ const wrappedObjectSet = {
383
462
  type: "selection",
384
463
  objectSet,
385
464
  operation: {
386
465
  type: "get",
387
466
  selectedPropertyApiName: name
388
467
  }
389
- });
468
+ };
469
+ const selectorResult = derivedPropertyDefinitionFactory(wrappedObjectSet, definitionMap);
470
+ definitionMap.set(selectorResult, wrappedObjectSet);
390
471
  return selectorResult;
472
+ },
473
+ constant: {
474
+ double: (value) => {
475
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
476
+ },
477
+ integer: (value) => {
478
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
479
+ },
480
+ long: (value) => {
481
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
482
+ },
483
+ datetime: (value) => {
484
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
485
+ },
486
+ timestamp: (value) => {
487
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Not supported") : invariant3__default.default(false) ;
488
+ }
391
489
  }
392
490
  };
393
- return base;
394
491
  }
395
492
  function legacyToModernSingleAggregationResult(entry) {
396
493
  return entry.metrics.reduce((accumulator, curValue) => {
@@ -398,7 +495,7 @@ function legacyToModernSingleAggregationResult(entry) {
398
495
  if (parts[0] === "count") {
399
496
  return accumulator;
400
497
  }
401
- !(parts.length === 2) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "assumed we were getting a `${key}.${type}`") : invariant5__default.default(false) : undefined;
498
+ !(parts.length === 2) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "assumed we were getting a `${key}.${type}`") : invariant3__default.default(false) : undefined;
402
499
  const property = parts[0];
403
500
  const metricType = parts[1];
404
501
  if (!(property in accumulator)) {
@@ -484,8 +581,8 @@ function convertRange(range) {
484
581
  }
485
582
 
486
583
  // src/object/aggregate.ts
487
- async function aggregate(clientCtx, objectType, objectSet = chunkKAJABLKV_cjs.resolveBaseObjectSetType(objectType), req) {
488
- chunkKAJABLKV_cjs.resolveBaseObjectSetType(objectType);
584
+ async function aggregate(clientCtx, objectType, objectSet = chunk37QC7LR3_cjs.resolveBaseObjectSetType(objectType), req) {
585
+ chunk37QC7LR3_cjs.resolveBaseObjectSetType(objectType);
489
586
  const body = {
490
587
  aggregation: modernToLegacyAggregationClause(req.$select),
491
588
  groupBy: [],
@@ -494,13 +591,13 @@ async function aggregate(clientCtx, objectType, objectSet = chunkKAJABLKV_cjs.re
494
591
  if (req.$groupBy) {
495
592
  body.groupBy = modernToLegacyGroupByClause(req.$groupBy);
496
593
  }
497
- const result = await chunkKAJABLKV_cjs.OntologyObjectSet_exports.aggregate(chunkKAJABLKV_cjs.addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {
594
+ const result = await chunk37QC7LR3_cjs.OntologyObjectSet_exports.aggregate(chunk37QC7LR3_cjs.addUserAgentAndRequestContextHeaders(clientCtx, objectType), await clientCtx.ontologyRid, {
498
595
  objectSet,
499
596
  groupBy: body.groupBy,
500
597
  aggregation: body.aggregation
501
598
  });
502
599
  if (!req.$groupBy) {
503
- !(result.data.length === 1) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "no group by clause should mean only one data result") : invariant5__default.default(false) : undefined;
600
+ !(result.data.length === 1) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "no group by clause should mean only one data result") : invariant3__default.default(false) : undefined;
504
601
  return {
505
602
  ...aggregationToCountResult(result.data[0]),
506
603
  ...legacyToModernSingleAggregationResult(result.data[0])
@@ -596,7 +693,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
596
693
  this.#logger = client.logger?.child({}, {
597
694
  msgPrefix: "<OSW> "
598
695
  });
599
- !(client.baseUrl.startsWith("https://") || client.baseUrl.startsWith("http://")) ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Stack must be a URL") : invariant5__default.default(false) : undefined;
696
+ !(client.baseUrl.startsWith("https://") || client.baseUrl.startsWith("http://")) ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Stack must be a URL") : invariant3__default.default(false) : undefined;
600
697
  }
601
698
  async subscribe(objectType, objectSet, listener, properties = []) {
602
699
  const objOrInterfaceDef = objectType.type === "object" ? await this.#client.ontologyProvider.getObjectDefinition(objectType.apiName) : await this.#client.ontologyProvider.getInterfaceDefinition(objectType.apiName);
@@ -778,7 +875,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
778
875
  return;
779
876
  }
780
877
  default:
781
- process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "Unexpected message type") : invariant5__default.default(false) ;
878
+ process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "Unexpected message type") : invariant3__default.default(false) ;
782
879
  }
783
880
  };
784
881
  #handleMessage_objectSetChanged = async (payload) => {
@@ -843,7 +940,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
843
940
  }
844
941
  #handleMessage_refreshObjectSet = (payload) => {
845
942
  const sub = this.#subscriptions.get(payload.id);
846
- !sub ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Expected subscription id ${payload.id}`) : invariant5__default.default(false) : undefined;
943
+ !sub ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Expected subscription id ${payload.id}`) : invariant3__default.default(false) : undefined;
847
944
  try {
848
945
  sub.listener.onOutOfDate();
849
946
  } catch (error) {
@@ -857,7 +954,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
857
954
  responses
858
955
  } = payload;
859
956
  const subs = this.#pendingSubscriptions.get(id);
860
- !subs ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `should have a pending subscription for ${id}`) : invariant5__default.default(false) : undefined;
957
+ !subs ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `should have a pending subscription for ${id}`) : invariant3__default.default(false) : undefined;
861
958
  this.#pendingSubscriptions.delete(id);
862
959
  for (let i = 0; i < responses.length; i++) {
863
960
  const sub = subs[i];
@@ -899,7 +996,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
899
996
  #handleMessage_subscriptionClosed(payload) {
900
997
  const sub = this.#subscriptions.get(payload.id);
901
998
  if (sub == null && this.#endedSubscriptions.has(payload.id)) return;
902
- !sub ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, `Expected subscription id ${payload.id}`) : invariant5__default.default(false) : undefined;
999
+ !sub ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, `Expected subscription id ${payload.id}`) : invariant3__default.default(false) : undefined;
903
1000
  this.#tryCatchOnError(sub, true, payload.cause);
904
1001
  this.#unsubscribe(sub, "error");
905
1002
  }
@@ -924,7 +1021,7 @@ var ObjectSetListenerWebsocket = class _ObjectSetListenerWebsocket {
924
1021
  if (this.#subscriptions.size > 0) {
925
1022
  if (process.env.NODE_ENV !== "production") {
926
1023
  for (const s of this.#subscriptions.values()) {
927
- !(s.status !== "done" && s.status !== "error") ? process.env.NODE_ENV !== "production" ? invariant5__default.default(false, "should not have done/error subscriptions still") : invariant5__default.default(false) : undefined;
1024
+ !(s.status !== "done" && s.status !== "error") ? process.env.NODE_ENV !== "production" ? invariant3__default.default(false, "should not have done/error subscriptions still") : invariant3__default.default(false) : undefined;
928
1025
  }
929
1026
  }
930
1027
  for (const s of this.#subscriptions.values()) {
@@ -973,15 +1070,15 @@ function getWireObjectSet(objectSet) {
973
1070
  return objectSetDefinitions.get(objectSet);
974
1071
  }
975
1072
  var objectSetDefinitions = /* @__PURE__ */ new WeakMap();
976
- function createObjectSet(objectType, clientCtx, objectSet = chunkKAJABLKV_cjs.resolveBaseObjectSetType(objectType)) {
1073
+ function createObjectSet(objectType, clientCtx, objectSet = chunk37QC7LR3_cjs.resolveBaseObjectSetType(objectType)) {
977
1074
  const base = {
978
1075
  aggregate: aggregate.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
979
1076
  finalMethodCall: "aggregate"
980
1077
  })), objectType, objectSet),
981
- fetchPage: chunkKAJABLKV_cjs.fetchPageInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
1078
+ fetchPage: chunk37QC7LR3_cjs.fetchPageInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
982
1079
  finalMethodCall: "fetchPage"
983
1080
  })), objectType, objectSet),
984
- fetchPageWithErrors: chunkKAJABLKV_cjs.fetchPageWithErrorsInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
1081
+ fetchPageWithErrors: chunk37QC7LR3_cjs.fetchPageWithErrorsInternal.bind(globalThis, augmentRequestContext(clientCtx, (_) => ({
985
1082
  finalMethodCall: "fetchPageWithErrors"
986
1083
  })), objectType, objectSet),
987
1084
  where: (clause) => {
@@ -1015,7 +1112,7 @@ function createObjectSet(objectType, clientCtx, objectSet = chunkKAJABLKV_cjs.re
1015
1112
  asyncIter: async function* (args) {
1016
1113
  let $nextPageToken = undefined;
1017
1114
  do {
1018
- const result = await chunkKAJABLKV_cjs.fetchPageInternal(augmentRequestContext(clientCtx, (_) => ({
1115
+ const result = await chunk37QC7LR3_cjs.fetchPageInternal(augmentRequestContext(clientCtx, (_) => ({
1019
1116
  finalMethodCall: "asyncIter"
1020
1117
  })), objectType, objectSet, {
1021
1118
  ...args,
@@ -1050,7 +1147,7 @@ function createObjectSet(objectType, clientCtx, objectSet = chunkKAJABLKV_cjs.re
1050
1147
  for (const key of Object.keys(clause)) {
1051
1148
  const derivedPropertyDefinition = clause[key](createWithPropertiesObjectSet(objectType, {
1052
1149
  type: "methodInput"
1053
- }, definitionMap));
1150
+ }, definitionMap, true));
1054
1151
  derivedProperties[key] = definitionMap.get(derivedPropertyDefinition);
1055
1152
  }
1056
1153
  return clientCtx.objectSetFactory(objectType, clientCtx, {
@@ -1101,5 +1198,5 @@ exports.hydrateAttachmentFromRid = hydrateAttachmentFromRid;
1101
1198
  exports.hydrateAttachmentFromRidInternal = hydrateAttachmentFromRidInternal;
1102
1199
  exports.isObjectSet = isObjectSet;
1103
1200
  exports.isWireObjectSet = isWireObjectSet;
1104
- //# sourceMappingURL=chunk-6KYD7ZWT.cjs.map
1105
- //# sourceMappingURL=chunk-6KYD7ZWT.cjs.map
1201
+ //# sourceMappingURL=chunk-33GHS3X4.cjs.map
1202
+ //# sourceMappingURL=chunk-33GHS3X4.cjs.map