@osdk/maker 0.10.0-beta.13 → 0.10.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/build/browser/api/defineObject.js +4 -0
- package/build/browser/api/defineObject.js.map +1 -1
- package/build/browser/api/defineOntology.js +38 -14
- package/build/browser/api/defineOntology.js.map +1 -1
- package/build/browser/api/overall.test.js +383 -0
- package/build/browser/api/overall.test.js.map +1 -1
- package/build/browser/api/types.js.map +1 -1
- package/build/browser/cli/main.js +1 -1
- package/build/cjs/index.cjs +62 -35
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +11 -1
- package/build/esm/api/defineObject.js +4 -0
- package/build/esm/api/defineObject.js.map +1 -1
- package/build/esm/api/defineOntology.js +38 -14
- package/build/esm/api/defineOntology.js.map +1 -1
- package/build/esm/api/overall.test.js +383 -0
- package/build/esm/api/overall.test.js.map +1 -1
- package/build/esm/api/types.js.map +1 -1
- package/build/esm/cli/main.js +1 -1
- package/build/types/api/defineObject.d.ts.map +1 -1
- package/build/types/api/defineOntology.d.ts.map +1 -1
- package/build/types/api/types.d.ts +11 -1
- package/build/types/api/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overall.test.js","names":["beforeEach","describe","expect","it","importSharedPropertyType","defineInterface","defineInterfaceLinkConstraint","defineLink","defineObject","defineOntology","dumpOntologyFullMetadata","dumpValueTypeWireType","defineSharedPropertyType","defineValueType","apiName","displayName","type","constraints","constraint","version","toThrowErrorMatchingInlineSnapshot","toMatchInlineSnapshot","result","displayMetadata","toBe","description","properties","foo","blockData","parentInterface","property1","property2","extends","required","propertyDefinition","a","b","not","toBeUndefined","from","toOne","toMany","fooSpt","icon","color","locator","structDefinition","fieldType","undefined","regularSpt","markingType","importedSpt","typeHint","packageName","bar","importedTypes","status","toEqual","active","experimental","message","deadline","deprecated","spt","sample","titlePropertyApiName","pluralDisplayName","primaryKeys","implementsInterfaces","implements","propertyMapping","interfaceProperty","mapsTo","object","otherObject","id","one","metadata","groupDisplayName","visibility","typeClasses","manyForeignKeyProperty","cardinality","many"],"sources":["overall.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 { beforeEach, describe, expect, it } from \"vitest\";\nimport { importSharedPropertyType } from \"./defineImportSpt.js\";\nimport { defineInterface } from \"./defineInterface.js\";\nimport { defineInterfaceLinkConstraint } from \"./defineInterfaceLinkConstraint.js\";\nimport { defineLink } from \"./defineLink.js\";\nimport { defineObject } from \"./defineObject.js\";\nimport {\n defineOntology,\n dumpOntologyFullMetadata,\n dumpValueTypeWireType,\n} from \"./defineOntology.js\";\nimport { defineSharedPropertyType } from \"./defineSpt.js\";\nimport { defineValueType } from \"./defineValueType.js\";\nimport type {\n InterfaceType,\n InterfaceTypeStatus_deprecated,\n InterfaceTypeStatus_experimental,\n} from \"./types.js\";\n\ndescribe(\"Ontology Defining\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {});\n });\n\n describe(\"ValueTypes\", () => {\n it(\"Fails to define value type with incorrect semver\", () => {\n expect(() =>\n defineValueType({\n apiName: \"apiName\",\n displayName: \"displayName\",\n type: {\n \"type\": \"boolean\",\n constraints: [{ constraint: { \"allowedValues\": [\"TRUE_VALUE\"] } }],\n },\n version: \"not a version\",\n })\n ).toThrowErrorMatchingInlineSnapshot(\n \"[Error: Invariant failed: Version is not a valid semver]\",\n );\n });\n it(\"Correctly serializes a value type\", async () => {\n defineValueType({\n apiName: \"apiName\",\n displayName: \"displayName\",\n type: {\n \"type\": \"boolean\",\n constraints: [{ constraint: { \"allowedValues\": [\"TRUE_VALUE\"] } }],\n },\n version: \"0.1.0\",\n });\n expect(dumpValueTypeWireType()).toMatchInlineSnapshot(`\n {\n \"valueTypes\": [\n {\n \"metadata\": {\n \"apiName\": \"apiName\",\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"displayName\",\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n \"versions\": [\n {\n \"baseType\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"constraints\": [\n {\n \"constraint\": {\n \"constraint\": {\n \"boolean\": {\n \"allowedValues\": [\n \"TRUE_VALUE\",\n ],\n },\n \"type\": \"boolean\",\n },\n \"failureMessage\": undefined,\n },\n },\n ],\n \"exampleValues\": [],\n \"version\": \"0.1.0\",\n },\n ],\n },\n ],\n }\n `);\n });\n\n // N.B Not sure what this is for but I don't want to break anything so I added the eslint ignore\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n defineOntology(\"com.palantir.\", () => {});\n });\n\n describe(\"Interfaces\", () => {\n it(\"doesn't let you define the same interface twice\", () => {\n defineInterface({ apiName: \"Foo\" });\n expect(() => {\n defineInterface({ apiName: \"Foo\" });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Interface com.palantir.Foo already exists]`,\n );\n });\n\n it(\"defaults displayName to apiName\", () => {\n const result = defineInterface({ apiName: \"Foo\" });\n expect(result.displayMetadata.displayName).toBe(\"Foo\");\n });\n\n it(\"defaults description to displayName\", () => {\n const result = defineInterface({ apiName: \"Foo\", displayName: \"d\" });\n expect(result.displayMetadata.description).toBe(\"d\");\n });\n\n it(\"defaults description to displayName to apiName\", () => {\n const result = defineInterface({ apiName: \"Foo\" });\n expect(result.displayMetadata.description).toBe(\"Foo\");\n });\n\n describe(\"auto spts\", () => {\n it(\"auto creates spts\", () => {\n defineInterface({\n apiName: \"Foo\",\n properties: {\n foo: \"string\",\n },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.Foo\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.Foo\",\n \"displayMetadata\": {\n \"description\": \"Foo\",\n \"displayName\": \"Foo\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"does not let you conflict spts\", () => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n\n expect(() => {\n defineInterface({\n apiName: \"Foo\",\n properties: {\n foo: \"string\",\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.foo already exists]`,\n );\n });\n });\n\n it(\"allows extends interfaces with InterfaceType provided\", () => {\n const parentInterface = defineInterface({\n apiName: \"parentInterface\",\n properties: {\n property1: \"string\",\n },\n });\n const childInterface = defineInterface({\n apiName: \"childInterface\",\n properties: {\n property2: \"string\",\n },\n extends: [parentInterface],\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.childInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.childInterface\",\n \"displayMetadata\": {\n \"description\": \"childInterface\",\n \"displayName\": \"childInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [\n \"com.palantir.parentInterface\",\n ],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.parentInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.parentInterface\",\n \"displayMetadata\": {\n \"description\": \"parentInterface\",\n \"displayName\": \"parentInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"supports optional properties\", () => {\n const parentInterface = defineInterface({\n apiName: \"parentInterface\",\n properties: {\n property1: { required: false, propertyDefinition: \"string\" },\n },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.parentInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.parentInterface\",\n \"displayMetadata\": {\n \"description\": \"parentInterface\",\n \"displayName\": \"parentInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": false,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"allows extends interfaces with apiName provided\", () => {\n const parentInterface = defineInterface({\n apiName: \"parentInterface\",\n properties: {\n property1: \"string\",\n },\n });\n const childInterface = defineInterface({\n apiName: \"childInterface\",\n properties: {\n property2: \"string\",\n },\n extends: [\"parentInterface\"],\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.childInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.childInterface\",\n \"displayMetadata\": {\n \"description\": \"childInterface\",\n \"displayName\": \"childInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [\n \"parentInterface\",\n ],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.parentInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.parentInterface\",\n \"displayMetadata\": {\n \"description\": \"parentInterface\",\n \"displayName\": \"parentInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n });\n\n describe(\"ILTs\", () => {\n let a: InterfaceType;\n let b: InterfaceType;\n\n beforeEach(() => {\n a = defineInterface({ apiName: \"A\" });\n b = defineInterface({ apiName: \"B\" });\n });\n\n it(\"single link works\", () => {\n expect(a).not.toBeUndefined();\n defineInterfaceLinkConstraint({\n from: a,\n toOne: b,\n apiName: \"singleLink\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.A\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.A\",\n \"displayMetadata\": {\n \"description\": \"A\",\n \"displayName\": \"A\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [\n {\n \"cardinality\": \"SINGLE\",\n \"linkedEntityTypeId\": {\n \"interfaceType\": \"com.palantir.B\",\n \"type\": \"interfaceType\",\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.singleLink\",\n \"description\": \"singleLink\",\n \"displayName\": \"singleLink\",\n },\n \"required\": true,\n },\n ],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.B\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.B\",\n \"displayMetadata\": {\n \"description\": \"B\",\n \"displayName\": \"B\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"many link works\", () => {\n defineInterfaceLinkConstraint({\n from: a,\n toMany: b,\n apiName: \"manyLink\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.A\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.A\",\n \"displayMetadata\": {\n \"description\": \"A\",\n \"displayName\": \"A\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [\n {\n \"cardinality\": \"MANY\",\n \"linkedEntityTypeId\": {\n \"interfaceType\": \"com.palantir.B\",\n \"type\": \"interfaceType\",\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.manyLink\",\n \"description\": \"manyLink\",\n \"displayName\": \"manyLink\",\n },\n \"required\": true,\n },\n ],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.B\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.B\",\n \"displayMetadata\": {\n \"description\": \"B\",\n \"displayName\": \"B\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n });\n\n describe(\"SPTs\", () => {\n it(\"doesn't let you create the same spt twice\", () => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n expect(() => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.foo already exists]`,\n );\n });\n });\n\n it(\"uses a predefined spt\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: \"string\",\n });\n\n const FooInterface = defineInterface({\n apiName: \"FooInterface\",\n displayName: \"Foo Interface\",\n properties: {\n fooSpt,\n },\n icon: { color: \"#00000\", locator: \"airplane\" },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.FooInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.FooInterface\",\n \"displayMetadata\": {\n \"description\": \"Foo Interface\",\n \"displayName\": \"Foo Interface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#00000\",\n \"locator\": \"airplane\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.fooSpt\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"properly serializes both types of struct SPTs\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: {\n type: \"struct\",\n structDefinition: {\n \"simpleProperty\": \"boolean\",\n \"complexProperty\": {\n fieldType: \"date\",\n displayMetadata: {\n displayName: \"complex property\",\n description: undefined,\n },\n },\n },\n },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"typeClasses\": [],\n },\n {\n \"aliases\": [],\n \"apiName\": \"complexProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"complex property\",\n },\n \"fieldType\": {\n \"date\": {},\n \"type\": \"date\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"Adds imported SPTs only to the interface definition\", () => {\n const regularSpt = defineSharedPropertyType({\n apiName: \"foo\",\n type: { type: \"marking\", markingType: \"CBAC\" },\n });\n\n const importedSpt = importSharedPropertyType({\n apiName: \"bar\",\n typeHint: \"string\",\n packageName: \"com.palantir.bar\",\n });\n\n defineInterface({\n apiName: \"interface\",\n properties: { foo: regularSpt, bar: importedSpt },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.interface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.interface\",\n \"displayMetadata\": {\n \"description\": \"interface\",\n \"displayName\": \"interface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.bar.bar\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.bar.bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"com.palantir.bar.bar\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": {\n \"nullability\": undefined,\n \"nullabilityV2\": {\n \"noEmptyCollections\": true,\n \"noNulls\": true,\n },\n \"propertyTypeConstraints\": [],\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"marking\": {\n \"markingType\": \"CBAC\",\n },\n \"type\": \"marking\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": {\n \"nullability\": undefined,\n \"nullabilityV2\": {\n \"noEmptyCollections\": true,\n \"noNulls\": true,\n },\n \"propertyTypeConstraints\": [],\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"marking\": {\n \"markingType\": \"CBAC\",\n },\n \"type\": \"marking\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n\n expect(dumpOntologyFullMetadata().importedTypes).toMatchInlineSnapshot(`\n {\n \"sharedPropertyTypes\": [\n {\n \"apiName\": \"bar\",\n \"packageName\": \"com.palantir.bar\",\n },\n ],\n }\n `);\n });\n\n it(\"defaults interface status to active\", () => {\n const result = defineInterface({ apiName: \"Foo\" });\n expect(result.status).toEqual({ type: \"active\", active: {} });\n });\n\n it(\"sets interface status as experimental from opts as typed\", () => {\n const experimentalStatus = {\n type: \"experimental\",\n experimental: {},\n } as InterfaceTypeStatus_experimental;\n const result = defineInterface({\n apiName: \"Foo\",\n status: { type: \"experimental\" },\n });\n expect(result.status).toEqual(experimentalStatus);\n });\n\n it(\"sets interface status as deprecated from opts as typed\", () => {\n const deprecatedStatus = {\n type: \"deprecated\",\n deprecated: {\n message: \"foo\",\n deadline: \"foo\",\n },\n } as InterfaceTypeStatus_deprecated;\n const result = defineInterface({\n apiName: \"Foo\",\n status: { type: \"deprecated\", message: \"foo\", deadline: \"foo\" },\n });\n expect(result.status).toEqual(deprecatedStatus);\n });\n\n describe(\"Objects\", () => {\n it(\"Fails if any property reference does not exist\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n const sample = defineInterface({\n apiName: \"interface\",\n properties: { foo: spt },\n });\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Title property fizz is not defined on object foo]`,\n );\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"fizz\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Primary key properties fizz do not exist on object foo]`,\n );\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n implementsInterfaces: [{\n implements: sample,\n propertyMapping: [{ interfaceProperty: \"foo\", mapsTo: \"fizz\" }],\n }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: \\nOntology Definition Error: Object property mapped to interface does not exist. Object Property Mapped: fizz\\n]`,\n );\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n implementsInterfaces: [{\n implements: sample,\n propertyMapping: [{ interfaceProperty: \"fizz\", mapsTo: \"bar\" }, {\n interfaceProperty: \"foo\",\n mapsTo: \"bar\",\n }],\n }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: \\nOntology Definition Error: Interface property com.palantir.interface.fizz referenced in foo object does not exist\\n]`,\n );\n });\n\n it(\"Objects properly defined\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n const sample = defineInterface({\n apiName: \"interface\",\n properties: { foo: spt },\n });\n\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n implementsInterfaces: [{\n implements: sample,\n propertyMapping: [{ interfaceProperty: \"foo\", mapsTo: \"bar\" }],\n }],\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.interface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.interface\",\n \"displayMetadata\": {\n \"description\": \"interface\",\n \"displayName\": \"interface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.foo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [\n {\n \"interfaceTypeApiName\": \"com.palantir.interface\",\n \"properties\": {\n \"com.palantir.foo\": {\n \"propertyTypeRid\": \"bar\",\n },\n },\n },\n ],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n it(\"One To Many Links are properly defined\", () => {\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n\n const otherObject = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizz\",\n primaryKeys: [\"fizz\"],\n properties: [{ apiName: \"fizz\", type: \"string\", displayName: \"Fizz\" }, {\n apiName: \"bar\",\n type: \"string\",\n displayName: \"Bar\",\n }],\n });\n\n defineLink({\n id: \"fizzToFoo\",\n one: {\n object: object,\n metadata: {\n displayMetadata: {\n displayName: \"Foo\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Foos\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"fizzes\",\n },\n },\n toMany: {\n object: otherObject,\n metadata: {\n displayMetadata: {\n displayName: \"Fizz\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Fizzes\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"foos\",\n },\n },\n manyForeignKeyProperty: \"bar\",\n cardinality: \"OneToMany\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"fizzToFoo\": {\n \"datasources\": [],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"oneToMany\": {\n \"cardinalityHint\": \"ONE_TO_ONE\",\n \"manyToOneLinkMetadata\": {\n \"apiName\": \"foos\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidManySide\": \"com.palantir.fizz\",\n \"objectTypeRidOneSide\": \"com.palantir.foo\",\n \"oneSidePrimaryKeyToManySidePropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n \"to\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"oneToManyLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Foo\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Foos\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n },\n \"type\": \"oneToMany\",\n },\n \"id\": \"fizzToFoo\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizz\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.fizz\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.foo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"Many To Many Links are properly defined\", () => {\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n\n const otherObject = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizz\",\n primaryKeys: [\"fizz\"],\n properties: [{ apiName: \"fizz\", type: \"string\", displayName: \"Fizz\" }, {\n apiName: \"bar\",\n type: \"string\",\n displayName: \"Bar\",\n }],\n });\n\n defineLink({\n id: \"fizzToFoo\",\n many: {\n object: object,\n metadata: {\n displayMetadata: {\n displayName: \"Foo\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Foos\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"fizzes\",\n },\n },\n toMany: {\n object: otherObject,\n metadata: {\n displayMetadata: {\n displayName: \"Fizz\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Fizzes\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"foos\",\n },\n },\n });\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"fizzToFoo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"dataset\": {\n \"datasetRid\": \"link-fizzToFoo\",\n \"objectTypeAPrimaryKeyMapping\": [\n {\n \"column\": \"bar\",\n \"property\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n },\n ],\n \"objectTypeBPrimaryKeyMapping\": [\n {\n \"column\": \"bar\",\n \"property\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"writebackDatasetRid\": undefined,\n },\n \"type\": \"dataset\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": undefined,\n \"rid\": \"ri.ontology.main.datasource.link-fizzToFoo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"manyToMany\": {\n \"objectTypeAPrimaryKeyPropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n \"to\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n },\n ],\n \"objectTypeAToBLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Foo\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Foos\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeBPrimaryKeyPropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n \"to\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"objectTypeBToALinkMetadata\": {\n \"apiName\": \"foos\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidA\": \"com.palantir.foo\",\n \"objectTypeRidB\": \"com.palantir.fizz\",\n \"peeringMetadata\": undefined,\n },\n \"type\": \"manyToMany\",\n },\n \"id\": \"fizzToFoo\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizz\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.fizz\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.foo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n });\n});\n"],"mappings":"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MAAM;QAC5BE,eAAe,CAAC;UACdS,OAAO,EAAE,KAAK;UACdY,UAAU,EAAE;YACVC,GAAG,EAAE;UACP;QACF,CAAC,CAAC;QAEFzB,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;MACJ,CAAC,CAAC;MAEFlB,EAAE,CAAC,gCAAgC,EAAE,MAAM;QACzCS,wBAAwB,CAAC;UACvBE,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE;QACR,CAAC,CAAC;QAEFd,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;QAEFnB,MAAM,CAAC,MAAM;UACXG,eAAe,CAAC;YACdS,OAAO,EAAE,KAAK;YACdY,UAAU,EAAE;cACVC,GAAG,EAAE;YACP;UACF,CAAC,CAAC;QACJ,CAAC,CAAC,CAACP,kCAAkC,CACnC,iFACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFjB,EAAE,CAAC,uDAAuD,EAAE,MAAM;MAChE,MAAM0B,eAAe,GAAGxB,eAAe,CAAC;QACtCS,OAAO,EAAE,iBAAiB;QAC1BY,UAAU,EAAE;UACVI,SAAS,EAAE;QACb;MACF,CAAC,CAAC;MACqBzB,eAAe,CAAC;QACrCS,OAAO,EAAE,gBAAgB;QACzBY,UAAU,EAAE;UACVK,SAAS,EAAE;QACb,CAAC;QACDC,OAAO,EAAE,CAACH,eAAe;MAC3B,CAAC,CAAC;MAEF3B,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IAEFlB,EAAE,CAAC,8BAA8B,EAAE,MAAM;MACfE,eAAe,CAAC;QACtCS,OAAO,EAAE,iBAAiB;QAC1BY,UAAU,EAAE;UACVI,SAAS,EAAE;YAAEG,QAAQ,EAAE,KAAK;YAAEC,kBAAkB,EAAE;UAAS;QAC7D;MACF,CAAC,CAAC;MAEFhC,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlB,EAAE,CAAC,iDAAiD,EAAE,MAAM;MAClCE,eAAe,CAAC;QACtCS,OAAO,EAAE,iBAAiB;QAC1BY,UAAU,EAAE;UACVI,SAAS,EAAE;QACb;MACF,CAAC,CAAC;MACqBzB,eAAe,CAAC;QACrCS,OAAO,EAAE,gBAAgB;QACzBY,UAAU,EAAE;UACVK,SAAS,EAAE;QACb,CAAC;QACDC,OAAO,EAAE,CAAC,iBAAiB;MAC7B,CAAC,CAAC;MAEF9B,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACrB,IAAIkC,CAAgB;IACpB,IAAIC,CAAgB;IAEpBpC,UAAU,CAAC,MAAM;MACfmC,CAAC,GAAG9B,eAAe,CAAC;QAAES,OAAO,EAAE;MAAI,CAAC,CAAC;MACrCsB,CAAC,GAAG/B,eAAe,CAAC;QAAES,OAAO,EAAE;MAAI,CAAC,CAAC;IACvC,CAAC,CAAC;IAEFX,EAAE,CAAC,mBAAmB,EAAE,MAAM;MAC5BD,MAAM,CAACiC,CAAC,CAAC,CAACE,GAAG,CAACC,aAAa,CAAC,CAAC;MAC7BhC,6BAA6B,CAAC;QAC5BiC,IAAI,EAAEJ,CAAC;QACPK,KAAK,EAAEJ,CAAC;QACRtB,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IAEFlB,EAAE,CAAC,iBAAiB,EAAE,MAAM;MAC1BG,6BAA6B,CAAC;QAC5BiC,IAAI,EAAEJ,CAAC;QACPM,MAAM,EAAEL,CAAC;QACTtB,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACrBE,EAAE,CAAC,2CAA2C,EAAE,MAAM;MACpDS,wBAAwB,CAAC;QACvBE,OAAO,EAAE,KAAK;QACdE,IAAI,EAAE;MACR,CAAC,CAAC;MAEFd,MAAM,CAAC,MAAM;QACXU,wBAAwB,CAAC;UACvBE,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE;QACR,CAAC,CAAC;MACJ,CAAC,CAAC,CAACI,kCAAkC,CACnC,iFACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFjB,EAAE,CAAC,uBAAuB,EAAE,MAAM;IAChC,MAAMuC,MAAM,GAAG9B,wBAAwB,CAAC;MACtCE,OAAO,EAAE,QAAQ;MACjBE,IAAI,EAAE;IACR,CAAC,CAAC;IAEmBX,eAAe,CAAC;MACnCS,OAAO,EAAE,cAAc;MACvBC,WAAW,EAAE,eAAe;MAC5BW,UAAU,EAAE;QACVgB;MACF,CAAC;MACDC,IAAI,EAAE;QAAEC,KAAK,EAAE,QAAQ;QAAEC,OAAO,EAAE;MAAW;IAC/C,CAAC,CAAC;IAEF3C,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;EAEFlB,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACzCS,wBAAwB,CAAC;MACtCE,OAAO,EAAE,QAAQ;MACjBE,IAAI,EAAE;QACJA,IAAI,EAAE,QAAQ;QACd8B,gBAAgB,EAAE;UAChB,gBAAgB,EAAE,SAAS;UAC3B,iBAAiB,EAAE;YACjBC,SAAS,EAAE,MAAM;YACjBxB,eAAe,EAAE;cACfR,WAAW,EAAE,kBAAkB;cAC/BU,WAAW,EAAEuB;YACf;UACF;QACF;MACF;IACF,CAAC,CAAC;IAEF9C,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFlB,EAAE,CAAC,qDAAqD,EAAE,MAAM;IAC9D,MAAM8C,UAAU,GAAGrC,wBAAwB,CAAC;MAC1CE,OAAO,EAAE,KAAK;MACdE,IAAI,EAAE;QAAEA,IAAI,EAAE,SAAS;QAAEkC,WAAW,EAAE;MAAO;IAC/C,CAAC,CAAC;IAEF,MAAMC,WAAW,GAAG/C,wBAAwB,CAAC;MAC3CU,OAAO,EAAE,KAAK;MACdsC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IAEFhD,eAAe,CAAC;MACdS,OAAO,EAAE,WAAW;MACpBY,UAAU,EAAE;QAAEC,GAAG,EAAEsB,UAAU;QAAEK,GAAG,EAAEH;MAAY;IAClD,CAAC,CAAC;IAEFjD,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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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e,EAAE,CAAC;YAAEC,iBAAiB,EAAE,KAAK;YAAEC,MAAM,EAAE;UAAM,CAAC;QAC/D,CAAC;MACH,CAAC,CAAC;MAEFtE,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IACFlB,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACjD,MAAMsE,MAAM,GAAGjE,YAAY,CAAC;QAC1ByD,oBAAoB,EAAE,KAAK;QAC3BlD,WAAW,EAAE,KAAK;QAClBmD,iBAAiB,EAAE,KAAK;QACxBpD,OAAO,EAAE,KAAK;QACdqD,WAAW,EAAE,CAAC,KAAK,CAAC;QACpBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,KAAK;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAM,CAAC;MACrE,CAAC,CAAC;MAEF,MAAM2D,WAAW,GAAGlE,YAAY,CAAC;QAC/ByD,oBAAoB,EAAE,MAAM;QAC5BlD,WAAW,EAAE,MAAM;QACnBmD,iBAAiB,EAAE,MAAM;QACzBpD,OAAO,EAAE,MAAM;QACfqD,WAAW,EAAE,CAAC,MAAM,CAAC;QACrBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,MAAM;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAO,CAAC,EAAE;UACrED,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE,QAAQ;UACdD,WAAW,EAAE;QACf,CAAC;MACH,CAAC,CAAC;MAEFR,UAAU,CAAC;QACToE,EAAE,EAAE,WAAW;QACfC,GAAG,EAAE;UACHH,MAAM,EAAEA,MAAM;UACdI,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,KAAK;cAClB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,MAAM;cACzBa,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF,CAAC;QACD2B,MAAM,EAAE;UACNgC,MAAM,EAAEC,WAAW;UACnBG,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,MAAM;cACnB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,QAAQ;cAC3Ba,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF,CAAC;QACDmE,sBAAsB,EAAE,KAAK;QAC7BC,WAAW,EAAE;MACf,CAAC,CAAC;MAEFhF,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlB,EAAE,CAAC,yCAAyC,EAAE,MAAM;MAClD,MAAMsE,MAAM,GAAGjE,YAAY,CAAC;QAC1ByD,oBAAoB,EAAE,KAAK;QAC3BlD,WAAW,EAAE,KAAK;QAClBmD,iBAAiB,EAAE,KAAK;QACxBpD,OAAO,EAAE,KAAK;QACdqD,WAAW,EAAE,CAAC,KAAK,CAAC;QACpBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,KAAK;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAM,CAAC;MACrE,CAAC,CAAC;MAEF,MAAM2D,WAAW,GAAGlE,YAAY,CAAC;QAC/ByD,oBAAoB,EAAE,MAAM;QAC5BlD,WAAW,EAAE,MAAM;QACnBmD,iBAAiB,EAAE,MAAM;QACzBpD,OAAO,EAAE,MAAM;QACfqD,WAAW,EAAE,CAAC,MAAM,CAAC;QACrBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,MAAM;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAO,CAAC,EAAE;UACrED,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE,QAAQ;UACdD,WAAW,EAAE;QACf,CAAC;MACH,CAAC,CAAC;MAEFR,UAAU,CAAC;QACToE,EAAE,EAAE,WAAW;QACfQ,IAAI,EAAE;UACJV,MAAM,EAAEA,MAAM;UACdI,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,KAAK;cAClB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,MAAM;cACzBa,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF,CAAC;QACD2B,MAAM,EAAE;UACNgC,MAAM,EAAEC,WAAW;UACnBG,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,MAAM;cACnB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,QAAQ;cAC3Ba,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF;MACF,CAAC,CAAC;MACFZ,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"overall.test.js","names":["beforeEach","describe","expect","it","importSharedPropertyType","defineInterface","defineInterfaceLinkConstraint","defineLink","defineObject","defineOntology","dumpOntologyFullMetadata","dumpValueTypeWireType","defineSharedPropertyType","defineValueType","apiName","displayName","type","constraints","constraint","version","toThrowErrorMatchingInlineSnapshot","toMatchInlineSnapshot","result","displayMetadata","toBe","description","properties","foo","blockData","parentInterface","property1","property2","extends","required","propertyDefinition","a","b","not","toBeUndefined","from","toOne","toMany","fooSpt","icon","color","locator","structDefinition","fieldType","undefined","regularSpt","markingType","importedSpt","typeHint","packageName","bar","importedTypes","status","toEqual","active","experimental","message","deadline","deprecated","spt","sample","titlePropertyApiName","pluralDisplayName","primaryKeys","implementsInterfaces","implements","propertyMapping","interfaceProperty","mapsTo","object","otherObject","id","one","metadata","groupDisplayName","visibility","typeClasses","manyForeignKeyProperty","cardinality","many","datasource","retentionPeriod"],"sources":["overall.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 { beforeEach, describe, expect, it } from \"vitest\";\nimport { importSharedPropertyType } from \"./defineImportSpt.js\";\nimport { defineInterface } from \"./defineInterface.js\";\nimport { defineInterfaceLinkConstraint } from \"./defineInterfaceLinkConstraint.js\";\nimport { defineLink } from \"./defineLink.js\";\nimport { defineObject } from \"./defineObject.js\";\nimport {\n defineOntology,\n dumpOntologyFullMetadata,\n dumpValueTypeWireType,\n} from \"./defineOntology.js\";\nimport { defineSharedPropertyType } from \"./defineSpt.js\";\nimport { defineValueType } from \"./defineValueType.js\";\nimport type {\n InterfaceType,\n InterfaceTypeStatus_deprecated,\n InterfaceTypeStatus_experimental,\n} from \"./types.js\";\n\ndescribe(\"Ontology Defining\", () => {\n beforeEach(async () => {\n await defineOntology(\"com.palantir.\", () => {});\n });\n\n describe(\"ValueTypes\", () => {\n it(\"Fails to define value type with incorrect semver\", () => {\n expect(() =>\n defineValueType({\n apiName: \"apiName\",\n displayName: \"displayName\",\n type: {\n \"type\": \"boolean\",\n constraints: [{ constraint: { \"allowedValues\": [\"TRUE_VALUE\"] } }],\n },\n version: \"not a version\",\n })\n ).toThrowErrorMatchingInlineSnapshot(\n \"[Error: Invariant failed: Version is not a valid semver]\",\n );\n });\n it(\"Correctly serializes a value type\", async () => {\n defineValueType({\n apiName: \"apiName\",\n displayName: \"displayName\",\n type: {\n \"type\": \"boolean\",\n constraints: [{ constraint: { \"allowedValues\": [\"TRUE_VALUE\"] } }],\n },\n version: \"0.1.0\",\n });\n expect(dumpValueTypeWireType()).toMatchInlineSnapshot(`\n {\n \"valueTypes\": [\n {\n \"metadata\": {\n \"apiName\": \"apiName\",\n \"displayMetadata\": {\n \"description\": \"\",\n \"displayName\": \"displayName\",\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n \"versions\": [\n {\n \"baseType\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"constraints\": [\n {\n \"constraint\": {\n \"constraint\": {\n \"boolean\": {\n \"allowedValues\": [\n \"TRUE_VALUE\",\n ],\n },\n \"type\": \"boolean\",\n },\n \"failureMessage\": undefined,\n },\n },\n ],\n \"exampleValues\": [],\n \"version\": \"0.1.0\",\n },\n ],\n },\n ],\n }\n `);\n });\n\n // N.B Not sure what this is for but I don't want to break anything so I added the eslint ignore\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n defineOntology(\"com.palantir.\", () => {});\n });\n\n describe(\"Interfaces\", () => {\n it(\"doesn't let you define the same interface twice\", () => {\n defineInterface({ apiName: \"Foo\" });\n expect(() => {\n defineInterface({ apiName: \"Foo\" });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Interface com.palantir.Foo already exists]`,\n );\n });\n\n it(\"defaults displayName to apiName\", () => {\n const result = defineInterface({ apiName: \"Foo\" });\n expect(result.displayMetadata.displayName).toBe(\"Foo\");\n });\n\n it(\"defaults description to displayName\", () => {\n const result = defineInterface({ apiName: \"Foo\", displayName: \"d\" });\n expect(result.displayMetadata.description).toBe(\"d\");\n });\n\n it(\"defaults description to displayName to apiName\", () => {\n const result = defineInterface({ apiName: \"Foo\" });\n expect(result.displayMetadata.description).toBe(\"Foo\");\n });\n\n describe(\"auto spts\", () => {\n it(\"auto creates spts\", () => {\n defineInterface({\n apiName: \"Foo\",\n properties: {\n foo: \"string\",\n },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.Foo\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.Foo\",\n \"displayMetadata\": {\n \"description\": \"Foo\",\n \"displayName\": \"Foo\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"does not let you conflict spts\", () => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n\n expect(() => {\n defineInterface({\n apiName: \"Foo\",\n properties: {\n foo: \"string\",\n },\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.foo already exists]`,\n );\n });\n });\n\n it(\"allows extends interfaces with InterfaceType provided\", () => {\n const parentInterface = defineInterface({\n apiName: \"parentInterface\",\n properties: {\n property1: \"string\",\n },\n });\n const childInterface = defineInterface({\n apiName: \"childInterface\",\n properties: {\n property2: \"string\",\n },\n extends: [parentInterface],\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.childInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.childInterface\",\n \"displayMetadata\": {\n \"description\": \"childInterface\",\n \"displayName\": \"childInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [\n \"com.palantir.parentInterface\",\n ],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.parentInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.parentInterface\",\n \"displayMetadata\": {\n \"description\": \"parentInterface\",\n \"displayName\": \"parentInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"supports optional properties\", () => {\n const parentInterface = defineInterface({\n apiName: \"parentInterface\",\n properties: {\n property1: { required: false, propertyDefinition: \"string\" },\n },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.parentInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.parentInterface\",\n \"displayMetadata\": {\n \"description\": \"parentInterface\",\n \"displayName\": \"parentInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": false,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"allows extends interfaces with apiName provided\", () => {\n const parentInterface = defineInterface({\n apiName: \"parentInterface\",\n properties: {\n property1: \"string\",\n },\n });\n const childInterface = defineInterface({\n apiName: \"childInterface\",\n properties: {\n property2: \"string\",\n },\n extends: [\"parentInterface\"],\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.childInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.childInterface\",\n \"displayMetadata\": {\n \"description\": \"childInterface\",\n \"displayName\": \"childInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [\n \"parentInterface\",\n ],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property2\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.parentInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.parentInterface\",\n \"displayMetadata\": {\n \"description\": \"parentInterface\",\n \"displayName\": \"parentInterface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.property1\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.property1\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property1\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property1\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.property2\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.property2\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"property2\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n });\n\n describe(\"ILTs\", () => {\n let a: InterfaceType;\n let b: InterfaceType;\n\n beforeEach(() => {\n a = defineInterface({ apiName: \"A\" });\n b = defineInterface({ apiName: \"B\" });\n });\n\n it(\"single link works\", () => {\n expect(a).not.toBeUndefined();\n defineInterfaceLinkConstraint({\n from: a,\n toOne: b,\n apiName: \"singleLink\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.A\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.A\",\n \"displayMetadata\": {\n \"description\": \"A\",\n \"displayName\": \"A\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [\n {\n \"cardinality\": \"SINGLE\",\n \"linkedEntityTypeId\": {\n \"interfaceType\": \"com.palantir.B\",\n \"type\": \"interfaceType\",\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.singleLink\",\n \"description\": \"singleLink\",\n \"displayName\": \"singleLink\",\n },\n \"required\": true,\n },\n ],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.B\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.B\",\n \"displayMetadata\": {\n \"description\": \"B\",\n \"displayName\": \"B\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"many link works\", () => {\n defineInterfaceLinkConstraint({\n from: a,\n toMany: b,\n apiName: \"manyLink\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.A\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.A\",\n \"displayMetadata\": {\n \"description\": \"A\",\n \"displayName\": \"A\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [\n {\n \"cardinality\": \"MANY\",\n \"linkedEntityTypeId\": {\n \"interfaceType\": \"com.palantir.B\",\n \"type\": \"interfaceType\",\n },\n \"metadata\": {\n \"apiName\": \"com.palantir.manyLink\",\n \"description\": \"manyLink\",\n \"displayName\": \"manyLink\",\n },\n \"required\": true,\n },\n ],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n \"com.palantir.B\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.B\",\n \"displayMetadata\": {\n \"description\": \"B\",\n \"displayName\": \"B\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {},\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n });\n\n describe(\"SPTs\", () => {\n it(\"doesn't let you create the same spt twice\", () => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n expect(() => {\n defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Shared property type com.palantir.foo already exists]`,\n );\n });\n });\n\n it(\"uses a predefined spt\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: \"string\",\n });\n\n const FooInterface = defineInterface({\n apiName: \"FooInterface\",\n displayName: \"Foo Interface\",\n properties: {\n fooSpt,\n },\n icon: { color: \"#00000\", locator: \"airplane\" },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.FooInterface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.FooInterface\",\n \"displayMetadata\": {\n \"description\": \"Foo Interface\",\n \"displayName\": \"Foo Interface\",\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#00000\",\n \"locator\": \"airplane\",\n },\n \"type\": \"blueprint\",\n },\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.fooSpt\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"properly serializes both types of struct SPTs\", () => {\n const fooSpt = defineSharedPropertyType({\n apiName: \"fooSpt\",\n type: {\n type: \"struct\",\n structDefinition: {\n \"simpleProperty\": \"boolean\",\n \"complexProperty\": {\n fieldType: \"date\",\n displayMetadata: {\n displayName: \"complex property\",\n description: undefined,\n },\n },\n },\n },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.fooSpt\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.fooSpt\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"fooSpt\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"struct\": {\n \"structFields\": [\n {\n \"aliases\": [],\n \"apiName\": \"simpleProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"simpleProperty\",\n },\n \"fieldType\": {\n \"boolean\": {},\n \"type\": \"boolean\",\n },\n \"typeClasses\": [],\n },\n {\n \"aliases\": [],\n \"apiName\": \"complexProperty\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"complex property\",\n },\n \"fieldType\": {\n \"date\": {},\n \"type\": \"date\",\n },\n \"typeClasses\": [],\n },\n ],\n },\n \"type\": \"struct\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n\n it(\"Adds imported SPTs only to the interface definition\", () => {\n const regularSpt = defineSharedPropertyType({\n apiName: \"foo\",\n type: { type: \"marking\", markingType: \"CBAC\" },\n });\n\n const importedSpt = importSharedPropertyType({\n apiName: \"bar\",\n typeHint: \"string\",\n packageName: \"com.palantir.bar\",\n });\n\n defineInterface({\n apiName: \"interface\",\n properties: { foo: regularSpt, bar: importedSpt },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.interface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.interface\",\n \"displayMetadata\": {\n \"description\": \"interface\",\n \"displayName\": \"interface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.bar.bar\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.bar.bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"com.palantir.bar.bar\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": {\n \"nullability\": undefined,\n \"nullabilityV2\": {\n \"noEmptyCollections\": true,\n \"noNulls\": true,\n },\n \"propertyTypeConstraints\": [],\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"marking\": {\n \"markingType\": \"CBAC\",\n },\n \"type\": \"marking\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {},\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": {\n \"nullability\": undefined,\n \"nullabilityV2\": {\n \"noEmptyCollections\": true,\n \"noNulls\": true,\n },\n \"propertyTypeConstraints\": [],\n },\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"marking\": {\n \"markingType\": \"CBAC\",\n },\n \"type\": \"marking\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n\n expect(dumpOntologyFullMetadata().importedTypes).toMatchInlineSnapshot(`\n {\n \"sharedPropertyTypes\": [\n {\n \"apiName\": \"bar\",\n \"packageName\": \"com.palantir.bar\",\n },\n ],\n }\n `);\n });\n\n it(\"defaults interface status to active\", () => {\n const result = defineInterface({ apiName: \"Foo\" });\n expect(result.status).toEqual({ type: \"active\", active: {} });\n });\n\n it(\"sets interface status as experimental from opts as typed\", () => {\n const experimentalStatus = {\n type: \"experimental\",\n experimental: {},\n } as InterfaceTypeStatus_experimental;\n const result = defineInterface({\n apiName: \"Foo\",\n status: { type: \"experimental\" },\n });\n expect(result.status).toEqual(experimentalStatus);\n });\n\n it(\"sets interface status as deprecated from opts as typed\", () => {\n const deprecatedStatus = {\n type: \"deprecated\",\n deprecated: {\n message: \"foo\",\n deadline: \"foo\",\n },\n } as InterfaceTypeStatus_deprecated;\n const result = defineInterface({\n apiName: \"Foo\",\n status: { type: \"deprecated\", message: \"foo\", deadline: \"foo\" },\n });\n expect(result.status).toEqual(deprecatedStatus);\n });\n\n describe(\"Objects\", () => {\n it(\"Fails if any property reference does not exist\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n const sample = defineInterface({\n apiName: \"interface\",\n properties: { foo: spt },\n });\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Title property fizz is not defined on object foo]`,\n );\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"fizz\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Primary key properties fizz do not exist on object foo]`,\n );\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n implementsInterfaces: [{\n implements: sample,\n propertyMapping: [{ interfaceProperty: \"foo\", mapsTo: \"fizz\" }],\n }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: \\nOntology Definition Error: Object property mapped to interface does not exist. Object Property Mapped: fizz\\n]`,\n );\n\n expect(() => {\n defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n implementsInterfaces: [{\n implements: sample,\n propertyMapping: [{ interfaceProperty: \"fizz\", mapsTo: \"bar\" }, {\n interfaceProperty: \"foo\",\n mapsTo: \"bar\",\n }],\n }],\n });\n }).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: \\nOntology Definition Error: Interface property com.palantir.interface.fizz referenced in foo object does not exist\\n]`,\n );\n });\n\n it(\"Objects properly defined\", () => {\n const spt = defineSharedPropertyType({\n apiName: \"foo\",\n type: \"string\",\n });\n\n const sample = defineInterface({\n apiName: \"interface\",\n properties: { foo: spt },\n });\n\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n implementsInterfaces: [{\n implements: sample,\n propertyMapping: [{ interfaceProperty: \"foo\", mapsTo: \"bar\" }],\n }],\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {\n \"com.palantir.interface\": {\n \"interfaceType\": {\n \"allExtendsInterfaces\": [],\n \"allLinks\": [],\n \"allProperties\": [],\n \"allPropertiesV2\": {},\n \"apiName\": \"com.palantir.interface\",\n \"displayMetadata\": {\n \"description\": \"interface\",\n \"displayName\": \"interface\",\n \"icon\": undefined,\n },\n \"extendsInterfaces\": [],\n \"links\": [],\n \"properties\": [],\n \"propertiesV2\": {\n \"com.palantir.foo\": {\n \"required\": true,\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.foo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [\n {\n \"interfaceTypeApiName\": \"com.palantir.interface\",\n \"properties\": {\n \"com.palantir.foo\": {\n \"propertyTypeRid\": \"bar\",\n },\n },\n },\n ],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {\n \"com.palantir.foo\": {\n \"sharedPropertyType\": {\n \"aliases\": [],\n \"apiName\": \"com.palantir.foo\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"foo\",\n \"visibility\": \"NORMAL\",\n },\n \"gothamMapping\": undefined,\n \"indexedForSearch\": true,\n \"provenance\": undefined,\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [\n {\n \"kind\": \"render_hint\",\n \"name\": \"SELECTABLE\",\n },\n {\n \"kind\": \"render_hint\",\n \"name\": \"SORTABLE\",\n },\n ],\n \"valueType\": undefined,\n },\n },\n },\n }\n `);\n });\n it(\"One To Many Links are properly defined\", () => {\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n\n const otherObject = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizz\",\n primaryKeys: [\"fizz\"],\n properties: [{ apiName: \"fizz\", type: \"string\", displayName: \"Fizz\" }, {\n apiName: \"bar\",\n type: \"string\",\n displayName: \"Bar\",\n }],\n });\n\n defineLink({\n id: \"fizzToFoo\",\n one: {\n object: object,\n metadata: {\n displayMetadata: {\n displayName: \"Foo\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Foos\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"fizzes\",\n },\n },\n toMany: {\n object: otherObject,\n metadata: {\n displayMetadata: {\n displayName: \"Fizz\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Fizzes\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"foos\",\n },\n },\n manyForeignKeyProperty: \"bar\",\n cardinality: \"OneToMany\",\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"fizzToFoo\": {\n \"datasources\": [],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"oneToMany\": {\n \"cardinalityHint\": \"ONE_TO_ONE\",\n \"manyToOneLinkMetadata\": {\n \"apiName\": \"foos\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidManySide\": \"com.palantir.fizz\",\n \"objectTypeRidOneSide\": \"com.palantir.foo\",\n \"oneSidePrimaryKeyToManySidePropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n \"to\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"oneToManyLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Foo\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Foos\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n },\n \"type\": \"oneToMany\",\n },\n \"id\": \"fizzToFoo\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizz\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.fizz\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.foo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"Many To Many Links are properly defined\", () => {\n const object = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"Foo\",\n pluralDisplayName: \"Foo\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n });\n\n const otherObject = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"Fizz\",\n pluralDisplayName: \"Fizz\",\n apiName: \"fizz\",\n primaryKeys: [\"fizz\"],\n properties: [{ apiName: \"fizz\", type: \"string\", displayName: \"Fizz\" }, {\n apiName: \"bar\",\n type: \"string\",\n displayName: \"Bar\",\n }],\n });\n\n defineLink({\n id: \"fizzToFoo\",\n many: {\n object: object,\n metadata: {\n displayMetadata: {\n displayName: \"Foo\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Foos\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"fizzes\",\n },\n },\n toMany: {\n object: otherObject,\n metadata: {\n displayMetadata: {\n displayName: \"Fizz\",\n groupDisplayName: \"\",\n pluralDisplayName: \"Fizzes\",\n visibility: \"NORMAL\",\n },\n typeClasses: [],\n apiName: \"foos\",\n },\n },\n });\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {\n \"fizzToFoo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"dataset\": {\n \"datasetRid\": \"link-fizzToFoo\",\n \"objectTypeAPrimaryKeyMapping\": [\n {\n \"column\": \"bar\",\n \"property\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n },\n ],\n \"objectTypeBPrimaryKeyMapping\": [\n {\n \"column\": \"bar\",\n \"property\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"writebackDatasetRid\": undefined,\n },\n \"type\": \"dataset\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": undefined,\n \"rid\": \"ri.ontology.main.datasource.link-fizzToFoo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"linkType\": {\n \"definition\": {\n \"manyToMany\": {\n \"objectTypeAPrimaryKeyPropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n \"to\": {\n \"apiName\": \"bar\",\n \"object\": \"com.palantir.foo\",\n },\n },\n ],\n \"objectTypeAToBLinkMetadata\": {\n \"apiName\": \"fizzes\",\n \"displayMetadata\": {\n \"displayName\": \"Foo\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Foos\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeBPrimaryKeyPropertyMapping\": [\n {\n \"from\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n \"to\": {\n \"apiName\": \"fizz\",\n \"object\": \"com.palantir.fizz\",\n },\n },\n ],\n \"objectTypeBToALinkMetadata\": {\n \"apiName\": \"foos\",\n \"displayMetadata\": {\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": \"\",\n \"pluralDisplayName\": \"Fizzes\",\n \"visibility\": \"NORMAL\",\n },\n \"typeClasses\": [],\n },\n \"objectTypeRidA\": \"com.palantir.foo\",\n \"objectTypeRidB\": \"com.palantir.fizz\",\n \"peeringMetadata\": undefined,\n },\n \"type\": \"manyToMany\",\n },\n \"id\": \"fizzToFoo\",\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n },\n },\n },\n \"objectTypes\": {\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.fizz\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n \"fizz\": {\n \"column\": \"fizz\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.fizz\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.foo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Foo\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"Foo\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"Explicit datasource definitions are properly defined\", () => {\n const datasetBackedObject = defineObject({\n titlePropertyApiName: \"bar\",\n displayName: \"datasetBackedObject\",\n pluralDisplayName: \"datasetBackedObject\",\n apiName: \"foo\",\n primaryKeys: [\"bar\"],\n properties: [{ apiName: \"bar\", type: \"string\", displayName: \"Bar\" }],\n datasource: { type: \"dataset\" },\n });\n\n const streamBackedObjectNoRetention = defineObject({\n titlePropertyApiName: \"fizz\",\n displayName: \"streamBackedObjectNoRetention\",\n pluralDisplayName: \"streamBackedObjectNoRetention\",\n apiName: \"fizz\",\n primaryKeys: [\"fizz\"],\n properties: [{ apiName: \"fizz\", type: \"string\", displayName: \"Fizz\" }, {\n apiName: \"bar\",\n type: \"string\",\n displayName: \"Bar\",\n }],\n datasource: { type: \"stream\" },\n });\n\n const streamBackedObjectWithRetention = defineObject({\n titlePropertyApiName: \"buzz\",\n displayName: \"streamBackedObjectWithRetention\",\n pluralDisplayName: \"streamBackedObjectWithRetention\",\n apiName: \"buzz\",\n primaryKeys: [\"buzz\"],\n properties: [{ apiName: \"buzz\", type: \"string\", displayName: \"Buzz\" }],\n datasource: { type: \"stream\", retentionPeriod: \"PT1H\" },\n });\n\n expect(dumpOntologyFullMetadata().blockData).toMatchInlineSnapshot(`\n {\n \"blockPermissionInformation\": {\n \"actionTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {},\n },\n \"interfaceTypes\": {},\n \"linkTypes\": {},\n \"objectTypes\": {\n \"com.palantir.buzz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"streamV2\": {\n \"propertyMapping\": {\n \"buzz\": \"buzz\",\n },\n \"propertySecurityGroups\": undefined,\n \"retentionPolicy\": {\n \"time\": {\n \"window\": \"PT1H\",\n },\n \"type\": \"time\",\n },\n \"streamLocator\": \"com.palantir.buzz\",\n },\n \"type\": \"streamV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.buzz\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.buzz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"streamBackedObjectWithRetention\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"streamBackedObjectWithRetention\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"buzz\",\n ],\n \"propertyTypes\": {\n \"buzz\": {\n \"apiName\": \"buzz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Buzz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"buzz\",\n },\n },\n \"com.palantir.fizz\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"streamV2\": {\n \"propertyMapping\": {\n \"bar\": \"bar\",\n \"fizz\": \"fizz\",\n },\n \"propertySecurityGroups\": undefined,\n \"retentionPolicy\": {\n \"none\": {},\n \"type\": \"none\",\n },\n \"streamLocator\": \"com.palantir.fizz\",\n },\n \"type\": \"streamV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.fizz\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.fizz\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"streamBackedObjectNoRetention\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"streamBackedObjectNoRetention\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"fizz\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n \"fizz\": {\n \"apiName\": \"fizz\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Fizz\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"fizz\",\n },\n },\n \"com.palantir.foo\": {\n \"datasources\": [\n {\n \"datasource\": {\n \"datasetV2\": {\n \"datasetRid\": \"com.palantir.foo\",\n \"propertyMapping\": {\n \"bar\": {\n \"column\": \"bar\",\n \"type\": \"column\",\n },\n },\n },\n \"type\": \"datasetV2\",\n },\n \"editsConfiguration\": {\n \"onlyAllowPrivilegedEdits\": false,\n },\n \"redacted\": false,\n \"rid\": \"ri.ontology.main.datasource.com.palantir.foo\",\n },\n ],\n \"entityMetadata\": {\n \"arePatchesEnabled\": false,\n },\n \"objectType\": {\n \"allImplementsInterfaces\": {},\n \"apiName\": \"com.palantir.foo\",\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"datasetBackedObject\",\n \"groupDisplayName\": undefined,\n \"icon\": {\n \"blueprint\": {\n \"color\": \"#2D72D2\",\n \"locator\": \"cube\",\n },\n \"type\": \"blueprint\",\n },\n \"pluralDisplayName\": \"datasetBackedObject\",\n \"visibility\": \"NORMAL\",\n },\n \"implementsInterfaces2\": [],\n \"primaryKeys\": [\n \"bar\",\n ],\n \"propertyTypes\": {\n \"bar\": {\n \"apiName\": \"bar\",\n \"baseFormatter\": undefined,\n \"dataConstraints\": undefined,\n \"displayMetadata\": {\n \"description\": undefined,\n \"displayName\": \"Bar\",\n \"visibility\": \"NORMAL\",\n },\n \"indexedForSearch\": true,\n \"inlineAction\": undefined,\n \"ruleSetBinding\": undefined,\n \"sharedPropertyTypeApiName\": undefined,\n \"sharedPropertyTypeRid\": undefined,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"type\": {\n \"string\": {\n \"analyzerOverride\": undefined,\n \"enableAsciiFolding\": undefined,\n \"isLongText\": false,\n \"supportsEfficientLeadingWildcard\": false,\n \"supportsExactMatching\": true,\n },\n \"type\": \"string\",\n },\n \"typeClasses\": [],\n \"valueType\": undefined,\n },\n },\n \"redacted\": false,\n \"status\": {\n \"active\": {},\n \"type\": \"active\",\n },\n \"titlePropertyTypeRid\": \"bar\",\n },\n },\n },\n \"sharedPropertyTypes\": {},\n }\n `);\n });\n\n it(\"Fail if stream retention period is not ISO 8601 compliant\", () => {\n expect(() =>\n defineObject({\n titlePropertyApiName: \"buzz\",\n displayName: \"streamBackedObjectWithRetention\",\n pluralDisplayName: \"streamBackedObjectWithRetention\",\n apiName: \"buzz\",\n primaryKeys: [\"buzz\"],\n properties: [{\n apiName: \"buzz\",\n type: \"string\",\n displayName: \"Buzz\",\n }],\n datasource: {\n type: \"stream\",\n retentionPeriod: \"bad retention period string\",\n },\n })\n ).toThrowErrorMatchingInlineSnapshot(\n `[Error: Invariant failed: Retention period \"bad retention period string\" on object \"buzz\" is not a valid ISO 8601 duration string]`,\n );\n });\n });\n});\n"],"mappings":"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MAAM;QAC5BE,eAAe,CAAC;UACdS,OAAO,EAAE,KAAK;UACdY,UAAU,EAAE;YACVC,GAAG,EAAE;UACP;QACF,CAAC,CAAC;QAEFzB,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;MACJ,CAAC,CAAC;MAEFlB,EAAE,CAAC,gCAAgC,EAAE,MAAM;QACzCS,wBAAwB,CAAC;UACvBE,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE;QACR,CAAC,CAAC;QAEFd,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;QAEFnB,MAAM,CAAC,MAAM;UACXG,eAAe,CAAC;YACdS,OAAO,EAAE,KAAK;YACdY,UAAU,EAAE;cACVC,GAAG,EAAE;YACP;UACF,CAAC,CAAC;QACJ,CAAC,CAAC,CAACP,kCAAkC,CACnC,iFACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFjB,EAAE,CAAC,uDAAuD,EAAE,MAAM;MAChE,MAAM0B,eAAe,GAAGxB,eAAe,CAAC;QACtCS,OAAO,EAAE,iBAAiB;QAC1BY,UAAU,EAAE;UACVI,SAAS,EAAE;QACb;MACF,CAAC,CAAC;MACqBzB,eAAe,CAAC;QACrCS,OAAO,EAAE,gBAAgB;QACzBY,UAAU,EAAE;UACVK,SAAS,EAAE;QACb,CAAC;QACDC,OAAO,EAAE,CAACH,eAAe;MAC3B,CAAC,CAAC;MAEF3B,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IAEFlB,EAAE,CAAC,8BAA8B,EAAE,MAAM;MACfE,eAAe,CAAC;QACtCS,OAAO,EAAE,iBAAiB;QAC1BY,UAAU,EAAE;UACVI,SAAS,EAAE;YAAEG,QAAQ,EAAE,KAAK;YAAEC,kBAAkB,EAAE;UAAS;QAC7D;MACF,CAAC,CAAC;MAEFhC,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlB,EAAE,CAAC,iDAAiD,EAAE,MAAM;MAClCE,eAAe,CAAC;QACtCS,OAAO,EAAE,iBAAiB;QAC1BY,UAAU,EAAE;UACVI,SAAS,EAAE;QACb;MACF,CAAC,CAAC;MACqBzB,eAAe,CAAC;QACrCS,OAAO,EAAE,gBAAgB;QACzBY,UAAU,EAAE;UACVK,SAAS,EAAE;QACb,CAAC;QACDC,OAAO,EAAE,CAAC,iBAAiB;MAC7B,CAAC,CAAC;MAEF9B,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACrB,IAAIkC,CAAgB;IACpB,IAAIC,CAAgB;IAEpBpC,UAAU,CAAC,MAAM;MACfmC,CAAC,GAAG9B,eAAe,CAAC;QAAES,OAAO,EAAE;MAAI,CAAC,CAAC;MACrCsB,CAAC,GAAG/B,eAAe,CAAC;QAAES,OAAO,EAAE;MAAI,CAAC,CAAC;IACvC,CAAC,CAAC;IAEFX,EAAE,CAAC,mBAAmB,EAAE,MAAM;MAC5BD,MAAM,CAACiC,CAAC,CAAC,CAACE,GAAG,CAACC,aAAa,CAAC,CAAC;MAC7BhC,6BAA6B,CAAC;QAC5BiC,IAAI,EAAEJ,CAAC;QACPK,KAAK,EAAEJ,CAAC;QACRtB,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IAEFlB,EAAE,CAAC,iBAAiB,EAAE,MAAM;MAC1BG,6BAA6B,CAAC;QAC5BiC,IAAI,EAAEJ,CAAC;QACPM,MAAM,EAAEL,CAAC;QACTtB,OAAO,EAAE;MACX,CAAC,CAAC;MAEFZ,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACrBE,EAAE,CAAC,2CAA2C,EAAE,MAAM;MACpDS,wBAAwB,CAAC;QACvBE,OAAO,EAAE,KAAK;QACdE,IAAI,EAAE;MACR,CAAC,CAAC;MAEFd,MAAM,CAAC,MAAM;QACXU,wBAAwB,CAAC;UACvBE,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE;QACR,CAAC,CAAC;MACJ,CAAC,CAAC,CAACI,kCAAkC,CACnC,iFACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFjB,EAAE,CAAC,uBAAuB,EAAE,MAAM;IAChC,MAAMuC,MAAM,GAAG9B,wBAAwB,CAAC;MACtCE,OAAO,EAAE,QAAQ;MACjBE,IAAI,EAAE;IACR,CAAC,CAAC;IAEmBX,eAAe,CAAC;MACnCS,OAAO,EAAE,cAAc;MACvBC,WAAW,EAAE,eAAe;MAC5BW,UAAU,EAAE;QACVgB;MACF,CAAC;MACDC,IAAI,EAAE;QAAEC,KAAK,EAAE,QAAQ;QAAEC,OAAO,EAAE;MAAW;IAC/C,CAAC,CAAC;IAEF3C,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;EAEFlB,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACzCS,wBAAwB,CAAC;MACtCE,OAAO,EAAE,QAAQ;MACjBE,IAAI,EAAE;QACJA,IAAI,EAAE,QAAQ;QACd8B,gBAAgB,EAAE;UAChB,gBAAgB,EAAE,SAAS;UAC3B,iBAAiB,EAAE;YACjBC,SAAS,EAAE,MAAM;YACjBxB,eAAe,EAAE;cACfR,WAAW,EAAE,kBAAkB;cAC/BU,WAAW,EAAEuB;YACf;UACF;QACF;MACF;IACF,CAAC,CAAC;IAEF9C,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;EACN,CAAC,CAAC;EAEFlB,EAAE,CAAC,qDAAqD,EAAE,MAAM;IAC9D,MAAM8C,UAAU,GAAGrC,wBAAwB,CAAC;MAC1CE,OAAO,EAAE,KAAK;MACdE,IAAI,EAAE;QAAEA,IAAI,EAAE,SAAS;QAAEkC,WAAW,EAAE;MAAO;IAC/C,CAAC,CAAC;IAEF,MAAMC,WAAW,GAAG/C,wBAAwB,CAAC;MAC3CU,OAAO,EAAE,KAAK;MACdsC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE;IACf,CAAC,CAAC;IAEFhD,eAAe,CAAC;MACdS,OAAO,EAAE,WAAW;MACpBY,UAAU,EAAE;QAAEC,GAAG,EAAEsB,UAAU;QAAEK,GAAG,EAAEH;MAAY;IAClD,CAAC,CAAC;IAEFjD,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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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e,EAAE,CAAC;YAAEC,iBAAiB,EAAE,KAAK;YAAEC,MAAM,EAAE;UAAM,CAAC;QAC/D,CAAC;MACH,CAAC,CAAC;MAEFtE,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,CAAC,CAAC;IACFlB,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACjD,MAAMsE,MAAM,GAAGjE,YAAY,CAAC;QAC1ByD,oBAAoB,EAAE,KAAK;QAC3BlD,WAAW,EAAE,KAAK;QAClBmD,iBAAiB,EAAE,KAAK;QACxBpD,OAAO,EAAE,KAAK;QACdqD,WAAW,EAAE,CAAC,KAAK,CAAC;QACpBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,KAAK;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAM,CAAC;MACrE,CAAC,CAAC;MAEF,MAAM2D,WAAW,GAAGlE,YAAY,CAAC;QAC/ByD,oBAAoB,EAAE,MAAM;QAC5BlD,WAAW,EAAE,MAAM;QACnBmD,iBAAiB,EAAE,MAAM;QACzBpD,OAAO,EAAE,MAAM;QACfqD,WAAW,EAAE,CAAC,MAAM,CAAC;QACrBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,MAAM;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAO,CAAC,EAAE;UACrED,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE,QAAQ;UACdD,WAAW,EAAE;QACf,CAAC;MACH,CAAC,CAAC;MAEFR,UAAU,CAAC;QACToE,EAAE,EAAE,WAAW;QACfC,GAAG,EAAE;UACHH,MAAM,EAAEA,MAAM;UACdI,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,KAAK;cAClB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,MAAM;cACzBa,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF,CAAC;QACD2B,MAAM,EAAE;UACNgC,MAAM,EAAEC,WAAW;UACnBG,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,MAAM;cACnB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,QAAQ;cAC3Ba,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF,CAAC;QACDmE,sBAAsB,EAAE,KAAK;QAC7BC,WAAW,EAAE;MACf,CAAC,CAAC;MAEFhF,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlB,EAAE,CAAC,yCAAyC,EAAE,MAAM;MAClD,MAAMsE,MAAM,GAAGjE,YAAY,CAAC;QAC1ByD,oBAAoB,EAAE,KAAK;QAC3BlD,WAAW,EAAE,KAAK;QAClBmD,iBAAiB,EAAE,KAAK;QACxBpD,OAAO,EAAE,KAAK;QACdqD,WAAW,EAAE,CAAC,KAAK,CAAC;QACpBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,KAAK;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAM,CAAC;MACrE,CAAC,CAAC;MAEF,MAAM2D,WAAW,GAAGlE,YAAY,CAAC;QAC/ByD,oBAAoB,EAAE,MAAM;QAC5BlD,WAAW,EAAE,MAAM;QACnBmD,iBAAiB,EAAE,MAAM;QACzBpD,OAAO,EAAE,MAAM;QACfqD,WAAW,EAAE,CAAC,MAAM,CAAC;QACrBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,MAAM;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAO,CAAC,EAAE;UACrED,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE,QAAQ;UACdD,WAAW,EAAE;QACf,CAAC;MACH,CAAC,CAAC;MAEFR,UAAU,CAAC;QACToE,EAAE,EAAE,WAAW;QACfQ,IAAI,EAAE;UACJV,MAAM,EAAEA,MAAM;UACdI,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,KAAK;cAClB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,MAAM;cACzBa,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF,CAAC;QACD2B,MAAM,EAAE;UACNgC,MAAM,EAAEC,WAAW;UACnBG,QAAQ,EAAE;YACRtD,eAAe,EAAE;cACfR,WAAW,EAAE,MAAM;cACnB+D,gBAAgB,EAAE,EAAE;cACpBZ,iBAAiB,EAAE,QAAQ;cAC3Ba,UAAU,EAAE;YACd,CAAC;YACDC,WAAW,EAAE,EAAE;YACflE,OAAO,EAAE;UACX;QACF;MACF,CAAC,CAAC;MACFZ,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlB,EAAE,CAAC,sDAAsD,EAAE,MAAM;MACnCK,YAAY,CAAC;QACvCyD,oBAAoB,EAAE,KAAK;QAC3BlD,WAAW,EAAE,qBAAqB;QAClCmD,iBAAiB,EAAE,qBAAqB;QACxCpD,OAAO,EAAE,KAAK;QACdqD,WAAW,EAAE,CAAC,KAAK,CAAC;QACpBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,KAAK;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAM,CAAC,CAAC;QACpEqE,UAAU,EAAE;UAAEpE,IAAI,EAAE;QAAU;MAChC,CAAC,CAAC;MAEoCR,YAAY,CAAC;QACjDyD,oBAAoB,EAAE,MAAM;QAC5BlD,WAAW,EAAE,+BAA+B;QAC5CmD,iBAAiB,EAAE,+BAA+B;QAClDpD,OAAO,EAAE,MAAM;QACfqD,WAAW,EAAE,CAAC,MAAM,CAAC;QACrBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,MAAM;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAO,CAAC,EAAE;UACrED,OAAO,EAAE,KAAK;UACdE,IAAI,EAAE,QAAQ;UACdD,WAAW,EAAE;QACf,CAAC,CAAC;QACFqE,UAAU,EAAE;UAAEpE,IAAI,EAAE;QAAS;MAC/B,CAAC,CAAC;MAEsCR,YAAY,CAAC;QACnDyD,oBAAoB,EAAE,MAAM;QAC5BlD,WAAW,EAAE,iCAAiC;QAC9CmD,iBAAiB,EAAE,iCAAiC;QACpDpD,OAAO,EAAE,MAAM;QACfqD,WAAW,EAAE,CAAC,MAAM,CAAC;QACrBzC,UAAU,EAAE,CAAC;UAAEZ,OAAO,EAAE,MAAM;UAAEE,IAAI,EAAE,QAAQ;UAAED,WAAW,EAAE;QAAO,CAAC,CAAC;QACtEqE,UAAU,EAAE;UAAEpE,IAAI,EAAE,QAAQ;UAAEqE,eAAe,EAAE;QAAO;MACxD,CAAC,CAAC;MAEFnF,MAAM,CAACQ,wBAAwB,CAAC,CAAC,CAACkB,SAAS,CAAC,CAACP,qBAAqB,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,CAAC;IACN,CAAC,CAAC;IAEFlB,EAAE,CAAC,2DAA2D,EAAE,MAAM;MACpED,MAAM,CAAC,MACLM,YAAY,CAAC;QACXyD,oBAAoB,EAAE,MAAM;QAC5BlD,WAAW,EAAE,iCAAiC;QAC9CmD,iBAAiB,EAAE,iCAAiC;QACpDpD,OAAO,EAAE,MAAM;QACfqD,WAAW,EAAE,CAAC,MAAM,CAAC;QACrBzC,UAAU,EAAE,CAAC;UACXZ,OAAO,EAAE,MAAM;UACfE,IAAI,EAAE,QAAQ;UACdD,WAAW,EAAE;QACf,CAAC,CAAC;QACFqE,UAAU,EAAE;UACVpE,IAAI,EAAE,QAAQ;UACdqE,eAAe,EAAE;QACnB;MACF,CAAC,CACH,CAAC,CAACjE,kCAAkC,CAClC,oIACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|