@osdk/generator 2.7.0-beta.1 → 2.7.0-beta.11
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 +91 -0
- package/build/browser/util/test/TodoWireOntology.js +2 -1
- package/build/browser/util/test/TodoWireOntology.js.map +1 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +5 -2
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +20 -8
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +39 -10
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
- package/build/browser/v2.0/generateMetadata.js +1 -1
- package/build/browser/v2.0/generateMetadata.js.map +1 -1
- package/build/browser/v2.0/generatePerActionDataFiles.js +12 -2
- package/build/browser/v2.0/generatePerActionDataFiles.js.map +1 -1
- package/build/cjs/index.cjs +16 -5
- package/build/cjs/index.cjs.map +1 -1
- package/build/esm/util/test/TodoWireOntology.js +2 -1
- package/build/esm/util/test/TodoWireOntology.js.map +1 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js +5 -2
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map +1 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +20 -8
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +39 -10
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
- package/build/esm/v2.0/generateMetadata.js +1 -1
- package/build/esm/v2.0/generateMetadata.js.map +1 -1
- package/build/esm/v2.0/generatePerActionDataFiles.js +12 -2
- package/build/esm/v2.0/generatePerActionDataFiles.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,96 @@
|
|
|
1
1
|
# @osdk/generator
|
|
2
2
|
|
|
3
|
+
## 2.7.0-beta.11
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 211cb0d: Add internalDoNotUseMetadata.rid to interfaces
|
|
8
|
+
- d5cfc38: Add null option to actions to allow clearing data
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [d5cfc38]
|
|
13
|
+
- @osdk/api@2.7.0-beta.11
|
|
14
|
+
- @osdk/generator-converters@2.7.0-beta.11
|
|
15
|
+
|
|
16
|
+
## 2.7.0-beta.10
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [db44f6b]
|
|
21
|
+
- Updated dependencies [24a1e29]
|
|
22
|
+
- @osdk/api@2.7.0-beta.10
|
|
23
|
+
- @osdk/generator-converters@2.7.0-beta.10
|
|
24
|
+
|
|
25
|
+
## 2.7.0-beta.9
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- @osdk/api@2.7.0-beta.9
|
|
30
|
+
- @osdk/generator-converters@2.7.0-beta.9
|
|
31
|
+
|
|
32
|
+
## 2.7.0-beta.8
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- @osdk/api@2.7.0-beta.8
|
|
37
|
+
- @osdk/generator-converters@2.7.0-beta.8
|
|
38
|
+
|
|
39
|
+
## 2.7.0-beta.7
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- @osdk/api@2.7.0-beta.7
|
|
44
|
+
- @osdk/generator-converters@2.7.0-beta.7
|
|
45
|
+
|
|
46
|
+
## 2.7.0-beta.6
|
|
47
|
+
|
|
48
|
+
### Patch Changes
|
|
49
|
+
|
|
50
|
+
- Updated dependencies [c9ca08d]
|
|
51
|
+
- @osdk/api@2.7.0-beta.6
|
|
52
|
+
- @osdk/generator-converters@2.7.0-beta.6
|
|
53
|
+
|
|
54
|
+
## 2.7.0-beta.5
|
|
55
|
+
|
|
56
|
+
### Minor Changes
|
|
57
|
+
|
|
58
|
+
- dc33f68: Add Transaction ID to Queries
|
|
59
|
+
|
|
60
|
+
### Patch Changes
|
|
61
|
+
|
|
62
|
+
- Updated dependencies [dc33f68]
|
|
63
|
+
- @osdk/generator-converters@2.7.0-beta.5
|
|
64
|
+
- @osdk/api@2.7.0-beta.5
|
|
65
|
+
|
|
66
|
+
## 2.7.0-beta.4
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- Updated dependencies [1e3c147]
|
|
71
|
+
- @osdk/api@2.7.0-beta.4
|
|
72
|
+
- @osdk/generator-converters@2.7.0-beta.4
|
|
73
|
+
|
|
74
|
+
## 2.7.0-beta.3
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- Updated dependencies [448763f]
|
|
79
|
+
- Updated dependencies [f0a57a5]
|
|
80
|
+
- @osdk/api@2.7.0-beta.3
|
|
81
|
+
- @osdk/generator-converters@2.7.0-beta.3
|
|
82
|
+
|
|
83
|
+
## 2.7.0-beta.2
|
|
84
|
+
|
|
85
|
+
### Minor Changes
|
|
86
|
+
|
|
87
|
+
- 03db734: Move platform SDK deps to pnpm catalog
|
|
88
|
+
|
|
89
|
+
### Patch Changes
|
|
90
|
+
|
|
91
|
+
- @osdk/api@2.7.0-beta.2
|
|
92
|
+
- @osdk/generator-converters@2.7.0-beta.2
|
|
93
|
+
|
|
3
94
|
## 2.6.0-beta.13
|
|
4
95
|
|
|
5
96
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TodoWireOntology.js","names":["TodoWireOntology","ontology","rid","apiName","displayName","description","actionTypes","parameters","object","dataType","type","objectApiName","objectTypeApiName","required","operations","status","objectTypes","Todo","objectType","primaryKey","pluralDisplayName","icon","name","color","titleProperty","properties","id","valueTypeApiName","body","complete","array","subType","linkTypes","cardinality","foreignKeyPropertyApiName","linkTypeRid","implementsInterfaces","implementsInterfaces2","propertiesV2","links","sharedPropertyTypeMapping","Person","email","queryTypes","output","completed","version","someTodo","interfaceTypes","SomeInterface","extendsInterfaces","implementedByObjectTypes","allProperties","allPropertiesV2","allExtendsInterfaces","allLinks","sharedPropertyTypes","SomeProperty","valueTypes","emailValueType","fieldType","constraints","options","arrayValueType","valueConstraint","uniqueValues"],"sources":["TodoWireOntology.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 { WireOntologyDefinition } from \"../../WireOntologyDefinition.js\";\n\nexport const TodoWireOntology: WireOntologyDefinition = {\n ontology: {\n rid: \"ridHere\",\n apiName: \"OntologyApiName\",\n displayName: \"\",\n description: \"\",\n },\n actionTypes: {\n \"markTodoCompleted\": {\n apiName: \"markTodoCompleted\",\n description: \"An action which takes different types of parameters\",\n parameters: {\n object: {\n displayName: \"markTodoCompleted\",\n description: \"A Todo to mark completed\",\n dataType: {\n type: \"object\",\n objectApiName: \"Todo\",\n objectTypeApiName: \"Todo\",\n },\n required: false,\n },\n },\n rid: \"ri.ontology.main.action-type.9f84017d-cf17-4fa8-84c3-8e01e5d594f2\",\n operations: [{\n type: \"modifyObject\",\n objectTypeApiName: \"Todo\",\n }],\n status: \"ACTIVE\",\n },\n \"deleteTodos\": {\n apiName: \"deleteTodos\",\n description: \"An action which takes in an array of objects\",\n parameters: {\n object: {\n displayName: \"deleteTodos\",\n description: \"Todo(s) to be deleted\",\n \"dataType\": {\n \"type\": \"array\",\n\n \"subType\": {\n \"type\": \"object\",\n \"objectApiName\": \"Todo\",\n \"objectTypeApiName\": \"Todo\",\n },\n },\n required: false,\n },\n },\n rid: \"ri.ontology.main.action-type.8f94017d-cf17-4fa8-84c3-8e01e5d594f2\",\n operations: [{\n type: \"deleteObject\",\n objectTypeApiName: \"Todo\",\n }],\n status: \"ACTIVE\",\n },\n },\n objectTypes: {\n Todo: {\n objectType: {\n apiName: \"Todo\",\n primaryKey: \"id\",\n displayName: \"AwesomeTodoDisplayname\",\n pluralDisplayName: \"AwesomeTodoDisplayNames\",\n icon: { type: \"blueprint\", name: \"document\", color: \"blue\" },\n description: \"Its a todo item.\",\n titleProperty: \"body\",\n properties: {\n id: {\n dataType: {\n type: \"integer\",\n },\n rid: \"rid\",\n valueTypeApiName: \"numericValueType\",\n },\n body: {\n dataType: {\n type: \"string\",\n },\n description: \"The text of the todo\",\n displayName: \"Body\",\n rid: \"rid\",\n },\n complete: {\n dataType: {\n type: \"boolean\",\n },\n rid: \"rid\",\n },\n array: {\n dataType: {\n type: \"array\",\n subType: {\n type: \"string\",\n },\n },\n valueTypeApiName: \"arrayValueType\",\n rid: \"rid\",\n },\n },\n status: \"ACTIVE\",\n rid: \"ridForTodo\",\n },\n linkTypes: [{\n apiName: \"Assignee\",\n cardinality: \"ONE\",\n displayName: \"Assignee\",\n objectTypeApiName: \"Person\",\n status: \"ACTIVE\",\n foreignKeyPropertyApiName: \"email\",\n linkTypeRid: \"\",\n }],\n implementsInterfaces: [\"SomeInterface\"],\n implementsInterfaces2: {\n \"SomeInterface\": {\n properties: {\n \"SomeProperty\": \"body\",\n },\n propertiesV2: {},\n links: {},\n },\n },\n sharedPropertyTypeMapping: {},\n },\n Person: {\n objectType: {\n apiName: \"Person\",\n primaryKey: \"email\",\n displayName: \"Person\",\n pluralDisplayName: \"Persons\",\n icon: { type: \"blueprint\", name: \"document\", color: \"blue\" },\n description: \"A person\",\n titleProperty: \"email\",\n properties: {\n email: {\n dataType: {\n type: \"string\",\n },\n rid: \"rid\",\n valueTypeApiName: \"emailValueType\",\n },\n },\n\n rid: \"ridForPerson\",\n status: \"ACTIVE\",\n },\n linkTypes: [{\n apiName: \"Todos\",\n cardinality: \"MANY\",\n displayName: \"Todos\",\n objectTypeApiName: \"Todo\",\n status: \"ACTIVE\",\n foreignKeyPropertyApiName: \"id\",\n linkTypeRid: \"\",\n }],\n implementsInterfaces: [],\n implementsInterfaces2: {},\n sharedPropertyTypeMapping: {},\n },\n },\n queryTypes: {\n \"getCount\": {\n apiName: \"getCount\",\n output: {\n type: \"integer\",\n },\n parameters: {\n completed: { dataType: { type: \"boolean\" } },\n },\n rid: \"rid.query.1\",\n version: \"1.1.0\",\n },\n \"returnsTodo\": {\n apiName: \"returnsTodo\",\n output: {\n type: \"object\",\n objectApiName: \"Todo\",\n objectTypeApiName: \"Todo\",\n },\n parameters: {\n someTodo: {\n description: \"Random desc so we test jsdoc\",\n dataType: {\n type: \"object\",\n objectApiName: \"Todo\",\n objectTypeApiName: \"Todo\",\n },\n },\n },\n rid: \"rid.query.2\",\n version: \"3.2.0\",\n },\n },\n interfaceTypes: {\n SomeInterface: {\n apiName: \"SomeInterface\",\n description: \"Some interface\",\n properties: {\n \"SomeProperty\": {\n apiName: \"SomeProperty\",\n description: \"Some property\",\n displayName: \"Sum Property\",\n dataType: {\n type: \"string\",\n },\n rid: \"idk2\",\n required: false,\n },\n },\n propertiesV2: {},\n rid: \"idk\",\n displayName: \"Sum Interface\",\n extendsInterfaces: [],\n links: {},\n implementedByObjectTypes: [],\n allProperties: {\n \"SomeProperty\": {\n apiName: \"SomeProperty\",\n description: \"Some property\",\n displayName: \"Sum Property\",\n dataType: {\n type: \"string\",\n },\n rid: \"idk2\",\n required: false,\n },\n },\n allPropertiesV2: {},\n allExtendsInterfaces: [],\n allLinks: {},\n },\n },\n sharedPropertyTypes: {\n SomeProperty: {\n apiName: \"SomeProperty\",\n description: \"Some property\",\n displayName: \"Sum Property\",\n dataType: {\n type: \"string\",\n },\n rid: \"idk2\",\n },\n },\n valueTypes: {\n emailValueType: {\n apiName: \"emailValueType\",\n description: \"A value type for email addresses\",\n displayName: \"Email Value Type\",\n rid: \"ridForEmailValueType\",\n version: \"1.0.0\",\n fieldType: {\n type: \"string\",\n },\n constraints: [{\n type: \"enum\",\n options: [\"osdk@palantir.com\", \"foundry@palantir.com\"],\n }],\n },\n arrayValueType: {\n apiName: \"arrayValueType\",\n description: \"A value type for arrays of strings\",\n displayName: \"Array Value Type\",\n rid: \"ridForArrayValueType\",\n version: \"1.0.0\",\n fieldType: {\n type: \"array\",\n subType: {\n type: \"string\",\n },\n },\n constraints: [{\n type: \"array\",\n valueConstraint: { type: \"enum\", options: [\"a\", \"b\", \"c\"] },\n uniqueValues: false,\n }],\n },\n },\n} as const satisfies WireOntologyDefinition;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TodoWireOntology.js","names":["TodoWireOntology","ontology","rid","apiName","displayName","description","actionTypes","parameters","object","dataType","type","objectApiName","objectTypeApiName","required","operations","status","objectTypes","Todo","objectType","primaryKey","pluralDisplayName","icon","name","color","titleProperty","properties","id","valueTypeApiName","body","complete","array","subType","reducers","linkTypes","cardinality","foreignKeyPropertyApiName","linkTypeRid","implementsInterfaces","implementsInterfaces2","propertiesV2","links","sharedPropertyTypeMapping","Person","email","queryTypes","output","completed","version","someTodo","interfaceTypes","SomeInterface","extendsInterfaces","implementedByObjectTypes","allProperties","allPropertiesV2","allExtendsInterfaces","allLinks","sharedPropertyTypes","SomeProperty","valueTypes","emailValueType","fieldType","constraints","options","arrayValueType","valueConstraint","uniqueValues"],"sources":["TodoWireOntology.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 { WireOntologyDefinition } from \"../../WireOntologyDefinition.js\";\n\nexport const TodoWireOntology: WireOntologyDefinition = {\n ontology: {\n rid: \"ridHere\",\n apiName: \"OntologyApiName\",\n displayName: \"\",\n description: \"\",\n },\n actionTypes: {\n \"markTodoCompleted\": {\n apiName: \"markTodoCompleted\",\n description: \"An action which takes different types of parameters\",\n parameters: {\n object: {\n displayName: \"markTodoCompleted\",\n description: \"A Todo to mark completed\",\n dataType: {\n type: \"object\",\n objectApiName: \"Todo\",\n objectTypeApiName: \"Todo\",\n },\n required: false,\n },\n },\n rid: \"ri.ontology.main.action-type.9f84017d-cf17-4fa8-84c3-8e01e5d594f2\",\n operations: [{\n type: \"modifyObject\",\n objectTypeApiName: \"Todo\",\n }],\n status: \"ACTIVE\",\n },\n \"deleteTodos\": {\n apiName: \"deleteTodos\",\n description: \"An action which takes in an array of objects\",\n parameters: {\n object: {\n displayName: \"deleteTodos\",\n description: \"Todo(s) to be deleted\",\n \"dataType\": {\n \"type\": \"array\",\n\n \"subType\": {\n \"type\": \"object\",\n \"objectApiName\": \"Todo\",\n \"objectTypeApiName\": \"Todo\",\n },\n },\n required: false,\n },\n },\n rid: \"ri.ontology.main.action-type.8f94017d-cf17-4fa8-84c3-8e01e5d594f2\",\n operations: [{\n type: \"deleteObject\",\n objectTypeApiName: \"Todo\",\n }],\n status: \"ACTIVE\",\n },\n },\n objectTypes: {\n Todo: {\n objectType: {\n apiName: \"Todo\",\n primaryKey: \"id\",\n displayName: \"AwesomeTodoDisplayname\",\n pluralDisplayName: \"AwesomeTodoDisplayNames\",\n icon: { type: \"blueprint\", name: \"document\", color: \"blue\" },\n description: \"Its a todo item.\",\n titleProperty: \"body\",\n properties: {\n id: {\n dataType: {\n type: \"integer\",\n },\n rid: \"rid\",\n valueTypeApiName: \"numericValueType\",\n },\n body: {\n dataType: {\n type: \"string\",\n },\n description: \"The text of the todo\",\n displayName: \"Body\",\n rid: \"rid\",\n },\n complete: {\n dataType: {\n type: \"boolean\",\n },\n rid: \"rid\",\n },\n array: {\n dataType: {\n type: \"array\",\n subType: {\n type: \"string\",\n },\n reducers: [],\n },\n valueTypeApiName: \"arrayValueType\",\n rid: \"rid\",\n },\n },\n status: \"ACTIVE\",\n rid: \"ridForTodo\",\n },\n linkTypes: [{\n apiName: \"Assignee\",\n cardinality: \"ONE\",\n displayName: \"Assignee\",\n objectTypeApiName: \"Person\",\n status: \"ACTIVE\",\n foreignKeyPropertyApiName: \"email\",\n linkTypeRid: \"\",\n }],\n implementsInterfaces: [\"SomeInterface\"],\n implementsInterfaces2: {\n \"SomeInterface\": {\n properties: {\n \"SomeProperty\": \"body\",\n },\n propertiesV2: {},\n links: {},\n },\n },\n sharedPropertyTypeMapping: {},\n },\n Person: {\n objectType: {\n apiName: \"Person\",\n primaryKey: \"email\",\n displayName: \"Person\",\n pluralDisplayName: \"Persons\",\n icon: { type: \"blueprint\", name: \"document\", color: \"blue\" },\n description: \"A person\",\n titleProperty: \"email\",\n properties: {\n email: {\n dataType: {\n type: \"string\",\n },\n rid: \"rid\",\n valueTypeApiName: \"emailValueType\",\n },\n },\n\n rid: \"ridForPerson\",\n status: \"ACTIVE\",\n },\n linkTypes: [{\n apiName: \"Todos\",\n cardinality: \"MANY\",\n displayName: \"Todos\",\n objectTypeApiName: \"Todo\",\n status: \"ACTIVE\",\n foreignKeyPropertyApiName: \"id\",\n linkTypeRid: \"\",\n }],\n implementsInterfaces: [],\n implementsInterfaces2: {},\n sharedPropertyTypeMapping: {},\n },\n },\n queryTypes: {\n \"getCount\": {\n apiName: \"getCount\",\n output: {\n type: \"integer\",\n },\n parameters: {\n completed: { dataType: { type: \"boolean\" } },\n },\n rid: \"rid.query.1\",\n version: \"1.1.0\",\n },\n \"returnsTodo\": {\n apiName: \"returnsTodo\",\n output: {\n type: \"object\",\n objectApiName: \"Todo\",\n objectTypeApiName: \"Todo\",\n },\n parameters: {\n someTodo: {\n description: \"Random desc so we test jsdoc\",\n dataType: {\n type: \"object\",\n objectApiName: \"Todo\",\n objectTypeApiName: \"Todo\",\n },\n },\n },\n rid: \"rid.query.2\",\n version: \"3.2.0\",\n },\n },\n interfaceTypes: {\n SomeInterface: {\n apiName: \"SomeInterface\",\n description: \"Some interface\",\n properties: {\n \"SomeProperty\": {\n apiName: \"SomeProperty\",\n description: \"Some property\",\n displayName: \"Sum Property\",\n dataType: {\n type: \"string\",\n },\n rid: \"idk2\",\n required: false,\n },\n },\n propertiesV2: {},\n rid: \"idk\",\n displayName: \"Sum Interface\",\n extendsInterfaces: [],\n links: {},\n implementedByObjectTypes: [],\n allProperties: {\n \"SomeProperty\": {\n apiName: \"SomeProperty\",\n description: \"Some property\",\n displayName: \"Sum Property\",\n dataType: {\n type: \"string\",\n },\n rid: \"idk2\",\n required: false,\n },\n },\n allPropertiesV2: {},\n allExtendsInterfaces: [],\n allLinks: {},\n },\n },\n sharedPropertyTypes: {\n SomeProperty: {\n apiName: \"SomeProperty\",\n description: \"Some property\",\n displayName: \"Sum Property\",\n dataType: {\n type: \"string\",\n },\n rid: \"idk2\",\n },\n },\n valueTypes: {\n emailValueType: {\n apiName: \"emailValueType\",\n description: \"A value type for email addresses\",\n displayName: \"Email Value Type\",\n rid: \"ridForEmailValueType\",\n version: \"1.0.0\",\n fieldType: {\n type: \"string\",\n },\n constraints: [{\n type: \"enum\",\n options: [\"osdk@palantir.com\", \"foundry@palantir.com\"],\n }],\n },\n arrayValueType: {\n apiName: \"arrayValueType\",\n description: \"A value type for arrays of strings\",\n displayName: \"Array Value Type\",\n rid: \"ridForArrayValueType\",\n version: \"1.0.0\",\n fieldType: {\n type: \"array\",\n subType: {\n type: \"string\",\n },\n },\n constraints: [{\n type: \"array\",\n valueConstraint: { type: \"enum\", options: [\"a\", \"b\", \"c\"] },\n uniqueValues: false,\n }],\n },\n },\n} as const satisfies WireOntologyDefinition;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -121,10 +121,13 @@ ${stringify(definition.links, {
|
|
|
121
121
|
`;
|
|
122
122
|
}(forInternalUse) : ""}
|
|
123
123
|
|
|
124
|
-
export const ${interfaceDef.shortApiName}
|
|
124
|
+
export const ${interfaceDef.shortApiName} = {
|
|
125
125
|
type: "interface",
|
|
126
126
|
apiName: "${interfaceDef.fullApiName}",
|
|
127
127
|
osdkMetadata: $osdkMetadata,
|
|
128
|
-
|
|
128
|
+
internalDoNotUseMetadata: {
|
|
129
|
+
rid: "${definition.rid}",
|
|
130
|
+
},
|
|
131
|
+
} satisfies ${interfaceDef.shortApiName} & { internalDoNotUseMetadata: { rid: string } } as ${interfaceDef.shortApiName};`;
|
|
129
132
|
}
|
|
130
133
|
//# sourceMappingURL=UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js","names":["__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","consola","fastDeepEqual","invariant","extractNamespace","EnhancedInterfaceType","getObjectImports","deleteUndefineds","stringify","createDefinition","createObjectSet","createOsdkObject","createPropertyKeys","createProps","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","interfaceDef","ontology","v2","forInternalUse","currentFilePath","definition","raw","uniqueLinkTargetTypes","Set","links","Object","values","map","a","targetType","requireObjectType","targetTypeApiName","requireInterfaceType","objectDefIdentifier","getDefinitionIdentifier","parents","implements","p","parent","it","mergedProperties","properties","apiName","keys","process","env","NODE_ENV","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","ids","apiNamespace","badProperties","filter","length","Error","fullApiName","join","imports","linkTarget","getImportedDefinitionIdentifier","multiplicity","valueTypes"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport fastDeepEqual from \"fast-deep-equal\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../GenerateContext/EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport type { Identifiers } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\nimport {\n createDefinition,\n createObjectSet,\n createOsdkObject,\n createPropertyKeys,\n createProps,\n} from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\n\n/** @internal */\nexport function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n interfaceDef: EnhancedInterfaceType,\n ontology: EnhancedOntologyDefinition,\n v2: boolean = false,\n forInternalUse: boolean = false,\n currentFilePath: string = \"\",\n) {\n const definition = deleteUndefineds(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(\n interfaceDef.raw,\n v2,\n ),\n );\n const uniqueLinkTargetTypes = new Set(\n definition.links\n ? Object.values(definition.links).map(a =>\n a.targetType === \"object\"\n ? ontology.requireObjectType(\n a.targetTypeApiName,\n )\n : ontology.requireInterfaceType(\n a.targetTypeApiName,\n )\n )\n : [],\n );\n\n const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);\n\n const parents = definition.implements?.map(p => {\n const parent = ontology.requireInterfaceType(p, true);\n if (parent instanceof EnhancedInterfaceType) {\n const it = deleteUndefineds(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(\n parent.raw,\n v2,\n consola,\n ),\n );\n return it;\n }\n }) ?? [];\n\n const mergedProperties = { ...definition.properties };\n for (const parent of parents) {\n if (parent == null) {\n // came from a foreign type and we cannot merge properties yet\n // so if they weren't listed on the interface its over\n continue;\n }\n for (const apiName of Object.keys(parent.properties)) {\n if (definition.properties[apiName] != null) {\n invariant(\n fastDeepEqual(\n definition.properties[apiName],\n parent.properties[apiName],\n ),\n `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`,\n );\n } else if (mergedProperties[apiName] != null) {\n invariant(\n fastDeepEqual(\n mergedProperties[apiName],\n parent.properties[apiName],\n ),\n `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`,\n );\n }\n mergedProperties[apiName] = parent.properties[apiName];\n }\n }\n\n definition.properties = mergedProperties;\n\n const objectSetIdentifier = `${interfaceDef.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${interfaceDef.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${interfaceDef.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier =\n `${interfaceDef.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `OsdkObjectLinks$${objectDefIdentifier}`;\n const osdkObjectIdentifier = `${interfaceDef.shortApiName}.OsdkObject`;\n\n const ids: Identifiers = {\n objectDefIdentifier: interfaceDef.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n\n if (interfaceDef.apiNamespace) {\n const badProperties = Object.keys(definition.properties).filter(apiName =>\n extractNamespace(apiName)[0] == null\n );\n if (badProperties.length > 0) {\n throw new Error(\n `Interfaces with fully qualified api names MUST NOT have any properties with an unqualified api name. Interface: ${interfaceDef.fullApiName}, properties: ${\n badProperties.join(\", \")\n }`,\n );\n }\n }\n\n function getV2Types(forInternalUse: boolean = false) {\n return `import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n \n ${\n definition.links\n ? Object.keys(definition.links).length > 0\n ? `\n export interface ${osdkObjectLinksIdentifier} {\n${\n stringify(definition.links, {\n \"*\": (definition) => {\n const linkTarget = definition.targetType === \"object\"\n ? ontology.requireObjectType(\n definition.targetTypeApiName,\n )\n .getImportedDefinitionIdentifier(v2)\n : ontology.requireInterfaceType(\n definition.targetTypeApiName,\n )\n .getImportedDefinitionIdentifier(v2);\n\n return `${\n definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `${linkTarget}.ObjectSet`\n }\n `;\n },\n })\n }\n }\n `\n : `export type ${osdkObjectLinksIdentifier} = {};`\n : `export type ${osdkObjectLinksIdentifier} = {};`\n }\n\n export namespace ${interfaceDef.shortApiName} {\n\n ${createPropertyKeys(interfaceDef)}\n\n\n ${createProps(interfaceDef, \"Props\", false, ontology.raw.valueTypes)}\n ${createProps(interfaceDef, \"StrictProps\", true, ontology.raw.valueTypes)}\n\n\n ${createObjectSet(interfaceDef, ids)}\n\n ${createOsdkObject(interfaceDef, \"OsdkInstance\", ids)}\n \n } \n\n ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}\n\n`;\n }\n\n const imports: string = getObjectImports(\n uniqueLinkTargetTypes,\n definition.apiName,\n currentFilePath,\n true,\n );\n definition;\n return `${imports}\n ${v2 ? getV2Types(forInternalUse) : \"\"}\n\n export const ${interfaceDef.shortApiName}: ${interfaceDef.shortApiName} = {\n type: \"interface\",\n apiName: \"${interfaceDef.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n };`;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js","names":["__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","consola","fastDeepEqual","invariant","extractNamespace","EnhancedInterfaceType","getObjectImports","deleteUndefineds","stringify","createDefinition","createObjectSet","createOsdkObject","createPropertyKeys","createProps","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","interfaceDef","ontology","v2","forInternalUse","currentFilePath","definition","raw","uniqueLinkTargetTypes","Set","links","Object","values","map","a","targetType","requireObjectType","targetTypeApiName","requireInterfaceType","objectDefIdentifier","getDefinitionIdentifier","parents","implements","p","parent","it","mergedProperties","properties","apiName","keys","process","env","NODE_ENV","objectSetIdentifier","shortApiName","propertyKeysIdentifier","osdkObjectPropsIdentifier","osdkObjectStrictPropsIdentifier","osdkObjectLinksIdentifier","osdkObjectIdentifier","ids","apiNamespace","badProperties","filter","length","Error","fullApiName","join","imports","linkTarget","getImportedDefinitionIdentifier","multiplicity","valueTypes","rid"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport fastDeepEqual from \"fast-deep-equal\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../GenerateContext/EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport type { EnhancedOntologyDefinition } from \"../GenerateContext/EnhancedOntologyDefinition.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport type { Identifiers } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\nimport {\n createDefinition,\n createObjectSet,\n createOsdkObject,\n createPropertyKeys,\n createProps,\n} from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\n\n/** @internal */\nexport function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n interfaceDef: EnhancedInterfaceType,\n ontology: EnhancedOntologyDefinition,\n v2: boolean = false,\n forInternalUse: boolean = false,\n currentFilePath: string = \"\",\n) {\n const definition = deleteUndefineds(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(\n interfaceDef.raw,\n v2,\n ),\n );\n const uniqueLinkTargetTypes = new Set(\n definition.links\n ? Object.values(definition.links).map(a =>\n a.targetType === \"object\"\n ? ontology.requireObjectType(\n a.targetTypeApiName,\n )\n : ontology.requireInterfaceType(\n a.targetTypeApiName,\n )\n )\n : [],\n );\n\n const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);\n\n const parents = definition.implements?.map(p => {\n const parent = ontology.requireInterfaceType(p, true);\n if (parent instanceof EnhancedInterfaceType) {\n const it = deleteUndefineds(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(\n parent.raw,\n v2,\n consola,\n ),\n );\n return it;\n }\n }) ?? [];\n\n const mergedProperties = { ...definition.properties };\n for (const parent of parents) {\n if (parent == null) {\n // came from a foreign type and we cannot merge properties yet\n // so if they weren't listed on the interface its over\n continue;\n }\n for (const apiName of Object.keys(parent.properties)) {\n if (definition.properties[apiName] != null) {\n invariant(\n fastDeepEqual(\n definition.properties[apiName],\n parent.properties[apiName],\n ),\n `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`,\n );\n } else if (mergedProperties[apiName] != null) {\n invariant(\n fastDeepEqual(\n mergedProperties[apiName],\n parent.properties[apiName],\n ),\n `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`,\n );\n }\n mergedProperties[apiName] = parent.properties[apiName];\n }\n }\n\n definition.properties = mergedProperties;\n\n const objectSetIdentifier = `${interfaceDef.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${interfaceDef.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${interfaceDef.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier =\n `${interfaceDef.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `OsdkObjectLinks$${objectDefIdentifier}`;\n const osdkObjectIdentifier = `${interfaceDef.shortApiName}.OsdkObject`;\n\n const ids: Identifiers = {\n objectDefIdentifier: interfaceDef.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier,\n };\n\n if (interfaceDef.apiNamespace) {\n const badProperties = Object.keys(definition.properties).filter(apiName =>\n extractNamespace(apiName)[0] == null\n );\n if (badProperties.length > 0) {\n throw new Error(\n `Interfaces with fully qualified api names MUST NOT have any properties with an unqualified api name. Interface: ${interfaceDef.fullApiName}, properties: ${\n badProperties.join(\", \")\n }`,\n );\n }\n }\n\n function getV2Types(forInternalUse: boolean = false) {\n return `import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n \n ${\n definition.links\n ? Object.keys(definition.links).length > 0\n ? `\n export interface ${osdkObjectLinksIdentifier} {\n${\n stringify(definition.links, {\n \"*\": (definition) => {\n const linkTarget = definition.targetType === \"object\"\n ? ontology.requireObjectType(\n definition.targetTypeApiName,\n )\n .getImportedDefinitionIdentifier(v2)\n : ontology.requireInterfaceType(\n definition.targetTypeApiName,\n )\n .getImportedDefinitionIdentifier(v2);\n\n return `${\n definition.multiplicity\n ? `${linkTarget}.ObjectSet`\n : `${linkTarget}.ObjectSet`\n }\n `;\n },\n })\n }\n }\n `\n : `export type ${osdkObjectLinksIdentifier} = {};`\n : `export type ${osdkObjectLinksIdentifier} = {};`\n }\n\n export namespace ${interfaceDef.shortApiName} {\n\n ${createPropertyKeys(interfaceDef)}\n\n\n ${createProps(interfaceDef, \"Props\", false, ontology.raw.valueTypes)}\n ${createProps(interfaceDef, \"StrictProps\", true, ontology.raw.valueTypes)}\n\n\n ${createObjectSet(interfaceDef, ids)}\n\n ${createOsdkObject(interfaceDef, \"OsdkInstance\", ids)}\n \n } \n\n ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}\n\n`;\n }\n\n const imports: string = getObjectImports(\n uniqueLinkTargetTypes,\n definition.apiName,\n currentFilePath,\n true,\n );\n definition;\n return `${imports}\n ${v2 ? getV2Types(forInternalUse) : \"\"}\n\n export const ${interfaceDef.shortApiName} = {\n type: \"interface\",\n apiName: \"${interfaceDef.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n internalDoNotUseMetadata: {\n rid: \"${definition.rid}\",\n },\n } satisfies ${interfaceDef.shortApiName} & { internalDoNotUseMetadata: { rid: string } } as ${interfaceDef.shortApiName};`;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -148,11 +148,14 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
|
|
|
148
148
|
};
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
export const Bar
|
|
151
|
+
export const Bar = {
|
|
152
152
|
type: "interface",
|
|
153
153
|
apiName: "Bar",
|
|
154
154
|
osdkMetadata: $osdkMetadata,
|
|
155
|
-
|
|
155
|
+
internalDoNotUseMetadata: {
|
|
156
|
+
rid: "BarRid",
|
|
157
|
+
},
|
|
158
|
+
} satisfies Bar & { internalDoNotUseMetadata: { rid: string } } as Bar;
|
|
156
159
|
"
|
|
157
160
|
`);
|
|
158
161
|
});
|
|
@@ -232,11 +235,14 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
|
|
|
232
235
|
};
|
|
233
236
|
}
|
|
234
237
|
|
|
235
|
-
export const Foo
|
|
238
|
+
export const Foo = {
|
|
236
239
|
type: "interface",
|
|
237
240
|
apiName: "Foo",
|
|
238
241
|
osdkMetadata: $osdkMetadata,
|
|
239
|
-
|
|
242
|
+
internalDoNotUseMetadata: {
|
|
243
|
+
rid: "FooRid",
|
|
244
|
+
},
|
|
245
|
+
} satisfies Foo & { internalDoNotUseMetadata: { rid: string } } as Foo;
|
|
240
246
|
"
|
|
241
247
|
`);
|
|
242
248
|
});
|
|
@@ -328,11 +334,14 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
|
|
|
328
334
|
};
|
|
329
335
|
}
|
|
330
336
|
|
|
331
|
-
export const Foo
|
|
337
|
+
export const Foo = {
|
|
332
338
|
type: "interface",
|
|
333
339
|
apiName: "Foo",
|
|
334
340
|
osdkMetadata: $osdkMetadata,
|
|
335
|
-
|
|
341
|
+
internalDoNotUseMetadata: {
|
|
342
|
+
rid: "FooRid",
|
|
343
|
+
},
|
|
344
|
+
} satisfies Foo & { internalDoNotUseMetadata: { rid: string } } as Foo;
|
|
336
345
|
"
|
|
337
346
|
`);
|
|
338
347
|
});
|
|
@@ -412,11 +421,14 @@ describe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {
|
|
|
412
421
|
};
|
|
413
422
|
}
|
|
414
423
|
|
|
415
|
-
export const Foo
|
|
424
|
+
export const Foo = {
|
|
416
425
|
type: "interface",
|
|
417
426
|
apiName: "Foo",
|
|
418
427
|
osdkMetadata: $osdkMetadata,
|
|
419
|
-
|
|
428
|
+
internalDoNotUseMetadata: {
|
|
429
|
+
rid: "FooRid",
|
|
430
|
+
},
|
|
431
|
+
} satisfies Foo & { internalDoNotUseMetadata: { rid: string } } as Foo;
|
|
420
432
|
"
|
|
421
433
|
`);
|
|
422
434
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js","names":["format","describe","expect","it","EnhancedInterfaceType","enhanceOntology","ForeignType","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","simpleSpt","apiName","metadataLevel","dataType","type","rid","displayName","description","undefined","simpleInterface","spts","parents","implementedByObjectTypes","properties","Object","fromEntries","map","spt","required","extendsInterfaces","links","propertiesV2","allExtendsInterfaces","allLinks","allProperties","allPropertiesV2","simpleOntology","interfaces","interfaceTypes","i","sharedPropertyTypes","flatMap","entries","actionTypes","objectTypes","ontology","queryTypes","valueTypes","sanitized","importExt","Bar","toBe","Error","formattedCode","parser","printWidth","toMatchInlineSnapshot","fooSpt","barSpt","Foo","Child","implementsMatch","match","not","toBeNull","implementsStr","toContain"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.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 {\n InterfaceType,\n SharedPropertyType,\n} from \"@osdk/foundry.ontologies\";\nimport { format } from \"prettier\";\nimport { describe, expect, it } from \"vitest\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { enhanceOntology } from \"../GenerateContext/enhanceOntology.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { WireOntologyDefinition } from \"../WireOntologyDefinition.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\n\nfunction simpleSpt<T extends string>(apiName: T, metadataLevel: 0 | 1 | 2 = 2) {\n return {\n apiName,\n dataType: {\n type: \"integer\",\n },\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} property dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} property desc` : undefined,\n } as const satisfies SharedPropertyType;\n}\n\nfunction simpleInterface<T extends string, Q extends SharedPropertyType>(\n apiName: T,\n spts: Q[],\n parents: string[],\n metadataLevel: 0 | 1 | 2 = 2,\n implementedByObjectTypes: string[] = [],\n) {\n const properties = Object.fromEntries(\n spts.map(spt => [spt.apiName, { ...spt, required: true }]),\n );\n\n return {\n apiName,\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} interface dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} interface desc` : undefined,\n extendsInterfaces: parents,\n links: {},\n properties,\n propertiesV2: {},\n implementedByObjectTypes,\n allExtendsInterfaces: parents,\n allLinks: {},\n allProperties: properties,\n allPropertiesV2: {},\n } as const satisfies InterfaceType;\n}\n\nfunction simpleOntology<I extends InterfaceType>(\n apiName: string,\n interfaces: I[],\n) {\n const interfaceTypes: Record<I[\"apiName\"], I> = Object\n .fromEntries(\n interfaces.map(i => [i.apiName, i]),\n ) as Record<string, I>;\n\n const sharedPropertyTypes: Record<string, I[\"properties\"][string]> = Object\n .fromEntries(\n interfaces.flatMap(i => Object.entries(i.properties)),\n ) as Record<string, I[\"properties\"][string]>;\n\n return {\n actionTypes: {},\n interfaceTypes,\n objectTypes: {},\n ontology: {\n apiName,\n description: `${apiName} ontology desc`,\n displayName: `${apiName} ontology dn`,\n rid: `${apiName} ontology rid`,\n },\n queryTypes: {},\n sharedPropertyTypes,\n valueTypes: {},\n } as const satisfies WireOntologyDefinition;\n}\n\ndescribe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {\n it(\"Does not say (inherited) on properties locally defined\", async () => {\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Bar\", [simpleSpt(\"bar\", 0)], [], 0),\n ]),\n importExt: \"\",\n });\n\n expect(ontology.interfaceTypes.Bar instanceof EnhancedInterfaceType).toBe(\n true,\n );\n\n // type guard for below\n if (ontology.interfaceTypes.Bar instanceof ForeignType) {\n throw new Error(\"Expected Bar to be an EnhancedInterfaceType\");\n }\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Bar,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n printWidth: 100,\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Bar = {};\n\n export namespace Bar {\n export type PropertyKeys = \"bar\";\n\n export interface Props {\n /**\n * (no ontology metadata)\n */\n readonly bar: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Bar, Bar.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = $Osdk.Instance<Bar, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Bar extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Bar\";\n __DefinitionMetadata?: {\n objectSet: Bar.ObjectSet;\n props: Bar.Props;\n linksType: OsdkObjectLinks$Bar;\n strictProps: Bar.StrictProps;\n apiName: \"Bar\";\n description: undefined;\n displayName: \"Bar\";\n implementedBy: [];\n implements: [];\n links: {};\n properties: {\n /**\n * (no ontology metadata)\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"BarRid\";\n type: \"interface\";\n };\n }\n\n export const Bar: Bar = {\n type: \"interface\",\n apiName: \"Bar\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n\n it(\"Generates properties for inherited SPTs\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n\n const ontology = enhanceOntology(\n {\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n\n importExt: \"\",\n },\n );\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Foo as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\";\n\n export interface Props {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implementedBy: [];\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo: Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n\n it(\"allows for SPT reuse if the same\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n\n const ontology = enhanceOntology(\n {\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt, barSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n importExt: \"\",\n },\n );\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Foo as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\" | \"bar\";\n\n export interface Props {\n /**\n * display name: 'bar property dn',\n *\n * description: bar property desc\n */\n readonly bar: $PropType[\"integer\"] | undefined;\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implementedBy: [];\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'bar property dn',\n *\n * description: bar property desc\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo: Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n it(\"Generates map for implementedBy\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n\n const ontology = enhanceOntology(\n {\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt], [\"Parent\"], 2, [\"childrenObject\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n\n importExt: \"\",\n },\n );\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Foo as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\";\n\n export interface Props {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implementedBy: [\"childrenObject\"];\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo: Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n };\n \"\n `);\n });\n\n it(\"sorts the implements array for stable output\", async () => {\n // Test with multiple parent interfaces in non-alphabetical order\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Child\", [simpleSpt(\"child\")], [\n \"ParentZ\",\n \"ParentA\",\n \"ParentC\",\n ]),\n simpleInterface(\"ParentZ\", [simpleSpt(\"z\")], []),\n simpleInterface(\"ParentA\", [simpleSpt(\"a\")], []),\n simpleInterface(\"ParentC\", [simpleSpt(\"c\")], []),\n ]),\n importExt: \"\",\n });\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Child as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n\n // Extract the implements array from the generated code\n const implementsMatch = formattedCode.match(/implements:\\s*\\[([^\\]]+)\\]/s);\n expect(implementsMatch).not.toBeNull();\n\n if (implementsMatch) {\n const implementsStr = implementsMatch[1];\n // Check that the array is sorted alphabetically\n expect(implementsStr).toContain(\"\\\"ParentA\\\", \\\"ParentC\\\", \\\"ParentZ\\\"\");\n }\n });\n});\n"],"mappings":"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,EAC3BL,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE,YAAY;MACpBC,UAAU,EAAE;IACd,CACF,CAAC;IACDnD,MAAM,CAACiD,aAAa,CAAC,CAACG,qBAAqB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFnD,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACxD,MAAMoD,MAAM,GAAG/C,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMgD,MAAM,GAAGhD,SAAS,CAAC,KAAK,CAAC;IAE/B,MAAMmC,QAAQ,GAAGtC,eAAe,CAC9B;MACEyC,SAAS,EAAEZ,cAAc,CAAC,UAAU,EAAE,CACpCjB,eAAe,CAAC,KAAK,EAAE,CAACsC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAC5CtC,eAAe,CAAC,QAAQ,EAAE,CAACuC,MAAM,CAAC,EAAE,EAAE,CAAC,CACxC,CAAC;MAEFT,SAAS,EAAE;IACb,CACF,CAAC;IAED,MAAMI,aAAa,GAAG,MAAMnD,MAAM,CAChCO,8CAA8C,CAC5CoC,QAAQ,CAACP,cAAc,CAACqB,GAAG,EAC3Bd,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE;IACV,CACF,CAAC;IACDlD,MAAM,CAACiD,aAAa,CAAC,CAACG,qBAAqB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFnD,EAAE,CAAC,kCAAkC,EAAE,YAAY;IACjD,MAAMoD,MAAM,GAAG/C,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMgD,MAAM,GAAGhD,SAAS,CAAC,KAAK,CAAC;IAE/B,MAAMmC,QAAQ,GAAGtC,eAAe,CAC9B;MACEyC,SAAS,EAAEZ,cAAc,CAAC,UAAU,EAAE,CACpCjB,eAAe,CAAC,KAAK,EAAE,CAACsC,MAAM,EAAEC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EACpDvC,eAAe,CAAC,QAAQ,EAAE,CAACuC,MAAM,CAAC,EAAE,EAAE,CAAC,CACxC,CAAC;MACFT,SAAS,EAAE;IACb,CACF,CAAC;IAED,MAAMI,aAAa,GAAG,MAAMnD,MAAM,CAChCO,8CAA8C,CAC5CoC,QAAQ,CAACP,cAAc,CAACqB,GAAG,EAC3Bd,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE;IACV,CACF,CAAC;IACDlD,MAAM,CAACiD,aAAa,CAAC,CAACG,qBAAqB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js","names":["format","describe","expect","it","EnhancedInterfaceType","enhanceOntology","ForeignType","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst","simpleSpt","apiName","metadataLevel","dataType","type","rid","displayName","description","undefined","simpleInterface","spts","parents","implementedByObjectTypes","properties","Object","fromEntries","map","spt","required","extendsInterfaces","links","propertiesV2","allExtendsInterfaces","allLinks","allProperties","allPropertiesV2","simpleOntology","interfaces","interfaceTypes","i","sharedPropertyTypes","flatMap","entries","actionTypes","objectTypes","ontology","queryTypes","valueTypes","sanitized","importExt","Bar","toBe","Error","formattedCode","parser","printWidth","toMatchInlineSnapshot","fooSpt","barSpt","Foo","Child","implementsMatch","match","not","toBeNull","implementsStr","toContain"],"sources":["UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.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 {\n InterfaceType,\n SharedPropertyType,\n} from \"@osdk/foundry.ontologies\";\nimport { format } from \"prettier\";\nimport { describe, expect, it } from \"vitest\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { enhanceOntology } from \"../GenerateContext/enhanceOntology.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport type { WireOntologyDefinition } from \"../WireOntologyDefinition.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\n\nfunction simpleSpt<T extends string>(apiName: T, metadataLevel: 0 | 1 | 2 = 2) {\n return {\n apiName,\n dataType: {\n type: \"integer\",\n },\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} property dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} property desc` : undefined,\n } as const satisfies SharedPropertyType;\n}\n\nfunction simpleInterface<T extends string, Q extends SharedPropertyType>(\n apiName: T,\n spts: Q[],\n parents: string[],\n metadataLevel: 0 | 1 | 2 = 2,\n implementedByObjectTypes: string[] = [],\n) {\n const properties = Object.fromEntries(\n spts.map(spt => [spt.apiName, { ...spt, required: true }]),\n );\n\n return {\n apiName,\n rid: `${apiName}Rid`,\n displayName: metadataLevel >= 1 ? `${apiName} interface dn` : apiName,\n description: metadataLevel >= 2 ? `${apiName} interface desc` : undefined,\n extendsInterfaces: parents,\n links: {},\n properties,\n propertiesV2: {},\n implementedByObjectTypes,\n allExtendsInterfaces: parents,\n allLinks: {},\n allProperties: properties,\n allPropertiesV2: {},\n } as const satisfies InterfaceType;\n}\n\nfunction simpleOntology<I extends InterfaceType>(\n apiName: string,\n interfaces: I[],\n) {\n const interfaceTypes: Record<I[\"apiName\"], I> = Object\n .fromEntries(\n interfaces.map(i => [i.apiName, i]),\n ) as Record<string, I>;\n\n const sharedPropertyTypes: Record<string, I[\"properties\"][string]> = Object\n .fromEntries(\n interfaces.flatMap(i => Object.entries(i.properties)),\n ) as Record<string, I[\"properties\"][string]>;\n\n return {\n actionTypes: {},\n interfaceTypes,\n objectTypes: {},\n ontology: {\n apiName,\n description: `${apiName} ontology desc`,\n displayName: `${apiName} ontology dn`,\n rid: `${apiName} ontology rid`,\n },\n queryTypes: {},\n sharedPropertyTypes,\n valueTypes: {},\n } as const satisfies WireOntologyDefinition;\n}\n\ndescribe(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst, () => {\n it(\"Does not say (inherited) on properties locally defined\", async () => {\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Bar\", [simpleSpt(\"bar\", 0)], [], 0),\n ]),\n importExt: \"\",\n });\n\n expect(ontology.interfaceTypes.Bar instanceof EnhancedInterfaceType).toBe(\n true,\n );\n\n // type guard for below\n if (ontology.interfaceTypes.Bar instanceof ForeignType) {\n throw new Error(\"Expected Bar to be an EnhancedInterfaceType\");\n }\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Bar,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n printWidth: 100,\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Bar = {};\n\n export namespace Bar {\n export type PropertyKeys = \"bar\";\n\n export interface Props {\n /**\n * (no ontology metadata)\n */\n readonly bar: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Bar, Bar.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = $Osdk.Instance<Bar, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Bar.Props = keyof Bar.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Bar extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Bar\";\n __DefinitionMetadata?: {\n objectSet: Bar.ObjectSet;\n props: Bar.Props;\n linksType: OsdkObjectLinks$Bar;\n strictProps: Bar.StrictProps;\n apiName: \"Bar\";\n description: undefined;\n displayName: \"Bar\";\n implementedBy: [];\n implements: [];\n links: {};\n properties: {\n /**\n * (no ontology metadata)\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"BarRid\";\n type: \"interface\";\n };\n }\n\n export const Bar = {\n type: \"interface\",\n apiName: \"Bar\",\n osdkMetadata: $osdkMetadata,\n internalDoNotUseMetadata: {\n rid: \"BarRid\",\n },\n } satisfies Bar & { internalDoNotUseMetadata: { rid: string } } as Bar;\n \"\n `);\n });\n\n it(\"Generates properties for inherited SPTs\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n\n const ontology = enhanceOntology(\n {\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n\n importExt: \"\",\n },\n );\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Foo as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\";\n\n export interface Props {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implementedBy: [];\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n internalDoNotUseMetadata: {\n rid: \"FooRid\",\n },\n } satisfies Foo & { internalDoNotUseMetadata: { rid: string } } as Foo;\n \"\n `);\n });\n\n it(\"allows for SPT reuse if the same\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n\n const ontology = enhanceOntology(\n {\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt, barSpt], [\"Parent\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n importExt: \"\",\n },\n );\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Foo as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\" | \"bar\";\n\n export interface Props {\n /**\n * display name: 'bar property dn',\n *\n * description: bar property desc\n */\n readonly bar: $PropType[\"integer\"] | undefined;\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implementedBy: [];\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'bar property dn',\n *\n * description: bar property desc\n */\n bar: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n internalDoNotUseMetadata: {\n rid: \"FooRid\",\n },\n } satisfies Foo & { internalDoNotUseMetadata: { rid: string } } as Foo;\n \"\n `);\n });\n it(\"Generates map for implementedBy\", async () => {\n const fooSpt = simpleSpt(\"foo\");\n const barSpt = simpleSpt(\"bar\");\n\n const ontology = enhanceOntology(\n {\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Foo\", [fooSpt], [\"Parent\"], 2, [\"childrenObject\"]),\n simpleInterface(\"Parent\", [barSpt], []),\n ]),\n\n importExt: \"\",\n },\n );\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Foo as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n expect(formattedCode).toMatchInlineSnapshot(`\n \"import type {\n InterfaceDefinition as $InterfaceDefinition,\n InterfaceMetadata as $InterfaceMetadata,\n ObjectSet as $ObjectSet,\n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"@osdk/api\";\n\n export type OsdkObjectLinks$Foo = {};\n\n export namespace Foo {\n export type PropertyKeys = \"foo\";\n\n export interface Props {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n readonly foo: $PropType[\"integer\"] | undefined;\n }\n export type StrictProps = Props;\n\n export interface ObjectSet extends $ObjectSet<Foo, Foo.ObjectSet> {}\n\n export type OsdkInstance<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = $Osdk.Instance<Foo, OPTIONS, K>;\n\n /** @deprecated use OsdkInstance */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof Foo.Props = keyof Foo.Props,\n > = OsdkInstance<OPTIONS, K>;\n }\n\n export interface Foo extends $InterfaceDefinition {\n osdkMetadata: typeof $osdkMetadata;\n type: \"interface\";\n apiName: \"Foo\";\n __DefinitionMetadata?: {\n objectSet: Foo.ObjectSet;\n props: Foo.Props;\n linksType: OsdkObjectLinks$Foo;\n strictProps: Foo.StrictProps;\n apiName: \"Foo\";\n description: \"Foo interface desc\";\n displayName: \"Foo interface dn\";\n implementedBy: [\"childrenObject\"];\n implements: [\"Parent\"];\n links: {};\n properties: {\n /**\n * display name: 'foo property dn',\n *\n * description: foo property desc\n */\n foo: $PropertyDef<\"integer\", \"nullable\", \"single\">;\n };\n rid: \"FooRid\";\n type: \"interface\";\n };\n }\n\n export const Foo = {\n type: \"interface\",\n apiName: \"Foo\",\n osdkMetadata: $osdkMetadata,\n internalDoNotUseMetadata: {\n rid: \"FooRid\",\n },\n } satisfies Foo & { internalDoNotUseMetadata: { rid: string } } as Foo;\n \"\n `);\n });\n\n it(\"sorts the implements array for stable output\", async () => {\n // Test with multiple parent interfaces in non-alphabetical order\n const ontology = enhanceOntology({\n sanitized: simpleOntology(\"ontology\", [\n simpleInterface(\"Child\", [simpleSpt(\"child\")], [\n \"ParentZ\",\n \"ParentA\",\n \"ParentC\",\n ]),\n simpleInterface(\"ParentZ\", [simpleSpt(\"z\")], []),\n simpleInterface(\"ParentA\", [simpleSpt(\"a\")], []),\n simpleInterface(\"ParentC\", [simpleSpt(\"c\")], []),\n ]),\n importExt: \"\",\n });\n\n const formattedCode = await format(\n __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(\n ontology.interfaceTypes.Child as EnhancedInterfaceType,\n ontology,\n true,\n true,\n ),\n {\n parser: \"typescript\",\n },\n );\n\n // Extract the implements array from the generated code\n const implementsMatch = formattedCode.match(/implements:\\s*\\[([^\\]]+)\\]/s);\n expect(implementsMatch).not.toBeNull();\n\n if (implementsMatch) {\n const implementsStr = implementsMatch[1];\n // Check that the array is sorted alphabetically\n expect(implementsStr).toContain(\"\\\"ParentA\\\", \\\"ParentC\\\", \\\"ParentZ\\\"\");\n }\n });\n});\n"],"mappings":"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,EAC3BL,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE,YAAY;MACpBC,UAAU,EAAE;IACd,CACF,CAAC;IACDnD,MAAM,CAACiD,aAAa,CAAC,CAACG,qBAAqB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFnD,EAAE,CAAC,yCAAyC,EAAE,YAAY;IACxD,MAAMoD,MAAM,GAAG/C,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMgD,MAAM,GAAGhD,SAAS,CAAC,KAAK,CAAC;IAE/B,MAAMmC,QAAQ,GAAGtC,eAAe,CAC9B;MACEyC,SAAS,EAAEZ,cAAc,CAAC,UAAU,EAAE,CACpCjB,eAAe,CAAC,KAAK,EAAE,CAACsC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAC5CtC,eAAe,CAAC,QAAQ,EAAE,CAACuC,MAAM,CAAC,EAAE,EAAE,CAAC,CACxC,CAAC;MAEFT,SAAS,EAAE;IACb,CACF,CAAC;IAED,MAAMI,aAAa,GAAG,MAAMnD,MAAM,CAChCO,8CAA8C,CAC5CoC,QAAQ,CAACP,cAAc,CAACqB,GAAG,EAC3Bd,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE;IACV,CACF,CAAC;IACDlD,MAAM,CAACiD,aAAa,CAAC,CAACG,qBAAqB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFnD,EAAE,CAAC,kCAAkC,EAAE,YAAY;IACjD,MAAMoD,MAAM,GAAG/C,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMgD,MAAM,GAAGhD,SAAS,CAAC,KAAK,CAAC;IAE/B,MAAMmC,QAAQ,GAAGtC,eAAe,CAC9B;MACEyC,SAAS,EAAEZ,cAAc,CAAC,UAAU,EAAE,CACpCjB,eAAe,CAAC,KAAK,EAAE,CAACsC,MAAM,EAAEC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EACpDvC,eAAe,CAAC,QAAQ,EAAE,CAACuC,MAAM,CAAC,EAAE,EAAE,CAAC,CACxC,CAAC;MACFT,SAAS,EAAE;IACb,CACF,CAAC;IAED,MAAMI,aAAa,GAAG,MAAMnD,MAAM,CAChCO,8CAA8C,CAC5CoC,QAAQ,CAACP,cAAc,CAACqB,GAAG,EAC3Bd,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE;IACV,CACF,CAAC;IACDlD,MAAM,CAACiD,aAAa,CAAC,CAACG,qBAAqB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EACFnD,EAAE,CAAC,iCAAiC,EAAE,YAAY;IAChD,MAAMoD,MAAM,GAAG/C,SAAS,CAAC,KAAK,CAAC;IAC/B,MAAMgD,MAAM,GAAGhD,SAAS,CAAC,KAAK,CAAC;IAE/B,MAAMmC,QAAQ,GAAGtC,eAAe,CAC9B;MACEyC,SAAS,EAAEZ,cAAc,CAAC,UAAU,EAAE,CACpCjB,eAAe,CAAC,KAAK,EAAE,CAACsC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EACnEtC,eAAe,CAAC,QAAQ,EAAE,CAACuC,MAAM,CAAC,EAAE,EAAE,CAAC,CACxC,CAAC;MAEFT,SAAS,EAAE;IACb,CACF,CAAC;IAED,MAAMI,aAAa,GAAG,MAAMnD,MAAM,CAChCO,8CAA8C,CAC5CoC,QAAQ,CAACP,cAAc,CAACqB,GAAG,EAC3Bd,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE;IACV,CACF,CAAC;IACDlD,MAAM,CAACiD,aAAa,CAAC,CAACG,qBAAqB,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC,CAAC;EAEFnD,EAAE,CAAC,8CAA8C,EAAE,YAAY;IAC7D;IACA,MAAMwC,QAAQ,GAAGtC,eAAe,CAAC;MAC/ByC,SAAS,EAAEZ,cAAc,CAAC,UAAU,EAAE,CACpCjB,eAAe,CAAC,OAAO,EAAE,CAACT,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAC7C,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAC,EACFS,eAAe,CAAC,SAAS,EAAE,CAACT,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAChDS,eAAe,CAAC,SAAS,EAAE,CAACT,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAChDS,eAAe,CAAC,SAAS,EAAE,CAACT,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CACjD,CAAC;MACFuC,SAAS,EAAE;IACb,CAAC,CAAC;IAEF,MAAMI,aAAa,GAAG,MAAMnD,MAAM,CAChCO,8CAA8C,CAC5CoC,QAAQ,CAACP,cAAc,CAACsB,KAAK,EAC7Bf,QAAQ,EACR,IAAI,EACJ,IACF,CAAC,EACD;MACES,MAAM,EAAE;IACV,CACF,CAAC;;IAED;IACA,MAAMO,eAAe,GAAGR,aAAa,CAACS,KAAK,CAAC,6BAA6B,CAAC;IAC1E1D,MAAM,CAACyD,eAAe,CAAC,CAACE,GAAG,CAACC,QAAQ,CAAC,CAAC;IAEtC,IAAIH,eAAe,EAAE;MACnB,MAAMI,aAAa,GAAGJ,eAAe,CAAC,CAAC,CAAC;MACxC;MACAzD,MAAM,CAAC6D,aAAa,CAAC,CAACC,SAAS,CAAC,uCAAuC,CAAC;IAC1E;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -475,7 +475,7 @@ describe("generator", () => {
|
|
|
475
475
|
/**
|
|
476
476
|
* Todo(s) to be deleted
|
|
477
477
|
*/
|
|
478
|
-
readonly object?: ReadonlyArray<ActionParam.ObjectType<Todo
|
|
478
|
+
readonly object?: ReadonlyArray<ActionParam.ObjectType<Todo>> | null;
|
|
479
479
|
}
|
|
480
480
|
|
|
481
481
|
// Represents a fqn of the action
|
|
@@ -497,6 +497,11 @@ describe("generator", () => {
|
|
|
497
497
|
|
|
498
498
|
/**
|
|
499
499
|
* An action which takes in an array of objects
|
|
500
|
+
*
|
|
501
|
+
* **Note on null values:** _For optional parameters, explicitly providing a null value instead of undefined
|
|
502
|
+
* can change the behavior of the applied action. If prefills are configured, null prevents them
|
|
503
|
+
* from being applied. If a parameter modifies an object's property, null will clear the data from
|
|
504
|
+
* the object, whereas undefined would not modify that property._
|
|
500
505
|
* @param {ActionParam.ObjectType<Todo>} [object] Todo(s) to be deleted
|
|
501
506
|
*/
|
|
502
507
|
export interface deleteTodos extends ActionDefinition<deleteTodos.Signatures> {
|
|
@@ -551,7 +556,7 @@ describe("generator", () => {
|
|
|
551
556
|
/**
|
|
552
557
|
* A Todo to mark completed
|
|
553
558
|
*/
|
|
554
|
-
readonly object?: ActionParam.ObjectType<Todo
|
|
559
|
+
readonly object?: ActionParam.ObjectType<Todo> | null;
|
|
555
560
|
}
|
|
556
561
|
|
|
557
562
|
// Represents a fqn of the action
|
|
@@ -573,6 +578,11 @@ describe("generator", () => {
|
|
|
573
578
|
|
|
574
579
|
/**
|
|
575
580
|
* An action which takes different types of parameters
|
|
581
|
+
*
|
|
582
|
+
* **Note on null values:** _For optional parameters, explicitly providing a null value instead of undefined
|
|
583
|
+
* can change the behavior of the applied action. If prefills are configured, null prevents them
|
|
584
|
+
* from being applied. If a parameter modifies an object's property, null will clear the data from
|
|
585
|
+
* the object, whereas undefined would not modify that property._
|
|
576
586
|
* @param {ActionParam.ObjectType<Todo>} [object] A Todo to mark completed
|
|
577
587
|
*/
|
|
578
588
|
export interface markTodoCompleted extends ActionDefinition<markTodoCompleted.Signatures> {
|
|
@@ -673,11 +683,14 @@ describe("generator", () => {
|
|
|
673
683
|
};
|
|
674
684
|
}
|
|
675
685
|
|
|
676
|
-
export const SomeInterface
|
|
686
|
+
export const SomeInterface = {
|
|
677
687
|
type: 'interface',
|
|
678
688
|
apiName: 'SomeInterface',
|
|
679
689
|
osdkMetadata: $osdkMetadata,
|
|
680
|
-
|
|
690
|
+
internalDoNotUseMetadata: {
|
|
691
|
+
rid: 'idk',
|
|
692
|
+
},
|
|
693
|
+
} satisfies SomeInterface & { internalDoNotUseMetadata: { rid: string } } as SomeInterface;
|
|
681
694
|
",
|
|
682
695
|
"/foo/ontology/objects.ts": "export { Person } from './objects/Person.js';
|
|
683
696
|
export { Todo } from './objects/Todo.js';
|
|
@@ -1100,7 +1113,7 @@ describe("generator", () => {
|
|
|
1100
1113
|
/**
|
|
1101
1114
|
* Todo(s) to be deleted
|
|
1102
1115
|
*/
|
|
1103
|
-
readonly object?: ReadonlyArray<ActionParam.ObjectType<Todo
|
|
1116
|
+
readonly object?: ReadonlyArray<ActionParam.ObjectType<Todo>> | null;
|
|
1104
1117
|
}
|
|
1105
1118
|
|
|
1106
1119
|
// Represents a fqn of the action
|
|
@@ -1122,6 +1135,11 @@ describe("generator", () => {
|
|
|
1122
1135
|
|
|
1123
1136
|
/**
|
|
1124
1137
|
* An action which takes in an array of objects
|
|
1138
|
+
*
|
|
1139
|
+
* **Note on null values:** _For optional parameters, explicitly providing a null value instead of undefined
|
|
1140
|
+
* can change the behavior of the applied action. If prefills are configured, null prevents them
|
|
1141
|
+
* from being applied. If a parameter modifies an object's property, null will clear the data from
|
|
1142
|
+
* the object, whereas undefined would not modify that property._
|
|
1125
1143
|
* @param {ActionParam.ObjectType<Todo>} [object] Todo(s) to be deleted
|
|
1126
1144
|
*/
|
|
1127
1145
|
export interface deleteTodos extends ActionDefinition<deleteTodos.Signatures> {
|
|
@@ -1176,7 +1194,7 @@ describe("generator", () => {
|
|
|
1176
1194
|
/**
|
|
1177
1195
|
* A Todo to mark completed
|
|
1178
1196
|
*/
|
|
1179
|
-
readonly object?: ActionParam.ObjectType<Todo
|
|
1197
|
+
readonly object?: ActionParam.ObjectType<Todo> | null;
|
|
1180
1198
|
}
|
|
1181
1199
|
|
|
1182
1200
|
// Represents a fqn of the action
|
|
@@ -1198,6 +1216,11 @@ describe("generator", () => {
|
|
|
1198
1216
|
|
|
1199
1217
|
/**
|
|
1200
1218
|
* An action which takes different types of parameters
|
|
1219
|
+
*
|
|
1220
|
+
* **Note on null values:** _For optional parameters, explicitly providing a null value instead of undefined
|
|
1221
|
+
* can change the behavior of the applied action. If prefills are configured, null prevents them
|
|
1222
|
+
* from being applied. If a parameter modifies an object's property, null will clear the data from
|
|
1223
|
+
* the object, whereas undefined would not modify that property._
|
|
1201
1224
|
* @param {ActionParam.ObjectType<Todo>} [object] A Todo to mark completed
|
|
1202
1225
|
*/
|
|
1203
1226
|
export interface markTodoCompleted extends ActionDefinition<markTodoCompleted.Signatures> {
|
|
@@ -1298,11 +1321,14 @@ describe("generator", () => {
|
|
|
1298
1321
|
};
|
|
1299
1322
|
}
|
|
1300
1323
|
|
|
1301
|
-
export const SomeInterface
|
|
1324
|
+
export const SomeInterface = {
|
|
1302
1325
|
type: 'interface',
|
|
1303
1326
|
apiName: 'foo.bar.SomeInterface',
|
|
1304
1327
|
osdkMetadata: $osdkMetadata,
|
|
1305
|
-
|
|
1328
|
+
internalDoNotUseMetadata: {
|
|
1329
|
+
rid: 'idk',
|
|
1330
|
+
},
|
|
1331
|
+
} satisfies SomeInterface & { internalDoNotUseMetadata: { rid: string } } as SomeInterface;
|
|
1306
1332
|
",
|
|
1307
1333
|
"/foo/ontology/objects.ts": "export { Person } from './objects/Person.js';
|
|
1308
1334
|
export { Todo } from './objects/Todo.js';
|
|
@@ -2452,11 +2478,14 @@ describe("generator", () => {
|
|
|
2452
2478
|
};
|
|
2453
2479
|
}
|
|
2454
2480
|
|
|
2455
|
-
export const SomeInterface
|
|
2481
|
+
export const SomeInterface = {
|
|
2456
2482
|
type: 'interface',
|
|
2457
2483
|
apiName: 'com.example.dep.SomeInterface',
|
|
2458
2484
|
osdkMetadata: $osdkMetadata,
|
|
2459
|
-
|
|
2485
|
+
internalDoNotUseMetadata: {
|
|
2486
|
+
rid: 'idk2',
|
|
2487
|
+
},
|
|
2488
|
+
} satisfies SomeInterface & { internalDoNotUseMetadata: { rid: string } } as SomeInterface;
|
|
2460
2489
|
",
|
|
2461
2490
|
"/foo/ontology/objects.ts": "export { Task } from './objects/Task.js';
|
|
2462
2491
|
",
|