@dialecte/scl 0.6.0 → 0.7.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/dist/{hooks-CHS8tY1i.js → hooks-Cw9fAx-L.js} +29925 -23108
- package/dist/v2019C1/config/dialecte.config.d.ts +27746 -20645
- package/dist/v2019C1/config/dialecte.config.d.ts.map +1 -1
- package/dist/v2019C1/definition/constants.generated.d.ts.map +1 -1
- package/dist/v2019C1/definition/definition.generated.d.ts +27746 -20645
- package/dist/v2019C1/definition/definition.generated.d.ts.map +1 -1
- package/dist/v2019C1/definition/types.generated.d.ts +5 -153
- package/dist/v2019C1/definition/types.generated.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.d.ts +4 -2
- package/dist/v2019C1/extensions/lifecycle/constraints/classify-attribute.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/find-constraint-violation.d.ts +19 -3
- package/dist/v2019C1/extensions/lifecycle/constraints/find-constraint-violation.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/find-constraint-violation.types.d.ts +6 -16
- package/dist/v2019C1/extensions/lifecycle/constraints/find-constraint-violation.types.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/index.d.ts +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/index.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/resolve-placement-collision.d.ts +2 -2
- package/dist/v2019C1/extensions/lifecycle/constraints/resolve-placement-collision.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/constraints/resolve-unique-value.d.ts +13 -0
- package/dist/v2019C1/extensions/lifecycle/constraints/resolve-unique-value.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/engine/instance-tag.d.ts.map +1 -1
- package/dist/v2019C1/extensions/lifecycle/report/report.d.ts.map +1 -1
- package/dist/v2019C1/extensions/reference/constants/derived.d.ts +2 -2
- package/dist/v2019C1/extensions/reference/constants/derived.d.ts.map +1 -1
- package/dist/v2019C1/extensions/reference/query/resolve/resolve-reference-path.constants.d.ts +4 -1
- package/dist/v2019C1/extensions/reference/query/resolve/resolve-reference-path.constants.d.ts.map +1 -1
- package/dist/v2019C1/hooks/shared/ref-path-rebuild.d.ts +2 -1
- package/dist/v2019C1/hooks/shared/ref-path-rebuild.d.ts.map +1 -1
- package/dist/v2019C1/index.js +1 -1
- package/dist/v2019C1/test/assert-valid-scl-xml.d.ts.map +1 -1
- package/dist/v2019C1/test.js +55 -54
- package/package.json +3 -3
|
@@ -5,9 +5,9 @@ import type * as Core from '@dialecte/core';
|
|
|
5
5
|
* Validate a just-placed element against its parent context and resolve a scoped-
|
|
6
6
|
* uniqueness collision GENERICALLY over whichever key field is EDITABLE:
|
|
7
7
|
*
|
|
8
|
-
* 1. detect a violation from the parent (`
|
|
8
|
+
* 1. detect a violation from the parent (`findViolationInScope`, on the scope read once);
|
|
9
9
|
* 2. if the violated key includes an editable field (`rename`/`free` per
|
|
10
|
-
* `classifyAttribute`), bump it to the first free value (`
|
|
10
|
+
* `classifyAttribute`), bump it to the first free value (`findUniqueValueInScope`)
|
|
11
11
|
* and apply it — the after-updated hook then rebuilds any ref paths that
|
|
12
12
|
* traverse it;
|
|
13
13
|
* 3. if the violated key is entirely IDENTITY (e.g. an LNode lnClass/lnInst tuple),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-placement-collision.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/constraints/resolve-placement-collision.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,yBAAyB,CAC9C,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC,GACC,OAAO,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"resolve-placement-collision.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/constraints/resolve-placement-collision.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,yBAAyB,CAC9C,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE;IACP,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC,GACC,OAAO,CAAC,mBAAmB,CAAC,CAyC9B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ConstraintScope } from './find-constraint-violation.types';
|
|
1
2
|
import { Config, Scl } from '../../../config';
|
|
2
3
|
import type * as Core from '@dialecte/core';
|
|
3
4
|
/**
|
|
@@ -19,4 +20,16 @@ export declare function resolveUniqueValue(query: Core.Query<Config>, params: {
|
|
|
19
20
|
attr: string;
|
|
20
21
|
excludeId?: string;
|
|
21
22
|
}): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* {@link resolveUniqueValue} on a scope already read: the scope does not change between
|
|
25
|
+
* attempts, so the values are tried in memory. Pure, apart from the error when none is free.
|
|
26
|
+
*/
|
|
27
|
+
export declare function findUniqueValueInScope(params: {
|
|
28
|
+
scope: ConstraintScope;
|
|
29
|
+
parentRef: Scl.Ref<Scl.ElementsOf>;
|
|
30
|
+
childTag: string;
|
|
31
|
+
candidate: Record<string, string | undefined>;
|
|
32
|
+
attr: string;
|
|
33
|
+
excludeId?: string;
|
|
34
|
+
}): string;
|
|
22
35
|
//# sourceMappingURL=resolve-unique-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-unique-value.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/constraints/resolve-unique-value.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAI3C;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,GACC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"resolve-unique-value.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/constraints/resolve-unique-value.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAI3C;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE;IACP,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,GACC,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC9C,KAAK,EAAE,eAAe,CAAA;IACtB,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,MAAM,CAiBT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-tag.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/instance-tag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instance-tag.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/engine/instance-tag.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAWnD,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,WAAW,SAAS,aAAa,EAAE,MAAM,EAAE;IACzE,IAAI,EAAE,WAAW,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACrB,GAAG,WAAW,CAiBd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/report.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAA;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/lifecycle/report/report.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAA;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC,UAAU,CAAC,CA2DrB"}
|
|
@@ -45,8 +45,8 @@ export declare const MAPPED_NAME_REFS: ReadonlyMap<string, {
|
|
|
45
45
|
export declare const MAPPED_DATA_DEFAULT_ATTRIBUTES: ReadonlyMap<string, readonly string[]>;
|
|
46
46
|
/**
|
|
47
47
|
* The schema patterns of each mapped-name attribute (`mappedDoName` / `mappedDaName`), per
|
|
48
|
-
* ref tag, each anchored to the whole value. A value must match
|
|
49
|
-
* does not cannot be stored. Read from the definition.
|
|
48
|
+
* ref tag, one per level of its datatype, each anchored to the whole value. A value must match
|
|
49
|
+
* all of them; a data path that does not cannot be stored. Read from the definition.
|
|
50
50
|
*/
|
|
51
51
|
export declare const MAPPED_NAME_PATTERNS: ReadonlyMap<string, readonly RegExp[]>;
|
|
52
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/derived.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/derived.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG3D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,qFAAwD,CAAA;AAE3F;;;GAGG;AACH,eAAO,MAAM,sBAAsB,sFAMzB,CAAA;AAEV;;;;;GAKG;AACH,eAAO,MAAM,eAAe,qGAAoE,CAAA;AAEhG;;;GAGG;AACH,eAAO,MAAM,YAAY,+CAA2C,CAAA;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAQhF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAC/C,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAMvE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAMpD,CAAA;AAID,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAKzE,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,YAAY,EAAE,SAAS,cAAc,EAAE,CACvC,CAAA;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAA+C,CAAA;AAEnG;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAGtD,CAAA"}
|
package/dist/v2019C1/extensions/reference/query/resolve/resolve-reference-path.constants.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* The logical node classes the schema knows: they spell the class out of a segment. Read from the
|
|
3
|
+
* union of enumerations of its datatype (the extension member is a pattern).
|
|
4
|
+
*/
|
|
2
5
|
export declare const LN_CLASS_VALUES: ReadonlySet<string>;
|
|
3
6
|
/**
|
|
4
7
|
* The IED logical nodes, found by their class then prefix and instance. An LNode is not among
|
package/dist/v2019C1/extensions/reference/query/resolve/resolve-reference-path.constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-reference-path.constants.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/resolve/resolve-reference-path.constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-reference-path.constants.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/resolve/resolve-reference-path.constants.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAE/C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAA"}
|
|
@@ -7,7 +7,8 @@ import type * as Core from '@dialecte/core';
|
|
|
7
7
|
*
|
|
8
8
|
* Skips `unsupported` paths (e.g. `VariableApplyTo` XPaths), which must not be
|
|
9
9
|
* regenerated as plain name-paths, and mapped-name refs (`DOS`/`SDS`/`DAS`), which
|
|
10
|
-
* are reconciled separately.
|
|
10
|
+
* are reconciled separately. Every rebuilt path lands in one update of the record:
|
|
11
|
+
* an update per pair would each start from the same attributes and only the last would stay.
|
|
11
12
|
*/
|
|
12
13
|
export declare function reconcileReferrerRefPaths(params: {
|
|
13
14
|
oldRecord: Scl.RawRecord<Scl.ElementsOf>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref-path-rebuild.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/hooks/shared/ref-path-rebuild.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C
|
|
1
|
+
{"version":3,"file":"ref-path-rebuild.d.ts","sourceRoot":"","sources":["../../../../src/v2019C1/hooks/shared/ref-path-rebuild.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACvD,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACxC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACxC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;CACzB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAgB3B"}
|
package/dist/v2019C1/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, R as _, S as v, T as y, U as b, V as x, W as S, X as C, Y as w, Z as T, _ as E, a as D, b as O, c as k, d as A, f as j, g as M, h as N, i as P, j as F, k as I, l as L, m as R, n as z, o as B, p as V, q as H, r as U, s as W, t as G, u as K, v as q, x as J, y as Y, z as X } from "../hooks-
|
|
1
|
+
import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as s, I as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, R as _, S as v, T as y, U as b, V as x, W as S, X as C, Y as w, Z as T, _ as E, a as D, b as O, c as k, d as A, f as j, g as M, h as N, i as P, j as F, k as I, l as L, m as R, n as z, o as B, p as V, q as H, r as U, s as W, t as G, u as K, v as q, x as J, y as Y, z as X } from "../hooks-Cw9fAx-L.js";
|
|
2
2
|
import { Project as Z } from "@dialecte/core";
|
|
3
3
|
//#region src/v2019C1/extensions/lifecycle/validate/template-uuid-check.info.ts
|
|
4
4
|
var Q = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-valid-scl-xml.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/assert-valid-scl-xml.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assert-valid-scl-xml.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/assert-valid-scl-xml.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,iBAAiB,sGAAiB,CAAA;AAC/C,eAAO,MAAM,uBAAuB,+EAA0B,CAAA"}
|
package/dist/v2019C1/test.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { $ as e, C as t, D as n, J as r, Q as i, X as a,
|
|
2
|
-
import { CUSTOM_RECORD_ID_ATTRIBUTE as
|
|
3
|
-
import { XMLNS_DEV_NAMESPACE as
|
|
1
|
+
import { $ as e, C as t, D as n, J as r, Q as i, X as a, et as o, n as s, r as c, t as l, w as u } from "../hooks-Cw9fAx-L.js";
|
|
2
|
+
import { CUSTOM_RECORD_ID_ATTRIBUTE as d, CUSTOM_RECORD_ID_ATTRIBUTE_NAME as f, XMLNS_XSI_NAMESPACE as p } from "@dialecte/core/helpers";
|
|
3
|
+
import { XMLNS_DEV_NAMESPACE as m, createTestProject as h, createTestRecordFactory as g, createTestRunner as _, createXmlAssertions as v, createXmlSchemaAssertions as y } from "@dialecte/core/test";
|
|
4
4
|
//#region src/v2019C1/test/assert-coherent-scl-references.ts
|
|
5
|
-
var
|
|
6
|
-
function
|
|
7
|
-
let { xml: t } = e, n = [...new DOMParser().parseFromString(t, "application/xml").querySelectorAll("*")].filter(
|
|
8
|
-
return n.flatMap((e) =>
|
|
5
|
+
var b = Object.values(i).map((e) => e.uri);
|
|
6
|
+
function x(e) {
|
|
7
|
+
let { xml: t } = e, n = [...new DOMParser().parseFromString(t, "application/xml").querySelectorAll("*")].filter(k), r = A(n);
|
|
8
|
+
return n.flatMap((e) => E({
|
|
9
9
|
element: e,
|
|
10
10
|
elementsByUuid: r
|
|
11
11
|
}));
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
let { xml: t, label: n = "test XML" } = e, r =
|
|
13
|
+
function S(e) {
|
|
14
|
+
let { xml: t, label: n = "test XML" } = e, r = w({
|
|
15
15
|
xml: t,
|
|
16
16
|
label: n
|
|
17
17
|
});
|
|
18
18
|
if (r) throw Error(r);
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
let { testCases: t } = e, n = Object.entries(t).flatMap(([e, t]) => t.allowIncoherentReferences ? [] : [
|
|
20
|
+
function C(e) {
|
|
21
|
+
let { testCases: t } = e, n = Object.entries(t).flatMap(([e, t]) => t.allowIncoherentReferences ? [] : [w({
|
|
22
22
|
xml: t.sourceXml,
|
|
23
23
|
label: `${e} › sourceXml`
|
|
24
|
-
}), t.targetXml ?
|
|
24
|
+
}), t.targetXml ? w({
|
|
25
25
|
xml: t.targetXml,
|
|
26
26
|
label: `${e} › targetXml`
|
|
27
27
|
}) : void 0].filter((e) => e !== void 0));
|
|
28
28
|
if (n.length > 0) throw Error(n.join("\n"));
|
|
29
29
|
}
|
|
30
|
-
function C(e) {
|
|
31
|
-
let { xml: t, label: n } = e, r = b({ xml: t });
|
|
32
|
-
if (r.length !== 0) return `${n}: incoherent references:\n ${r.map(w).join("\n ")}`;
|
|
33
|
-
}
|
|
34
30
|
function w(e) {
|
|
31
|
+
let { xml: t, label: n } = e, r = x({ xml: t });
|
|
32
|
+
if (r.length !== 0) return `${n}: incoherent references:\n ${r.map(T).join("\n ")}`;
|
|
33
|
+
}
|
|
34
|
+
function T(e) {
|
|
35
35
|
let t = `<${e.referenceTagName}>`;
|
|
36
36
|
switch (e.kind) {
|
|
37
37
|
case "path": return `[path] ${t} ${e.pathAttribute}="${e.written}" is not the path of the element ${e.uuidAttribute}="${e.uuid}" points at, which is "${e.expected}"`;
|
|
@@ -40,15 +40,15 @@ function w(e) {
|
|
|
40
40
|
case "empty": return `[empty] ${t} ${e.uuidAttribute} is empty`;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
function
|
|
43
|
+
function E(e) {
|
|
44
44
|
let { element: t, elementsByUuid: n } = e, i = r[t.localName];
|
|
45
|
-
return i ? i.flatMap((e) =>
|
|
45
|
+
return i ? i.flatMap((e) => D({
|
|
46
46
|
element: t,
|
|
47
47
|
pair: e,
|
|
48
48
|
elementsByUuid: n
|
|
49
49
|
})) : [];
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function D(e) {
|
|
52
52
|
let { element: t, pair: n, elementsByUuid: r } = e, i = t.getAttribute(n.attribute.uuid);
|
|
53
53
|
if (i === null) return [];
|
|
54
54
|
let a = n.attribute.uuid, o = t.localName;
|
|
@@ -64,24 +64,24 @@ function E(e) {
|
|
|
64
64
|
uuidAttribute: a,
|
|
65
65
|
uuid: i
|
|
66
66
|
}];
|
|
67
|
-
let c = n.target,
|
|
68
|
-
if (!
|
|
67
|
+
let c = n.target, l = s.find((e) => c.includes(e.localName));
|
|
68
|
+
if (!l) return [{
|
|
69
69
|
kind: "wrong-target",
|
|
70
70
|
referenceTagName: o,
|
|
71
71
|
uuidAttribute: a,
|
|
72
72
|
uuid: i,
|
|
73
73
|
targetTagName: s[0].localName
|
|
74
74
|
}];
|
|
75
|
-
if (!
|
|
75
|
+
if (!O({
|
|
76
76
|
pair: n,
|
|
77
|
-
target:
|
|
77
|
+
target: l
|
|
78
78
|
})) return [];
|
|
79
79
|
let d = t.getAttribute(n.attribute.path);
|
|
80
80
|
if (d === null) return [];
|
|
81
|
-
let f =
|
|
82
|
-
record:
|
|
83
|
-
ancestry: f.map((e, t) =>
|
|
84
|
-
specNamings:
|
|
81
|
+
let f = j(l), p = u({
|
|
82
|
+
record: N(l),
|
|
83
|
+
ancestry: f.map((e, t) => N(e, `ancestor-${t}`)),
|
|
84
|
+
specNamings: M(f)
|
|
85
85
|
});
|
|
86
86
|
return !p || p.path === d ? [] : [{
|
|
87
87
|
kind: "path",
|
|
@@ -93,14 +93,14 @@ function E(e) {
|
|
|
93
93
|
expected: p.path
|
|
94
94
|
}];
|
|
95
95
|
}
|
|
96
|
-
function
|
|
96
|
+
function O(e) {
|
|
97
97
|
let { pair: r, target: i } = e;
|
|
98
98
|
return r.resolution === t.direct ? n[i.localName]?.type === "name" : !1;
|
|
99
99
|
}
|
|
100
|
-
function O(e) {
|
|
101
|
-
return e.namespaceURI !== null && y.includes(e.namespaceURI);
|
|
102
|
-
}
|
|
103
100
|
function k(e) {
|
|
101
|
+
return e.namespaceURI !== null && b.includes(e.namespaceURI);
|
|
102
|
+
}
|
|
103
|
+
function A(e) {
|
|
104
104
|
let t = /* @__PURE__ */ new Map();
|
|
105
105
|
for (let n of e) {
|
|
106
106
|
let e = n.getAttribute("uuid");
|
|
@@ -110,20 +110,20 @@ function k(e) {
|
|
|
110
110
|
}
|
|
111
111
|
return t;
|
|
112
112
|
}
|
|
113
|
-
function
|
|
113
|
+
function j(e) {
|
|
114
114
|
let t = [], n = e.parentElement;
|
|
115
115
|
for (; n;) t.unshift(n), n = n.parentElement;
|
|
116
116
|
return t;
|
|
117
117
|
}
|
|
118
|
-
function
|
|
118
|
+
function M(e) {
|
|
119
119
|
let t = /* @__PURE__ */ new Map();
|
|
120
120
|
return e.forEach((e, n) => {
|
|
121
121
|
if (e.localName !== "LNode") return;
|
|
122
122
|
let r = [...e.getElementsByTagNameNS("*", "LNodeSpecNaming")].find((t) => t.parentElement?.parentElement === e);
|
|
123
|
-
r && t.set(`ancestor-${n}`,
|
|
123
|
+
r && t.set(`ancestor-${n}`, N(r));
|
|
124
124
|
}), t;
|
|
125
125
|
}
|
|
126
|
-
function
|
|
126
|
+
function N(e, t = "") {
|
|
127
127
|
return {
|
|
128
128
|
id: t,
|
|
129
129
|
tagName: e.localName,
|
|
@@ -142,43 +142,44 @@ function M(e, t = "") {
|
|
|
142
142
|
}
|
|
143
143
|
//#endregion
|
|
144
144
|
//#region src/v2019C1/test/assert-valid-scl-xml.ts
|
|
145
|
-
var { assertValidXml:
|
|
145
|
+
var { assertValidXml: P, assertValidXmlTestCases: F } = y({
|
|
146
146
|
definition: e,
|
|
147
|
+
types: o,
|
|
147
148
|
namespaces: i,
|
|
148
149
|
schemaName: "SCL"
|
|
149
|
-
}),
|
|
150
|
-
...
|
|
151
|
-
...
|
|
152
|
-
},
|
|
150
|
+
}), I = P, L = F, R = {
|
|
151
|
+
...s(),
|
|
152
|
+
...l
|
|
153
|
+
}, z = `xmlns="${a.namespaces.default.uri}"`, B = `xmlns:${a.namespaces.v2019C1.prefix}="${a.namespaces.v2019C1.uri}"`, V = `${z} ${B} ${m} ${p}`, H = { base: c }, U = _({
|
|
153
154
|
dialecteConfig: a,
|
|
154
|
-
extensions:
|
|
155
|
-
hooks:
|
|
156
|
-
}),
|
|
157
|
-
...
|
|
155
|
+
extensions: H,
|
|
156
|
+
hooks: R
|
|
157
|
+
}), W = {
|
|
158
|
+
...U,
|
|
158
159
|
withExport(e) {
|
|
159
|
-
|
|
160
|
+
L({ testCases: e.testCases }), C({ testCases: e.testCases }), U.withExport(e);
|
|
160
161
|
},
|
|
161
162
|
withoutExport(e) {
|
|
162
|
-
|
|
163
|
+
L({ testCases: e.testCases }), C({ testCases: e.testCases }), U.withoutExport(e);
|
|
163
164
|
}
|
|
164
165
|
};
|
|
165
|
-
async function
|
|
166
|
+
async function G(e) {
|
|
166
167
|
let { sourceXml: t, targetXml: n, dev: r, allowIncoherentReferences: i } = e;
|
|
167
|
-
return
|
|
168
|
+
return I(t, "sourceXml", { requireComplete: !1 }), n && I(n, "targetXml", { requireComplete: !1 }), i || (S({
|
|
168
169
|
xml: t,
|
|
169
170
|
label: "sourceXml"
|
|
170
|
-
}), n &&
|
|
171
|
+
}), n && S({
|
|
171
172
|
xml: n,
|
|
172
173
|
label: "targetXml"
|
|
173
|
-
})),
|
|
174
|
+
})), h({
|
|
174
175
|
sourceXml: t,
|
|
175
176
|
targetXml: n,
|
|
176
177
|
dialecteConfig: a,
|
|
177
|
-
extensions:
|
|
178
|
-
hooks:
|
|
178
|
+
extensions: H,
|
|
179
|
+
hooks: R,
|
|
179
180
|
dev: r
|
|
180
181
|
});
|
|
181
182
|
}
|
|
182
|
-
var
|
|
183
|
+
var K = g(a), { assertExpectedElementQueries: q, assertUnexpectedElementQueries: J } = v({ namespaces: a.namespaces });
|
|
183
184
|
//#endregion
|
|
184
|
-
export {
|
|
185
|
+
export { V as ALL_XMLNS_NAMESPACES, d as CUSTOM_RECORD_ID_ATTRIBUTE, f as CUSTOM_RECORD_ID_ATTRIBUTE_NAME, B as XMLNS_SCL_6_100_NAMESPACE, z as XMLNS_SCL_NAMESPACE, S as assertCoherentSclReferences, q as assertExpectedElementQueries, J as assertUnexpectedElementQueries, I as assertValidSclXml, G as createSclTestProject, K as createSclTestRecord, W as runSclTestCases };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dialecte/scl",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Dialecte - SCL (Substation Configuration Language) sdk",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
"prepare": "husky"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@dialecte/core": "0.
|
|
59
|
+
"@dialecte/core": "0.6.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@dialecte/cli": "0.0
|
|
62
|
+
"@dialecte/cli": "0.1.0",
|
|
63
63
|
"@tsconfig/node24": "^24.0.4",
|
|
64
64
|
"@types/node": "^24.12.4",
|
|
65
65
|
"@typescript/native": "npm:typescript@^7.0.2",
|