diff --git a/lib/metamodel.cto b/lib/metamodel.cto index e021ee0..9963280 100644 --- a/lib/metamodel.cto +++ b/lib/metamodel.cto @@ -241,7 +241,7 @@ abstract concept ScalarDeclaration extends Declaration { } concept BooleanScalar extends ScalarDeclaration { - o Boolean defaultValue + o Boolean defaultValue optional } concept IntegerScalar extends ScalarDeclaration { diff --git a/lib/metamodel.js b/lib/metamodel.js index 28b25a2..90add78 100644 --- a/lib/metamodel.js +++ b/lib/metamodel.js @@ -19,6 +19,6 @@ /** * The metamodel itself, as a CTO string */ -const metaModelCto = "/*\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\n@DotNetNamespace(\"AccordProject.Concerto.Metamodel\")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o AggregateValueType value\n}\n\nconcept MapKeyType {\n o TypeIdentifier type\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept AggregateValueType {\n o TypeIdentifier type\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept AggregateRelationshipValueType extends AggregateValueType {\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n"; +const metaModelCto = "/*\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\n@DotNetNamespace(\"AccordProject.Concerto.Metamodel\")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n"; module.exports = metaModelCto; diff --git a/lib/metamodel.json b/lib/metamodel.json index 71e877e..6ee7941 100644 --- a/lib/metamodel.json +++ b/lib/metamodel.json @@ -1,1298 +1,1298 @@ { - "$class": "concerto.metamodel@1.0.0.Model", - "decorators": [ - { - "$class": "concerto.metamodel@1.0.0.Decorator", - "name": "DotNetNamespace", - "arguments": [ - { - "$class": "concerto.metamodel@1.0.0.DecoratorString", - "value": "AccordProject.Concerto.Metamodel" - } - ] - } - ], - "namespace": "concerto.metamodel@1.0.0", - "imports": [], - "declarations": [ - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Position", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "line", - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "column", - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "offset", - "isArray": false, - "isOptional": false - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Range", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "start", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Position" - }, - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "end", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Position" - }, - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "source", - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "TypeIdentifier", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "name", - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "namespace", - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DecoratorLiteral", - "isAbstract": true, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "location", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Range" - }, - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DecoratorString", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "value", - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "DecoratorLiteral" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DecoratorNumber", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.DoubleProperty", - "name": "value", - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "DecoratorLiteral" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DecoratorBoolean", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.BooleanProperty", - "name": "value", - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "DecoratorLiteral" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DecoratorTypeReference", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "type", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "TypeIdentifier" - }, - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.BooleanProperty", - "name": "isArray", - "isArray": false, - "isOptional": false, - "defaultValue": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "DecoratorLiteral" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Decorator", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "name", - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "arguments", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "DecoratorLiteral" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "location", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Range" - }, - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Identified", - "isAbstract": false, - "properties": [] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "IdentifiedBy", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "name", - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Identified" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Declaration", - "isAbstract": true, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "name", - "isArray": false, - "isOptional": false, - "validator": { - "$class": "concerto.metamodel@1.0.0.StringRegexValidator", - "pattern": "^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$", - "flags": "u" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "decorators", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Decorator" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "location", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Range" - }, - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "MapKeyType", - "isAbstract": true, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "decorators", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Decorator" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "location", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Range" - }, - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "MapValueType", - "isAbstract": true, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "decorators", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Decorator" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "location", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Range" - }, - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "MapDeclaration", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "key", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapKeyType" - }, - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "value", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - }, - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Declaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "StringMapKeyType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapKeyType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DateTimeMapKeyType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapKeyType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ObjectMapKeyType", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "type", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "TypeIdentifier" - }, - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapKeyType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "BooleanMapValueType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DateTimeMapValueType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "StringMapValueType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "IntegerMapValueType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "LongMapValueType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DoubleMapValueType", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ObjectMapValueType", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "type", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "TypeIdentifier" - }, - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "RelationshipMapValueType", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "type", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "TypeIdentifier" - }, - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "MapValueType" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "EnumDeclaration", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "properties", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "EnumProperty" - }, - "isArray": true, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Declaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "EnumProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "name", - "isArray": false, - "isOptional": false, - "validator": { - "$class": "concerto.metamodel@1.0.0.StringRegexValidator", - "pattern": "^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$", - "flags": "u" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "decorators", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Decorator" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "location", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Range" - }, - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ConceptDeclaration", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.BooleanProperty", - "name": "isAbstract", - "isArray": false, - "isOptional": false, - "defaultValue": false - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "identified", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Identified" - }, - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "superType", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "TypeIdentifier" - }, - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "properties", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - }, - "isArray": true, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Declaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "AssetDeclaration", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ConceptDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ParticipantDeclaration", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ConceptDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "TransactionDeclaration", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ConceptDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "EventDeclaration", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ConceptDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Property", - "isAbstract": true, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "name", - "isArray": false, - "isOptional": false, - "validator": { - "$class": "concerto.metamodel@1.0.0.StringRegexValidator", - "pattern": "^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$", - "flags": "u" - } - }, - { - "$class": "concerto.metamodel@1.0.0.BooleanProperty", - "name": "isArray", - "isArray": false, - "isOptional": false, - "defaultValue": false - }, - { - "$class": "concerto.metamodel@1.0.0.BooleanProperty", - "name": "isOptional", - "isArray": false, - "isOptional": false, - "defaultValue": false - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "decorators", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Decorator" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "location", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Range" - }, - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "RelationshipProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "type", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "TypeIdentifier" - }, - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ObjectProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "type", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "TypeIdentifier" - }, - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "BooleanProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.BooleanProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DateTimeProperty", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "StringProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "StringRegexValidator" - }, - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "lengthValidator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "StringLengthValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "StringRegexValidator", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "pattern", - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "flags", - "isArray": false, - "isOptional": false - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "StringLengthValidator", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "minLength", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "maxLength", - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DoubleProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.DoubleProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "DoubleDomainValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DoubleDomainValidator", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.DoubleProperty", - "name": "lower", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.DoubleProperty", - "name": "upper", - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "IntegerProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "IntegerDomainValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "IntegerDomainValidator", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "lower", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "upper", - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "LongProperty", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.LongProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "LongDomainValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Property" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "LongDomainValidator", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.LongProperty", - "name": "lower", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.LongProperty", - "name": "upper", - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Import", - "isAbstract": true, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "namespace", - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "uri", - "isArray": false, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ImportAll", - "isAbstract": false, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Import" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ImportType", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "name", - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Import" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ImportTypes", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "types", - "isArray": true, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Import" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Model", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "namespace", - "isArray": false, - "isOptional": false - }, - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "sourceUri", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "concertoVersion", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "imports", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Import" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "declarations", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Declaration" - }, - "isArray": true, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "decorators", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Decorator" - }, - "isArray": true, - "isOptional": true - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "Models", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "models", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Model" - }, - "isArray": true, - "isOptional": false - } - ] - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "ScalarDeclaration", - "isAbstract": true, - "properties": [], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "Declaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "BooleanScalar", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.BooleanProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": false - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ScalarDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "IntegerScalar", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.IntegerProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "IntegerDomainValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ScalarDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "LongScalar", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.LongProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "LongDomainValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ScalarDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DoubleScalar", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.DoubleProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "DoubleDomainValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ScalarDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "StringScalar", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "validator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "StringRegexValidator" - }, - "isArray": false, - "isOptional": true - }, - { - "$class": "concerto.metamodel@1.0.0.ObjectProperty", - "name": "lengthValidator", - "type": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "StringLengthValidator" - }, - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ScalarDeclaration" - } - }, - { - "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", - "name": "DateTimeScalar", - "isAbstract": false, - "properties": [ - { - "$class": "concerto.metamodel@1.0.0.StringProperty", - "name": "defaultValue", - "isArray": false, - "isOptional": true - } - ], - "superType": { - "$class": "concerto.metamodel@1.0.0.TypeIdentifier", - "name": "ScalarDeclaration" - } - } - ] + "$class": "concerto.metamodel@1.0.0.Model", + "decorators": [ + { + "$class": "concerto.metamodel@1.0.0.Decorator", + "name": "DotNetNamespace", + "arguments": [ + { + "$class": "concerto.metamodel@1.0.0.DecoratorString", + "value": "AccordProject.Concerto.Metamodel" + } + ] + } + ], + "namespace": "concerto.metamodel@1.0.0", + "imports": [], + "declarations": [ + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Position", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "line", + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "column", + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "offset", + "isArray": false, + "isOptional": false + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Range", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "start", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Position" + }, + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "end", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Position" + }, + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "source", + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "TypeIdentifier", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "name", + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "namespace", + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DecoratorLiteral", + "isAbstract": true, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "location", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Range" + }, + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DecoratorString", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "value", + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "DecoratorLiteral" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DecoratorNumber", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.DoubleProperty", + "name": "value", + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "DecoratorLiteral" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DecoratorBoolean", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.BooleanProperty", + "name": "value", + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "DecoratorLiteral" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DecoratorTypeReference", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "type", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "TypeIdentifier" + }, + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.BooleanProperty", + "name": "isArray", + "isArray": false, + "isOptional": false, + "defaultValue": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "DecoratorLiteral" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Decorator", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "name", + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "arguments", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "DecoratorLiteral" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "location", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Range" + }, + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Identified", + "isAbstract": false, + "properties": [] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "IdentifiedBy", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "name", + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Identified" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Declaration", + "isAbstract": true, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "name", + "isArray": false, + "isOptional": false, + "validator": { + "$class": "concerto.metamodel@1.0.0.StringRegexValidator", + "pattern": "^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$", + "flags": "u" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "decorators", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Decorator" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "location", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Range" + }, + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "MapKeyType", + "isAbstract": true, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "decorators", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Decorator" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "location", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Range" + }, + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "MapValueType", + "isAbstract": true, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "decorators", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Decorator" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "location", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Range" + }, + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "MapDeclaration", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "key", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapKeyType" + }, + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "value", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + }, + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Declaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "StringMapKeyType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapKeyType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DateTimeMapKeyType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapKeyType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ObjectMapKeyType", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "type", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "TypeIdentifier" + }, + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapKeyType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "BooleanMapValueType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DateTimeMapValueType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "StringMapValueType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "IntegerMapValueType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "LongMapValueType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DoubleMapValueType", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ObjectMapValueType", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "type", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "TypeIdentifier" + }, + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "RelationshipMapValueType", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "type", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "TypeIdentifier" + }, + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "MapValueType" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "EnumDeclaration", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "properties", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "EnumProperty" + }, + "isArray": true, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Declaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "EnumProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "name", + "isArray": false, + "isOptional": false, + "validator": { + "$class": "concerto.metamodel@1.0.0.StringRegexValidator", + "pattern": "^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$", + "flags": "u" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "decorators", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Decorator" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "location", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Range" + }, + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ConceptDeclaration", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.BooleanProperty", + "name": "isAbstract", + "isArray": false, + "isOptional": false, + "defaultValue": false + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "identified", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Identified" + }, + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "superType", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "TypeIdentifier" + }, + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "properties", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + }, + "isArray": true, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Declaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "AssetDeclaration", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ConceptDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ParticipantDeclaration", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ConceptDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "TransactionDeclaration", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ConceptDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "EventDeclaration", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ConceptDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Property", + "isAbstract": true, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "name", + "isArray": false, + "isOptional": false, + "validator": { + "$class": "concerto.metamodel@1.0.0.StringRegexValidator", + "pattern": "^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$", + "flags": "u" + } + }, + { + "$class": "concerto.metamodel@1.0.0.BooleanProperty", + "name": "isArray", + "isArray": false, + "isOptional": false, + "defaultValue": false + }, + { + "$class": "concerto.metamodel@1.0.0.BooleanProperty", + "name": "isOptional", + "isArray": false, + "isOptional": false, + "defaultValue": false + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "decorators", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Decorator" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "location", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Range" + }, + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "RelationshipProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "type", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "TypeIdentifier" + }, + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ObjectProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "type", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "TypeIdentifier" + }, + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "BooleanProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.BooleanProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DateTimeProperty", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "StringProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "StringRegexValidator" + }, + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "lengthValidator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "StringLengthValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "StringRegexValidator", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "pattern", + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "flags", + "isArray": false, + "isOptional": false + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "StringLengthValidator", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "minLength", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "maxLength", + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DoubleProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.DoubleProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "DoubleDomainValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DoubleDomainValidator", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.DoubleProperty", + "name": "lower", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.DoubleProperty", + "name": "upper", + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "IntegerProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "IntegerDomainValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "IntegerDomainValidator", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "lower", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "upper", + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "LongProperty", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.LongProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "LongDomainValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Property" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "LongDomainValidator", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.LongProperty", + "name": "lower", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.LongProperty", + "name": "upper", + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Import", + "isAbstract": true, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "namespace", + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "uri", + "isArray": false, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ImportAll", + "isAbstract": false, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Import" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ImportType", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "name", + "isArray": false, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Import" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ImportTypes", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "types", + "isArray": true, + "isOptional": false + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Import" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Model", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "namespace", + "isArray": false, + "isOptional": false + }, + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "sourceUri", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "concertoVersion", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "imports", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Import" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "declarations", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Declaration" + }, + "isArray": true, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "decorators", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Decorator" + }, + "isArray": true, + "isOptional": true + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "Models", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "models", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Model" + }, + "isArray": true, + "isOptional": false + } + ] + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "ScalarDeclaration", + "isAbstract": true, + "properties": [], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "Declaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "BooleanScalar", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.BooleanProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ScalarDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "IntegerScalar", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.IntegerProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "IntegerDomainValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ScalarDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "LongScalar", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.LongProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "LongDomainValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ScalarDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DoubleScalar", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.DoubleProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "DoubleDomainValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ScalarDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "StringScalar", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "validator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "StringRegexValidator" + }, + "isArray": false, + "isOptional": true + }, + { + "$class": "concerto.metamodel@1.0.0.ObjectProperty", + "name": "lengthValidator", + "type": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "StringLengthValidator" + }, + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ScalarDeclaration" + } + }, + { + "$class": "concerto.metamodel@1.0.0.ConceptDeclaration", + "name": "DateTimeScalar", + "isAbstract": false, + "properties": [ + { + "$class": "concerto.metamodel@1.0.0.StringProperty", + "name": "defaultValue", + "isArray": false, + "isOptional": true + } + ], + "superType": { + "$class": "concerto.metamodel@1.0.0.TypeIdentifier", + "name": "ScalarDeclaration" + } + } + ] } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7729430..668824c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "3.8.0", "license": "Apache-2.0", "dependencies": { - "@accordproject/concerto-util": "3.7.0" + "@accordproject/concerto-util": "3.9.1" }, "devDependencies": { "chai": "4.3.6", @@ -18,7 +18,7 @@ "dayjs": "1.10.8", "debug": "4.3.1", "eslint": "8.2.0", - "jsdoc": "^3.6.7", + "jsdoc": "^4.0.2", "license-check-and-add": "2.3.6", "mocha": "10.0.0", "nyc": "15.1.0", @@ -32,9 +32,9 @@ } }, "node_modules/@accordproject/concerto-util": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@accordproject/concerto-util/-/concerto-util-3.7.0.tgz", - "integrity": "sha512-3qGVb/pv12hy5g44JvSH4ZZtFQ/9KNd9lWvVdh7AGfgtUdhPwlAssZTrmfY96uNP0eVE786HedC1DH6YstNK8g==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@accordproject/concerto-util/-/concerto-util-3.9.1.tgz", + "integrity": "sha512-LU3bWxURtyDhEEDWct15nOXat5WvFE/Z7yq/NcVeNr9RcKeIazMYxZ8bu+L6P5NJDxRn4FSWDxvL44dELES4+A==", "dependencies": { "@supercharge/promise-pool": "1.7.0", "axios": "0.23.0", @@ -44,8 +44,8 @@ "slash": "3.0.0" }, "engines": { - "node": ">=14", - "npm": ">=6" + "node": ">=16", + "npm": ">=8" } }, "node_modules/@ampproject/remapping": { @@ -113,9 +113,9 @@ } }, "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -169,9 +169,9 @@ } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -686,6 +686,18 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, + "node_modules/@jsdoc/salty": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.5.tgz", + "integrity": "sha512-TfRP53RqunNe2HBobVBJ0VLhK1HbfvBYeTC1ahnN64PWvyYyGebmMiPkuwvD9fpw2ZbkoPb8Q7mwy0aR8Z9rvw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, "node_modules/@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", @@ -1005,9 +1017,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001450", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz", - "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==", + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", "dev": true, "funding": [ { @@ -1017,6 +1029,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -2095,9 +2111,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -2189,12 +2205,13 @@ } }, "node_modules/jsdoc": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", - "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", + "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", "dev": true, "dependencies": { - "@babel/parser": "^7.9.4", + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", @@ -2207,7 +2224,6 @@ "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", - "taffydb": "2.6.2", "underscore": "~1.13.2" }, "bin": { @@ -2500,9 +2516,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -3415,9 +3431,9 @@ ] }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -3622,12 +3638,6 @@ "integrity": "sha512-IUW+ek7apEaW5bFhS6WpYoNtVpNTlNoqB/PH7YiMWQTxSPeXCzG4PILVakwXivJt3ZXWeO1fIJnUd/L9A/VeGA==", "dev": true }, - "node_modules/taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", - "dev": true - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -3959,9 +3969,9 @@ }, "dependencies": { "@accordproject/concerto-util": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@accordproject/concerto-util/-/concerto-util-3.7.0.tgz", - "integrity": "sha512-3qGVb/pv12hy5g44JvSH4ZZtFQ/9KNd9lWvVdh7AGfgtUdhPwlAssZTrmfY96uNP0eVE786HedC1DH6YstNK8g==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@accordproject/concerto-util/-/concerto-util-3.9.1.tgz", + "integrity": "sha512-LU3bWxURtyDhEEDWct15nOXat5WvFE/Z7yq/NcVeNr9RcKeIazMYxZ8bu+L6P5NJDxRn4FSWDxvL44dELES4+A==", "requires": { "@supercharge/promise-pool": "1.7.0", "axios": "0.23.0", @@ -4020,9 +4030,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -4065,9 +4075,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -4464,6 +4474,15 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, + "@jsdoc/salty": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.5.tgz", + "integrity": "sha512-TfRP53RqunNe2HBobVBJ0VLhK1HbfvBYeTC1ahnN64PWvyYyGebmMiPkuwvD9fpw2ZbkoPb8Q7mwy0aR8Z9rvw==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, "@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", @@ -4713,9 +4732,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001450", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz", - "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==", + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", "dev": true }, "catharsis": { @@ -5495,9 +5514,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -5573,12 +5592,13 @@ } }, "jsdoc": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", - "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", + "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", "dev": true, "requires": { - "@babel/parser": "^7.9.4", + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", @@ -5591,7 +5611,6 @@ "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", - "taffydb": "2.6.2", "underscore": "~1.13.2" }, "dependencies": { @@ -5824,9 +5843,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -6516,9 +6535,9 @@ "dev": true }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -6676,12 +6695,6 @@ "integrity": "sha512-IUW+ek7apEaW5bFhS6WpYoNtVpNTlNoqB/PH7YiMWQTxSPeXCzG4PILVakwXivJt3ZXWeO1fIJnUd/L9A/VeGA==", "dev": true }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", - "dev": true - }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", diff --git a/package.json b/package.json index 33a4a52..3601c3a 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "dayjs": "1.10.8", "debug": "4.3.1", "eslint": "8.2.0", - "jsdoc": "^3.6.7", + "jsdoc": "^4.0.2", "license-check-and-add": "2.3.6", "mocha": "10.0.0", "nyc": "15.1.0", @@ -53,7 +53,7 @@ "typescript": "4.6.3" }, "dependencies": { - "@accordproject/concerto-util": "3.7.0" + "@accordproject/concerto-util": "3.9.1" }, "browserslist": "> 0.25%, not dead", "license-check-and-add-config": { diff --git a/types/lib/metamodel.d.ts b/types/lib/metamodel.d.ts index da9e615..fa4e596 100644 --- a/types/lib/metamodel.d.ts +++ b/types/lib/metamodel.d.ts @@ -2,4 +2,4 @@ export = metaModelCto; /** * The metamodel itself, as a CTO string */ -declare const metaModelCto: "/*\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\n@DotNetNamespace(\"AccordProject.Concerto.Metamodel\")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o AggregateValueType value\n}\n\nconcept MapKeyType {\n o TypeIdentifier type\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept AggregateValueType {\n o TypeIdentifier type\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept AggregateRelationshipValueType extends AggregateValueType {\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n"; +declare const metaModelCto: "/*\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\n@DotNetNamespace(\"AccordProject.Concerto.Metamodel\")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n";