UNPKG

3.8 kBJavaScriptView Raw
1/*
2 * Licensed under the Apache License, Version 2.0 (the "License");
3 * you may not use this file except in compliance with the License.
4 * You may obtain a copy of the License at
5 *
6 * http://www.apache.org/licenses/LICENSE-2.0
7 *
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */
14
15'use strict';
16
17/**
18 * Concerto core module. Concerto is a framework for defining domain
19 * specific models.
20 *
21 * @module concerto-core
22 */
23
24// Exceptions
25const SecurityException = require('./lib/securityexception');
26const IllegalModelException = require('./lib/introspect/illegalmodelexception');
27const TypeNotFoundException = require('./lib/typenotfoundexception');
28
29// Decorated
30const Decorator = require('./lib/introspect/decorator');
31const DecoratorFactory = require('./lib/introspect/decoratorfactory');
32
33// ClassDeclarations
34const ClassDeclaration = require('./lib/introspect/classdeclaration');
35const IdentifiedDeclaration = require('./lib/introspect/identifieddeclaration');
36const AssetDeclaration = require('./lib/introspect/assetdeclaration');
37const ConceptDeclaration = require('./lib/introspect/conceptdeclaration');
38const EnumValueDeclaration = require('./lib/introspect/enumvaluedeclaration');
39const EventDeclaration = require('./lib/introspect/eventdeclaration');
40const ParticipantDeclaration = require('./lib/introspect/participantdeclaration');
41const TransactionDeclaration = require('./lib/introspect/transactiondeclaration');
42
43// Properties
44const Property = require('./lib/introspect/property');
45const Field = require('./lib/introspect/field');
46const EnumDeclaration = require('./lib/introspect/enumdeclaration');
47const RelationshipDeclaration = require('./lib/introspect/relationshipdeclaration');
48
49// Typed
50const Typed = require('./lib/model/typed');
51
52// Identifiables
53const Identifiable = require('./lib/model/identifiable');
54const Relationship = require('./lib/model/relationship');
55const Resource = require('./lib/model/resource');
56
57// Factory
58const Factory = require('./lib/factory');
59
60// Globalize
61const Globalize = require('./lib/globalize');
62
63// Introspector
64const Introspector = require('./lib/introspect/introspector');
65
66// ModelFile
67const ModelFile = require('./lib/introspect/modelfile');
68
69// ModelManager
70const ModelManager = require('./lib/modelmanager');
71
72// Serializer
73const Serializer = require('./lib/serializer');
74
75// ModelUtil
76const ModelUtil = require('./lib/modelutil');
77
78// ModelLoader
79const ModelLoader = require('./lib/modelloader');
80
81// DecoratorManager
82const DecoratorManager = require('./lib/decoratormanager');
83
84// DateTimeUtil
85const DateTimeUtil = require('./lib/datetimeutil');
86
87// Concerto
88const Concerto = require('./lib/concerto');
89
90// MetaModel
91const MetaModel = require('./lib/introspect/metamodel');
92
93// Version
94/** @type {{ name: string, version: string }} */
95const version = require('./package.json');
96
97module.exports = {
98 SecurityException,
99 IllegalModelException,
100 TypeNotFoundException,
101 Decorator,
102 DecoratorFactory,
103 DecoratorManager,
104 ClassDeclaration,
105 IdentifiedDeclaration,
106 AssetDeclaration,
107 ConceptDeclaration,
108 EnumValueDeclaration,
109 EventDeclaration,
110 ParticipantDeclaration,
111 TransactionDeclaration,
112 Property,
113 Field,
114 EnumDeclaration,
115 RelationshipDeclaration,
116 Typed,
117 Identifiable,
118 Relationship,
119 Resource,
120 Factory,
121 Globalize,
122 Introspector,
123 ModelFile,
124 ModelManager,
125 Serializer,
126 ModelUtil,
127 ModelLoader,
128 DateTimeUtil,
129 Concerto,
130 MetaModel,
131 version
132};