@osdk/generator-converters 2.6.0-beta.8 → 2.6.0-rc.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +99 -0
- package/build/browser/__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.js +6 -0
- package/build/browser/__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.js.map +1 -1
- package/build/browser/wireObjectTypeFullMetadataToSdkObjectMetadata.test.js +3 -0
- package/build/browser/wireObjectTypeFullMetadataToSdkObjectMetadata.test.js.map +1 -1
- package/build/browser/wirePropertyV2ToSdkPropertyDefinition.js +2 -5
- package/build/browser/wirePropertyV2ToSdkPropertyDefinition.js.map +1 -1
- package/build/browser/wireQueryDataTypeToQueryDataTypeDefinition.js +1 -2
- package/build/browser/wireQueryDataTypeToQueryDataTypeDefinition.js.map +1 -1
- package/build/cjs/index.cjs +3 -239
- package/build/cjs/index.cjs.map +1 -1
- package/build/esm/__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.js +6 -0
- package/build/esm/__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.js.map +1 -1
- package/build/esm/wireObjectTypeFullMetadataToSdkObjectMetadata.test.js +3 -0
- package/build/esm/wireObjectTypeFullMetadataToSdkObjectMetadata.test.js.map +1 -1
- package/build/esm/wirePropertyV2ToSdkPropertyDefinition.js +2 -5
- package/build/esm/wirePropertyV2ToSdkPropertyDefinition.js.map +1 -1
- package/build/esm/wireQueryDataTypeToQueryDataTypeDefinition.js +1 -2
- package/build/esm/wireQueryDataTypeToQueryDataTypeDefinition.js.map +1 -1
- package/build/types/wirePropertyV2ToSdkPropertyDefinition.d.ts.map +1 -1
- package/package.json +5 -5
- package/build/browser/valueFormatting/commonValueFormattingUtils.js +0 -33
- package/build/browser/valueFormatting/commonValueFormattingUtils.js.map +0 -1
- package/build/browser/valueFormatting/convertBooleanValueFormattingRule.js +0 -24
- package/build/browser/valueFormatting/convertBooleanValueFormattingRule.js.map +0 -1
- package/build/browser/valueFormatting/convertDateAndTimestampValueFormattingRule.js +0 -62
- package/build/browser/valueFormatting/convertDateAndTimestampValueFormattingRule.js.map +0 -1
- package/build/browser/valueFormatting/convertKnownTypeValueFormattingRule.js +0 -39
- package/build/browser/valueFormatting/convertKnownTypeValueFormattingRule.js.map +0 -1
- package/build/browser/valueFormatting/convertNumberValueFormattingRule.js +0 -133
- package/build/browser/valueFormatting/convertNumberValueFormattingRule.js.map +0 -1
- package/build/browser/wirePropertyFormattingToSdkFormatting.js +0 -49
- package/build/browser/wirePropertyFormattingToSdkFormatting.js.map +0 -1
- package/build/browser/wirePropertyFormattingToSdkFormatting.test.js +0 -344
- package/build/browser/wirePropertyFormattingToSdkFormatting.test.js.map +0 -1
- package/build/esm/valueFormatting/commonValueFormattingUtils.js +0 -33
- package/build/esm/valueFormatting/commonValueFormattingUtils.js.map +0 -1
- package/build/esm/valueFormatting/convertBooleanValueFormattingRule.js +0 -24
- package/build/esm/valueFormatting/convertBooleanValueFormattingRule.js.map +0 -1
- package/build/esm/valueFormatting/convertDateAndTimestampValueFormattingRule.js +0 -62
- package/build/esm/valueFormatting/convertDateAndTimestampValueFormattingRule.js.map +0 -1
- package/build/esm/valueFormatting/convertKnownTypeValueFormattingRule.js +0 -39
- package/build/esm/valueFormatting/convertKnownTypeValueFormattingRule.js.map +0 -1
- package/build/esm/valueFormatting/convertNumberValueFormattingRule.js +0 -133
- package/build/esm/valueFormatting/convertNumberValueFormattingRule.js.map +0 -1
- package/build/esm/wirePropertyFormattingToSdkFormatting.js +0 -49
- package/build/esm/wirePropertyFormattingToSdkFormatting.js.map +0 -1
- package/build/esm/wirePropertyFormattingToSdkFormatting.test.js +0 -344
- package/build/esm/wirePropertyFormattingToSdkFormatting.test.js.map +0 -1
- package/build/types/valueFormatting/commonValueFormattingUtils.d.ts +0 -3
- package/build/types/valueFormatting/commonValueFormattingUtils.d.ts.map +0 -1
- package/build/types/valueFormatting/convertBooleanValueFormattingRule.d.ts +0 -3
- package/build/types/valueFormatting/convertBooleanValueFormattingRule.d.ts.map +0 -1
- package/build/types/valueFormatting/convertDateAndTimestampValueFormattingRule.d.ts +0 -4
- package/build/types/valueFormatting/convertDateAndTimestampValueFormattingRule.d.ts.map +0 -1
- package/build/types/valueFormatting/convertKnownTypeValueFormattingRule.d.ts +0 -3
- package/build/types/valueFormatting/convertKnownTypeValueFormattingRule.d.ts.map +0 -1
- package/build/types/valueFormatting/convertNumberValueFormattingRule.d.ts +0 -3
- package/build/types/valueFormatting/convertNumberValueFormattingRule.d.ts.map +0 -1
- package/build/types/wirePropertyFormattingToSdkFormatting.d.ts +0 -8
- package/build/types/wirePropertyFormattingToSdkFormatting.d.ts.map +0 -1
- package/build/types/wirePropertyFormattingToSdkFormatting.test.d.ts +0 -1
- package/build/types/wirePropertyFormattingToSdkFormatting.test.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
1
|
# @osdk/generator-converters
|
|
2
2
|
|
|
3
|
+
## 2.6.0-rc.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b313525: bump osdk
|
|
8
|
+
- af4f3bf: Remove the following features for RC:
|
|
9
|
+
- Property formatting
|
|
10
|
+
- Branching
|
|
11
|
+
- Constant RDPs
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [af4f3bf]
|
|
14
|
+
- @osdk/api@2.6.0-rc.14
|
|
15
|
+
|
|
16
|
+
## 2.6.0-beta.13
|
|
17
|
+
|
|
18
|
+
### Minor Changes
|
|
19
|
+
|
|
20
|
+
- 84f0eef: Bumping OSDK apis
|
|
21
|
+
- 486ef7e: Deprecate multiplicity in query params/outputs
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Updated dependencies [486ef7e]
|
|
26
|
+
- Updated dependencies [ea077c6]
|
|
27
|
+
- @osdk/api@2.6.0-beta.13
|
|
28
|
+
|
|
29
|
+
## 2.6.0-beta.12
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- @osdk/api@2.6.0-beta.12
|
|
34
|
+
|
|
35
|
+
## 2.6.0-beta.11
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- @osdk/api@2.6.0-beta.11
|
|
40
|
+
|
|
41
|
+
## 2.6.0-beta.10
|
|
42
|
+
|
|
43
|
+
### Minor Changes
|
|
44
|
+
|
|
45
|
+
- 3fbb596: Pipe through transactionId to endpoints that load data via object sets
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- @osdk/api@2.6.0-beta.10
|
|
50
|
+
|
|
51
|
+
## 2.6.0-beta.9
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- Updated dependencies [b307201]
|
|
56
|
+
- @osdk/api@2.6.0-beta.9
|
|
57
|
+
|
|
3
58
|
## 2.6.0-beta.8
|
|
4
59
|
|
|
5
60
|
### Minor Changes
|
|
@@ -68,6 +123,50 @@
|
|
|
68
123
|
|
|
69
124
|
- @osdk/api@2.5.0-beta.15
|
|
70
125
|
|
|
126
|
+
## 2.5.2
|
|
127
|
+
|
|
128
|
+
### Patch Changes
|
|
129
|
+
|
|
130
|
+
- @osdk/api@2.5.2
|
|
131
|
+
|
|
132
|
+
## 2.5.1
|
|
133
|
+
|
|
134
|
+
### Patch Changes
|
|
135
|
+
|
|
136
|
+
- 099b4d8: Fix nested array query param type handling
|
|
137
|
+
- Updated dependencies [099b4d8]
|
|
138
|
+
- @osdk/api@2.5.1
|
|
139
|
+
|
|
140
|
+
## 2.5.0
|
|
141
|
+
|
|
142
|
+
### Patch Changes
|
|
143
|
+
|
|
144
|
+
- 322c5bc: Simulated release
|
|
145
|
+
- 7cdab1d: Update platform sdk dependencies
|
|
146
|
+
- a00d2ed: Update Platform SDK dependencies
|
|
147
|
+
- 7bdac45: Update Platform SDK dependency
|
|
148
|
+
- a96d89e: Update Platform SDK dependencies
|
|
149
|
+
- 7bdac45: Support value type enum generation for strings and booleans
|
|
150
|
+
- cbcf2ad: Add branching support
|
|
151
|
+
- Updated dependencies [322c5bc]
|
|
152
|
+
- Updated dependencies [7160276]
|
|
153
|
+
- Updated dependencies [7bdac45]
|
|
154
|
+
- Updated dependencies [37eb75b]
|
|
155
|
+
- Updated dependencies [7b97128]
|
|
156
|
+
- Updated dependencies [76905f5]
|
|
157
|
+
- Updated dependencies [20962bc]
|
|
158
|
+
- Updated dependencies [052a96b]
|
|
159
|
+
- Updated dependencies [ca1fabe]
|
|
160
|
+
- Updated dependencies [e48be06]
|
|
161
|
+
- @osdk/api@2.5.0
|
|
162
|
+
|
|
163
|
+
## 2.5.0-rc.15
|
|
164
|
+
|
|
165
|
+
### Patch Changes
|
|
166
|
+
|
|
167
|
+
- Updated dependencies [37eb75b]
|
|
168
|
+
- @osdk/api@2.5.0-rc.15
|
|
169
|
+
|
|
71
170
|
## 2.5.0-beta.14
|
|
72
171
|
|
|
73
172
|
### Patch Changes
|
|
@@ -25,6 +25,8 @@ describe("__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition", () => {
|
|
|
25
25
|
description: "A test interface",
|
|
26
26
|
properties: {},
|
|
27
27
|
allProperties: {},
|
|
28
|
+
propertiesV2: {},
|
|
29
|
+
allPropertiesV2: {},
|
|
28
30
|
extendsInterfaces: ["ParentZ", "ParentA", "ParentC"],
|
|
29
31
|
allExtendsInterfaces: ["ParentZ", "ParentA", "ParentC"],
|
|
30
32
|
implementedByObjectTypes: [],
|
|
@@ -41,6 +43,8 @@ describe("__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition", () => {
|
|
|
41
43
|
description: "A test interface",
|
|
42
44
|
properties: {},
|
|
43
45
|
allProperties: {},
|
|
46
|
+
propertiesV2: {},
|
|
47
|
+
allPropertiesV2: {},
|
|
44
48
|
extendsInterfaces: [],
|
|
45
49
|
allExtendsInterfaces: [],
|
|
46
50
|
implementedByObjectTypes: ["ObjectZ", "ObjectA", "ObjectC"],
|
|
@@ -57,6 +61,8 @@ describe("__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition", () => {
|
|
|
57
61
|
description: "A test interface",
|
|
58
62
|
properties: {},
|
|
59
63
|
allProperties: {},
|
|
64
|
+
propertiesV2: {},
|
|
65
|
+
allPropertiesV2: {},
|
|
60
66
|
extendsInterfaces: [],
|
|
61
67
|
allExtendsInterfaces: [],
|
|
62
68
|
implementedByObjectTypes: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.js","names":["describe","expect","it","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","result","apiName","rid","displayName","description","properties","allProperties","extendsInterfaces","allExtendsInterfaces","implementedByObjectTypes","links","allLinks","implements","toEqual","implementedBy"],"sources":["__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.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 { describe, expect, it } from \"vitest\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"./__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.js\";\n\ndescribe(\"__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition\", () => {\n it(\"sorts the implements array for stable output\", () => {\n const result = __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition({\n apiName: \"TestInterface\",\n rid: \"testRid\",\n displayName: \"Test Interface\",\n description: \"A test interface\",\n properties: {},\n allProperties: {},\n extendsInterfaces: [\"ParentZ\", \"ParentA\", \"ParentC\"],\n allExtendsInterfaces: [\"ParentZ\", \"ParentA\", \"ParentC\"],\n implementedByObjectTypes: [],\n links: {},\n allLinks: {},\n }, true);\n\n expect(result.implements).toEqual([\"ParentA\", \"ParentC\", \"ParentZ\"]);\n });\n\n it(\"sorts the implementedBy array for stable output\", () => {\n const result = __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition({\n apiName: \"TestInterface\",\n rid: \"testRid\",\n displayName: \"Test Interface\",\n description: \"A test interface\",\n properties: {},\n allProperties: {},\n extendsInterfaces: [],\n allExtendsInterfaces: [],\n implementedByObjectTypes: [\"ObjectZ\", \"ObjectA\", \"ObjectC\"],\n links: {},\n allLinks: {},\n }, true);\n\n expect(result.implementedBy).toEqual([\"ObjectA\", \"ObjectC\", \"ObjectZ\"]);\n });\n\n it(\"preserves empty arrays\", () => {\n const result = __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition({\n apiName: \"TestInterface\",\n rid: \"testRid\",\n displayName: \"Test Interface\",\n description: \"A test interface\",\n properties: {},\n allProperties: {},\n extendsInterfaces: [],\n allExtendsInterfaces: [],\n implementedByObjectTypes: [],\n links: {},\n allLinks: {},\n }, true);\n\n // Empty arrays should remain as empty arrays\n expect(result.implements).toEqual([]);\n expect(result.implementedBy).toEqual([]);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,mDAAmD,QAAQ,0DAA0D;AAE9HH,QAAQ,CAAC,qDAAqD,EAAE,MAAM;EACpEE,EAAE,CAAC,8CAA8C,EAAE,MAAM;IACvD,MAAME,MAAM,GAAGD,mDAAmD,CAAC;MACjEE,OAAO,EAAE,eAAe;MACxBC,GAAG,EAAE,SAAS;MACdC,WAAW,EAAE,gBAAgB;MAC7BC,WAAW,EAAE,kBAAkB;MAC/BC,UAAU,EAAE,CAAC,CAAC;MACdC,aAAa,EAAE,CAAC,CAAC;MACjBC,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;MACpDC,oBAAoB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;MACvDC,wBAAwB,EAAE,EAAE;MAC5BC,KAAK,EAAE,CAAC,CAAC;MACTC,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.js","names":["describe","expect","it","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","result","apiName","rid","displayName","description","properties","allProperties","propertiesV2","allPropertiesV2","extendsInterfaces","allExtendsInterfaces","implementedByObjectTypes","links","allLinks","implements","toEqual","implementedBy"],"sources":["__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.test.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 { describe, expect, it } from \"vitest\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"./__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition.js\";\n\ndescribe(\"__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition\", () => {\n it(\"sorts the implements array for stable output\", () => {\n const result = __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition({\n apiName: \"TestInterface\",\n rid: \"testRid\",\n displayName: \"Test Interface\",\n description: \"A test interface\",\n properties: {},\n allProperties: {},\n propertiesV2: {},\n allPropertiesV2: {},\n extendsInterfaces: [\"ParentZ\", \"ParentA\", \"ParentC\"],\n allExtendsInterfaces: [\"ParentZ\", \"ParentA\", \"ParentC\"],\n implementedByObjectTypes: [],\n links: {},\n allLinks: {},\n }, true);\n\n expect(result.implements).toEqual([\"ParentA\", \"ParentC\", \"ParentZ\"]);\n });\n\n it(\"sorts the implementedBy array for stable output\", () => {\n const result = __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition({\n apiName: \"TestInterface\",\n rid: \"testRid\",\n displayName: \"Test Interface\",\n description: \"A test interface\",\n properties: {},\n allProperties: {},\n propertiesV2: {},\n allPropertiesV2: {},\n extendsInterfaces: [],\n allExtendsInterfaces: [],\n implementedByObjectTypes: [\"ObjectZ\", \"ObjectA\", \"ObjectC\"],\n links: {},\n allLinks: {},\n }, true);\n\n expect(result.implementedBy).toEqual([\"ObjectA\", \"ObjectC\", \"ObjectZ\"]);\n });\n\n it(\"preserves empty arrays\", () => {\n const result = __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition({\n apiName: \"TestInterface\",\n rid: \"testRid\",\n displayName: \"Test Interface\",\n description: \"A test interface\",\n properties: {},\n allProperties: {},\n propertiesV2: {},\n allPropertiesV2: {},\n extendsInterfaces: [],\n allExtendsInterfaces: [],\n implementedByObjectTypes: [],\n links: {},\n allLinks: {},\n }, true);\n\n // Empty arrays should remain as empty arrays\n expect(result.implements).toEqual([]);\n expect(result.implementedBy).toEqual([]);\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAC7C,SAASC,mDAAmD,QAAQ,0DAA0D;AAE9HH,QAAQ,CAAC,qDAAqD,EAAE,MAAM;EACpEE,EAAE,CAAC,8CAA8C,EAAE,MAAM;IACvD,MAAME,MAAM,GAAGD,mDAAmD,CAAC;MACjEE,OAAO,EAAE,eAAe;MACxBC,GAAG,EAAE,SAAS;MACdC,WAAW,EAAE,gBAAgB;MAC7BC,WAAW,EAAE,kBAAkB;MAC/BC,UAAU,EAAE,CAAC,CAAC;MACdC,aAAa,EAAE,CAAC,CAAC;MACjBC,YAAY,EAAE,CAAC,CAAC;MAChBC,eAAe,EAAE,CAAC,CAAC;MACnBC,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;MACpDC,oBAAoB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;MACvDC,wBAAwB,EAAE,EAAE;MAC5BC,KAAK,EAAE,CAAC,CAAC;MACTC,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;IAERhB,MAAM,CAACG,MAAM,CAACc,UAAU,CAAC,CAACC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;EACtE,CAAC,CAAC;EAEFjB,EAAE,CAAC,iDAAiD,EAAE,MAAM;IAC1D,MAAME,MAAM,GAAGD,mDAAmD,CAAC;MACjEE,OAAO,EAAE,eAAe;MACxBC,GAAG,EAAE,SAAS;MACdC,WAAW,EAAE,gBAAgB;MAC7BC,WAAW,EAAE,kBAAkB;MAC/BC,UAAU,EAAE,CAAC,CAAC;MACdC,aAAa,EAAE,CAAC,CAAC;MACjBC,YAAY,EAAE,CAAC,CAAC;MAChBC,eAAe,EAAE,CAAC,CAAC;MACnBC,iBAAiB,EAAE,EAAE;MACrBC,oBAAoB,EAAE,EAAE;MACxBC,wBAAwB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;MAC3DC,KAAK,EAAE,CAAC,CAAC;MACTC,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;IAERhB,MAAM,CAACG,MAAM,CAACgB,aAAa,CAAC,CAACD,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;EACzE,CAAC,CAAC;EAEFjB,EAAE,CAAC,wBAAwB,EAAE,MAAM;IACjC,MAAME,MAAM,GAAGD,mDAAmD,CAAC;MACjEE,OAAO,EAAE,eAAe;MACxBC,GAAG,EAAE,SAAS;MACdC,WAAW,EAAE,gBAAgB;MAC7BC,WAAW,EAAE,kBAAkB;MAC/BC,UAAU,EAAE,CAAC,CAAC;MACdC,aAAa,EAAE,CAAC,CAAC;MACjBC,YAAY,EAAE,CAAC,CAAC;MAChBC,eAAe,EAAE,CAAC,CAAC;MACnBC,iBAAiB,EAAE,EAAE;MACrBC,oBAAoB,EAAE,EAAE;MACxBC,wBAAwB,EAAE,EAAE;MAC5BC,KAAK,EAAE,CAAC,CAAC;MACTC,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;;IAER;IACAhB,MAAM,CAACG,MAAM,CAACc,UAAU,CAAC,CAACC,OAAO,CAAC,EAAE,CAAC;IACrClB,MAAM,CAACG,MAAM,CAACgB,aAAa,CAAC,CAACD,OAAO,CAAC,EAAE,CAAC;EAC1C,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -129,14 +129,17 @@ describe(wireObjectTypeFullMetadataToSdkObjectMetadata, () => {
|
|
|
129
129
|
implementsInterfaces2: {
|
|
130
130
|
"InterfaceZ": {
|
|
131
131
|
properties: {},
|
|
132
|
+
propertiesV2: {},
|
|
132
133
|
links: {}
|
|
133
134
|
},
|
|
134
135
|
"InterfaceA": {
|
|
135
136
|
properties: {},
|
|
137
|
+
propertiesV2: {},
|
|
136
138
|
links: {}
|
|
137
139
|
},
|
|
138
140
|
"InterfaceC": {
|
|
139
141
|
properties: {},
|
|
142
|
+
propertiesV2: {},
|
|
140
143
|
links: {}
|
|
141
144
|
}
|
|
142
145
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireObjectTypeFullMetadataToSdkObjectMetadata.test.js","names":["describe","expect","expectTypeOf","it","wireObjectTypeFullMetadataToSdkObjectMetadata","result","implementsInterfaces","implementsInterfaces2","linkTypes","objectType","apiName","description","displayName","pluralDisplayName","icon","type","name","color","primaryKey","properties","dataType","otherKey","nullable","rid","defaulted","status","titleProperty","sharedPropertyTypeMapping","toBe","toEqualTypeOf","visibility","toBeUndefined","links","implements","toEqual","cardinality","objectTypeApiName","linkTypeRid","linkKeys","Object","keys"],"sources":["wireObjectTypeFullMetadataToSdkObjectMetadata.test.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 { ObjectMetadata } from \"@osdk/api\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport type {\n supportedIconTypes,\n supportedObjectTypeVisibility,\n supportedReleaseStatus,\n} from \"./wireObjectTypeFullMetadataToSdkObjectMetadata.js\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"./wireObjectTypeFullMetadataToSdkObjectMetadata.js\";\n\ndescribe(wireObjectTypeFullMetadataToSdkObjectMetadata, () => {\n it(\"handles magic nullable properties\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n otherKey: {\n nullable: false,\n dataType: { type: \"string\" },\n rid: \"rid\",\n },\n defaulted: { dataType: { type: \"string\" }, rid: \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"otherKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // PK is never nullable\n expect(result.properties[\"primaryKey\"].nullable).toBe(false);\n\n // was specified above\n expect(result.properties[\"otherKey\"].nullable).toBe(false);\n\n // was unspecified, so should be nullable\n expect(result.properties[\"defaulted\"].nullable).toBe(true);\n });\n\n it(\"Is up to date with the enums from API\", () => {\n type excludedStatuses = \"\";\n expectTypeOf<\n Exclude<\n typeof supportedReleaseStatus[number],\n excludedStatuses\n >\n >()\n .toEqualTypeOf<\n NonNullable<ObjectMetadata[\"status\"]>\n >();\n\n type excludedVisibility = \"\";\n expectTypeOf<\n Exclude<typeof supportedObjectTypeVisibility[number], excludedVisibility>\n >().toEqualTypeOf<\n NonNullable<ObjectMetadata[\"visibility\"]>\n >();\n\n type excludedIconTypes = \"\";\n expectTypeOf<\n Exclude<typeof supportedIconTypes[number], excludedIconTypes>\n >()\n .toEqualTypeOf<\n NonNullable<NonNullable<ObjectMetadata[\"icon\"]>[\"type\"]>\n >();\n });\n\n it(\"does not throw when enums don't match\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: {\n type: \"INVALID_NOT_IN_API\",\n name: \"blueprint\",\n color: \"blue\",\n } as any,\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n otherKey: {\n nullable: false,\n dataType: { type: \"string\" },\n rid: \"rid\",\n },\n defaulted: { dataType: { type: \"string\" }, rid: \"rid\" },\n },\n rid: \"rid\",\n status: \"INVALID_NOT_IN_API\" as any,\n visibility: \"INVALID_NOT_IN_API\" as any,\n titleProperty: \"otherKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n expect(result.status).toBeUndefined();\n expect(result.visibility).toBeUndefined();\n expect(result.icon).toBeUndefined();\n });\n\n it(\"sorts the implements array for stable output\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [\"InterfaceZ\", \"InterfaceA\", \"InterfaceC\"],\n implementsInterfaces2: {\n \"InterfaceZ\": { properties: {}, links: {} },\n \"InterfaceA\": { properties: {}, links: {} },\n \"InterfaceC\": { properties: {}, links: {} },\n },\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"primaryKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // Check that the array is sorted alphabetically\n expect(result.implements).toEqual([\n \"InterfaceA\",\n \"InterfaceC\",\n \"InterfaceZ\",\n ]);\n });\n\n it(\"sorts the linkTypes array for stable output\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [\n {\n apiName: \"linkZ\",\n cardinality: \"ONE\",\n objectTypeApiName: \"TargetZ\",\n displayName: \"LinkZ\",\n status: \"ACTIVE\",\n linkTypeRid: \"ridZ\",\n },\n {\n apiName: \"linkA\",\n cardinality: \"MANY\",\n objectTypeApiName: \"TargetA\",\n displayName: \"LinkA\",\n status: \"ACTIVE\",\n linkTypeRid: \"ridA\",\n },\n {\n apiName: \"linkC\",\n cardinality: \"ONE\",\n objectTypeApiName: \"TargetC\",\n displayName: \"LinkC\",\n status: \"ACTIVE\",\n linkTypeRid: \"ridC\",\n },\n ],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"primaryKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // Get the link keys in the order they appear in the result\n const linkKeys = Object.keys(result.links);\n\n // Check that the links are sorted alphabetically by apiName\n expect(linkKeys).toEqual([\"linkA\", \"linkC\", \"linkZ\"]);\n });\n\n it(\"preserves empty arrays\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"primaryKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // Check that empty array is preserved\n expect(result.implements).toEqual([]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"wireObjectTypeFullMetadataToSdkObjectMetadata.test.js","names":["describe","expect","expectTypeOf","it","wireObjectTypeFullMetadataToSdkObjectMetadata","result","implementsInterfaces","implementsInterfaces2","linkTypes","objectType","apiName","description","displayName","pluralDisplayName","icon","type","name","color","primaryKey","properties","dataType","otherKey","nullable","rid","defaulted","status","titleProperty","sharedPropertyTypeMapping","toBe","toEqualTypeOf","visibility","toBeUndefined","propertiesV2","links","implements","toEqual","cardinality","objectTypeApiName","linkTypeRid","linkKeys","Object","keys"],"sources":["wireObjectTypeFullMetadataToSdkObjectMetadata.test.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 { ObjectMetadata } from \"@osdk/api\";\nimport { describe, expect, expectTypeOf, it } from \"vitest\";\nimport type {\n supportedIconTypes,\n supportedObjectTypeVisibility,\n supportedReleaseStatus,\n} from \"./wireObjectTypeFullMetadataToSdkObjectMetadata.js\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"./wireObjectTypeFullMetadataToSdkObjectMetadata.js\";\n\ndescribe(wireObjectTypeFullMetadataToSdkObjectMetadata, () => {\n it(\"handles magic nullable properties\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n otherKey: {\n nullable: false,\n dataType: { type: \"string\" },\n rid: \"rid\",\n },\n defaulted: { dataType: { type: \"string\" }, rid: \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"otherKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // PK is never nullable\n expect(result.properties[\"primaryKey\"].nullable).toBe(false);\n\n // was specified above\n expect(result.properties[\"otherKey\"].nullable).toBe(false);\n\n // was unspecified, so should be nullable\n expect(result.properties[\"defaulted\"].nullable).toBe(true);\n });\n\n it(\"Is up to date with the enums from API\", () => {\n type excludedStatuses = \"\";\n expectTypeOf<\n Exclude<\n typeof supportedReleaseStatus[number],\n excludedStatuses\n >\n >()\n .toEqualTypeOf<\n NonNullable<ObjectMetadata[\"status\"]>\n >();\n\n type excludedVisibility = \"\";\n expectTypeOf<\n Exclude<typeof supportedObjectTypeVisibility[number], excludedVisibility>\n >().toEqualTypeOf<\n NonNullable<ObjectMetadata[\"visibility\"]>\n >();\n\n type excludedIconTypes = \"\";\n expectTypeOf<\n Exclude<typeof supportedIconTypes[number], excludedIconTypes>\n >()\n .toEqualTypeOf<\n NonNullable<NonNullable<ObjectMetadata[\"icon\"]>[\"type\"]>\n >();\n });\n\n it(\"does not throw when enums don't match\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: {\n type: \"INVALID_NOT_IN_API\",\n name: \"blueprint\",\n color: \"blue\",\n } as any,\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n otherKey: {\n nullable: false,\n dataType: { type: \"string\" },\n rid: \"rid\",\n },\n defaulted: { dataType: { type: \"string\" }, rid: \"rid\" },\n },\n rid: \"rid\",\n status: \"INVALID_NOT_IN_API\" as any,\n visibility: \"INVALID_NOT_IN_API\" as any,\n titleProperty: \"otherKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n expect(result.status).toBeUndefined();\n expect(result.visibility).toBeUndefined();\n expect(result.icon).toBeUndefined();\n });\n\n it(\"sorts the implements array for stable output\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [\"InterfaceZ\", \"InterfaceA\", \"InterfaceC\"],\n implementsInterfaces2: {\n \"InterfaceZ\": { properties: {}, propertiesV2: {}, links: {} },\n \"InterfaceA\": { properties: {}, propertiesV2: {}, links: {} },\n \"InterfaceC\": { properties: {}, propertiesV2: {}, links: {} },\n },\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"primaryKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // Check that the array is sorted alphabetically\n expect(result.implements).toEqual([\n \"InterfaceA\",\n \"InterfaceC\",\n \"InterfaceZ\",\n ]);\n });\n\n it(\"sorts the linkTypes array for stable output\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [\n {\n apiName: \"linkZ\",\n cardinality: \"ONE\",\n objectTypeApiName: \"TargetZ\",\n displayName: \"LinkZ\",\n status: \"ACTIVE\",\n linkTypeRid: \"ridZ\",\n },\n {\n apiName: \"linkA\",\n cardinality: \"MANY\",\n objectTypeApiName: \"TargetA\",\n displayName: \"LinkA\",\n status: \"ACTIVE\",\n linkTypeRid: \"ridA\",\n },\n {\n apiName: \"linkC\",\n cardinality: \"ONE\",\n objectTypeApiName: \"TargetC\",\n displayName: \"LinkC\",\n status: \"ACTIVE\",\n linkTypeRid: \"ridC\",\n },\n ],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"primaryKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // Get the link keys in the order they appear in the result\n const linkKeys = Object.keys(result.links);\n\n // Check that the links are sorted alphabetically by apiName\n expect(linkKeys).toEqual([\"linkA\", \"linkC\", \"linkZ\"]);\n });\n\n it(\"preserves empty arrays\", () => {\n const result = wireObjectTypeFullMetadataToSdkObjectMetadata({\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [],\n objectType: {\n apiName: \"apiName\",\n description: \"description\",\n displayName: \"displayName\",\n pluralDisplayName: \"displayNames\",\n icon: { type: \"blueprint\", name: \"blueprint\", color: \"blue\" },\n primaryKey: \"primaryKey\",\n properties: {\n primaryKey: { dataType: { type: \"string\" }, \"rid\": \"rid\" },\n },\n rid: \"rid\",\n status: \"ACTIVE\",\n titleProperty: \"primaryKey\",\n },\n sharedPropertyTypeMapping: {},\n }, true);\n\n // Check that empty array is preserved\n expect(result.implements).toEqual([]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { wirePropertyFormattingToSdkFormatting } from "./wirePropertyFormattingToSdkFormatting.js";
|
|
18
17
|
export function wirePropertyV2ToSdkPropertyDefinition(input, isNullable = true, log) {
|
|
19
18
|
const sdkPropDefinition = objectPropertyTypeToSdkPropertyDefinition(input.dataType, log);
|
|
20
19
|
if (sdkPropDefinition == null) {
|
|
@@ -47,8 +46,7 @@ export function wirePropertyV2ToSdkPropertyDefinition(input, isNullable = true,
|
|
|
47
46
|
description: input.description,
|
|
48
47
|
type: sdkPropDefinition,
|
|
49
48
|
nullable: input.nullable == null ? isNullable : input.nullable,
|
|
50
|
-
valueTypeApiName: input.valueTypeApiName
|
|
51
|
-
valueFormatting: input.valueFormatting != null ? wirePropertyFormattingToSdkFormatting(input.valueFormatting, log) : undefined
|
|
49
|
+
valueTypeApiName: input.valueTypeApiName
|
|
52
50
|
};
|
|
53
51
|
case "array":
|
|
54
52
|
{
|
|
@@ -58,8 +56,7 @@ export function wirePropertyV2ToSdkPropertyDefinition(input, isNullable = true,
|
|
|
58
56
|
description: input.description,
|
|
59
57
|
type: sdkPropDefinition,
|
|
60
58
|
nullable: true,
|
|
61
|
-
valueTypeApiName: input.valueTypeApiName
|
|
62
|
-
valueFormatting: input.valueFormatting != null ? wirePropertyFormattingToSdkFormatting(input.valueFormatting, log) : undefined
|
|
59
|
+
valueTypeApiName: input.valueTypeApiName
|
|
63
60
|
};
|
|
64
61
|
}
|
|
65
62
|
case "cipherText":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wirePropertyV2ToSdkPropertyDefinition.js","names":["
|
|
1
|
+
{"version":3,"file":"wirePropertyV2ToSdkPropertyDefinition.js","names":["wirePropertyV2ToSdkPropertyDefinition","input","isNullable","log","sdkPropDefinition","objectPropertyTypeToSdkPropertyDefinition","dataType","undefined","type","displayName","multiplicity","description","nullable","valueTypeApiName","info","JSON","stringify","propertyType","subType","itemType","structFieldTypes","reduce","structMap","structField","apiName"],"sources":["wirePropertyV2ToSdkPropertyDefinition.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 {\n BaseWirePropertyTypes,\n ObjectMetadata,\n WirePropertyTypes,\n} from \"@osdk/api\";\nimport type {\n ObjectPropertyType,\n PropertyV2,\n SharedPropertyType,\n} from \"@osdk/foundry.ontologies\";\n\nexport function wirePropertyV2ToSdkPropertyDefinition(\n input: (PropertyV2 | SharedPropertyType) & { nullable?: boolean },\n isNullable: boolean = true,\n log?: { info: (msg: string) => void },\n): ObjectMetadata.Property | undefined {\n const sdkPropDefinition = objectPropertyTypeToSdkPropertyDefinition(\n input.dataType,\n log,\n );\n if (sdkPropDefinition == null) {\n return undefined;\n }\n switch (input.dataType.type) {\n case \"integer\":\n case \"string\":\n case \"byte\":\n case \"decimal\":\n case \"double\":\n case \"float\":\n case \"long\":\n case \"short\":\n case \"boolean\":\n case \"date\":\n case \"attachment\":\n case \"mediaReference\":\n case \"geopoint\":\n case \"geoshape\":\n case \"timestamp\":\n case \"timeseries\":\n case \"marking\":\n case \"geotimeSeriesReference\":\n case \"struct\":\n case \"vector\":\n return {\n displayName: input.displayName,\n multiplicity: false,\n description: input.description,\n type: sdkPropDefinition,\n nullable: input.nullable == null ? isNullable : input.nullable,\n valueTypeApiName: input.valueTypeApiName,\n };\n case \"array\": {\n return {\n displayName: input.displayName,\n multiplicity: true,\n description: input.description,\n type: sdkPropDefinition,\n nullable: true,\n valueTypeApiName: input.valueTypeApiName,\n };\n }\n case \"cipherText\": {\n log?.info(\n `${JSON.stringify(input.dataType.type)} is not a supported dataType`,\n );\n\n return undefined;\n }\n\n default:\n const _: never = input.dataType;\n log?.info(\n `${JSON.stringify(input.dataType)} is not a supported dataType`,\n );\n\n return undefined;\n }\n}\n\nfunction objectPropertyTypeToSdkPropertyDefinition(\n propertyType: ObjectPropertyType,\n log?: { info: (msg: string) => void },\n): WirePropertyTypes | undefined {\n switch (propertyType.type) {\n case \"integer\":\n case \"string\":\n case \"byte\":\n case \"decimal\":\n case \"double\":\n case \"float\":\n case \"long\":\n case \"short\":\n case \"boolean\":\n case \"attachment\":\n case \"geopoint\":\n case \"geoshape\":\n case \"timestamp\":\n case \"marking\":\n case \"geotimeSeriesReference\":\n case \"mediaReference\":\n case \"vector\":\n return propertyType.type;\n case \"date\":\n return \"datetime\";\n case \"array\":\n return objectPropertyTypeToSdkPropertyDefinition(propertyType.subType);\n case \"timeseries\":\n if (propertyType.itemType?.type === \"string\") {\n return \"stringTimeseries\";\n } else if (propertyType.itemType?.type === \"double\") {\n return \"numericTimeseries\";\n } else return \"sensorTimeseries\";\n case \"struct\": {\n return propertyType.structFieldTypes.reduce(\n (structMap: Record<string, BaseWirePropertyTypes>, structField) => {\n structMap[structField.apiName] =\n objectPropertyTypeToSdkPropertyDefinition(\n structField.dataType,\n ) as BaseWirePropertyTypes;\n return structMap;\n },\n {},\n );\n }\n case \"cipherText\": {\n log?.info(\n `${JSON.stringify(propertyType.type)} is not a supported propertyType`,\n );\n\n return undefined;\n }\n default: {\n const _: never = propertyType;\n log?.info(\n `${JSON.stringify(propertyType)} is not a supported propertyType`,\n );\n\n return undefined;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,8 +58,7 @@ export function wireQueryDataTypeToQueryDataTypeDefinition(input) {
|
|
|
58
58
|
return {
|
|
59
59
|
array: wireQueryDataTypeToQueryDataTypeDefinition(input.subType),
|
|
60
60
|
type: "array",
|
|
61
|
-
nullable: isNullableQueryDataType(input.subType)
|
|
62
|
-
multiplicity: true
|
|
61
|
+
nullable: isNullableQueryDataType(input.subType)
|
|
63
62
|
};
|
|
64
63
|
case "set":
|
|
65
64
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireQueryDataTypeToQueryDataTypeDefinition.js","names":["isNullableQueryDataType","wireQueryDataTypeToQueryDataTypeDefinition","input","type","nullable","object","objectTypeApiName","objectSet","interface","interfaceTypeApiName","array","subType","multiplicity","set","allowNulls","unionTypes","length","nonNull","find","t","union","reduce","acc","push","struct","Object","fromEntries","fields","map","f","name","fieldType","twoDimensionalAggregation","get2DQueryAggregationProps","threeDimensionalAggregation","get3DQueryAggregationProps","keyType","validMapKeyTypes","includes","Error","toString","valueType","keySubtype","guardInvalidKeyTypes","key"],"sources":["wireQueryDataTypeToQueryDataTypeDefinition.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 {\n QueryDataTypeDefinition,\n ThreeDimensionalQueryAggregationDefinition,\n TwoDimensionalQueryAggregationDefinition,\n} from \"@osdk/api\";\nimport type {\n QueryAggregationKeyType,\n QueryDataType,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"@osdk/foundry.ontologies\";\nimport { isNullableQueryDataType } from \"./isNullableQueryDataType.js\";\n\nexport function wireQueryDataTypeToQueryDataTypeDefinition<\n K extends string,\n>(\n input: QueryDataType,\n): QueryDataTypeDefinition {\n switch (input.type) {\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"string\":\n case \"timestamp\":\n return {\n type: input.type,\n nullable: false,\n };\n\n case \"object\":\n return {\n type: \"object\",\n object: input.objectTypeApiName as K,\n nullable: false,\n };\n\n case \"objectSet\":\n return {\n type: \"objectSet\",\n objectSet: input.objectTypeApiName as K,\n nullable: false,\n };\n case \"interfaceObject\":\n return {\n type: \"interface\",\n interface: input.interfaceTypeApiName as K,\n nullable: false,\n };\n case \"interfaceObjectSet\":\n return {\n type: \"interfaceObjectSet\",\n objectSet: input.interfaceTypeApiName as K,\n nullable: false,\n };\n case \"array\":\n return {\n array: wireQueryDataTypeToQueryDataTypeDefinition(input.subType),\n type: \"array\",\n nullable: isNullableQueryDataType(input.subType),\n multiplicity: true,\n };\n\n case \"set\":\n return {\n type: \"set\",\n set: wireQueryDataTypeToQueryDataTypeDefinition(input.subType),\n nullable: false,\n };\n\n case \"union\":\n const allowNulls = isNullableQueryDataType(input);\n\n // special case for a union where one half is nullable to skip the union step and just allow nulls directly\n if (allowNulls && input.unionTypes.length === 2) {\n const nonNull = input.unionTypes.find(t => t.type != null);\n if (nonNull) {\n return {\n ...wireQueryDataTypeToQueryDataTypeDefinition(nonNull),\n nullable: true,\n };\n }\n }\n\n return {\n type: \"union\",\n union: input.unionTypes.reduce<QueryDataTypeDefinition[]>((acc, t) => {\n if (t.type === \"null\") {\n return acc;\n }\n acc.push(wireQueryDataTypeToQueryDataTypeDefinition(t));\n return acc;\n }, []),\n nullable: allowNulls,\n };\n\n case \"struct\":\n return {\n type: \"struct\",\n struct: Object.fromEntries(input.fields.map(f => [\n f.name,\n wireQueryDataTypeToQueryDataTypeDefinition(f.fieldType),\n ])),\n nullable: false,\n };\n\n case \"twoDimensionalAggregation\":\n return {\n type: \"twoDimensionalAggregation\",\n twoDimensionalAggregation: get2DQueryAggregationProps(input),\n nullable: false,\n };\n\n case \"threeDimensionalAggregation\":\n return {\n type: \"threeDimensionalAggregation\",\n threeDimensionalAggregation: get3DQueryAggregationProps(input),\n nullable: false,\n };\n\n case \"entrySet\":\n const keyType = wireQueryDataTypeToQueryDataTypeDefinition(input.keyType);\n\n if (!validMapKeyTypes.includes(keyType.type)) {\n throw new Error(\n \"Map types with a key type of \" + keyType.type + \" are not supported\"\n + validMapKeyTypes.toString(),\n );\n }\n\n if (keyType.type === \"array\") {\n throw new Error(\n \"Map types cannot have keys as arrays\",\n );\n }\n\n return {\n type: \"map\",\n nullable: false,\n keyType,\n valueType: wireQueryDataTypeToQueryDataTypeDefinition(input.valueType),\n };\n\n case \"null\":\n case \"unsupported\":\n throw new Error(\n `Unable to process query because the server indicated an unsupported QueryDataType.type: ${input.type}. Please check that your query is using supported types.`,\n );\n\n default:\n const _: never = input;\n throw new Error(`Unsupported QueryDataType.type ${(input as any).type}`);\n }\n}\n\nfunction get2DQueryAggregationProps(\n input: TwoDimensionalAggregation,\n): TwoDimensionalQueryAggregationDefinition {\n if (input.keyType.type === \"range\") {\n return {\n keyType: input.keyType.type,\n keySubtype: input.keyType.subType.type,\n valueType: input.valueType.type,\n };\n } else {\n if (guardInvalidKeyTypes(input.keyType)) {\n return {\n keyType: input.keyType.type,\n valueType: input.valueType.type,\n };\n }\n throw new Error(\n `Cannot create 2D aggregation with ${input.keyType.type} as its type`,\n );\n }\n}\n\nfunction get3DQueryAggregationProps(\n input: ThreeDimensionalAggregation,\n): ThreeDimensionalQueryAggregationDefinition {\n if (input.keyType.type === \"range\") {\n return {\n keyType: input.keyType.type,\n keySubtype: input.keyType.subType.type,\n valueType: get2DQueryAggregationProps(input.valueType),\n };\n } else {\n if (guardInvalidKeyTypes(input.keyType)) {\n return {\n keyType: input.keyType.type,\n valueType: get2DQueryAggregationProps(input.valueType),\n };\n }\n throw new Error(\n `Cannot create 3D aggregation with ${input.keyType.type} as its type`,\n );\n }\n}\n\n/**\n * Guard against aggregation key types that are allowed by the backend types but are illegal to actually use\n */\nfunction guardInvalidKeyTypes(\n key: QueryAggregationKeyType,\n): key is QueryAggregationKeyType & ({ type: \"string\" | \"boolean\" }) {\n return key.type === \"string\" || key.type === \"boolean\";\n}\n\n/**\n * The set of all valid key types for maps. This includes all types that are represented by strings or numbers in the OSDK, and Ontology Objects.\n */\nconst validMapKeyTypes = [\n \"string\",\n \"object\",\n \"double\",\n \"float\",\n \"integer\",\n \"long\",\n \"date\",\n \"timestamp\",\n \"byte\",\n \"datetime\",\n \"decimal\",\n \"marking\",\n \"short\",\n \"objectType\",\n];\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"wireQueryDataTypeToQueryDataTypeDefinition.js","names":["isNullableQueryDataType","wireQueryDataTypeToQueryDataTypeDefinition","input","type","nullable","object","objectTypeApiName","objectSet","interface","interfaceTypeApiName","array","subType","set","allowNulls","unionTypes","length","nonNull","find","t","union","reduce","acc","push","struct","Object","fromEntries","fields","map","f","name","fieldType","twoDimensionalAggregation","get2DQueryAggregationProps","threeDimensionalAggregation","get3DQueryAggregationProps","keyType","validMapKeyTypes","includes","Error","toString","valueType","keySubtype","guardInvalidKeyTypes","key"],"sources":["wireQueryDataTypeToQueryDataTypeDefinition.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 {\n QueryDataTypeDefinition,\n ThreeDimensionalQueryAggregationDefinition,\n TwoDimensionalQueryAggregationDefinition,\n} from \"@osdk/api\";\nimport type {\n QueryAggregationKeyType,\n QueryDataType,\n ThreeDimensionalAggregation,\n TwoDimensionalAggregation,\n} from \"@osdk/foundry.ontologies\";\nimport { isNullableQueryDataType } from \"./isNullableQueryDataType.js\";\n\nexport function wireQueryDataTypeToQueryDataTypeDefinition<\n K extends string,\n>(\n input: QueryDataType,\n): QueryDataTypeDefinition {\n switch (input.type) {\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"string\":\n case \"timestamp\":\n return {\n type: input.type,\n nullable: false,\n };\n\n case \"object\":\n return {\n type: \"object\",\n object: input.objectTypeApiName as K,\n nullable: false,\n };\n\n case \"objectSet\":\n return {\n type: \"objectSet\",\n objectSet: input.objectTypeApiName as K,\n nullable: false,\n };\n case \"interfaceObject\":\n return {\n type: \"interface\",\n interface: input.interfaceTypeApiName as K,\n nullable: false,\n };\n case \"interfaceObjectSet\":\n return {\n type: \"interfaceObjectSet\",\n objectSet: input.interfaceTypeApiName as K,\n nullable: false,\n };\n case \"array\":\n return {\n array: wireQueryDataTypeToQueryDataTypeDefinition(input.subType),\n type: \"array\",\n nullable: isNullableQueryDataType(input.subType),\n };\n\n case \"set\":\n return {\n type: \"set\",\n set: wireQueryDataTypeToQueryDataTypeDefinition(input.subType),\n nullable: false,\n };\n\n case \"union\":\n const allowNulls = isNullableQueryDataType(input);\n\n // special case for a union where one half is nullable to skip the union step and just allow nulls directly\n if (allowNulls && input.unionTypes.length === 2) {\n const nonNull = input.unionTypes.find(t => t.type != null);\n if (nonNull) {\n return {\n ...wireQueryDataTypeToQueryDataTypeDefinition(nonNull),\n nullable: true,\n };\n }\n }\n\n return {\n type: \"union\",\n union: input.unionTypes.reduce<QueryDataTypeDefinition[]>((acc, t) => {\n if (t.type === \"null\") {\n return acc;\n }\n acc.push(wireQueryDataTypeToQueryDataTypeDefinition(t));\n return acc;\n }, []),\n nullable: allowNulls,\n };\n\n case \"struct\":\n return {\n type: \"struct\",\n struct: Object.fromEntries(input.fields.map(f => [\n f.name,\n wireQueryDataTypeToQueryDataTypeDefinition(f.fieldType),\n ])),\n nullable: false,\n };\n\n case \"twoDimensionalAggregation\":\n return {\n type: \"twoDimensionalAggregation\",\n twoDimensionalAggregation: get2DQueryAggregationProps(input),\n nullable: false,\n };\n\n case \"threeDimensionalAggregation\":\n return {\n type: \"threeDimensionalAggregation\",\n threeDimensionalAggregation: get3DQueryAggregationProps(input),\n nullable: false,\n };\n\n case \"entrySet\":\n const keyType = wireQueryDataTypeToQueryDataTypeDefinition(input.keyType);\n\n if (!validMapKeyTypes.includes(keyType.type)) {\n throw new Error(\n \"Map types with a key type of \" + keyType.type + \" are not supported\"\n + validMapKeyTypes.toString(),\n );\n }\n\n if (keyType.type === \"array\") {\n throw new Error(\n \"Map types cannot have keys as arrays\",\n );\n }\n\n return {\n type: \"map\",\n nullable: false,\n keyType,\n valueType: wireQueryDataTypeToQueryDataTypeDefinition(input.valueType),\n };\n\n case \"null\":\n case \"unsupported\":\n throw new Error(\n `Unable to process query because the server indicated an unsupported QueryDataType.type: ${input.type}. Please check that your query is using supported types.`,\n );\n\n default:\n const _: never = input;\n throw new Error(`Unsupported QueryDataType.type ${(input as any).type}`);\n }\n}\n\nfunction get2DQueryAggregationProps(\n input: TwoDimensionalAggregation,\n): TwoDimensionalQueryAggregationDefinition {\n if (input.keyType.type === \"range\") {\n return {\n keyType: input.keyType.type,\n keySubtype: input.keyType.subType.type,\n valueType: input.valueType.type,\n };\n } else {\n if (guardInvalidKeyTypes(input.keyType)) {\n return {\n keyType: input.keyType.type,\n valueType: input.valueType.type,\n };\n }\n throw new Error(\n `Cannot create 2D aggregation with ${input.keyType.type} as its type`,\n );\n }\n}\n\nfunction get3DQueryAggregationProps(\n input: ThreeDimensionalAggregation,\n): ThreeDimensionalQueryAggregationDefinition {\n if (input.keyType.type === \"range\") {\n return {\n keyType: input.keyType.type,\n keySubtype: input.keyType.subType.type,\n valueType: get2DQueryAggregationProps(input.valueType),\n };\n } else {\n if (guardInvalidKeyTypes(input.keyType)) {\n return {\n keyType: input.keyType.type,\n valueType: get2DQueryAggregationProps(input.valueType),\n };\n }\n throw new Error(\n `Cannot create 3D aggregation with ${input.keyType.type} as its type`,\n );\n }\n}\n\n/**\n * Guard against aggregation key types that are allowed by the backend types but are illegal to actually use\n */\nfunction guardInvalidKeyTypes(\n key: QueryAggregationKeyType,\n): key is QueryAggregationKeyType & ({ type: \"string\" | \"boolean\" }) {\n return key.type === \"string\" || key.type === \"boolean\";\n}\n\n/**\n * The set of all valid key types for maps. This includes all types that are represented by strings or numbers in the OSDK, and Ontology Objects.\n */\nconst validMapKeyTypes = [\n \"string\",\n \"object\",\n \"double\",\n \"float\",\n \"integer\",\n \"long\",\n \"date\",\n \"timestamp\",\n \"byte\",\n \"datetime\",\n \"decimal\",\n \"marking\",\n \"short\",\n \"objectType\",\n];\n"],"mappings":"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","ignoreList":[]}
|