@osdk/maker 0.13.0 → 0.14.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/CHANGELOG.md +102 -36
  2. package/README.md +86 -22
  3. package/build/browser/api/action/DefaultFormat.js +2 -0
  4. package/build/browser/api/action/DefaultFormat.js.map +1 -0
  5. package/build/browser/api/action/TableConfiguration.js +2 -0
  6. package/build/browser/api/action/TableConfiguration.js.map +1 -0
  7. package/build/browser/api/code-snippets/createCodeSnippets.js +91 -0
  8. package/build/browser/api/code-snippets/createCodeSnippets.js.map +1 -0
  9. package/build/browser/api/code-snippets/snippetTypes.js +60 -0
  10. package/build/browser/api/code-snippets/snippetTypes.js.map +1 -0
  11. package/build/browser/api/defineAction.js +131 -414
  12. package/build/browser/api/defineAction.js.map +1 -1
  13. package/build/browser/api/defineCreateInterfaceObjectAction.js +85 -0
  14. package/build/browser/api/defineCreateInterfaceObjectAction.js.map +1 -0
  15. package/build/browser/api/defineCreateObjectAction.js +80 -0
  16. package/build/browser/api/defineCreateObjectAction.js.map +1 -0
  17. package/build/browser/api/defineCreateOrModifyObjectAction.js +95 -0
  18. package/build/browser/api/defineCreateOrModifyObjectAction.js.map +1 -0
  19. package/build/browser/api/defineDeleteInterfaceObjectAction.js +53 -0
  20. package/build/browser/api/defineDeleteInterfaceObjectAction.js.map +1 -0
  21. package/build/browser/api/defineDeleteObjectAction.js +56 -0
  22. package/build/browser/api/defineDeleteObjectAction.js.map +1 -0
  23. package/build/browser/api/defineLink.js +5 -13
  24. package/build/browser/api/defineLink.js.map +1 -1
  25. package/build/browser/api/defineModifyInterfaceObjectAction.js +84 -0
  26. package/build/browser/api/defineModifyInterfaceObjectAction.js.map +1 -0
  27. package/build/browser/api/defineModifyObjectAction.js +93 -0
  28. package/build/browser/api/defineModifyObjectAction.js.map +1 -0
  29. package/build/browser/api/defineObject.js +94 -3
  30. package/build/browser/api/defineObject.js.map +1 -1
  31. package/build/browser/api/defineOntology.js +6 -1
  32. package/build/browser/api/defineOntology.js.map +1 -1
  33. package/build/browser/api/links/LinkType.js.map +1 -1
  34. package/build/browser/api/object/ObjectType.js.map +1 -1
  35. package/build/browser/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
  36. package/build/browser/api/object/ObjectTypeDefinition.js.map +1 -1
  37. package/build/browser/api/test/actions.test.js +12034 -0
  38. package/build/browser/api/test/actions.test.js.map +1 -0
  39. package/build/browser/api/test/interfaces.test.js +924 -0
  40. package/build/browser/api/test/interfaces.test.js.map +1 -0
  41. package/build/browser/api/test/links.test.js +1974 -0
  42. package/build/browser/api/test/links.test.js.map +1 -0
  43. package/build/browser/api/{markingconstraint.test.js → test/markingconstraint.test.js} +28 -2
  44. package/build/browser/api/test/markingconstraint.test.js.map +1 -0
  45. package/build/browser/api/test/misc.test.js +1058 -0
  46. package/build/browser/api/test/misc.test.js.map +1 -0
  47. package/build/browser/api/{objectStatus.test.js → test/objectStatus.test.js} +2 -2
  48. package/build/browser/api/test/objectStatus.test.js.map +1 -0
  49. package/build/browser/api/test/objects.test.js +2591 -0
  50. package/build/browser/api/test/objects.test.js.map +1 -0
  51. package/build/browser/api/test/spt.test.js +387 -0
  52. package/build/browser/api/test/spt.test.js.map +1 -0
  53. package/build/browser/api/test/valueTypes.test.js +156 -0
  54. package/build/browser/api/test/valueTypes.test.js.map +1 -0
  55. package/build/browser/cli/main.js +25 -6
  56. package/build/browser/cli/main.js.map +1 -1
  57. package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js +2 -2
  58. package/build/browser/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -1
  59. package/build/browser/conversion/toMarketplace/convertActionValidation.js +2 -2
  60. package/build/browser/conversion/toMarketplace/convertActionValidation.js.map +1 -1
  61. package/build/browser/conversion/toMarketplace/convertConditionDefinition.js +5 -3
  62. package/build/browser/conversion/toMarketplace/convertConditionDefinition.js.map +1 -1
  63. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js +3 -2
  64. package/build/browser/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
  65. package/build/browser/conversion/toMarketplace/convertLink.js +109 -24
  66. package/build/browser/conversion/toMarketplace/convertLink.js.map +1 -1
  67. package/build/browser/conversion/toMarketplace/convertObject.js +81 -4
  68. package/build/browser/conversion/toMarketplace/convertObject.js.map +1 -1
  69. package/build/browser/conversion/toMarketplace/convertSectionConditionalOverride.js +2 -2
  70. package/build/browser/conversion/toMarketplace/convertSectionConditionalOverride.js.map +1 -1
  71. package/build/browser/index.js +8 -1
  72. package/build/browser/index.js.map +1 -1
  73. package/build/cjs/index.cjs +1716 -797
  74. package/build/cjs/index.cjs.map +1 -1
  75. package/build/cjs/index.d.cts +184 -115
  76. package/build/esm/api/action/DefaultFormat.js +2 -0
  77. package/build/esm/api/action/DefaultFormat.js.map +1 -0
  78. package/build/esm/api/action/TableConfiguration.js +2 -0
  79. package/build/esm/api/action/TableConfiguration.js.map +1 -0
  80. package/build/esm/api/code-snippets/createCodeSnippets.js +91 -0
  81. package/build/esm/api/code-snippets/createCodeSnippets.js.map +1 -0
  82. package/build/esm/api/code-snippets/snippetTypes.js +60 -0
  83. package/build/esm/api/code-snippets/snippetTypes.js.map +1 -0
  84. package/build/esm/api/defineAction.js +131 -414
  85. package/build/esm/api/defineAction.js.map +1 -1
  86. package/build/esm/api/defineCreateInterfaceObjectAction.js +85 -0
  87. package/build/esm/api/defineCreateInterfaceObjectAction.js.map +1 -0
  88. package/build/esm/api/defineCreateObjectAction.js +80 -0
  89. package/build/esm/api/defineCreateObjectAction.js.map +1 -0
  90. package/build/esm/api/defineCreateOrModifyObjectAction.js +95 -0
  91. package/build/esm/api/defineCreateOrModifyObjectAction.js.map +1 -0
  92. package/build/esm/api/defineDeleteInterfaceObjectAction.js +53 -0
  93. package/build/esm/api/defineDeleteInterfaceObjectAction.js.map +1 -0
  94. package/build/esm/api/defineDeleteObjectAction.js +56 -0
  95. package/build/esm/api/defineDeleteObjectAction.js.map +1 -0
  96. package/build/esm/api/defineLink.js +5 -13
  97. package/build/esm/api/defineLink.js.map +1 -1
  98. package/build/esm/api/defineModifyInterfaceObjectAction.js +84 -0
  99. package/build/esm/api/defineModifyInterfaceObjectAction.js.map +1 -0
  100. package/build/esm/api/defineModifyObjectAction.js +93 -0
  101. package/build/esm/api/defineModifyObjectAction.js.map +1 -0
  102. package/build/esm/api/defineObject.js +94 -3
  103. package/build/esm/api/defineObject.js.map +1 -1
  104. package/build/esm/api/defineOntology.js +6 -1
  105. package/build/esm/api/defineOntology.js.map +1 -1
  106. package/build/esm/api/links/LinkType.js.map +1 -1
  107. package/build/esm/api/object/ObjectType.js.map +1 -1
  108. package/build/esm/api/object/ObjectTypeDatasourceDefinition.js.map +1 -1
  109. package/build/esm/api/object/ObjectTypeDefinition.js.map +1 -1
  110. package/build/esm/api/test/actions.test.js +12034 -0
  111. package/build/esm/api/test/actions.test.js.map +1 -0
  112. package/build/esm/api/test/interfaces.test.js +924 -0
  113. package/build/esm/api/test/interfaces.test.js.map +1 -0
  114. package/build/esm/api/test/links.test.js +1974 -0
  115. package/build/esm/api/test/links.test.js.map +1 -0
  116. package/build/esm/api/{markingconstraint.test.js → test/markingconstraint.test.js} +28 -2
  117. package/build/esm/api/test/markingconstraint.test.js.map +1 -0
  118. package/build/esm/api/test/misc.test.js +1058 -0
  119. package/build/esm/api/test/misc.test.js.map +1 -0
  120. package/build/esm/api/{objectStatus.test.js → test/objectStatus.test.js} +2 -2
  121. package/build/esm/api/test/objectStatus.test.js.map +1 -0
  122. package/build/esm/api/test/objects.test.js +2591 -0
  123. package/build/esm/api/test/objects.test.js.map +1 -0
  124. package/build/esm/api/test/spt.test.js +387 -0
  125. package/build/esm/api/test/spt.test.js.map +1 -0
  126. package/build/esm/api/test/valueTypes.test.js +156 -0
  127. package/build/esm/api/test/valueTypes.test.js.map +1 -0
  128. package/build/esm/cli/main.js +25 -6
  129. package/build/esm/cli/main.js.map +1 -1
  130. package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js +2 -2
  131. package/build/esm/conversion/toMarketplace/convertActionParameterConditionalOverride.js.map +1 -1
  132. package/build/esm/conversion/toMarketplace/convertActionValidation.js +2 -2
  133. package/build/esm/conversion/toMarketplace/convertActionValidation.js.map +1 -1
  134. package/build/esm/conversion/toMarketplace/convertConditionDefinition.js +5 -3
  135. package/build/esm/conversion/toMarketplace/convertConditionDefinition.js.map +1 -1
  136. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js +3 -2
  137. package/build/esm/conversion/toMarketplace/convertDatasourceDefinition.js.map +1 -1
  138. package/build/esm/conversion/toMarketplace/convertLink.js +109 -24
  139. package/build/esm/conversion/toMarketplace/convertLink.js.map +1 -1
  140. package/build/esm/conversion/toMarketplace/convertObject.js +81 -4
  141. package/build/esm/conversion/toMarketplace/convertObject.js.map +1 -1
  142. package/build/esm/conversion/toMarketplace/convertSectionConditionalOverride.js +2 -2
  143. package/build/esm/conversion/toMarketplace/convertSectionConditionalOverride.js.map +1 -1
  144. package/build/esm/index.js +8 -1
  145. package/build/esm/index.js.map +1 -1
  146. package/build/types/api/action/DefaultFormat.d.ts +1 -0
  147. package/build/types/api/action/DefaultFormat.d.ts.map +1 -0
  148. package/build/types/api/action/TableConfiguration.d.ts +8 -0
  149. package/build/types/api/action/TableConfiguration.d.ts.map +1 -0
  150. package/build/types/api/code-snippets/createCodeSnippets.d.ts +2 -0
  151. package/build/types/api/code-snippets/createCodeSnippets.d.ts.map +1 -0
  152. package/build/types/api/code-snippets/snippetTypes.d.ts +23 -0
  153. package/build/types/api/code-snippets/snippetTypes.d.ts.map +1 -0
  154. package/build/types/api/defineAction.d.ts +34 -10
  155. package/build/types/api/defineAction.d.ts.map +1 -1
  156. package/build/types/api/defineCreateInterfaceObjectAction.d.ts +3 -0
  157. package/build/types/api/defineCreateInterfaceObjectAction.d.ts.map +1 -0
  158. package/build/types/api/defineCreateObjectAction.d.ts +3 -0
  159. package/build/types/api/defineCreateObjectAction.d.ts.map +1 -0
  160. package/build/types/api/defineCreateOrModifyObjectAction.d.ts +3 -0
  161. package/build/types/api/defineCreateOrModifyObjectAction.d.ts.map +1 -0
  162. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts +3 -0
  163. package/build/types/api/defineDeleteInterfaceObjectAction.d.ts.map +1 -0
  164. package/build/types/api/defineDeleteObjectAction.d.ts +3 -0
  165. package/build/types/api/defineDeleteObjectAction.d.ts.map +1 -0
  166. package/build/types/api/defineLink.d.ts.map +1 -1
  167. package/build/types/api/defineModifyInterfaceObjectAction.d.ts +3 -0
  168. package/build/types/api/defineModifyInterfaceObjectAction.d.ts.map +1 -0
  169. package/build/types/api/defineModifyObjectAction.d.ts +3 -0
  170. package/build/types/api/defineModifyObjectAction.d.ts.map +1 -0
  171. package/build/types/api/defineObject.d.ts.map +1 -1
  172. package/build/types/api/defineOntology.d.ts +1 -1
  173. package/build/types/api/defineOntology.d.ts.map +1 -1
  174. package/build/types/api/links/LinkType.d.ts +7 -7
  175. package/build/types/api/object/ObjectType.d.ts +1 -1
  176. package/build/types/api/object/ObjectType.d.ts.map +1 -1
  177. package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts +41 -1
  178. package/build/types/api/object/ObjectTypeDatasourceDefinition.d.ts.map +1 -1
  179. package/build/types/api/object/ObjectTypeDefinition.d.ts +1 -1
  180. package/build/types/api/object/ObjectTypeDefinition.d.ts.map +1 -1
  181. package/build/types/api/test/actions.test.d.ts.map +1 -0
  182. package/build/types/api/test/interfaces.test.d.ts.map +1 -0
  183. package/build/types/api/test/links.test.d.ts.map +1 -0
  184. package/build/types/api/test/markingconstraint.test.d.ts +1 -0
  185. package/build/types/api/test/markingconstraint.test.d.ts.map +1 -0
  186. package/build/types/api/test/misc.test.d.ts +1 -0
  187. package/build/types/api/test/misc.test.d.ts.map +1 -0
  188. package/build/types/api/test/objectStatus.test.d.ts +1 -0
  189. package/build/types/api/test/objectStatus.test.d.ts.map +1 -0
  190. package/build/types/api/test/objects.test.d.ts +1 -0
  191. package/build/types/api/test/objects.test.d.ts.map +1 -0
  192. package/build/types/api/test/spt.test.d.ts +1 -0
  193. package/build/types/api/test/spt.test.d.ts.map +1 -0
  194. package/build/types/api/test/valueTypes.test.d.ts +1 -0
  195. package/build/types/api/test/valueTypes.test.d.ts.map +1 -0
  196. package/build/types/cli/main.d.ts.map +1 -1
  197. package/build/types/conversion/toMarketplace/convertActionParameterConditionalOverride.d.ts +2 -2
  198. package/build/types/conversion/toMarketplace/convertActionParameterConditionalOverride.d.ts.map +1 -1
  199. package/build/types/conversion/toMarketplace/convertConditionDefinition.d.ts +2 -1
  200. package/build/types/conversion/toMarketplace/convertConditionDefinition.d.ts.map +1 -1
  201. package/build/types/conversion/toMarketplace/convertLink.d.ts +6 -0
  202. package/build/types/conversion/toMarketplace/convertLink.d.ts.map +1 -1
  203. package/build/types/conversion/toMarketplace/convertObject.d.ts.map +1 -1
  204. package/build/types/conversion/toMarketplace/convertSectionConditionalOverride.d.ts +2 -1
  205. package/build/types/conversion/toMarketplace/convertSectionConditionalOverride.d.ts.map +1 -1
  206. package/build/types/index.d.ts +8 -1
  207. package/build/types/index.d.ts.map +1 -1
  208. package/package.json +6 -6
  209. package/build/browser/api/markingconstraint.test.js.map +0 -1
  210. package/build/browser/api/objectStatus.test.js.map +0 -1
  211. package/build/browser/api/overall.test.js +0 -13998
  212. package/build/browser/api/overall.test.js.map +0 -1
  213. package/build/esm/api/markingconstraint.test.js.map +0 -1
  214. package/build/esm/api/objectStatus.test.js.map +0 -1
  215. package/build/esm/api/overall.test.js +0 -13998
  216. package/build/esm/api/overall.test.js.map +0 -1
  217. package/build/types/api/markingconstraint.test.d.ts.map +0 -1
  218. package/build/types/api/objectStatus.test.d.ts.map +0 -1
  219. package/build/types/api/overall.test.d.ts.map +0 -1
  220. /package/build/types/api/{markingconstraint.test.d.ts → test/actions.test.d.ts} +0 -0
  221. /package/build/types/api/{objectStatus.test.d.ts → test/interfaces.test.d.ts} +0 -0
  222. /package/build/types/api/{overall.test.d.ts → test/links.test.d.ts} +0 -0
