@primmel/primmel 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.adoc +52 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/src/ser-des/config/approval.d.ts +6 -0
- package/dist/src/ser-des/config/approval.d.ts.map +1 -0
- package/dist/src/ser-des/config/approval.js +115 -0
- package/dist/src/ser-des/config/approval.js.map +1 -0
- package/dist/src/ser-des/config/calculation.d.ts +7 -0
- package/dist/src/ser-des/config/calculation.d.ts.map +1 -0
- package/dist/src/ser-des/config/calculation.js +182 -0
- package/dist/src/ser-des/config/calculation.js.map +1 -0
- package/dist/src/ser-des/config/data.d.ts +12 -0
- package/dist/src/ser-des/config/data.d.ts.map +1 -0
- package/dist/src/ser-des/config/data.js +278 -0
- package/dist/src/ser-des/config/data.js.map +1 -0
- package/dist/src/ser-des/config/event.d.ts +8 -0
- package/dist/src/ser-des/config/event.d.ts.map +1 -0
- package/dist/src/ser-des/config/event.js +144 -0
- package/dist/src/ser-des/config/event.js.map +1 -0
- package/dist/src/ser-des/config/figure.d.ts +5 -0
- package/dist/src/ser-des/config/figure.d.ts.map +1 -0
- package/dist/src/ser-des/config/figure.js +42 -0
- package/dist/src/ser-des/config/figure.js.map +1 -0
- package/dist/src/ser-des/config/flow.d.ts +20 -0
- package/dist/src/ser-des/config/flow.d.ts.map +1 -0
- package/dist/src/ser-des/config/flow.js +288 -0
- package/dist/src/ser-des/config/flow.js.map +1 -0
- package/dist/src/ser-des/config/form.d.ts +5 -0
- package/dist/src/ser-des/config/form.d.ts.map +1 -0
- package/dist/src/ser-des/config/form.js +353 -0
- package/dist/src/ser-des/config/form.js.map +1 -0
- package/dist/src/ser-des/config/gateway.d.ts +5 -0
- package/dist/src/ser-des/config/gateway.d.ts.map +1 -0
- package/dist/src/ser-des/config/gateway.js +50 -0
- package/dist/src/ser-des/config/gateway.js.map +1 -0
- package/dist/src/ser-des/config/index.d.ts +5 -0
- package/dist/src/ser-des/config/index.d.ts.map +1 -0
- package/dist/src/ser-des/config/index.js +266 -0
- package/dist/src/ser-des/config/index.js.map +1 -0
- package/dist/src/ser-des/config/link.d.ts +5 -0
- package/dist/src/ser-des/config/link.d.ts.map +1 -0
- package/dist/src/ser-des/config/link.js +55 -0
- package/dist/src/ser-des/config/link.js.map +1 -0
- package/dist/src/ser-des/config/mapProfile.d.ts +5 -0
- package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -0
- package/dist/src/ser-des/config/mapProfile.js +65 -0
- package/dist/src/ser-des/config/mapProfile.js.map +1 -0
- package/dist/src/ser-des/config/metadata.d.ts +5 -0
- package/dist/src/ser-des/config/metadata.d.ts.map +1 -0
- package/dist/src/ser-des/config/metadata.js +64 -0
- package/dist/src/ser-des/config/metadata.js.map +1 -0
- package/dist/src/ser-des/config/note.d.ts +7 -0
- package/dist/src/ser-des/config/note.d.ts.map +1 -0
- package/dist/src/ser-des/config/note.js +77 -0
- package/dist/src/ser-des/config/note.js.map +1 -0
- package/dist/src/ser-des/config/process.d.ts +6 -0
- package/dist/src/ser-des/config/process.d.ts.map +1 -0
- package/dist/src/ser-des/config/process.js +152 -0
- package/dist/src/ser-des/config/process.js.map +1 -0
- package/dist/src/ser-des/config/provision.d.ts +7 -0
- package/dist/src/ser-des/config/provision.d.ts.map +1 -0
- package/dist/src/ser-des/config/provision.js +81 -0
- package/dist/src/ser-des/config/provision.js.map +1 -0
- package/dist/src/ser-des/config/reference.d.ts +5 -0
- package/dist/src/ser-des/config/reference.d.ts.map +1 -0
- package/dist/src/ser-des/config/reference.js +46 -0
- package/dist/src/ser-des/config/reference.js.map +1 -0
- package/dist/src/ser-des/config/role.d.ts +5 -0
- package/dist/src/ser-des/config/role.d.ts.map +1 -0
- package/dist/src/ser-des/config/role.js +39 -0
- package/dist/src/ser-des/config/role.js.map +1 -0
- package/dist/src/ser-des/config/stateMachine.d.ts +5 -0
- package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -0
- package/dist/src/ser-des/config/stateMachine.js +175 -0
- package/dist/src/ser-des/config/stateMachine.js.map +1 -0
- package/dist/src/ser-des/config/subform.d.ts +5 -0
- package/dist/src/ser-des/config/subform.d.ts.map +1 -0
- package/dist/src/ser-des/config/subform.js +248 -0
- package/dist/src/ser-des/config/subform.js.map +1 -0
- package/dist/src/ser-des/config/symbol.d.ts +7 -0
- package/dist/src/ser-des/config/symbol.d.ts.map +1 -0
- package/dist/src/ser-des/config/symbol.js +111 -0
- package/dist/src/ser-des/config/symbol.js.map +1 -0
- package/dist/src/ser-des/config/table.d.ts +5 -0
- package/dist/src/ser-des/config/table.d.ts.map +1 -0
- package/dist/src/ser-des/config/table.js +92 -0
- package/dist/src/ser-des/config/table.js.map +1 -0
- package/dist/src/ser-des/config/viewProfile.d.ts +5 -0
- package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -0
- package/dist/src/ser-des/config/viewProfile.js +57 -0
- package/dist/src/ser-des/config/viewProfile.js.map +1 -0
- package/dist/src/ser-des/dump.d.ts +12 -0
- package/dist/src/ser-des/dump.d.ts.map +1 -0
- package/dist/src/ser-des/dump.js +28 -0
- package/dist/src/ser-des/dump.js.map +1 -0
- package/dist/src/ser-des/includes.d.ts +13 -0
- package/dist/src/ser-des/includes.d.ts.map +1 -0
- package/dist/src/ser-des/includes.js +51 -0
- package/dist/src/ser-des/includes.js.map +1 -0
- package/dist/src/ser-des/index.d.ts +19 -0
- package/dist/src/ser-des/index.d.ts.map +1 -0
- package/dist/src/ser-des/index.js +33 -0
- package/dist/src/ser-des/index.js.map +1 -0
- package/dist/src/ser-des/parse.d.ts +11 -0
- package/dist/src/ser-des/parse.d.ts.map +1 -0
- package/dist/src/ser-des/parse.js +64 -0
- package/dist/src/ser-des/parse.js.map +1 -0
- package/dist/src/ser-des/resolve.d.ts +22 -0
- package/dist/src/ser-des/resolve.d.ts.map +1 -0
- package/dist/src/ser-des/resolve.js +110 -0
- package/dist/src/ser-des/resolve.js.map +1 -0
- package/dist/src/ser-des/tokenize.d.ts +5 -0
- package/dist/src/ser-des/tokenize.d.ts.map +1 -0
- package/dist/src/ser-des/tokenize.js +127 -0
- package/dist/src/ser-des/tokenize.js.map +1 -0
- package/dist/src/ser-des/types.d.ts +65 -0
- package/dist/src/ser-des/types.d.ts.map +1 -0
- package/dist/src/ser-des/types.js +3 -0
- package/dist/src/ser-des/types.js.map +1 -0
- package/dist/src/types/Approval.d.ts +15 -0
- package/dist/src/types/Approval.d.ts.map +1 -0
- package/dist/src/types/Approval.js +3 -0
- package/dist/src/types/Approval.js.map +1 -0
- package/dist/src/types/Calculation.d.ts +26 -0
- package/dist/src/types/Calculation.d.ts.map +1 -0
- package/dist/src/types/Calculation.js +3 -0
- package/dist/src/types/Calculation.js.map +1 -0
- package/dist/src/types/Figure.d.ts +9 -0
- package/dist/src/types/Figure.d.ts.map +1 -0
- package/dist/src/types/Figure.js +3 -0
- package/dist/src/types/Figure.js.map +1 -0
- package/dist/src/types/Form.d.ts +67 -0
- package/dist/src/types/Form.d.ts.map +1 -0
- package/dist/src/types/Form.js +3 -0
- package/dist/src/types/Form.js.map +1 -0
- package/dist/src/types/Gateway.d.ts +14 -0
- package/dist/src/types/Gateway.d.ts.map +1 -0
- package/dist/src/types/Gateway.js +3 -0
- package/dist/src/types/Gateway.js.map +1 -0
- package/dist/src/types/Link.d.ts +11 -0
- package/dist/src/types/Link.d.ts.map +1 -0
- package/dist/src/types/Link.js +3 -0
- package/dist/src/types/Link.js.map +1 -0
- package/dist/src/types/MapProfile.d.ts +9 -0
- package/dist/src/types/MapProfile.d.ts.map +1 -0
- package/dist/src/types/MapProfile.js +3 -0
- package/dist/src/types/MapProfile.js.map +1 -0
- package/dist/src/types/Metadata.d.ts +9 -0
- package/dist/src/types/Metadata.d.ts.map +1 -0
- package/dist/src/types/Metadata.js +3 -0
- package/dist/src/types/Metadata.js.map +1 -0
- package/dist/src/types/Node.d.ts +4 -0
- package/dist/src/types/Node.d.ts.map +1 -0
- package/dist/src/types/Node.js +3 -0
- package/dist/src/types/Node.js.map +1 -0
- package/dist/src/types/Note.d.ts +12 -0
- package/dist/src/types/Note.d.ts.map +1 -0
- package/dist/src/types/Note.js +3 -0
- package/dist/src/types/Note.js.map +1 -0
- package/dist/src/types/ParallelGateway.d.ts +3 -0
- package/dist/src/types/ParallelGateway.d.ts.map +1 -0
- package/dist/src/types/ParallelGateway.js +3 -0
- package/dist/src/types/ParallelGateway.js.map +1 -0
- package/dist/src/types/Provision.d.ts +11 -0
- package/dist/src/types/Provision.d.ts.map +1 -0
- package/dist/src/types/Provision.js +3 -0
- package/dist/src/types/Provision.js.map +1 -0
- package/dist/src/types/Reference.d.ts +6 -0
- package/dist/src/types/Reference.d.ts.map +1 -0
- package/dist/src/types/Reference.js +3 -0
- package/dist/src/types/Reference.js.map +1 -0
- package/dist/src/types/Resolvable.d.ts +7 -0
- package/dist/src/types/Resolvable.d.ts.map +1 -0
- package/dist/src/types/Resolvable.js +3 -0
- package/dist/src/types/Resolvable.js.map +1 -0
- package/dist/src/types/Role.d.ts +5 -0
- package/dist/src/types/Role.d.ts.map +1 -0
- package/dist/src/types/Role.js +3 -0
- package/dist/src/types/Role.js.map +1 -0
- package/dist/src/types/Standard.d.ts +49 -0
- package/dist/src/types/Standard.d.ts.map +1 -0
- package/dist/src/types/Standard.js +3 -0
- package/dist/src/types/Standard.js.map +1 -0
- package/dist/src/types/StateMachine.d.ts +38 -0
- package/dist/src/types/StateMachine.d.ts.map +1 -0
- package/dist/src/types/StateMachine.js +3 -0
- package/dist/src/types/StateMachine.js.map +1 -0
- package/dist/src/types/Subform.d.ts +30 -0
- package/dist/src/types/Subform.d.ts.map +1 -0
- package/dist/src/types/Subform.js +3 -0
- package/dist/src/types/Subform.js.map +1 -0
- package/dist/src/types/Symbol.d.ts +16 -0
- package/dist/src/types/Symbol.d.ts.map +1 -0
- package/dist/src/types/Symbol.js +3 -0
- package/dist/src/types/Symbol.js.map +1 -0
- package/dist/src/types/Table.d.ts +12 -0
- package/dist/src/types/Table.d.ts.map +1 -0
- package/dist/src/types/Table.js +3 -0
- package/dist/src/types/Table.js.map +1 -0
- package/dist/src/types/ViewProfile.d.ts +10 -0
- package/dist/src/types/ViewProfile.d.ts.map +1 -0
- package/dist/src/types/ViewProfile.js +3 -0
- package/dist/src/types/ViewProfile.js.map +1 -0
- package/dist/src/types/data.d.ts +42 -0
- package/dist/src/types/data.d.ts.map +1 -0
- package/dist/src/types/data.js +3 -0
- package/dist/src/types/data.js.map +1 -0
- package/dist/src/types/events.d.ts +20 -0
- package/dist/src/types/events.d.ts.map +1 -0
- package/dist/src/types/events.js +3 -0
- package/dist/src/types/events.js.map +1 -0
- package/dist/src/types/flow.d.ts +32 -0
- package/dist/src/types/flow.d.ts.map +1 -0
- package/dist/src/types/flow.js +3 -0
- package/dist/src/types/flow.js.map +1 -0
- package/dist/src/types/process.d.ts +18 -0
- package/dist/src/types/process.d.ts.map +1 -0
- package/dist/src/types/process.js +3 -0
- package/dist/src/types/process.js.map +1 -0
- package/package.json +43 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021-2026 Primmel project contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.adoc
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
= @primmel/primmel — TypeScript tools
|
|
2
|
+
|
|
3
|
+
Parser, types, and serializer/deserializer for the
|
|
4
|
+
https://github.com/primmel/spec[Primmel] modelling language (formerly MMEL).
|
|
5
|
+
|
|
6
|
+
== Exports
|
|
7
|
+
|
|
8
|
+
* `load(mmelString: string): Standard` — parse a .mmel file into a typed Standard
|
|
9
|
+
* `dump(standard: Standard): string` — serialize a Standard back to .mmel syntax
|
|
10
|
+
* Types: `Standard`, `Process`, `DataClass`, `Registry`, `Event`, `Gateway`,
|
|
11
|
+
`Approval`, `Provision`, `Reference`, `Role`, `Variable`, `Enum`, plus
|
|
12
|
+
Primmel extensions: `Form`, `Subform`, `Symbol`, `Calculation`, `StateMachine`
|
|
13
|
+
|
|
14
|
+
== Usage
|
|
15
|
+
|
|
16
|
+
[source,ts]
|
|
17
|
+
----
|
|
18
|
+
import { load, dump } from '@primmel/primmel'
|
|
19
|
+
|
|
20
|
+
const standard = load(mmelString)
|
|
21
|
+
// ...
|
|
22
|
+
const out = dump(standard)
|
|
23
|
+
----
|
|
24
|
+
|
|
25
|
+
== Primmel extensions
|
|
26
|
+
|
|
27
|
+
This package supports all MMEL 0.1 keywords plus five extensions
|
|
28
|
+
defined in the Primmel spec:
|
|
29
|
+
|
|
30
|
+
[cols="1,2"]
|
|
31
|
+
|===
|
|
32
|
+
|Keyword |Purpose
|
|
33
|
+
|
|
34
|
+
|`form`
|
|
35
|
+
|Declarative data-capture form schema
|
|
36
|
+
|
|
37
|
+
|`subform`
|
|
38
|
+
|Reusable parameterized row shape
|
|
39
|
+
|
|
40
|
+
|`symbol`
|
|
41
|
+
|Typed, unit-aware formal symbol
|
|
42
|
+
|
|
43
|
+
|`calculation`
|
|
44
|
+
|Named OCL computation primitive
|
|
45
|
+
|
|
46
|
+
|`state_machine`
|
|
47
|
+
|Entity lifecycle with declarative cascades
|
|
48
|
+
|
|
49
|
+
|===
|
|
50
|
+
|
|
51
|
+
See the https://github.com/primmel/spec/tree/main/sources[spec sources]
|
|
52
|
+
for the full language reference.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { load, loadFile, dump } from './src/ser-des/index';
|
|
2
|
+
export type { default as Standard } from './src/types/Standard';
|
|
3
|
+
export type { default as Metadata } from './src/types/Metadata';
|
|
4
|
+
export type { default as Role } from './src/types/Role';
|
|
5
|
+
export type { default as Provision } from './src/types/Provision';
|
|
6
|
+
export type { default as Process } from './src/types/process';
|
|
7
|
+
export type { default as Reference } from './src/types/Reference';
|
|
8
|
+
export type { default as Approval } from './src/types/Approval';
|
|
9
|
+
export type { default as Gateway } from './src/types/Gateway';
|
|
10
|
+
export type { default as EventNode } from './src/types/events';
|
|
11
|
+
export type { DataClass, DataAttribute, Registry, Enum, Variable, } from './src/types/data';
|
|
12
|
+
export type { default as Note, NoteType } from './src/types/Note';
|
|
13
|
+
export type { default as Table } from './src/types/Table';
|
|
14
|
+
export type { default as Figure } from './src/types/Figure';
|
|
15
|
+
export type { default as Link } from './src/types/Link';
|
|
16
|
+
export type { default as MapProfile } from './src/types/MapProfile';
|
|
17
|
+
export type { default as ViewProfile } from './src/types/ViewProfile';
|
|
18
|
+
export type { default as Form, FormField, PassFail, ApplicabilityEntry, } from './src/types/Form';
|
|
19
|
+
export type { default as Subform, ParameterDecl } from './src/types/Subform';
|
|
20
|
+
export type { default as Symbol, SymbolType } from './src/types/Symbol';
|
|
21
|
+
export type { default as Calculation, CalculationInput, CalculationOutput, } from './src/types/Calculation';
|
|
22
|
+
export type { default as StateMachine, Transition, Cascade, } from './src/types/StateMachine';
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,OAAO,IAAI,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpE,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EACV,OAAO,IAAI,IAAI,EACf,SAAS,EACT,QAAQ,EACR,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,OAAO,IAAI,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,OAAO,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EACV,OAAO,IAAI,WAAW,EACtB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,OAAO,IAAI,YAAY,EACvB,UAAU,EACV,OAAO,GACR,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dump = exports.loadFile = exports.load = void 0;
|
|
4
|
+
// Package entry point — re-exports the public API
|
|
5
|
+
var index_1 = require("./src/ser-des/index");
|
|
6
|
+
Object.defineProperty(exports, "load", { enumerable: true, get: function () { return index_1.load; } });
|
|
7
|
+
Object.defineProperty(exports, "loadFile", { enumerable: true, get: function () { return index_1.loadFile; } });
|
|
8
|
+
Object.defineProperty(exports, "dump", { enumerable: true, get: function () { return index_1.dump; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAClD,6CAA2D;AAAlD,6FAAA,IAAI,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,6FAAA,IAAI,OAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Approval, { ResolvableApproval } from '../../types/Approval';
|
|
2
|
+
import { Dumper, Parser, Resolver } from '../types';
|
|
3
|
+
export declare const parseApproval: Parser;
|
|
4
|
+
export declare const resolveApproval: Resolver<Approval, ResolvableApproval>;
|
|
5
|
+
export declare const dumpApproval: Dumper<Approval>;
|
|
6
|
+
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/approval.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKpD,eAAO,MAAM,aAAa,EAAE,MAiD3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAyBhE,CAAC;AAEJ,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,CA0BzC,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpApproval = exports.resolveApproval = exports.parseApproval = void 0;
|
|
4
|
+
const resolve_1 = require("../resolve");
|
|
5
|
+
const tokenize_1 = require("../tokenize");
|
|
6
|
+
const parseApproval = function (id, data) {
|
|
7
|
+
const result = {
|
|
8
|
+
id: id,
|
|
9
|
+
name: '',
|
|
10
|
+
modality: '',
|
|
11
|
+
actor: null,
|
|
12
|
+
approver: null,
|
|
13
|
+
records: [],
|
|
14
|
+
ref: [],
|
|
15
|
+
_relations: {
|
|
16
|
+
actor: '',
|
|
17
|
+
approver: '',
|
|
18
|
+
records: [],
|
|
19
|
+
ref: [],
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
if (data !== '') {
|
|
23
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
24
|
+
let i = 0;
|
|
25
|
+
while (i < t.length) {
|
|
26
|
+
const keyword = t[i++];
|
|
27
|
+
if (i < t.length) {
|
|
28
|
+
if (keyword === 'modality') {
|
|
29
|
+
result.modality = t[i++];
|
|
30
|
+
}
|
|
31
|
+
else if (keyword === 'name') {
|
|
32
|
+
result.name = (0, tokenize_1.removePackage)(t[i++]);
|
|
33
|
+
}
|
|
34
|
+
else if (keyword === 'actor') {
|
|
35
|
+
result._relations.actor = t[i++];
|
|
36
|
+
}
|
|
37
|
+
else if (keyword === 'approve_by') {
|
|
38
|
+
result._relations.approver = t[i++];
|
|
39
|
+
}
|
|
40
|
+
else if (keyword === 'approval_record') {
|
|
41
|
+
result._relations.records = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
42
|
+
}
|
|
43
|
+
else if (keyword === 'reference') {
|
|
44
|
+
result._relations.ref = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
throw new Error(`Parsing error: approval. ID ${id}: Expecting value for ${keyword}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return ctx => {
|
|
56
|
+
ctx.approvals[id] = result;
|
|
57
|
+
return ctx;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
exports.parseApproval = parseApproval;
|
|
61
|
+
const resolveApproval = function (ctx, unresolved) {
|
|
62
|
+
const { _relations, ...rest } = unresolved;
|
|
63
|
+
const p = { ...rest, records: [], ref: [] };
|
|
64
|
+
if (_relations.actor !== '') {
|
|
65
|
+
p.actor =
|
|
66
|
+
(0, resolve_1.resolveFromContext)(ctx, 'roles', _relations.actor) ?? null;
|
|
67
|
+
}
|
|
68
|
+
if (_relations.approver !== '') {
|
|
69
|
+
p.approver =
|
|
70
|
+
(0, resolve_1.resolveFromContext)(ctx, 'roles', _relations.approver) ?? null;
|
|
71
|
+
}
|
|
72
|
+
for (const id of _relations.records) {
|
|
73
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'registers', id);
|
|
74
|
+
if (r !== undefined) {
|
|
75
|
+
p.records.push(r);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
for (const id of _relations.ref) {
|
|
79
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'references', id);
|
|
80
|
+
if (r !== undefined) {
|
|
81
|
+
p.ref.push(r);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return p;
|
|
85
|
+
};
|
|
86
|
+
exports.resolveApproval = resolveApproval;
|
|
87
|
+
const dumpApproval = function (approval) {
|
|
88
|
+
let out = 'approval ' + approval.id + ' {\n';
|
|
89
|
+
out += ' name "' + approval.name + '"\n';
|
|
90
|
+
if (approval.actor !== null) {
|
|
91
|
+
out += ' actor ' + approval.actor.id + '\n';
|
|
92
|
+
}
|
|
93
|
+
out += ' modality ' + approval.modality + '\n';
|
|
94
|
+
if (approval.approver !== null) {
|
|
95
|
+
out += ' approve_by ' + approval.approver.id + '\n';
|
|
96
|
+
}
|
|
97
|
+
if (approval.records.length > 0) {
|
|
98
|
+
out += ' approval_record {\n';
|
|
99
|
+
for (const dr of approval.records) {
|
|
100
|
+
out += ' ' + dr.id + '\n';
|
|
101
|
+
}
|
|
102
|
+
out += ' }\n';
|
|
103
|
+
}
|
|
104
|
+
if (approval.ref.length > 0) {
|
|
105
|
+
out += ' reference {\n';
|
|
106
|
+
for (const r of approval.ref) {
|
|
107
|
+
out += ' ' + r.id + '\n';
|
|
108
|
+
}
|
|
109
|
+
out += ' }\n';
|
|
110
|
+
}
|
|
111
|
+
out += '}\n';
|
|
112
|
+
return out;
|
|
113
|
+
};
|
|
114
|
+
exports.dumpApproval = dumpApproval;
|
|
115
|
+
//# sourceMappingURL=approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../../src/ser-des/config/approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Dumper, Parser, Resolver } from '../types';
|
|
2
|
+
import type Calculation from '../../types/Calculation';
|
|
3
|
+
import type { ResolvableCalculation } from '../../types/Calculation';
|
|
4
|
+
export declare const parseCalculation: Parser;
|
|
5
|
+
export declare const resolveCalculation: Resolver<Calculation, ResolvableCalculation>;
|
|
6
|
+
export declare const dumpCalculation: Dumper<Calculation>;
|
|
7
|
+
//# sourceMappingURL=calculation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculation.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/calculation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAIjC,eAAO,MAAM,gBAAgB,EAAE,MA+C9B,CAAC;AA8EF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAUzE,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,CAiC/C,CAAC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dumpCalculation = exports.resolveCalculation = exports.parseCalculation = void 0;
|
|
4
|
+
const tokenize_1 = require("../tokenize");
|
|
5
|
+
const resolve_1 = require("../resolve");
|
|
6
|
+
const parseCalculation = function (id, data) {
|
|
7
|
+
const result = {
|
|
8
|
+
id,
|
|
9
|
+
name: '',
|
|
10
|
+
description: '',
|
|
11
|
+
inputs: [],
|
|
12
|
+
output: { type: 'number', unit: '1' },
|
|
13
|
+
expression: '',
|
|
14
|
+
ref: [],
|
|
15
|
+
_relations: {
|
|
16
|
+
ref: [],
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
if (data !== '') {
|
|
20
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
21
|
+
let i = 0;
|
|
22
|
+
while (i < t.length) {
|
|
23
|
+
const command = t[i++];
|
|
24
|
+
if (i < t.length) {
|
|
25
|
+
if (command === 'name') {
|
|
26
|
+
result.name = (0, tokenize_1.removePackage)(t[i++]);
|
|
27
|
+
}
|
|
28
|
+
else if (command === 'description') {
|
|
29
|
+
result.description = (0, tokenize_1.removePackage)(t[i++]);
|
|
30
|
+
}
|
|
31
|
+
else if (command === 'expression') {
|
|
32
|
+
result.expression = (0, tokenize_1.removePackage)(t[i++]);
|
|
33
|
+
}
|
|
34
|
+
else if (command === 'reference') {
|
|
35
|
+
result._relations.ref = (0, tokenize_1.tokenizePackage)(t[i++]);
|
|
36
|
+
}
|
|
37
|
+
else if (command === 'inputs') {
|
|
38
|
+
result.inputs = parseInputs((0, tokenize_1.removePackage)(t[i++]));
|
|
39
|
+
}
|
|
40
|
+
else if (command === 'output') {
|
|
41
|
+
result.output = parseOutput((0, tokenize_1.removePackage)(t[i++]));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
i++; // forward-compatible: skip unknown keyword value
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
throw new Error(`Parsing error: calculation. ID ${id}: Expecting value for ${command}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return ctx => {
|
|
53
|
+
ctx.calculations[id] = result;
|
|
54
|
+
return ctx;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
exports.parseCalculation = parseCalculation;
|
|
58
|
+
function parseInputs(block) {
|
|
59
|
+
const inputs = [];
|
|
60
|
+
// inputs block contains entries like: `name : type { unit "..." description "..." default <v> }`
|
|
61
|
+
// We tokenize the block and walk through it
|
|
62
|
+
const t = (0, tokenize_1.tokenizePackage)(block);
|
|
63
|
+
let i = 0;
|
|
64
|
+
while (i < t.length) {
|
|
65
|
+
const name = t[i++];
|
|
66
|
+
if (i >= t.length) {
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
// Expect ':' then type
|
|
70
|
+
if (t[i] === ':') {
|
|
71
|
+
i++;
|
|
72
|
+
}
|
|
73
|
+
const type = i < t.length ? t[i++] : 'number';
|
|
74
|
+
// Optional brace block with properties
|
|
75
|
+
let unit = '1';
|
|
76
|
+
let description = '';
|
|
77
|
+
let defaultValue = '';
|
|
78
|
+
let hasDefault = false;
|
|
79
|
+
if (i < t.length && t[i].startsWith('{')) {
|
|
80
|
+
const propBlock = (0, tokenize_1.removePackage)(t[i++]);
|
|
81
|
+
const pt = (0, tokenize_1.tokenizePackage)(propBlock);
|
|
82
|
+
let j = 0;
|
|
83
|
+
while (j < pt.length) {
|
|
84
|
+
const cmd = pt[j++];
|
|
85
|
+
if (j < pt.length) {
|
|
86
|
+
if (cmd === 'unit') {
|
|
87
|
+
unit = (0, tokenize_1.removePackage)(pt[j++]);
|
|
88
|
+
}
|
|
89
|
+
else if (cmd === 'description') {
|
|
90
|
+
description = (0, tokenize_1.removePackage)(pt[j++]);
|
|
91
|
+
}
|
|
92
|
+
else if (cmd === 'default') {
|
|
93
|
+
defaultValue = (0, tokenize_1.removePackage)(pt[j++]);
|
|
94
|
+
hasDefault = true;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
j++; // skip unknown
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
inputs.push({ name, type, unit, description, defaultValue, hasDefault });
|
|
103
|
+
}
|
|
104
|
+
return inputs;
|
|
105
|
+
}
|
|
106
|
+
function parseOutput(block) {
|
|
107
|
+
// output block: `: type { unit "..." }`
|
|
108
|
+
const t = (0, tokenize_1.tokenizePackage)(block);
|
|
109
|
+
let i = 0;
|
|
110
|
+
let type = 'number';
|
|
111
|
+
let unit = '1';
|
|
112
|
+
if (t[i] === ':') {
|
|
113
|
+
i++;
|
|
114
|
+
}
|
|
115
|
+
if (i < t.length) {
|
|
116
|
+
type = t[i++];
|
|
117
|
+
}
|
|
118
|
+
if (i < t.length && t[i].startsWith('{')) {
|
|
119
|
+
const propBlock = (0, tokenize_1.removePackage)(t[i++]);
|
|
120
|
+
const pt = (0, tokenize_1.tokenizePackage)(propBlock);
|
|
121
|
+
let j = 0;
|
|
122
|
+
while (j < pt.length) {
|
|
123
|
+
const cmd = pt[j++];
|
|
124
|
+
if (j < pt.length) {
|
|
125
|
+
if (cmd === 'unit') {
|
|
126
|
+
unit = (0, tokenize_1.removePackage)(pt[j++]);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
j++;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return { type, unit };
|
|
135
|
+
}
|
|
136
|
+
const resolveCalculation = function (ctx, unresolved) {
|
|
137
|
+
const ref = [];
|
|
138
|
+
for (const id of unresolved._relations.ref) {
|
|
139
|
+
const r = (0, resolve_1.resolveFromContext)(ctx, 'references', id);
|
|
140
|
+
if (r !== undefined) {
|
|
141
|
+
ref.push(r);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return { ...unresolved, ref };
|
|
145
|
+
};
|
|
146
|
+
exports.resolveCalculation = resolveCalculation;
|
|
147
|
+
const dumpCalculation = function (c) {
|
|
148
|
+
let out = 'calculation ' + c.id + ' {\n';
|
|
149
|
+
out += ' name "' + c.name + '"\n';
|
|
150
|
+
if (c.description) {
|
|
151
|
+
out += ' description "' + c.description + '"\n';
|
|
152
|
+
}
|
|
153
|
+
if (c.inputs.length > 0) {
|
|
154
|
+
out += ' inputs {\n';
|
|
155
|
+
for (const inp of c.inputs) {
|
|
156
|
+
let line = ' ' + inp.name + ' : ' + inp.type + ' { ';
|
|
157
|
+
line += 'unit "' + inp.unit + '"';
|
|
158
|
+
if (inp.description) {
|
|
159
|
+
line += ' description "' + inp.description + '"';
|
|
160
|
+
}
|
|
161
|
+
if (inp.hasDefault) {
|
|
162
|
+
line += ' default ' + inp.defaultValue;
|
|
163
|
+
}
|
|
164
|
+
line += ' }\n';
|
|
165
|
+
out += line;
|
|
166
|
+
}
|
|
167
|
+
out += ' }\n';
|
|
168
|
+
}
|
|
169
|
+
out += ' output : ' + c.output.type + ' { unit "' + c.output.unit + '" }\n';
|
|
170
|
+
out += ' expression "' + c.expression + '"\n';
|
|
171
|
+
if (c.ref.length > 0) {
|
|
172
|
+
out += ' reference {\n';
|
|
173
|
+
for (const r of c.ref) {
|
|
174
|
+
out += ' ' + r.id + '\n';
|
|
175
|
+
}
|
|
176
|
+
out += ' }\n';
|
|
177
|
+
}
|
|
178
|
+
out += '}\n';
|
|
179
|
+
return out;
|
|
180
|
+
};
|
|
181
|
+
exports.dumpCalculation = dumpCalculation;
|
|
182
|
+
//# sourceMappingURL=calculation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculation.js","sourceRoot":"","sources":["../../../../src/ser-des/config/calculation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DataClass, Enum, Registry, ResolvableDataClass, ResolvableRegistry, Variable } from '../../types/data';
|
|
2
|
+
import { Dumper, Parser, Resolver } from '../types';
|
|
3
|
+
export declare const parseEnum: Parser;
|
|
4
|
+
export declare const parseRegistry: Parser;
|
|
5
|
+
export declare const parseDataClass: Parser;
|
|
6
|
+
export declare const resolveDataClass: Resolver<DataClass, ResolvableDataClass>;
|
|
7
|
+
export declare const resolveRegistry: Resolver<Registry, ResolvableRegistry>;
|
|
8
|
+
export declare const dumpDataClass: Dumper<DataClass>;
|
|
9
|
+
export declare const dumpEnum: Dumper<Enum>;
|
|
10
|
+
export declare const dumpRegistry: Dumper<Registry>;
|
|
11
|
+
export declare const dumpVariable: Dumper<Variable>;
|
|
12
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,IAAI,EAGJ,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAElB,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,SAAS,EAAE,MAyBvB,CAAC;AA4BF,eAAO,MAAM,aAAa,EAAE,MAkC3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAyB5B,CAAC;AA2DF,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAanE,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAehE,CAAC;AAEJ,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAO3C,CAAC;AAwCF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,IAAI,CAOjC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,CAQzC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,CAazC,CAAC"}
|