@accordproject/concerto-core 3.2.0 → 3.2.1-20230105164345

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Concerto v3.2.0
2
+ * Concerto v3.2.1-20230105164345
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  * you may not use this file except in compliance with the License.
5
5
  * You may obtain a copy of the License at
@@ -212,16 +212,12 @@ class ClassDeclaration extends Decorated {
212
212
  super.validate();
213
213
 
214
214
  const declarations = this.getModelFile().getAllDeclarations();
215
- for (let n = 0; n < declarations.length; n++) {
216
- let declaration = declarations[n];
217
-
218
- // check we don't have an asset with the same name
219
- for (let i = n + 1; i < declarations.length; i++) {
220
- let otherDeclaration = declarations[i];
221
- if (declaration.getFullyQualifiedName() === otherDeclaration.getFullyQualifiedName()) {
222
- throw new IllegalModelException(`Duplicate class name ${declaration.getName()}`);
223
- }
224
- }
215
+ const declarationNames = declarations.map(d => d.getFullyQualifiedName());
216
+ const uniqueNames = [...new Set(declarationNames)];
217
+
218
+ if (uniqueNames.length !== declarationNames.length) {
219
+ const duplicateElements = declarationNames.filter((item, index) => declarationNames.indexOf(item) !== index);
220
+ throw new IllegalModelException(`Duplicate class name ${duplicateElements[0]}`);
225
221
  }
226
222
 
227
223
  // if we have a super type make sure it exists
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@accordproject/concerto-core",
3
- "version": "3.2.0",
3
+ "version": "3.2.1-20230105164345",
4
4
  "description": "Core Implementation for the Concerto Modeling Language",
5
5
  "homepage": "https://github.com/accordproject/concerto",
6
6
  "engines": {
@@ -70,9 +70,9 @@
70
70
  "yargs": "17.3.1"
71
71
  },
72
72
  "dependencies": {
73
- "@accordproject/concerto-cto": "3.2.0",
74
- "@accordproject/concerto-metamodel": "3.2.0",
75
- "@accordproject/concerto-util": "3.2.0",
73
+ "@accordproject/concerto-cto": "3.2.1-20230105164345",
74
+ "@accordproject/concerto-metamodel": "3.2.1-20230105164345",
75
+ "@accordproject/concerto-util": "3.2.1-20230105164345",
76
76
  "dayjs": "1.10.8",
77
77
  "debug": "4.3.1",
78
78
  "lorem-ipsum": "2.0.3",
package/changelog.txt DELETED
@@ -1,136 +0,0 @@
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
- # This is the changelog for Hyperledger Concerto. It lists all significant changes to
15
- # functionality and public API.
16
- #
17
- # The most recent entry in the changelog should be at the top of this file
18
- # and must follow the format: Version <number> {public api digest} <date>. The version
19
- # number must match that specified in package.json. The public api digest is computed
20
- # and validated using ./scripts/api-changelog.sh
21
- #
22
- # Any changes to the public API must have an associated changelog entry.
23
- #
24
- # Note that the latest public API is documented using JSDocs and is available in api.txt.
25
- #
26
-
27
- Version 3.0.0 {5fac664420fea3649a7a304941f190f1} 2022-08-28
28
- - Allow client-provided RegExp engine to ModelManager
29
- - Allow decorators to be attached to model files/namespaces
30
-
31
- Version 2.3.0 {774980a857090905fe276b6e94f1dbb1} 2022-07-21
32
- - Versioned namespaces
33
-
34
- Version 2.3.0 {28dd70fd922b3b8b491216661796b95b} 2022-06-21
35
- - Fix TypeScript types for MetaModel
36
- - Fix TypeScript types for ModelManager
37
-
38
- Version 2.2.0 {3d3fc2a6b3cd623b807ca0c4fc53680d} 2022-06-01
39
- - Fix TypeScript types for ModelLoader
40
-
41
- Version 2.0.2 {c9e7b234a5786db232520137be0a0fa8} 22-05-25
42
- - Add ClassDeclaration.getDirectSubclasses for use in visitor
43
-
44
- Version 2.0.1 {f5d85447683b22d6f4072f9cd7f8986e} 22-05-13
45
- - Add Decorator.isDecorator for use in visitor
46
-
47
- Version 2.0.1 {62a8de0d35789bbe523269e4e29cd8e6} 2022-04-25
48
- - Correct type for Concerto.getModelManager()
49
-
50
- Version 2.0.0-alpha.1 {292b93fc879d3b0c3969711b24312ffd} 2022-03-30
51
- - Remove custom instanceof and add methods to check runtime type
52
- - Remove support for Node 12
53
- - Generate Typescript definitions from JSDoc
54
- - Parser directly constructs metamodel instance
55
- - Convert MetaModel to a class for Typescript + Webpack compatability
56
- - Update Acorn to latest and refactor the JavaScript parser so we can use static class members
57
- - Add DecoratorManager
58
- - New packages for parsing and metamodel, distinct from core
59
- - Revisions to model manager API to support various inputs (e.g., CTO or AST)
60
- - New vocabulary package for handling model vocabularies
61
-
62
- Version 1.2.1 {b19318bb094e5da7bdff192cf9a3b4f2} 2021-08-12
63
- - Fixes to metamodel, including terminology changes
64
- - Ability to roundtrip model manager to metamodel
65
- - Expose name resolution to MetaModel API
66
-
67
- Version 1.1.2 {2c9512d9d90bde289b47942937d252ca} 2021-08-12
68
- - Add Factory.newId for creating new unique IDs
69
-
70
- Version 1.1.0 {16fb2d5684ec917532a19428c74f1ebf} 2021-07-13
71
- - Add support for Concerto metamodel with import/export to CTO
72
-
73
- Version 1.0.3 {1fe469fe1a79af5d5a4f5ec7dee6b7d4} 2021-06-25
74
- - Aligns JSDoc and the TypeScript interface
75
-
76
- Version 1.0.0-alpha.8 {08b0c809336354e7d1b17a2e44fca8b0} 2021-04-22
77
- - Add datetimeutil & Consolidate UTC offset support
78
- - Delete Concerto.instanceOf replace by ModelManager.derivesFrom
79
-
80
- Version 1.0.0-alpha.7 {aec0f0d4e25be4dab03d6b94be60767b} 2021-04-17
81
- - Remove unused systemtime options in modelfile API
82
- - Fixes to the validation option targeting the ergo ES6 runtime
83
-
84
- Version 1.0.0-alpha.5 {446997953e3ac90783ff9d492a8e7fdc} 2021-04-08
85
- - Support Concerto version pragma at the beginning of model files
86
- - Remove allowEmptyId option in factory API
87
-
88
- Version 1.0.0-alpha.4 {3b7ebc06a536a5e81624225c7b0079ee} 2021-04-08
89
- - Allow optional UTC offset for validating DateTime values
90
-
91
- Version 1.0.0-alpha.3 {7b8763c243f937d84579350aef348c3c} 2020-12-25
92
- - Concepts may now be identified
93
- - assets/participants have a system identifier created ($identifier) automatically
94
- - /transaction/events have a system timestamp created ($timestamp) automatically
95
- - Can no longer redefine the identifier declared by a super type
96
- - 'concerto' namespace is now reserved and cannot be used by user code
97
- - All types extend concerto.Concept
98
- - Removed System Models APIs
99
- - Remove notion of system table
100
- - Remove user ability to change system model
101
- - Update JsDoc for ModelManager.addModelFiles
102
- - Add Logger API
103
- - Add instanceof alternatives to Factory and Serializer
104
- - Add new Concerto API (experimental)
105
-
106
- Version 0.82.9 {c96bafdd4a2bb7402f6b520a0cefe537} 2020-09-09
107
- - Add option parameters to ModelLoader
108
-
109
- Version 0.82.6 {03fa6481ffdf0e58cb110c6f24009d18} 2020-02-26
110
- - Update JsDoc for ModelManager.addModelFiles
111
-
112
- Version 0.82.1 {dee013e99a3c2d6acc4eddfb00aad2a2} 2019-10-22
113
- - Make several constructors public
114
- - Add model loader utility class
115
-
116
- Version 0.80.3 {6f5a9ab45943cb76732c14b11f47d044} 2019-08-24
117
- - Add Ergo option to serializer
118
-
119
- Version 0.80.1 {297c88d29ce911ec6efc0f28ceeeb660} 2019-08-24
120
- - Adds getModels and writeModelsToFileSystem functions to ModelManager
121
- - Fixes API generation for hasSymbol function
122
-
123
- Version 0.71.7 {2b5649f2b8f13d52241959f613cbfdd7} 2019-07-29
124
- - Add static hasInstance as alternative instanceof implementation for AssetDeclaration, ClassDeclaration, EnumDeclaration, ConceptDeclaration, EnumValueDeclaration, Field, ModelFile, ModelManager, RelationshipDeclaration, TransactionDeclaration
125
-
126
- Version 0.70.5 {db48b7eb8404d9206e9bc8efb3de0009} 2019-06-23
127
- - Update exception triggered when creating EventDeclaration class
128
-
129
- Version 0.31.0 {82c0c10648bd10fb79b84db3fcda1776} 2018-10-03
130
- - Remove built-in system model file
131
-
132
- Version 0.30.1 {fd4b813bc0bda4042db3c4657893593f} 2018-10-03
133
- - Remove Wallet
134
-
135
- Version 0.30.0 {785896a0c4c91e70dcbbfcc5bab33938} 2018-10-02
136
- - Refactor to make model manager its own module