@@ -0,0 +1,2591 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { beforeEach, describe, expect, it } from "vitest";
18
+ import { defineCreateObjectAction } from "../defineCreateObjectAction.js";
19
+ import { defineDeleteObjectAction } from "../defineDeleteObjectAction.js";
20
+ import { defineInterface } from "../defineInterface.js";
21
+ import { defineLink } from "../defineLink.js";
22
+ import { defineObject } from "../defineObject.js";
23
+ import { defineOntology, dumpOntologyFullMetadata } from "../defineOntology.js";
24
+ import { defineSharedPropertyType } from "../defineSpt.js";
25
+ describe("Object Types", () => {
26
+ beforeEach(async () => {
27
+ await defineOntology("com.palantir.", () => {}, "/tmp/");
28
+ });
29
+ it("Fails if the api name is invalid", () => {
30
+ expect(() => {
31
+ defineObject({
32
+ titlePropertyApiName: "bar",
33
+ displayName: "Foo",
34
+ pluralDisplayName: "Foo",
35
+ apiName: "foo_with_underscores",
36
+ primaryKeyPropertyApiName: "bar",
37
+ properties: {
38
+ "bar": {
39
+ type: "string"
40
+ }
41
+ }
42
+ });
43
+ }).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Invalid API name foo_with_underscores. API names must match the regex /^([a-zA-Z][a-zA-Z0-9\\\\-]*)$/.]`);
44
+ });
45
+ it("Fails if any property reference does not exist", () => {
46
+ const spt = defineSharedPropertyType({
47
+ apiName: "foo",
48
+ type: "string"
49
+ });
50
+ const sample = defineInterface({
51
+ apiName: "interface",
52
+ properties: {
53
+ foo: spt
54
+ }
55
+ });
56
+ expect(() => {
57
+ defineObject({
58
+ titlePropertyApiName: "fizz",
59
+ displayName: "Foo",
60
+ pluralDisplayName: "Foo",
61
+ apiName: "foo",
62
+ primaryKeyPropertyApiName: "bar",
63
+ properties: {
64
+ "bar": {
65
+ type: "string"
66
+ }
67
+ }
68
+ });
69
+ }).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Title property fizz is not defined on object foo]`);
70
+ expect(() => {
71
+ defineObject({
72
+ titlePropertyApiName: "bar",
73
+ displayName: "Foo",
74
+ pluralDisplayName: "Foo",
75
+ apiName: "foo",
76
+ primaryKeyPropertyApiName: "fizz",
77
+ properties: {
78
+ "bar": {
79
+ type: "string"
80
+ }
81
+ }
82
+ });
83
+ }).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Primary key property fizz does not exist on object foo]`);
84
+ expect(() => {
85
+ defineObject({
86
+ titlePropertyApiName: "bar",
87
+ displayName: "Foo",
88
+ pluralDisplayName: "Foo",
89
+ apiName: "foo",
90
+ primaryKeyPropertyApiName: "bar",
91
+ properties: {
92
+ "bar": {
93
+ type: "string"
94
+ }
95
+ },
96
+ implementsInterfaces: [{
97
+ implements: sample,
98
+ propertyMapping: [{
99
+ interfaceProperty: "com.palantir.foo",
100
+ mapsTo: "fizz"
101
+ }]
102
+ }]
103
+ });
104
+ }).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: \nOntology Definition Error: Object property mapped to interface does not exist. Object Property Mapped: fizz\n]`);
105
+ expect(() => {
106
+ defineObject({
107
+ titlePropertyApiName: "bar",
108
+ displayName: "Foo",
109
+ pluralDisplayName: "Foo",
110
+ apiName: "foo",
111
+ primaryKeyPropertyApiName: "bar",
112
+ properties: {
113
+ "bar": {
114
+ type: "string"
115
+ }
116
+ },
117
+ implementsInterfaces: [{
118
+ implements: sample,
119
+ propertyMapping: [{
120
+ interfaceProperty: "com.palantir.fizz",
121
+ mapsTo: "bar"
122
+ }, {
123
+ interfaceProperty: "com.palantir.foo",
124
+ mapsTo: "bar"
125
+ }]
126
+ }]
127
+ });
128
+ }).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: \nOntology Definition Error: Interface property com.palantir.fizz referenced in foo object does not exist\n]`);
129
+ });
130
+ it("Objects properly defined", () => {
131
+ const spt = defineSharedPropertyType({
132
+ apiName: "foo",
133
+ type: "string"
134
+ });
135
+ const sample = defineInterface({
136
+ apiName: "interface",
137
+ properties: {
138
+ foo: spt
139
+ }
140
+ });
141
+ defineObject({
142
+ titlePropertyApiName: "bar",
143
+ displayName: "Foo",
144
+ pluralDisplayName: "Foo",
145
+ apiName: "foo",
146
+ primaryKeyPropertyApiName: "bar",
147
+ properties: {
148
+ "bar": {
149
+ type: "string",
150
+ displayName: "Bar"
151
+ },
152
+ "arrayProp": {
153
+ type: "string",
154
+ array: true,
155
+ displayName: "Array Property Test"
156
+ },
157
+ "geopoint": {
158
+ type: {
159
+ type: "struct",
160
+ structDefinition: {
161
+ lat: "double",
162
+ lng: "double"
163
+ }
164
+ },
165
+ displayName: "geopoint"
166
+ }
167
+ },
168
+ implementsInterfaces: [{
169
+ implements: sample,
170
+ propertyMapping: [{
171
+ interfaceProperty: "foo",
172
+ mapsTo: "bar"
173
+ }]
174
+ }]
175
+ });
176
+ expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`
177
+ {
178
+ "actionTypes": {},
179
+ "blockPermissionInformation": {
180
+ "actionTypes": {},
181
+ "linkTypes": {},
182
+ "objectTypes": {},
183
+ },
184
+ "interfaceTypes": {
185
+ "com.palantir.interface": {
186
+ "interfaceType": {
187
+ "apiName": "com.palantir.interface",
188
+ "displayMetadata": {
189
+ "description": "interface",
190
+ "displayName": "interface",
191
+ "icon": {
192
+ "blueprint": {
193
+ "color": "#4C90F0",
194
+ "locator": "layout-hierarchy",
195
+ },
196
+ "type": "blueprint",
197
+ },
198
+ },
199
+ "extendsInterfaces": [],
200
+ "links": [],
201
+ "properties": [],
202
+ "propertiesV2": {
203
+ "com.palantir.foo": {
204
+ "required": true,
205
+ "sharedPropertyType": {
206
+ "aliases": [],
207
+ "apiName": "com.palantir.foo",
208
+ "baseFormatter": undefined,
209
+ "dataConstraints": undefined,
210
+ "displayMetadata": {
211
+ "description": undefined,
212
+ "displayName": "foo",
213
+ "visibility": "NORMAL",
214
+ },
215
+ "gothamMapping": undefined,
216
+ "indexedForSearch": true,
217
+ "type": {
218
+ "string": {
219
+ "analyzerOverride": undefined,
220
+ "enableAsciiFolding": undefined,
221
+ "isLongText": false,
222
+ "supportsEfficientLeadingWildcard": false,
223
+ "supportsExactMatching": true,
224
+ },
225
+ "type": "string",
226
+ },
227
+ "typeClasses": [
228
+ {
229
+ "kind": "render_hint",
230
+ "name": "SELECTABLE",
231
+ },
232
+ {
233
+ "kind": "render_hint",
234
+ "name": "SORTABLE",
235
+ },
236
+ ],
237
+ "valueType": undefined,
238
+ },
239
+ },
240
+ },
241
+ "propertiesV3": {},
242
+ "searchable": true,
243
+ "status": {
244
+ "active": {},
245
+ "type": "active",
246
+ },
247
+ },
248
+ },
249
+ },
250
+ "linkTypes": {},
251
+ "objectTypes": {
252
+ "com.palantir.foo": {
253
+ "datasources": [
254
+ {
255
+ "datasource": {
256
+ "datasetV2": {
257
+ "datasetRid": "com.palantir.foo",
258
+ "propertyMapping": {
259
+ "arrayProp": {
260
+ "column": "arrayProp",
261
+ "type": "column",
262
+ },
263
+ "bar": {
264
+ "column": "bar",
265
+ "type": "column",
266
+ },
267
+ "geopoint": {
268
+ "struct": {
269
+ "column": "geopoint",
270
+ "mapping": {
271
+ "lat": {
272
+ "apiName": "lat",
273
+ "mappings": {},
274
+ },
275
+ "lng": {
276
+ "apiName": "lng",
277
+ "mappings": {},
278
+ },
279
+ },
280
+ },
281
+ "type": "struct",
282
+ },
283
+ },
284
+ },
285
+ "type": "datasetV2",
286
+ },
287
+ "datasourceName": "com.palantir.foo",
288
+ "editsConfiguration": {
289
+ "onlyAllowPrivilegedEdits": false,
290
+ },
291
+ "redacted": false,
292
+ },
293
+ ],
294
+ "entityMetadata": {
295
+ "arePatchesEnabled": false,
296
+ },
297
+ "objectType": {
298
+ "allImplementsInterfaces": {},
299
+ "apiName": "com.palantir.foo",
300
+ "displayMetadata": {
301
+ "description": undefined,
302
+ "displayName": "Foo",
303
+ "groupDisplayName": undefined,
304
+ "icon": {
305
+ "blueprint": {
306
+ "color": "#2D72D2",
307
+ "locator": "cube",
308
+ },
309
+ "type": "blueprint",
310
+ },
311
+ "pluralDisplayName": "Foo",
312
+ "visibility": "NORMAL",
313
+ },
314
+ "implementsInterfaces2": [
315
+ {
316
+ "interfaceTypeApiName": "com.palantir.interface",
317
+ "linksV2": {},
318
+ "properties": {
319
+ "com.palantir.foo": {
320
+ "propertyTypeRid": "bar",
321
+ },
322
+ },
323
+ "propertiesV2": {},
324
+ },
325
+ ],
326
+ "primaryKeys": [
327
+ "bar",
328
+ ],
329
+ "propertyTypes": {
330
+ "arrayProp": {
331
+ "apiName": "arrayProp",
332
+ "baseFormatter": undefined,
333
+ "dataConstraints": undefined,
334
+ "displayMetadata": {
335
+ "description": undefined,
336
+ "displayName": "Array Property Test",
337
+ "visibility": "NORMAL",
338
+ },
339
+ "indexedForSearch": true,
340
+ "inlineAction": undefined,
341
+ "ruleSetBinding": undefined,
342
+ "sharedPropertyTypeApiName": undefined,
343
+ "sharedPropertyTypeRid": undefined,
344
+ "status": {
345
+ "active": {},
346
+ "type": "active",
347
+ },
348
+ "type": {
349
+ "array": {
350
+ "subtype": {
351
+ "string": {
352
+ "analyzerOverride": undefined,
353
+ "enableAsciiFolding": undefined,
354
+ "isLongText": false,
355
+ "supportsEfficientLeadingWildcard": false,
356
+ "supportsExactMatching": true,
357
+ },
358
+ "type": "string",
359
+ },
360
+ },
361
+ "type": "array",
362
+ },
363
+ "typeClasses": [
364
+ {
365
+ "kind": "render_hint",
366
+ "name": "SELECTABLE",
367
+ },
368
+ {
369
+ "kind": "render_hint",
370
+ "name": "SORTABLE",
371
+ },
372
+ ],
373
+ "valueType": undefined,
374
+ },
375
+ "bar": {
376
+ "apiName": "bar",
377
+ "baseFormatter": undefined,
378
+ "dataConstraints": undefined,
379
+ "displayMetadata": {
380
+ "description": undefined,
381
+ "displayName": "Bar",
382
+ "visibility": "NORMAL",
383
+ },
384
+ "indexedForSearch": true,
385
+ "inlineAction": undefined,
386
+ "ruleSetBinding": undefined,
387
+ "sharedPropertyTypeApiName": undefined,
388
+ "sharedPropertyTypeRid": undefined,
389
+ "status": {
390
+ "active": {},
391
+ "type": "active",
392
+ },
393
+ "type": {
394
+ "string": {
395
+ "analyzerOverride": undefined,
396
+ "enableAsciiFolding": undefined,
397
+ "isLongText": false,
398
+ "supportsEfficientLeadingWildcard": false,
399
+ "supportsExactMatching": true,
400
+ },
401
+ "type": "string",
402
+ },
403
+ "typeClasses": [
404
+ {
405
+ "kind": "render_hint",
406
+ "name": "SELECTABLE",
407
+ },
408
+ {
409
+ "kind": "render_hint",
410
+ "name": "SORTABLE",
411
+ },
412
+ ],
413
+ "valueType": undefined,
414
+ },
415
+ "geopoint": {
416
+ "apiName": "geopoint",
417
+ "baseFormatter": undefined,
418
+ "dataConstraints": undefined,
419
+ "displayMetadata": {
420
+ "description": undefined,
421
+ "displayName": "geopoint",
422
+ "visibility": "NORMAL",
423
+ },
424
+ "indexedForSearch": true,
425
+ "inlineAction": undefined,
426
+ "ruleSetBinding": undefined,
427
+ "sharedPropertyTypeApiName": undefined,
428
+ "sharedPropertyTypeRid": undefined,
429
+ "status": {
430
+ "active": {},
431
+ "type": "active",
432
+ },
433
+ "type": {
434
+ "struct": {
435
+ "structFields": [
436
+ {
437
+ "aliases": [],
438
+ "apiName": "lat",
439
+ "displayMetadata": {
440
+ "description": undefined,
441
+ "displayName": "lat",
442
+ },
443
+ "fieldType": {
444
+ "double": {},
445
+ "type": "double",
446
+ },
447
+ "typeClasses": [],
448
+ },
449
+ {
450
+ "aliases": [],
451
+ "apiName": "lng",
452
+ "displayMetadata": {
453
+ "description": undefined,
454
+ "displayName": "lng",
455
+ },
456
+ "fieldType": {
457
+ "double": {},
458
+ "type": "double",
459
+ },
460
+ "typeClasses": [],
461
+ },
462
+ ],
463
+ },
464
+ "type": "struct",
465
+ },
466
+ "typeClasses": [],
467
+ "valueType": undefined,
468
+ },
469
+ },
470
+ "redacted": false,
471
+ "status": {
472
+ "active": {},
473
+ "type": "active",
474
+ },
475
+ "titlePropertyTypeRid": "bar",
476
+ },
477
+ },
478
+ },
479
+ "sharedPropertyTypes": {
480
+ "com.palantir.foo": {
481
+ "sharedPropertyType": {
482
+ "aliases": [],
483
+ "apiName": "com.palantir.foo",
484
+ "baseFormatter": undefined,
485
+ "dataConstraints": undefined,
486
+ "displayMetadata": {
487
+ "description": undefined,
488
+ "displayName": "foo",
489
+ "visibility": "NORMAL",
490
+ },
491
+ "gothamMapping": undefined,
492
+ "indexedForSearch": true,
493
+ "type": {
494
+ "string": {
495
+ "analyzerOverride": undefined,
496
+ "enableAsciiFolding": undefined,
497
+ "isLongText": false,
498
+ "supportsEfficientLeadingWildcard": false,
499
+ "supportsExactMatching": true,
500
+ },
501
+ "type": "string",
502
+ },
503
+ "typeClasses": [
504
+ {
505
+ "kind": "render_hint",
506
+ "name": "SELECTABLE",
507
+ },
508
+ {
509
+ "kind": "render_hint",
510
+ "name": "SORTABLE",
511
+ },
512
+ ],
513
+ "valueType": undefined,
514
+ },
515
+ },
516
+ },
517
+ }
518
+ `);
519
+ });
520
+ it("Explicit datasource definitions are properly defined", () => {
521
+ defineObject({
522
+ titlePropertyApiName: "bar",
523
+ displayName: "datasetBackedObject",
524
+ pluralDisplayName: "datasetBackedObject",
525
+ apiName: "foo",
526
+ primaryKeyPropertyApiName: "bar",
527
+ properties: {
528
+ "bar": {
529
+ type: "string"
530
+ }
531
+ },
532
+ datasources: [{
533
+ type: "dataset"
534
+ }]
535
+ });
536
+ defineObject({
537
+ titlePropertyApiName: "fizz",
538
+ displayName: "streamBackedObjectNoRetention",
539
+ pluralDisplayName: "streamBackedObjectNoRetention",
540
+ apiName: "fizz",
541
+ primaryKeyPropertyApiName: "fizz",
542
+ properties: {
543
+ "fizz": {
544
+ type: "string"
545
+ },
546
+ "bar": {
547
+ type: "string"
548
+ }
549
+ },
550
+ datasources: [{
551
+ type: "stream"
552
+ }]
553
+ });
554
+ defineObject({
555
+ titlePropertyApiName: "buzz",
556
+ displayName: "streamBackedObjectWithRetention",
557
+ pluralDisplayName: "streamBackedObjectWithRetention",
558
+ apiName: "buzz",
559
+ primaryKeyPropertyApiName: "buzz",
560
+ properties: {
561
+ "buzz": {
562
+ type: "string"
563
+ }
564
+ },
565
+ datasources: [{
566
+ type: "stream",
567
+ retentionPeriod: "PT1H"
568
+ }]
569
+ });
570
+ expect(dumpOntologyFullMetadata().ontology).toMatchInlineSnapshot(`
571
+ {
572
+ "actionTypes": {},
573
+ "blockPermissionInformation": {
574
+ "actionTypes": {},
575
+ "linkTypes": {},
576
+ "objectTypes": {},
577
+ },
578
+ "interfaceTypes": {},
579
+ "linkTypes": {},
580
+ "objectTypes": {
581
+ "com.palantir.buzz": {
582
+ "datasources": [
583
+ {
584
+ "datasource": {
585
+ "streamV2": {
586
+ "propertyMapping": {
587
+ "buzz": "buzz",
588
+ },
589
+ "propertySecurityGroups": undefined,
590
+ "retentionPolicy": {
591
+ "time": {
592
+ "window": "PT1H",
593
+ },
594
+ "type": "time",
595
+ },
596
+ "streamLocator": "com.palantir.buzz",
597
+ },
598
+ "type": "streamV2",
599
+ },
600
+ "datasourceName": "com.palantir.buzz",
601
+ "editsConfiguration": {
602
+ "onlyAllowPrivilegedEdits": false,
603
+ },
604
+ "redacted": false,
605
+ },
606
+ ],
607
+ "entityMetadata": {
608
+ "arePatchesEnabled": false,
609
+ },
610
+ "objectType": {
611
+ "allImplementsInterfaces": {},
612
+ "apiName": "com.palantir.buzz",
613
+ "displayMetadata": {
614
+ "description": undefined,
615
+ "displayName": "streamBackedObjectWithRetention",
616
+ "groupDisplayName": undefined,
617
+ "icon": {
618
+ "blueprint": {
619
+ "color": "#2D72D2",
620
+ "locator": "cube",
621
+ },
622
+ "type": "blueprint",
623
+ },
624
+ "pluralDisplayName": "streamBackedObjectWithRetention",
625
+ "visibility": "NORMAL",
626
+ },
627
+ "implementsInterfaces2": [],
628
+ "primaryKeys": [
629
+ "buzz",
630
+ ],
631
+ "propertyTypes": {
632
+ "buzz": {
633
+ "apiName": "buzz",
634
+ "baseFormatter": undefined,
635
+ "dataConstraints": undefined,
636
+ "displayMetadata": {
637
+ "description": undefined,
638
+ "displayName": "Buzz",
639
+ "visibility": "NORMAL",
640
+ },
641
+ "indexedForSearch": true,
642
+ "inlineAction": undefined,
643
+ "ruleSetBinding": undefined,
644
+ "sharedPropertyTypeApiName": undefined,
645
+ "sharedPropertyTypeRid": undefined,
646
+ "status": {
647
+ "active": {},
648
+ "type": "active",
649
+ },
650
+ "type": {
651
+ "string": {
652
+ "analyzerOverride": undefined,
653
+ "enableAsciiFolding": undefined,
654
+ "isLongText": false,
655
+ "supportsEfficientLeadingWildcard": false,
656
+ "supportsExactMatching": true,
657
+ },
658
+ "type": "string",
659
+ },
660
+ "typeClasses": [
661
+ {
662
+ "kind": "render_hint",
663
+ "name": "SELECTABLE",
664
+ },
665
+ {
666
+ "kind": "render_hint",
667
+ "name": "SORTABLE",
668
+ },
669
+ ],
670
+ "valueType": undefined,
671
+ },
672
+ },
673
+ "redacted": false,
674
+ "status": {
675
+ "active": {},
676
+ "type": "active",
677
+ },
678
+ "titlePropertyTypeRid": "buzz",
679
+ },
680
+ },
681
+ "com.palantir.fizz": {
682
+ "datasources": [
683
+ {
684
+ "datasource": {
685
+ "streamV2": {
686
+ "propertyMapping": {
687
+ "bar": "bar",
688
+ "fizz": "fizz",
689
+ },
690
+ "propertySecurityGroups": undefined,
691
+ "retentionPolicy": {
692
+ "none": {},
693
+ "type": "none",
694
+ },
695
+ "streamLocator": "com.palantir.fizz",
696
+ },
697
+ "type": "streamV2",
698
+ },
699
+ "datasourceName": "com.palantir.fizz",
700
+ "editsConfiguration": {
701
+ "onlyAllowPrivilegedEdits": false,
702
+ },
703
+ "redacted": false,
704
+ },
705
+ ],
706
+ "entityMetadata": {
707
+ "arePatchesEnabled": false,
708
+ },
709
+ "objectType": {
710
+ "allImplementsInterfaces": {},
711
+ "apiName": "com.palantir.fizz",
712
+ "displayMetadata": {
713
+ "description": undefined,
714
+ "displayName": "streamBackedObjectNoRetention",
715
+ "groupDisplayName": undefined,
716
+ "icon": {
717
+ "blueprint": {
718
+ "color": "#2D72D2",
719
+ "locator": "cube",
720
+ },
721
+ "type": "blueprint",
722
+ },
723
+ "pluralDisplayName": "streamBackedObjectNoRetention",
724
+ "visibility": "NORMAL",
725
+ },
726
+ "implementsInterfaces2": [],
727
+ "primaryKeys": [
728
+ "fizz",
729
+ ],
730
+ "propertyTypes": {
731
+ "bar": {
732
+ "apiName": "bar",
733
+ "baseFormatter": undefined,
734
+ "dataConstraints": undefined,
735
+ "displayMetadata": {
736
+ "description": undefined,
737
+ "displayName": "Bar",
738
+ "visibility": "NORMAL",
739
+ },
740
+ "indexedForSearch": true,
741
+ "inlineAction": undefined,
742
+ "ruleSetBinding": undefined,
743
+ "sharedPropertyTypeApiName": undefined,
744
+ "sharedPropertyTypeRid": undefined,
745
+ "status": {
746
+ "active": {},
747
+ "type": "active",
748
+ },
749
+ "type": {
750
+ "string": {
751
+ "analyzerOverride": undefined,
752
+ "enableAsciiFolding": undefined,
753
+ "isLongText": false,
754
+ "supportsEfficientLeadingWildcard": false,
755
+ "supportsExactMatching": true,
756
+ },
757
+ "type": "string",
758
+ },
759
+ "typeClasses": [
760
+ {
761
+ "kind": "render_hint",
762
+ "name": "SELECTABLE",
763
+ },
764
+ {
765
+ "kind": "render_hint",
766
+ "name": "SORTABLE",
767
+ },
768
+ ],
769
+ "valueType": undefined,
770
+ },
771
+ "fizz": {
772
+ "apiName": "fizz",
773
+ "baseFormatter": undefined,
774
+ "dataConstraints": undefined,
775
+ "displayMetadata": {
776
+ "description": undefined,
777
+ "displayName": "Fizz",
778
+ "visibility": "NORMAL",
779
+ },
780
+ "indexedForSearch": true,
781
+ "inlineAction": undefined,
782
+ "ruleSetBinding": undefined,
783
+ "sharedPropertyTypeApiName": undefined,
784
+ "sharedPropertyTypeRid": undefined,
785
+ "status": {
786
+ "active": {},
787
+ "type": "active",
788
+ },
789
+ "type": {
790
+ "string": {
791
+ "analyzerOverride": undefined,
792
+ "enableAsciiFolding": undefined,
793
+ "isLongText": false,
794
+ "supportsEfficientLeadingWildcard": false,
795
+ "supportsExactMatching": true,
796
+ },
797
+ "type": "string",
798
+ },
799
+ "typeClasses": [
800
+ {
801
+ "kind": "render_hint",
802
+ "name": "SELECTABLE",
803
+ },
804
+ {
805
+ "kind": "render_hint",
806
+ "name": "SORTABLE",
807
+ },
808
+ ],
809
+ "valueType": undefined,
810
+ },
811
+ },
812
+ "redacted": false,
813
+ "status": {
814
+ "active": {},
815
+ "type": "active",
816
+ },
817
+ "titlePropertyTypeRid": "fizz",
818
+ },
819
+ },
820
+ "com.palantir.foo": {
821
+ "datasources": [
822
+ {
823
+ "datasource": {
824
+ "datasetV2": {
825
+ "datasetRid": "com.palantir.foo",
826
+ "propertyMapping": {
827
+ "bar": {
828
+ "column": "bar",
829
+ "type": "column",
830
+ },
831
+ },
832
+ },
833
+ "type": "datasetV2",
834
+ },
835
+ "datasourceName": "com.palantir.foo",
836
+ "editsConfiguration": {
837
+ "onlyAllowPrivilegedEdits": false,
838
+ },
839
+ "redacted": false,
840
+ },
841
+ ],
842
+ "entityMetadata": {
843
+ "arePatchesEnabled": false,
844
+ },
845
+ "objectType": {
846
+ "allImplementsInterfaces": {},
847
+ "apiName": "com.palantir.foo",
848
+ "displayMetadata": {
849
+ "description": undefined,
850
+ "displayName": "datasetBackedObject",
851
+ "groupDisplayName": undefined,
852
+ "icon": {
853
+ "blueprint": {
854
+ "color": "#2D72D2",
855
+ "locator": "cube",
856
+ },
857
+ "type": "blueprint",
858
+ },
859
+ "pluralDisplayName": "datasetBackedObject",
860
+ "visibility": "NORMAL",
861
+ },
862
+ "implementsInterfaces2": [],
863
+ "primaryKeys": [
864
+ "bar",
865
+ ],
866
+ "propertyTypes": {
867
+ "bar": {
868
+ "apiName": "bar",
869
+ "baseFormatter": undefined,
870
+ "dataConstraints": undefined,
871
+ "displayMetadata": {
872
+ "description": undefined,
873
+ "displayName": "Bar",
874
+ "visibility": "NORMAL",
875
+ },
876
+ "indexedForSearch": true,
877
+ "inlineAction": undefined,
878
+ "ruleSetBinding": undefined,
879
+ "sharedPropertyTypeApiName": undefined,
880
+ "sharedPropertyTypeRid": undefined,
881
+ "status": {
882
+ "active": {},
883
+ "type": "active",
884
+ },
885
+ "type": {
886
+ "string": {
887
+ "analyzerOverride": undefined,
888
+ "enableAsciiFolding": undefined,
889
+ "isLongText": false,
890
+ "supportsEfficientLeadingWildcard": false,
891
+ "supportsExactMatching": true,
892
+ },
893
+ "type": "string",
894
+ },
895
+ "typeClasses": [
896
+ {
897
+ "kind": "render_hint",
898
+ "name": "SELECTABLE",
899
+ },
900
+ {
901
+ "kind": "render_hint",
902
+ "name": "SORTABLE",
903
+ },
904
+ ],
905
+ "valueType": undefined,
906
+ },
907
+ },
908
+ "redacted": false,
909
+ "status": {
910
+ "active": {},
911
+ "type": "active",
912
+ },
913
+ "titlePropertyTypeRid": "bar",
914
+ },
915
+ },
916
+ },
917
+ "sharedPropertyTypes": {},
918
+ }
919
+ `);
920
+ });
921
+ it("Restricted view datasources are properly defined", () => {
922
+ defineObject({
923
+ titlePropertyApiName: "bar",
924
+ displayName: "Foo",
925
+ pluralDisplayName: "Foo",
926
+ apiName: "foo",
927
+ primaryKeyPropertyApiName: "bar",
928
+ properties: {
929
+ "bar": {
930
+ type: "string"
931
+ }
932
+ },
933
+ datasources: [{
934
+ type: "restrictedView"
935
+ }]
936
+ });
937
+ expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
938
+ {
939
+ "importedOntology": {
940
+ "actionTypes": {},
941
+ "blockPermissionInformation": {
942
+ "actionTypes": {},
943
+ "linkTypes": {},
944
+ "objectTypes": {},
945
+ },
946
+ "interfaceTypes": {},
947
+ "linkTypes": {},
948
+ "objectTypes": {},
949
+ "sharedPropertyTypes": {},
950
+ },
951
+ "importedValueTypes": {
952
+ "valueTypes": [],
953
+ },
954
+ "ontology": {
955
+ "actionTypes": {},
956
+ "blockPermissionInformation": {
957
+ "actionTypes": {},
958
+ "linkTypes": {},
959
+ "objectTypes": {},
960
+ },
961
+ "interfaceTypes": {},
962
+ "linkTypes": {},
963
+ "objectTypes": {
964
+ "com.palantir.foo": {
965
+ "datasources": [
966
+ {
967
+ "datasource": {
968
+ "restrictedViewV2": {
969
+ "propertyMapping": {
970
+ "bar": {
971
+ "column": "bar",
972
+ "type": "column",
973
+ },
974
+ },
975
+ "restrictedViewRid": "com.palantir.foo",
976
+ },
977
+ "type": "restrictedViewV2",
978
+ },
979
+ "datasourceName": "com.palantir.foo",
980
+ "editsConfiguration": {
981
+ "onlyAllowPrivilegedEdits": false,
982
+ },
983
+ "redacted": false,
984
+ },
985
+ ],
986
+ "entityMetadata": {
987
+ "arePatchesEnabled": false,
988
+ },
989
+ "objectType": {
990
+ "allImplementsInterfaces": {},
991
+ "apiName": "com.palantir.foo",
992
+ "displayMetadata": {
993
+ "description": undefined,
994
+ "displayName": "Foo",
995
+ "groupDisplayName": undefined,
996
+ "icon": {
997
+ "blueprint": {
998
+ "color": "#2D72D2",
999
+ "locator": "cube",
1000
+ },
1001
+ "type": "blueprint",
1002
+ },
1003
+ "pluralDisplayName": "Foo",
1004
+ "visibility": "NORMAL",
1005
+ },
1006
+ "implementsInterfaces2": [],
1007
+ "primaryKeys": [
1008
+ "bar",
1009
+ ],
1010
+ "propertyTypes": {
1011
+ "bar": {
1012
+ "apiName": "bar",
1013
+ "baseFormatter": undefined,
1014
+ "dataConstraints": undefined,
1015
+ "displayMetadata": {
1016
+ "description": undefined,
1017
+ "displayName": "Bar",
1018
+ "visibility": "NORMAL",
1019
+ },
1020
+ "indexedForSearch": true,
1021
+ "inlineAction": undefined,
1022
+ "ruleSetBinding": undefined,
1023
+ "sharedPropertyTypeApiName": undefined,
1024
+ "sharedPropertyTypeRid": undefined,
1025
+ "status": {
1026
+ "active": {},
1027
+ "type": "active",
1028
+ },
1029
+ "type": {
1030
+ "string": {
1031
+ "analyzerOverride": undefined,
1032
+ "enableAsciiFolding": undefined,
1033
+ "isLongText": false,
1034
+ "supportsEfficientLeadingWildcard": false,
1035
+ "supportsExactMatching": true,
1036
+ },
1037
+ "type": "string",
1038
+ },
1039
+ "typeClasses": [
1040
+ {
1041
+ "kind": "render_hint",
1042
+ "name": "SELECTABLE",
1043
+ },
1044
+ {
1045
+ "kind": "render_hint",
1046
+ "name": "SORTABLE",
1047
+ },
1048
+ ],
1049
+ "valueType": undefined,
1050
+ },
1051
+ },
1052
+ "redacted": false,
1053
+ "status": {
1054
+ "active": {},
1055
+ "type": "active",
1056
+ },
1057
+ "titlePropertyTypeRid": "bar",
1058
+ },
1059
+ },
1060
+ },
1061
+ "sharedPropertyTypes": {},
1062
+ },
1063
+ "randomnessKey": undefined,
1064
+ "valueTypes": {
1065
+ "valueTypes": [],
1066
+ },
1067
+ }
1068
+ `);
1069
+ });
1070
+ it("Edit only properties are properly defined", () => {
1071
+ defineObject({
1072
+ titlePropertyApiName: "bar",
1073
+ displayName: "Foo",
1074
+ pluralDisplayName: "Foo",
1075
+ apiName: "foo",
1076
+ primaryKeyPropertyApiName: "fizz",
1077
+ properties: {
1078
+ "bar": {
1079
+ type: "string",
1080
+ editOnly: true
1081
+ },
1082
+ "fizz": {
1083
+ type: "string"
1084
+ }
1085
+ }
1086
+ });
1087
+ expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
1088
+ {
1089
+ "importedOntology": {
1090
+ "actionTypes": {},
1091
+ "blockPermissionInformation": {
1092
+ "actionTypes": {},
1093
+ "linkTypes": {},
1094
+ "objectTypes": {},
1095
+ },
1096
+ "interfaceTypes": {},
1097
+ "linkTypes": {},
1098
+ "objectTypes": {},
1099
+ "sharedPropertyTypes": {},
1100
+ },
1101
+ "importedValueTypes": {
1102
+ "valueTypes": [],
1103
+ },
1104
+ "ontology": {
1105
+ "actionTypes": {},
1106
+ "blockPermissionInformation": {
1107
+ "actionTypes": {},
1108
+ "linkTypes": {},
1109
+ "objectTypes": {},
1110
+ },
1111
+ "interfaceTypes": {},
1112
+ "linkTypes": {},
1113
+ "objectTypes": {
1114
+ "com.palantir.foo": {
1115
+ "datasources": [
1116
+ {
1117
+ "datasource": {
1118
+ "datasetV2": {
1119
+ "datasetRid": "com.palantir.foo",
1120
+ "propertyMapping": {
1121
+ "bar": {
1122
+ "editOnly": {},
1123
+ "type": "editOnly",
1124
+ },
1125
+ "fizz": {
1126
+ "column": "fizz",
1127
+ "type": "column",
1128
+ },
1129
+ },
1130
+ },
1131
+ "type": "datasetV2",
1132
+ },
1133
+ "datasourceName": "com.palantir.foo",
1134
+ "editsConfiguration": {
1135
+ "onlyAllowPrivilegedEdits": false,
1136
+ },
1137
+ "redacted": false,
1138
+ },
1139
+ ],
1140
+ "entityMetadata": {
1141
+ "arePatchesEnabled": false,
1142
+ },
1143
+ "objectType": {
1144
+ "allImplementsInterfaces": {},
1145
+ "apiName": "com.palantir.foo",
1146
+ "displayMetadata": {
1147
+ "description": undefined,
1148
+ "displayName": "Foo",
1149
+ "groupDisplayName": undefined,
1150
+ "icon": {
1151
+ "blueprint": {
1152
+ "color": "#2D72D2",
1153
+ "locator": "cube",
1154
+ },
1155
+ "type": "blueprint",
1156
+ },
1157
+ "pluralDisplayName": "Foo",
1158
+ "visibility": "NORMAL",
1159
+ },
1160
+ "implementsInterfaces2": [],
1161
+ "primaryKeys": [
1162
+ "fizz",
1163
+ ],
1164
+ "propertyTypes": {
1165
+ "bar": {
1166
+ "apiName": "bar",
1167
+ "baseFormatter": undefined,
1168
+ "dataConstraints": undefined,
1169
+ "displayMetadata": {
1170
+ "description": undefined,
1171
+ "displayName": "Bar",
1172
+ "visibility": "NORMAL",
1173
+ },
1174
+ "indexedForSearch": true,
1175
+ "inlineAction": undefined,
1176
+ "ruleSetBinding": undefined,
1177
+ "sharedPropertyTypeApiName": undefined,
1178
+ "sharedPropertyTypeRid": undefined,
1179
+ "status": {
1180
+ "active": {},
1181
+ "type": "active",
1182
+ },
1183
+ "type": {
1184
+ "string": {
1185
+ "analyzerOverride": undefined,
1186
+ "enableAsciiFolding": undefined,
1187
+ "isLongText": false,
1188
+ "supportsEfficientLeadingWildcard": false,
1189
+ "supportsExactMatching": true,
1190
+ },
1191
+ "type": "string",
1192
+ },
1193
+ "typeClasses": [
1194
+ {
1195
+ "kind": "render_hint",
1196
+ "name": "SELECTABLE",
1197
+ },
1198
+ {
1199
+ "kind": "render_hint",
1200
+ "name": "SORTABLE",
1201
+ },
1202
+ ],
1203
+ "valueType": undefined,
1204
+ },
1205
+ "fizz": {
1206
+ "apiName": "fizz",
1207
+ "baseFormatter": undefined,
1208
+ "dataConstraints": undefined,
1209
+ "displayMetadata": {
1210
+ "description": undefined,
1211
+ "displayName": "Fizz",
1212
+ "visibility": "NORMAL",
1213
+ },
1214
+ "indexedForSearch": true,
1215
+ "inlineAction": undefined,
1216
+ "ruleSetBinding": undefined,
1217
+ "sharedPropertyTypeApiName": undefined,
1218
+ "sharedPropertyTypeRid": undefined,
1219
+ "status": {
1220
+ "active": {},
1221
+ "type": "active",
1222
+ },
1223
+ "type": {
1224
+ "string": {
1225
+ "analyzerOverride": undefined,
1226
+ "enableAsciiFolding": undefined,
1227
+ "isLongText": false,
1228
+ "supportsEfficientLeadingWildcard": false,
1229
+ "supportsExactMatching": true,
1230
+ },
1231
+ "type": "string",
1232
+ },
1233
+ "typeClasses": [
1234
+ {
1235
+ "kind": "render_hint",
1236
+ "name": "SELECTABLE",
1237
+ },
1238
+ {
1239
+ "kind": "render_hint",
1240
+ "name": "SORTABLE",
1241
+ },
1242
+ ],
1243
+ "valueType": undefined,
1244
+ },
1245
+ },
1246
+ "redacted": false,
1247
+ "status": {
1248
+ "active": {},
1249
+ "type": "active",
1250
+ },
1251
+ "titlePropertyTypeRid": "bar",
1252
+ },
1253
+ },
1254
+ },
1255
+ "sharedPropertyTypes": {},
1256
+ },
1257
+ "randomnessKey": undefined,
1258
+ "valueTypes": {
1259
+ "valueTypes": [],
1260
+ },
1261
+ }
1262
+ `);
1263
+ });
1264
+ it("Fails if edit only property is primary key", () => {
1265
+ expect(() => {
1266
+ defineObject({
1267
+ titlePropertyApiName: "bar",
1268
+ displayName: "Foo",
1269
+ pluralDisplayName: "Foo",
1270
+ apiName: "foo",
1271
+ primaryKeyPropertyApiName: "bar",
1272
+ properties: {
1273
+ "bar": {
1274
+ type: "string",
1275
+ editOnly: true
1276
+ }
1277
+ }
1278
+ });
1279
+ }).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Primary key property bar on object foo cannot be edit-only]`);
1280
+ });
1281
+ it("Fail if stream retention period is not ISO 8601 compliant", () => {
1282
+ expect(() => defineObject({
1283
+ titlePropertyApiName: "buzz",
1284
+ displayName: "streamBackedObjectWithRetention",
1285
+ pluralDisplayName: "streamBackedObjectWithRetention",
1286
+ apiName: "buzz",
1287
+ primaryKeyPropertyApiName: "buzz",
1288
+ properties: {
1289
+ "buzz": {
1290
+ type: "string"
1291
+ }
1292
+ },
1293
+ datasources: [{
1294
+ type: "stream",
1295
+ retentionPeriod: "bad retention period string"
1296
+ }]
1297
+ })).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Retention period "bad retention period string" on object "buzz" is not a valid ISO 8601 duration string]`);
1298
+ });
1299
+ it("Property-level datasources are properly defined", () => {
1300
+ defineObject({
1301
+ titlePropertyApiName: "bar",
1302
+ displayName: "exampleObject",
1303
+ pluralDisplayName: "exampleObject",
1304
+ apiName: "fizz",
1305
+ primaryKeyPropertyApiName: "bar",
1306
+ properties: {
1307
+ "fizz": {
1308
+ type: "mediaReference"
1309
+ },
1310
+ "bar": {
1311
+ type: "string"
1312
+ }
1313
+ },
1314
+ datasources: [{
1315
+ type: "stream"
1316
+ }]
1317
+ });
1318
+ expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
1319
+ {
1320
+ "importedOntology": {
1321
+ "actionTypes": {},
1322
+ "blockPermissionInformation": {
1323
+ "actionTypes": {},
1324
+ "linkTypes": {},
1325
+ "objectTypes": {},
1326
+ },
1327
+ "interfaceTypes": {},
1328
+ "linkTypes": {},
1329
+ "objectTypes": {},
1330
+ "sharedPropertyTypes": {},
1331
+ },
1332
+ "importedValueTypes": {
1333
+ "valueTypes": [],
1334
+ },
1335
+ "ontology": {
1336
+ "actionTypes": {},
1337
+ "blockPermissionInformation": {
1338
+ "actionTypes": {},
1339
+ "linkTypes": {},
1340
+ "objectTypes": {},
1341
+ },
1342
+ "interfaceTypes": {},
1343
+ "linkTypes": {},
1344
+ "objectTypes": {
1345
+ "com.palantir.fizz": {
1346
+ "datasources": [
1347
+ {
1348
+ "datasource": {
1349
+ "mediaSetView": {
1350
+ "assumedMarkings": [],
1351
+ "mediaSetViewLocator": "com.palantir.fizz.fizz",
1352
+ "properties": [
1353
+ "fizz",
1354
+ ],
1355
+ },
1356
+ "type": "mediaSetView",
1357
+ },
1358
+ "datasourceName": "fizz",
1359
+ "editsConfiguration": {
1360
+ "onlyAllowPrivilegedEdits": false,
1361
+ },
1362
+ "redacted": false,
1363
+ },
1364
+ {
1365
+ "datasource": {
1366
+ "streamV2": {
1367
+ "propertyMapping": {
1368
+ "bar": "bar",
1369
+ "fizz": "fizz",
1370
+ },
1371
+ "propertySecurityGroups": undefined,
1372
+ "retentionPolicy": {
1373
+ "none": {},
1374
+ "type": "none",
1375
+ },
1376
+ "streamLocator": "com.palantir.fizz",
1377
+ },
1378
+ "type": "streamV2",
1379
+ },
1380
+ "datasourceName": "com.palantir.fizz",
1381
+ "editsConfiguration": {
1382
+ "onlyAllowPrivilegedEdits": false,
1383
+ },
1384
+ "redacted": false,
1385
+ },
1386
+ ],
1387
+ "entityMetadata": {
1388
+ "arePatchesEnabled": false,
1389
+ },
1390
+ "objectType": {
1391
+ "allImplementsInterfaces": {},
1392
+ "apiName": "com.palantir.fizz",
1393
+ "displayMetadata": {
1394
+ "description": undefined,
1395
+ "displayName": "exampleObject",
1396
+ "groupDisplayName": undefined,
1397
+ "icon": {
1398
+ "blueprint": {
1399
+ "color": "#2D72D2",
1400
+ "locator": "cube",
1401
+ },
1402
+ "type": "blueprint",
1403
+ },
1404
+ "pluralDisplayName": "exampleObject",
1405
+ "visibility": "NORMAL",
1406
+ },
1407
+ "implementsInterfaces2": [],
1408
+ "primaryKeys": [
1409
+ "bar",
1410
+ ],
1411
+ "propertyTypes": {
1412
+ "bar": {
1413
+ "apiName": "bar",
1414
+ "baseFormatter": undefined,
1415
+ "dataConstraints": undefined,
1416
+ "displayMetadata": {
1417
+ "description": undefined,
1418
+ "displayName": "Bar",
1419
+ "visibility": "NORMAL",
1420
+ },
1421
+ "indexedForSearch": true,
1422
+ "inlineAction": undefined,
1423
+ "ruleSetBinding": undefined,
1424
+ "sharedPropertyTypeApiName": undefined,
1425
+ "sharedPropertyTypeRid": undefined,
1426
+ "status": {
1427
+ "active": {},
1428
+ "type": "active",
1429
+ },
1430
+ "type": {
1431
+ "string": {
1432
+ "analyzerOverride": undefined,
1433
+ "enableAsciiFolding": undefined,
1434
+ "isLongText": false,
1435
+ "supportsEfficientLeadingWildcard": false,
1436
+ "supportsExactMatching": true,
1437
+ },
1438
+ "type": "string",
1439
+ },
1440
+ "typeClasses": [
1441
+ {
1442
+ "kind": "render_hint",
1443
+ "name": "SELECTABLE",
1444
+ },
1445
+ {
1446
+ "kind": "render_hint",
1447
+ "name": "SORTABLE",
1448
+ },
1449
+ ],
1450
+ "valueType": undefined,
1451
+ },
1452
+ "fizz": {
1453
+ "apiName": "fizz",
1454
+ "baseFormatter": undefined,
1455
+ "dataConstraints": undefined,
1456
+ "displayMetadata": {
1457
+ "description": undefined,
1458
+ "displayName": "Fizz",
1459
+ "visibility": "NORMAL",
1460
+ },
1461
+ "indexedForSearch": true,
1462
+ "inlineAction": undefined,
1463
+ "ruleSetBinding": undefined,
1464
+ "sharedPropertyTypeApiName": undefined,
1465
+ "sharedPropertyTypeRid": undefined,
1466
+ "status": {
1467
+ "active": {},
1468
+ "type": "active",
1469
+ },
1470
+ "type": {
1471
+ "mediaReference": {},
1472
+ "type": "mediaReference",
1473
+ },
1474
+ "typeClasses": [],
1475
+ "valueType": undefined,
1476
+ },
1477
+ },
1478
+ "redacted": false,
1479
+ "status": {
1480
+ "active": {},
1481
+ "type": "active",
1482
+ },
1483
+ "titlePropertyTypeRid": "bar",
1484
+ },
1485
+ },
1486
+ },
1487
+ "sharedPropertyTypes": {},
1488
+ },
1489
+ "randomnessKey": undefined,
1490
+ "valueTypes": {
1491
+ "valueTypes": [],
1492
+ },
1493
+ }
1494
+ `);
1495
+ });
1496
+ it("Derived datasources are properly defined", () => {
1497
+ const passenger = defineObject({
1498
+ displayName: "Passenger",
1499
+ pluralDisplayName: "Passengers",
1500
+ apiName: "passenger",
1501
+ primaryKeyPropertyApiName: "name",
1502
+ titlePropertyApiName: "name",
1503
+ editsEnabled: true,
1504
+ properties: {
1505
+ "name": {
1506
+ type: "string",
1507
+ displayName: "Name"
1508
+ },
1509
+ "flight_id": {
1510
+ type: "string",
1511
+ displayName: "Flight ID"
1512
+ }
1513
+ }
1514
+ });
1515
+ const flightToPassengers = defineLink({
1516
+ apiName: "flightToPassengersLink",
1517
+ one: {
1518
+ object: "com.palantir.flight",
1519
+ metadata: {
1520
+ apiName: "flightFromPassengers"
1521
+ }
1522
+ },
1523
+ toMany: {
1524
+ object: passenger.apiName,
1525
+ metadata: {
1526
+ apiName: "passengersFromFlight"
1527
+ }
1528
+ },
1529
+ manyForeignKeyProperty: "flight_id"
1530
+ });
1531
+ expect(() => {
1532
+ defineObject({
1533
+ displayName: "Flight",
1534
+ pluralDisplayName: "Flights",
1535
+ apiName: "flight",
1536
+ primaryKeyPropertyApiName: "id",
1537
+ titlePropertyApiName: "id",
1538
+ properties: {
1539
+ id: {
1540
+ type: "string",
1541
+ displayName: "ID"
1542
+ },
1543
+ numPassengers: {
1544
+ type: "string",
1545
+ displayName: "Passengers"
1546
+ }
1547
+ },
1548
+ datasources: [{
1549
+ type: "dataset"
1550
+ }, {
1551
+ type: "derived",
1552
+ linkDefinition: [{
1553
+ linkType: flightToPassengers
1554
+ }],
1555
+ propertyMapping: {
1556
+ numPassengers: {
1557
+ type: "collectList",
1558
+ property: "name",
1559
+ limit: 100
1560
+ }
1561
+ }
1562
+ }]
1563
+ });
1564
+ }).toThrowErrorMatchingInlineSnapshot(`[Error: Invariant failed: Property 'numPassengers' on object 'flight' is not collectible]`);
1565
+ const flight = defineObject({
1566
+ displayName: "Flight",
1567
+ pluralDisplayName: "Flights",
1568
+ apiName: "flight",
1569
+ primaryKeyPropertyApiName: "id",
1570
+ titlePropertyApiName: "id",
1571
+ editsEnabled: true,
1572
+ properties: {
1573
+ id: {
1574
+ type: "string",
1575
+ displayName: "ID"
1576
+ },
1577
+ passengersList: {
1578
+ type: "string",
1579
+ array: true,
1580
+ displayName: "Passengers"
1581
+ }
1582
+ },
1583
+ datasources: [{
1584
+ type: "dataset"
1585
+ }, {
1586
+ type: "derived",
1587
+ linkDefinition: [{
1588
+ linkType: flightToPassengers
1589
+ }],
1590
+ propertyMapping: {
1591
+ passengersList: {
1592
+ type: "collectList",
1593
+ property: "name",
1594
+ limit: 100
1595
+ }
1596
+ }
1597
+ }]
1598
+ });
1599
+ defineCreateObjectAction({
1600
+ displayName: "Create flight",
1601
+ objectType: flight
1602
+ });
1603
+ defineDeleteObjectAction({
1604
+ displayName: "Delete flight",
1605
+ objectType: flight
1606
+ });
1607
+ defineCreateObjectAction({
1608
+ displayName: "Create passenger",
1609
+ objectType: passenger
1610
+ });
1611
+ defineDeleteObjectAction({
1612
+ displayName: "Delete passenger",
1613
+ objectType: passenger
1614
+ });
1615
+ expect(dumpOntologyFullMetadata()).toMatchInlineSnapshot(`
1616
+ {
1617
+ "importedOntology": {
1618
+ "actionTypes": {},
1619
+ "blockPermissionInformation": {
1620
+ "actionTypes": {},
1621
+ "linkTypes": {},
1622
+ "objectTypes": {},
1623
+ },
1624
+ "interfaceTypes": {},
1625
+ "linkTypes": {},
1626
+ "objectTypes": {},
1627
+ "sharedPropertyTypes": {},
1628
+ },
1629
+ "importedValueTypes": {
1630
+ "valueTypes": [],
1631
+ },
1632
+ "ontology": {
1633
+ "actionTypes": {
1634
+ "com.palantir.create-object-flight": {
1635
+ "actionType": {
1636
+ "actionTypeLogic": {
1637
+ "logic": {
1638
+ "rules": [
1639
+ {
1640
+ "addObjectRule": {
1641
+ "objectTypeId": "com.palantir.flight",
1642
+ "propertyValues": {
1643
+ "id": {
1644
+ "parameterId": "id",
1645
+ "type": "parameterId",
1646
+ },
1647
+ },
1648
+ "structFieldValues": {},
1649
+ },
1650
+ "type": "addObjectRule",
1651
+ },
1652
+ ],
1653
+ },
1654
+ "validation": {
1655
+ "actionTypeLevelValidation": {
1656
+ "rules": {
1657
+ "0": {
1658
+ "condition": {
1659
+ "true": {},
1660
+ "type": "true",
1661
+ },
1662
+ "displayMetadata": {
1663
+ "failureMessage": "",
1664
+ "typeClasses": [],
1665
+ },
1666
+ },
1667
+ },
1668
+ },
1669
+ "parameterValidations": {
1670
+ "id": {
1671
+ "conditionalOverrides": [],
1672
+ "defaultValidation": {
1673
+ "display": {
1674
+ "renderHint": {
1675
+ "textInput": {},
1676
+ "type": "textInput",
1677
+ },
1678
+ "visibility": {
1679
+ "editable": {},
1680
+ "type": "editable",
1681
+ },
1682
+ },
1683
+ "validation": {
1684
+ "allowedValues": {
1685
+ "text": {
1686
+ "text": {},
1687
+ "type": "text",
1688
+ },
1689
+ "type": "text",
1690
+ },
1691
+ "required": {
1692
+ "notRequired": {},
1693
+ "type": "notRequired",
1694
+ },
1695
+ },
1696
+ },
1697
+ },
1698
+ },
1699
+ "sectionValidations": {},
1700
+ },
1701
+ },
1702
+ "metadata": {
1703
+ "apiName": "com.palantir.create-object-flight",
1704
+ "displayMetadata": {
1705
+ "configuration": {
1706
+ "defaultLayout": "FORM",
1707
+ "displayAndFormat": {
1708
+ "table": {
1709
+ "columnWidthByParameterRid": {},
1710
+ "enableFileImport": true,
1711
+ "fitHorizontally": false,
1712
+ "frozenColumnCount": 0,
1713
+ "rowHeightInLines": 1,
1714
+ },
1715
+ },
1716
+ "enableLayoutUserSwitch": false,
1717
+ },
1718
+ "description": "",
1719
+ "displayName": "Create flight",
1720
+ "icon": {
1721
+ "blueprint": {
1722
+ "color": "#000000",
1723
+ "locator": "edit",
1724
+ },
1725
+ "type": "blueprint",
1726
+ },
1727
+ "successMessage": [],
1728
+ "typeClasses": [],
1729
+ },
1730
+ "entities": {
1731
+ "affectedInterfaceTypes": [],
1732
+ "affectedLinkTypes": [],
1733
+ "affectedObjectTypes": [
1734
+ "com.palantir.flight",
1735
+ ],
1736
+ "typeGroups": [],
1737
+ },
1738
+ "formContentOrdering": [],
1739
+ "parameterOrdering": [
1740
+ "id",
1741
+ ],
1742
+ "parameters": {
1743
+ "id": {
1744
+ "displayMetadata": {
1745
+ "description": "",
1746
+ "displayName": "ID",
1747
+ "typeClasses": [],
1748
+ },
1749
+ "id": "id",
1750
+ "type": {
1751
+ "string": {},
1752
+ "type": "string",
1753
+ },
1754
+ },
1755
+ },
1756
+ "sections": {},
1757
+ "status": {
1758
+ "active": {},
1759
+ "type": "active",
1760
+ },
1761
+ },
1762
+ },
1763
+ },
1764
+ "com.palantir.create-object-passenger": {
1765
+ "actionType": {
1766
+ "actionTypeLogic": {
1767
+ "logic": {
1768
+ "rules": [
1769
+ {
1770
+ "addObjectRule": {
1771
+ "objectTypeId": "com.palantir.passenger",
1772
+ "propertyValues": {
1773
+ "flight_id": {
1774
+ "parameterId": "flight_id",
1775
+ "type": "parameterId",
1776
+ },
1777
+ "name": {
1778
+ "parameterId": "name",
1779
+ "type": "parameterId",
1780
+ },
1781
+ },
1782
+ "structFieldValues": {},
1783
+ },
1784
+ "type": "addObjectRule",
1785
+ },
1786
+ ],
1787
+ },
1788
+ "validation": {
1789
+ "actionTypeLevelValidation": {
1790
+ "rules": {
1791
+ "0": {
1792
+ "condition": {
1793
+ "true": {},
1794
+ "type": "true",
1795
+ },
1796
+ "displayMetadata": {
1797
+ "failureMessage": "",
1798
+ "typeClasses": [],
1799
+ },
1800
+ },
1801
+ },
1802
+ },
1803
+ "parameterValidations": {
1804
+ "flight_id": {
1805
+ "conditionalOverrides": [],
1806
+ "defaultValidation": {
1807
+ "display": {
1808
+ "renderHint": {
1809
+ "textInput": {},
1810
+ "type": "textInput",
1811
+ },
1812
+ "visibility": {
1813
+ "editable": {},
1814
+ "type": "editable",
1815
+ },
1816
+ },
1817
+ "validation": {
1818
+ "allowedValues": {
1819
+ "text": {
1820
+ "text": {},
1821
+ "type": "text",
1822
+ },
1823
+ "type": "text",
1824
+ },
1825
+ "required": {
1826
+ "notRequired": {},
1827
+ "type": "notRequired",
1828
+ },
1829
+ },
1830
+ },
1831
+ },
1832
+ "name": {
1833
+ "conditionalOverrides": [],
1834
+ "defaultValidation": {
1835
+ "display": {
1836
+ "renderHint": {
1837
+ "textInput": {},
1838
+ "type": "textInput",
1839
+ },
1840
+ "visibility": {
1841
+ "editable": {},
1842
+ "type": "editable",
1843
+ },
1844
+ },
1845
+ "validation": {
1846
+ "allowedValues": {
1847
+ "text": {
1848
+ "text": {},
1849
+ "type": "text",
1850
+ },
1851
+ "type": "text",
1852
+ },
1853
+ "required": {
1854
+ "notRequired": {},
1855
+ "type": "notRequired",
1856
+ },
1857
+ },
1858
+ },
1859
+ },
1860
+ },
1861
+ "sectionValidations": {},
1862
+ },
1863
+ },
1864
+ "metadata": {
1865
+ "apiName": "com.palantir.create-object-passenger",
1866
+ "displayMetadata": {
1867
+ "configuration": {
1868
+ "defaultLayout": "FORM",
1869
+ "displayAndFormat": {
1870
+ "table": {
1871
+ "columnWidthByParameterRid": {},
1872
+ "enableFileImport": true,
1873
+ "fitHorizontally": false,
1874
+ "frozenColumnCount": 0,
1875
+ "rowHeightInLines": 1,
1876
+ },
1877
+ },
1878
+ "enableLayoutUserSwitch": false,
1879
+ },
1880
+ "description": "",
1881
+ "displayName": "Create passenger",
1882
+ "icon": {
1883
+ "blueprint": {
1884
+ "color": "#000000",
1885
+ "locator": "edit",
1886
+ },
1887
+ "type": "blueprint",
1888
+ },
1889
+ "successMessage": [],
1890
+ "typeClasses": [],
1891
+ },
1892
+ "entities": {
1893
+ "affectedInterfaceTypes": [],
1894
+ "affectedLinkTypes": [],
1895
+ "affectedObjectTypes": [
1896
+ "com.palantir.passenger",
1897
+ ],
1898
+ "typeGroups": [],
1899
+ },
1900
+ "formContentOrdering": [],
1901
+ "parameterOrdering": [
1902
+ "name",
1903
+ "flight_id",
1904
+ ],
1905
+ "parameters": {
1906
+ "flight_id": {
1907
+ "displayMetadata": {
1908
+ "description": "",
1909
+ "displayName": "Flight ID",
1910
+ "typeClasses": [],
1911
+ },
1912
+ "id": "flight_id",
1913
+ "type": {
1914
+ "string": {},
1915
+ "type": "string",
1916
+ },
1917
+ },
1918
+ "name": {
1919
+ "displayMetadata": {
1920
+ "description": "",
1921
+ "displayName": "Name",
1922
+ "typeClasses": [],
1923
+ },
1924
+ "id": "name",
1925
+ "type": {
1926
+ "string": {},
1927
+ "type": "string",
1928
+ },
1929
+ },
1930
+ },
1931
+ "sections": {},
1932
+ "status": {
1933
+ "active": {},
1934
+ "type": "active",
1935
+ },
1936
+ },
1937
+ },
1938
+ },
1939
+ "com.palantir.delete-object-flight": {
1940
+ "actionType": {
1941
+ "actionTypeLogic": {
1942
+ "logic": {
1943
+ "rules": [
1944
+ {
1945
+ "deleteObjectRule": {
1946
+ "objectToDelete": "objectToDeleteParameter",
1947
+ },
1948
+ "type": "deleteObjectRule",
1949
+ },
1950
+ ],
1951
+ },
1952
+ "validation": {
1953
+ "actionTypeLevelValidation": {
1954
+ "rules": {
1955
+ "0": {
1956
+ "condition": {
1957
+ "true": {},
1958
+ "type": "true",
1959
+ },
1960
+ "displayMetadata": {
1961
+ "failureMessage": "",
1962
+ "typeClasses": [],
1963
+ },
1964
+ },
1965
+ },
1966
+ },
1967
+ "parameterValidations": {
1968
+ "objectToDeleteParameter": {
1969
+ "conditionalOverrides": [],
1970
+ "defaultValidation": {
1971
+ "display": {
1972
+ "renderHint": {
1973
+ "dropdown": {},
1974
+ "type": "dropdown",
1975
+ },
1976
+ "visibility": {
1977
+ "editable": {},
1978
+ "type": "editable",
1979
+ },
1980
+ },
1981
+ "validation": {
1982
+ "allowedValues": {
1983
+ "objectQuery": {
1984
+ "objectQuery": {},
1985
+ "type": "objectQuery",
1986
+ },
1987
+ "type": "objectQuery",
1988
+ },
1989
+ "required": {
1990
+ "required": {},
1991
+ "type": "required",
1992
+ },
1993
+ },
1994
+ },
1995
+ },
1996
+ },
1997
+ "sectionValidations": {},
1998
+ },
1999
+ },
2000
+ "metadata": {
2001
+ "apiName": "com.palantir.delete-object-flight",
2002
+ "displayMetadata": {
2003
+ "configuration": {
2004
+ "defaultLayout": "FORM",
2005
+ "displayAndFormat": {
2006
+ "table": {
2007
+ "columnWidthByParameterRid": {},
2008
+ "enableFileImport": true,
2009
+ "fitHorizontally": false,
2010
+ "frozenColumnCount": 0,
2011
+ "rowHeightInLines": 1,
2012
+ },
2013
+ },
2014
+ "enableLayoutUserSwitch": false,
2015
+ },
2016
+ "description": "",
2017
+ "displayName": "Delete flight",
2018
+ "icon": {
2019
+ "blueprint": {
2020
+ "color": "#000000",
2021
+ "locator": "edit",
2022
+ },
2023
+ "type": "blueprint",
2024
+ },
2025
+ "successMessage": [],
2026
+ "typeClasses": [],
2027
+ },
2028
+ "entities": {
2029
+ "affectedInterfaceTypes": [],
2030
+ "affectedLinkTypes": [],
2031
+ "affectedObjectTypes": [
2032
+ "com.palantir.flight",
2033
+ ],
2034
+ "typeGroups": [],
2035
+ },
2036
+ "formContentOrdering": [],
2037
+ "parameterOrdering": [
2038
+ "objectToDeleteParameter",
2039
+ ],
2040
+ "parameters": {
2041
+ "objectToDeleteParameter": {
2042
+ "displayMetadata": {
2043
+ "description": "",
2044
+ "displayName": "Delete object",
2045
+ "typeClasses": [],
2046
+ },
2047
+ "id": "objectToDeleteParameter",
2048
+ "type": {
2049
+ "objectReference": {
2050
+ "objectTypeId": "com.palantir.flight",
2051
+ },
2052
+ "type": "objectReference",
2053
+ },
2054
+ },
2055
+ },
2056
+ "sections": {},
2057
+ "status": {
2058
+ "active": {},
2059
+ "type": "active",
2060
+ },
2061
+ },
2062
+ },
2063
+ },
2064
+ "com.palantir.delete-object-passenger": {
2065
+ "actionType": {
2066
+ "actionTypeLogic": {
2067
+ "logic": {
2068
+ "rules": [
2069
+ {
2070
+ "deleteObjectRule": {
2071
+ "objectToDelete": "objectToDeleteParameter",
2072
+ },
2073
+ "type": "deleteObjectRule",
2074
+ },
2075
+ ],
2076
+ },
2077
+ "validation": {
2078
+ "actionTypeLevelValidation": {
2079
+ "rules": {
2080
+ "0": {
2081
+ "condition": {
2082
+ "true": {},
2083
+ "type": "true",
2084
+ },
2085
+ "displayMetadata": {
2086
+ "failureMessage": "",
2087
+ "typeClasses": [],
2088
+ },
2089
+ },
2090
+ },
2091
+ },
2092
+ "parameterValidations": {
2093
+ "objectToDeleteParameter": {
2094
+ "conditionalOverrides": [],
2095
+ "defaultValidation": {
2096
+ "display": {
2097
+ "renderHint": {
2098
+ "dropdown": {},
2099
+ "type": "dropdown",
2100
+ },
2101
+ "visibility": {
2102
+ "editable": {},
2103
+ "type": "editable",
2104
+ },
2105
+ },
2106
+ "validation": {
2107
+ "allowedValues": {
2108
+ "objectQuery": {
2109
+ "objectQuery": {},
2110
+ "type": "objectQuery",
2111
+ },
2112
+ "type": "objectQuery",
2113
+ },
2114
+ "required": {
2115
+ "required": {},
2116
+ "type": "required",
2117
+ },
2118
+ },
2119
+ },
2120
+ },
2121
+ },
2122
+ "sectionValidations": {},
2123
+ },
2124
+ },
2125
+ "metadata": {
2126
+ "apiName": "com.palantir.delete-object-passenger",
2127
+ "displayMetadata": {
2128
+ "configuration": {
2129
+ "defaultLayout": "FORM",
2130
+ "displayAndFormat": {
2131
+ "table": {
2132
+ "columnWidthByParameterRid": {},
2133
+ "enableFileImport": true,
2134
+ "fitHorizontally": false,
2135
+ "frozenColumnCount": 0,
2136
+ "rowHeightInLines": 1,
2137
+ },
2138
+ },
2139
+ "enableLayoutUserSwitch": false,
2140
+ },
2141
+ "description": "",
2142
+ "displayName": "Delete passenger",
2143
+ "icon": {
2144
+ "blueprint": {
2145
+ "color": "#000000",
2146
+ "locator": "edit",
2147
+ },
2148
+ "type": "blueprint",
2149
+ },
2150
+ "successMessage": [],
2151
+ "typeClasses": [],
2152
+ },
2153
+ "entities": {
2154
+ "affectedInterfaceTypes": [],
2155
+ "affectedLinkTypes": [],
2156
+ "affectedObjectTypes": [
2157
+ "com.palantir.passenger",
2158
+ ],
2159
+ "typeGroups": [],
2160
+ },
2161
+ "formContentOrdering": [],
2162
+ "parameterOrdering": [
2163
+ "objectToDeleteParameter",
2164
+ ],
2165
+ "parameters": {
2166
+ "objectToDeleteParameter": {
2167
+ "displayMetadata": {
2168
+ "description": "",
2169
+ "displayName": "Delete object",
2170
+ "typeClasses": [],
2171
+ },
2172
+ "id": "objectToDeleteParameter",
2173
+ "type": {
2174
+ "objectReference": {
2175
+ "objectTypeId": "com.palantir.passenger",
2176
+ },
2177
+ "type": "objectReference",
2178
+ },
2179
+ },
2180
+ },
2181
+ "sections": {},
2182
+ "status": {
2183
+ "active": {},
2184
+ "type": "active",
2185
+ },
2186
+ },
2187
+ },
2188
+ },
2189
+ },
2190
+ "blockPermissionInformation": {
2191
+ "actionTypes": {},
2192
+ "linkTypes": {},
2193
+ "objectTypes": {},
2194
+ },
2195
+ "interfaceTypes": {},
2196
+ "linkTypes": {
2197
+ "flight-to-passengers-link": {
2198
+ "datasources": [],
2199
+ "entityMetadata": {
2200
+ "arePatchesEnabled": false,
2201
+ },
2202
+ "linkType": {
2203
+ "definition": {
2204
+ "oneToMany": {
2205
+ "cardinalityHint": "ONE_TO_MANY",
2206
+ "manyToOneLinkMetadata": {
2207
+ "apiName": "passengersFromFlight",
2208
+ "displayMetadata": {
2209
+ "displayName": "PassengersFromFlight",
2210
+ "groupDisplayName": "",
2211
+ "pluralDisplayName": "PassengersFromFlights",
2212
+ "visibility": "NORMAL",
2213
+ },
2214
+ "typeClasses": [],
2215
+ },
2216
+ "objectTypeRidManySide": "com.palantir.passenger",
2217
+ "objectTypeRidOneSide": "com.palantir.flight",
2218
+ "oneSidePrimaryKeyToManySidePropertyMapping": [
2219
+ {
2220
+ "from": {
2221
+ "apiName": "id",
2222
+ "object": "com.palantir.flight",
2223
+ },
2224
+ "to": {
2225
+ "apiName": "flight_id",
2226
+ "object": "com.palantir.passenger",
2227
+ },
2228
+ },
2229
+ ],
2230
+ "oneToManyLinkMetadata": {
2231
+ "apiName": "flightFromPassengers",
2232
+ "displayMetadata": {
2233
+ "displayName": "FlightFromPassengers",
2234
+ "groupDisplayName": "",
2235
+ "pluralDisplayName": "FlightFromPassengers",
2236
+ "visibility": "NORMAL",
2237
+ },
2238
+ "typeClasses": [],
2239
+ },
2240
+ },
2241
+ "type": "oneToMany",
2242
+ },
2243
+ "id": "flight-to-passengers-link",
2244
+ "redacted": false,
2245
+ "status": {
2246
+ "active": {},
2247
+ "type": "active",
2248
+ },
2249
+ },
2250
+ },
2251
+ },
2252
+ "objectTypes": {
2253
+ "com.palantir.flight": {
2254
+ "datasources": [
2255
+ {
2256
+ "datasource": {
2257
+ "derived": {
2258
+ "definition": {
2259
+ "aggregatedProperties": {
2260
+ "linkDefinition": {
2261
+ "multiHopLink": {
2262
+ "steps": [
2263
+ {
2264
+ "searchAround": {
2265
+ "linkTypeIdentifier": {
2266
+ "linkType": "flight-to-passengers-link",
2267
+ "type": "linkType",
2268
+ },
2269
+ "linkTypeSide": "SOURCE",
2270
+ },
2271
+ "type": "searchAround",
2272
+ },
2273
+ ],
2274
+ },
2275
+ "type": "multiHopLink",
2276
+ },
2277
+ "propertyTypeMapping": {
2278
+ "passengersList": {
2279
+ "collectList": {
2280
+ "limit": 100,
2281
+ "linkedProperty": {
2282
+ "propertyType": "name",
2283
+ "type": "propertyType",
2284
+ },
2285
+ },
2286
+ "type": "collectList",
2287
+ },
2288
+ },
2289
+ },
2290
+ "type": "aggregatedProperties",
2291
+ },
2292
+ },
2293
+ "type": "derived",
2294
+ },
2295
+ "datasourceName": "com.palantir.flight.derived.0",
2296
+ "editsConfiguration": {
2297
+ "onlyAllowPrivilegedEdits": false,
2298
+ },
2299
+ "redacted": false,
2300
+ },
2301
+ {
2302
+ "datasource": {
2303
+ "datasetV2": {
2304
+ "datasetRid": "com.palantir.flight",
2305
+ "propertyMapping": {
2306
+ "id": {
2307
+ "column": "id",
2308
+ "type": "column",
2309
+ },
2310
+ },
2311
+ },
2312
+ "type": "datasetV2",
2313
+ },
2314
+ "datasourceName": "com.palantir.flight",
2315
+ "editsConfiguration": {
2316
+ "onlyAllowPrivilegedEdits": false,
2317
+ },
2318
+ "redacted": false,
2319
+ },
2320
+ ],
2321
+ "entityMetadata": {
2322
+ "arePatchesEnabled": true,
2323
+ },
2324
+ "objectType": {
2325
+ "allImplementsInterfaces": {},
2326
+ "apiName": "com.palantir.flight",
2327
+ "displayMetadata": {
2328
+ "description": undefined,
2329
+ "displayName": "Flight",
2330
+ "groupDisplayName": undefined,
2331
+ "icon": {
2332
+ "blueprint": {
2333
+ "color": "#2D72D2",
2334
+ "locator": "cube",
2335
+ },
2336
+ "type": "blueprint",
2337
+ },
2338
+ "pluralDisplayName": "Flights",
2339
+ "visibility": "NORMAL",
2340
+ },
2341
+ "implementsInterfaces2": [],
2342
+ "primaryKeys": [
2343
+ "id",
2344
+ ],
2345
+ "propertyTypes": {
2346
+ "id": {
2347
+ "apiName": "id",
2348
+ "baseFormatter": undefined,
2349
+ "dataConstraints": undefined,
2350
+ "displayMetadata": {
2351
+ "description": undefined,
2352
+ "displayName": "ID",
2353
+ "visibility": "NORMAL",
2354
+ },
2355
+ "indexedForSearch": true,
2356
+ "inlineAction": undefined,
2357
+ "ruleSetBinding": undefined,
2358
+ "sharedPropertyTypeApiName": undefined,
2359
+ "sharedPropertyTypeRid": undefined,
2360
+ "status": {
2361
+ "active": {},
2362
+ "type": "active",
2363
+ },
2364
+ "type": {
2365
+ "string": {
2366
+ "analyzerOverride": undefined,
2367
+ "enableAsciiFolding": undefined,
2368
+ "isLongText": false,
2369
+ "supportsEfficientLeadingWildcard": false,
2370
+ "supportsExactMatching": true,
2371
+ },
2372
+ "type": "string",
2373
+ },
2374
+ "typeClasses": [
2375
+ {
2376
+ "kind": "render_hint",
2377
+ "name": "SELECTABLE",
2378
+ },
2379
+ {
2380
+ "kind": "render_hint",
2381
+ "name": "SORTABLE",
2382
+ },
2383
+ ],
2384
+ "valueType": undefined,
2385
+ },
2386
+ "passengersList": {
2387
+ "apiName": "passengersList",
2388
+ "baseFormatter": undefined,
2389
+ "dataConstraints": undefined,
2390
+ "displayMetadata": {
2391
+ "description": undefined,
2392
+ "displayName": "Passengers",
2393
+ "visibility": "NORMAL",
2394
+ },
2395
+ "indexedForSearch": true,
2396
+ "inlineAction": undefined,
2397
+ "ruleSetBinding": undefined,
2398
+ "sharedPropertyTypeApiName": undefined,
2399
+ "sharedPropertyTypeRid": undefined,
2400
+ "status": {
2401
+ "active": {},
2402
+ "type": "active",
2403
+ },
2404
+ "type": {
2405
+ "array": {
2406
+ "subtype": {
2407
+ "string": {
2408
+ "analyzerOverride": undefined,
2409
+ "enableAsciiFolding": undefined,
2410
+ "isLongText": false,
2411
+ "supportsEfficientLeadingWildcard": false,
2412
+ "supportsExactMatching": true,
2413
+ },
2414
+ "type": "string",
2415
+ },
2416
+ },
2417
+ "type": "array",
2418
+ },
2419
+ "typeClasses": [
2420
+ {
2421
+ "kind": "render_hint",
2422
+ "name": "SELECTABLE",
2423
+ },
2424
+ {
2425
+ "kind": "render_hint",
2426
+ "name": "SORTABLE",
2427
+ },
2428
+ ],
2429
+ "valueType": undefined,
2430
+ },
2431
+ },
2432
+ "redacted": false,
2433
+ "status": {
2434
+ "active": {},
2435
+ "type": "active",
2436
+ },
2437
+ "titlePropertyTypeRid": "id",
2438
+ },
2439
+ },
2440
+ "com.palantir.passenger": {
2441
+ "datasources": [
2442
+ {
2443
+ "datasource": {
2444
+ "datasetV2": {
2445
+ "datasetRid": "com.palantir.passenger",
2446
+ "propertyMapping": {
2447
+ "flight_id": {
2448
+ "column": "flight_id",
2449
+ "type": "column",
2450
+ },
2451
+ "name": {
2452
+ "column": "name",
2453
+ "type": "column",
2454
+ },
2455
+ },
2456
+ },
2457
+ "type": "datasetV2",
2458
+ },
2459
+ "datasourceName": "com.palantir.passenger",
2460
+ "editsConfiguration": {
2461
+ "onlyAllowPrivilegedEdits": false,
2462
+ },
2463
+ "redacted": false,
2464
+ },
2465
+ ],
2466
+ "entityMetadata": {
2467
+ "arePatchesEnabled": true,
2468
+ },
2469
+ "objectType": {
2470
+ "allImplementsInterfaces": {},
2471
+ "apiName": "com.palantir.passenger",
2472
+ "displayMetadata": {
2473
+ "description": undefined,
2474
+ "displayName": "Passenger",
2475
+ "groupDisplayName": undefined,
2476
+ "icon": {
2477
+ "blueprint": {
2478
+ "color": "#2D72D2",
2479
+ "locator": "cube",
2480
+ },
2481
+ "type": "blueprint",
2482
+ },
2483
+ "pluralDisplayName": "Passengers",
2484
+ "visibility": "NORMAL",
2485
+ },
2486
+ "implementsInterfaces2": [],
2487
+ "primaryKeys": [
2488
+ "name",
2489
+ ],
2490
+ "propertyTypes": {
2491
+ "flight_id": {
2492
+ "apiName": "flight_id",
2493
+ "baseFormatter": undefined,
2494
+ "dataConstraints": undefined,
2495
+ "displayMetadata": {
2496
+ "description": undefined,
2497
+ "displayName": "Flight ID",
2498
+ "visibility": "NORMAL",
2499
+ },
2500
+ "indexedForSearch": true,
2501
+ "inlineAction": undefined,
2502
+ "ruleSetBinding": undefined,
2503
+ "sharedPropertyTypeApiName": undefined,
2504
+ "sharedPropertyTypeRid": undefined,
2505
+ "status": {
2506
+ "active": {},
2507
+ "type": "active",
2508
+ },
2509
+ "type": {
2510
+ "string": {
2511
+ "analyzerOverride": undefined,
2512
+ "enableAsciiFolding": undefined,
2513
+ "isLongText": false,
2514
+ "supportsEfficientLeadingWildcard": false,
2515
+ "supportsExactMatching": true,
2516
+ },
2517
+ "type": "string",
2518
+ },
2519
+ "typeClasses": [
2520
+ {
2521
+ "kind": "render_hint",
2522
+ "name": "SELECTABLE",
2523
+ },
2524
+ {
2525
+ "kind": "render_hint",
2526
+ "name": "SORTABLE",
2527
+ },
2528
+ ],
2529
+ "valueType": undefined,
2530
+ },
2531
+ "name": {
2532
+ "apiName": "name",
2533
+ "baseFormatter": undefined,
2534
+ "dataConstraints": undefined,
2535
+ "displayMetadata": {
2536
+ "description": undefined,
2537
+ "displayName": "Name",
2538
+ "visibility": "NORMAL",
2539
+ },
2540
+ "indexedForSearch": true,
2541
+ "inlineAction": undefined,
2542
+ "ruleSetBinding": undefined,
2543
+ "sharedPropertyTypeApiName": undefined,
2544
+ "sharedPropertyTypeRid": undefined,
2545
+ "status": {
2546
+ "active": {},
2547
+ "type": "active",
2548
+ },
2549
+ "type": {
2550
+ "string": {
2551
+ "analyzerOverride": undefined,
2552
+ "enableAsciiFolding": undefined,
2553
+ "isLongText": false,
2554
+ "supportsEfficientLeadingWildcard": false,
2555
+ "supportsExactMatching": true,
2556
+ },
2557
+ "type": "string",
2558
+ },
2559
+ "typeClasses": [
2560
+ {
2561
+ "kind": "render_hint",
2562
+ "name": "SELECTABLE",
2563
+ },
2564
+ {
2565
+ "kind": "render_hint",
2566
+ "name": "SORTABLE",
2567
+ },
2568
+ ],
2569
+ "valueType": undefined,
2570
+ },
2571
+ },
2572
+ "redacted": false,
2573
+ "status": {
2574
+ "active": {},
2575
+ "type": "active",
2576
+ },
2577
+ "titlePropertyTypeRid": "name",
2578
+ },
2579
+ },
2580
+ },
2581
+ "sharedPropertyTypes": {},
2582
+ },
2583
+ "randomnessKey": undefined,
2584
+ "valueTypes": {
2585
+ "valueTypes": [],
2586
+ },
2587
+ }
2588
+ `);
2589
+ });
2590
+ });
2591
+ //# sourceMappingURL=objects.test.js.map