@dialecte/scl 0.3.15 → 0.3.16

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.
Files changed (128) hide show
  1. package/dist/{hooks-CLIa7kxj.js → hooks-BBGXNK0x.js} +1916 -1292
  2. package/dist/v2019C1/config/dialecte.config.d.ts +2 -2
  3. package/dist/v2019C1/config/dialecte.config.d.ts.map +1 -1
  4. package/dist/v2019C1/constants/topology-tags.d.ts +7 -0
  5. package/dist/v2019C1/constants/topology-tags.d.ts.map +1 -1
  6. package/dist/v2019C1/extensions/clean-up/transaction/orphan-lnode-bindings.d.ts +7 -2
  7. package/dist/v2019C1/extensions/clean-up/transaction/orphan-lnode-bindings.d.ts.map +1 -1
  8. package/dist/v2019C1/extensions/identity/index.d.ts +2 -0
  9. package/dist/v2019C1/extensions/identity/index.d.ts.map +1 -1
  10. package/dist/v2019C1/extensions/identity/query/index.d.ts +3 -0
  11. package/dist/v2019C1/extensions/identity/query/index.d.ts.map +1 -0
  12. package/dist/v2019C1/extensions/identity/query/resolve-identity.d.ts +18 -0
  13. package/dist/v2019C1/extensions/identity/query/resolve-identity.d.ts.map +1 -0
  14. package/dist/v2019C1/extensions/identity/query/resolve-identity.types.d.ts +19 -0
  15. package/dist/v2019C1/extensions/identity/query/resolve-identity.types.d.ts.map +1 -0
  16. package/dist/v2019C1/extensions/identity/transaction/write-identity.d.ts +3 -0
  17. package/dist/v2019C1/extensions/identity/transaction/write-identity.d.ts.map +1 -1
  18. package/dist/v2019C1/extensions/identity/transaction/write-identity.types.d.ts +1 -1
  19. package/dist/v2019C1/extensions/identity/transaction/write-identity.types.d.ts.map +1 -1
  20. package/dist/v2019C1/extensions/index.d.ts +1 -0
  21. package/dist/v2019C1/extensions/index.d.ts.map +1 -1
  22. package/dist/v2019C1/extensions/lifecycle/apply/apply.d.ts +2 -2
  23. package/dist/v2019C1/extensions/lifecycle/apply/apply.d.ts.map +1 -1
  24. package/dist/v2019C1/extensions/lifecycle/apply/apply.types.d.ts +4 -0
  25. package/dist/v2019C1/extensions/lifecycle/apply/apply.types.d.ts.map +1 -1
  26. package/dist/v2019C1/extensions/lifecycle/contract.types.d.ts +20 -1
  27. package/dist/v2019C1/extensions/lifecycle/contract.types.d.ts.map +1 -1
  28. package/dist/v2019C1/extensions/lifecycle/cross-cutting/finalize-cloned-identity.d.ts +24 -0
  29. package/dist/v2019C1/extensions/lifecycle/cross-cutting/finalize-cloned-identity.d.ts.map +1 -0
  30. package/dist/v2019C1/extensions/lifecycle/cross-cutting/index.d.ts +1 -0
  31. package/dist/v2019C1/extensions/lifecycle/cross-cutting/index.d.ts.map +1 -1
  32. package/dist/v2019C1/extensions/lifecycle/engine/correlate.d.ts +30 -0
  33. package/dist/v2019C1/extensions/lifecycle/engine/correlate.d.ts.map +1 -0
  34. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts +9 -2
  35. package/dist/v2019C1/extensions/lifecycle/engine/decide.d.ts.map +1 -1
  36. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts +7 -1
  37. package/dist/v2019C1/extensions/lifecycle/engine/diff.d.ts.map +1 -1
  38. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts +9 -1
  39. package/dist/v2019C1/extensions/lifecycle/engine/diff.types.d.ts.map +1 -1
  40. package/dist/v2019C1/extensions/lifecycle/engine/group.d.ts +1 -1
  41. package/dist/v2019C1/extensions/lifecycle/engine/match-child.d.ts +31 -0
  42. package/dist/v2019C1/extensions/lifecycle/engine/match-child.d.ts.map +1 -0
  43. package/dist/v2019C1/extensions/lifecycle/engine/match-key.d.ts +26 -0
  44. package/dist/v2019C1/extensions/lifecycle/engine/match-key.d.ts.map +1 -0
  45. package/dist/v2019C1/extensions/lifecycle/engine/reconcile.d.ts +8 -2
  46. package/dist/v2019C1/extensions/lifecycle/engine/reconcile.d.ts.map +1 -1
  47. package/dist/v2019C1/extensions/lifecycle/engine/reference-match.d.ts +25 -0
  48. package/dist/v2019C1/extensions/lifecycle/engine/reference-match.d.ts.map +1 -0
  49. package/dist/v2019C1/extensions/lifecycle/extract/transaction/post-extraction-cleanup.d.ts +3 -3
  50. package/dist/v2019C1/extensions/lifecycle/extract/transaction/ssd.d.ts +6 -4
  51. package/dist/v2019C1/extensions/lifecycle/extract/transaction/ssd.d.ts.map +1 -1
  52. package/dist/v2019C1/extensions/lifecycle/index.d.ts +1 -1
  53. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts +30 -9
  54. package/dist/v2019C1/extensions/lifecycle/instance/find-instance.d.ts.map +1 -1
  55. package/dist/v2019C1/extensions/lifecycle/instance/index.d.ts +1 -1
  56. package/dist/v2019C1/extensions/lifecycle/instance/index.d.ts.map +1 -1
  57. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.d.ts.map +1 -1
  58. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.types.d.ts +6 -0
  59. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/asd.types.d.ts.map +1 -1
  60. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.d.ts.map +1 -1
  61. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.types.d.ts +6 -0
  62. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/fsd.types.d.ts.map +1 -1
  63. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/index.d.ts +2 -0
  64. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/index.d.ts.map +1 -1
  65. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.d.ts +19 -0
  66. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.d.ts.map +1 -0
  67. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.types.d.ts +25 -0
  68. package/dist/v2019C1/extensions/lifecycle/instantiate/transaction/ssd.types.d.ts.map +1 -0
  69. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.d.ts +15 -12
  70. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.d.ts.map +1 -1
  71. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.types.d.ts +14 -0
  72. package/dist/v2019C1/extensions/lifecycle/layers/topology/clone-topology-content.types.d.ts.map +1 -0
  73. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.d.ts +25 -0
  74. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.d.ts.map +1 -0
  75. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.types.d.ts +22 -0
  76. package/dist/v2019C1/extensions/lifecycle/layers/topology/ensure-topology-frame.types.d.ts.map +1 -0
  77. package/dist/v2019C1/extensions/lifecycle/layers/topology/index.d.ts +5 -0
  78. package/dist/v2019C1/extensions/lifecycle/layers/topology/index.d.ts.map +1 -1
  79. package/dist/v2019C1/extensions/lifecycle/layers/topology/reconcile-topology-frame.d.ts +29 -0
  80. package/dist/v2019C1/extensions/lifecycle/layers/topology/reconcile-topology-frame.d.ts.map +1 -0
  81. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.d.ts +15 -0
  82. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.d.ts.map +1 -0
  83. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.types.d.ts +8 -0
  84. package/dist/v2019C1/extensions/lifecycle/layers/topology/scope-content.types.d.ts.map +1 -0
  85. package/dist/v2019C1/extensions/lifecycle/report/presentation-scope.d.ts.map +1 -1
  86. package/dist/v2019C1/extensions/lifecycle/report/query/index.d.ts +1 -0
  87. package/dist/v2019C1/extensions/lifecycle/report/query/index.d.ts.map +1 -1
  88. package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts +1 -0
  89. package/dist/v2019C1/extensions/lifecycle/report/query/report-asd.d.ts.map +1 -1
  90. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts +2 -1
  91. package/dist/v2019C1/extensions/lifecycle/report/query/report-fsd.d.ts.map +1 -1
  92. package/dist/v2019C1/extensions/lifecycle/report/query/report-function-satellites.d.ts +1 -1
  93. package/dist/v2019C1/extensions/lifecycle/report/query/report-function.d.ts +1 -1
  94. package/dist/v2019C1/extensions/lifecycle/report/query/report-ssd.d.ts +22 -0
  95. package/dist/v2019C1/extensions/lifecycle/report/query/report-ssd.d.ts.map +1 -0
  96. package/dist/v2019C1/extensions/lifecycle/report/query/report-topology-frame.d.ts +23 -0
  97. package/dist/v2019C1/extensions/lifecycle/report/query/report-topology-frame.d.ts.map +1 -0
  98. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts +1 -1
  99. package/dist/v2019C1/extensions/lifecycle/report/query/satellite-companions.d.ts.map +1 -1
  100. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts +1 -1
  101. package/dist/v2019C1/extensions/lifecycle/report/report.d.ts.map +1 -1
  102. package/dist/v2019C1/extensions/lifecycle/scenario.d.ts +1 -2
  103. package/dist/v2019C1/extensions/lifecycle/scenario.d.ts.map +1 -1
  104. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts +5 -0
  105. package/dist/v2019C1/extensions/lifecycle/transplant/transaction/primitives/merge-children-into.d.ts.map +1 -1
  106. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts +3 -1
  107. package/dist/v2019C1/extensions/lifecycle/update/transaction/asd.d.ts.map +1 -1
  108. package/dist/v2019C1/extensions/lifecycle/update/transaction/cross-cutting-satellites.d.ts +4 -3
  109. package/dist/v2019C1/extensions/lifecycle/update/transaction/cross-cutting-satellites.d.ts.map +1 -1
  110. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts +3 -2
  111. package/dist/v2019C1/extensions/lifecycle/update/transaction/fsd.d.ts.map +1 -1
  112. package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts +2 -2
  113. package/dist/v2019C1/extensions/lifecycle/update/transaction/function-satellites.d.ts.map +1 -1
  114. package/dist/v2019C1/extensions/lifecycle/update/transaction/index.d.ts +1 -0
  115. package/dist/v2019C1/extensions/lifecycle/update/transaction/index.d.ts.map +1 -1
  116. package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts +2 -1
  117. package/dist/v2019C1/extensions/lifecycle/update/transaction/satellite-reconcile.d.ts.map +1 -1
  118. package/dist/v2019C1/extensions/lifecycle/update/transaction/ssd.d.ts +36 -0
  119. package/dist/v2019C1/extensions/lifecycle/update/transaction/ssd.d.ts.map +1 -0
  120. package/dist/v2019C1/hooks/after-standardized-record/uuid-attribute.d.ts.map +1 -1
  121. package/dist/v2019C1/hooks/io/io-hooks.d.ts +2 -2
  122. package/dist/v2019C1/index.js +10 -10
  123. package/dist/v2019C1/test/assert-valid-scl-xml.d.ts +18 -0
  124. package/dist/v2019C1/test/assert-valid-scl-xml.d.ts.map +1 -0
  125. package/dist/v2019C1/test/hydrated-test.d.ts +9 -1
  126. package/dist/v2019C1/test/hydrated-test.d.ts.map +1 -1
  127. package/dist/v2019C1/test.js +62 -18
  128. package/package.json +4 -2
@@ -1,26 +1,70 @@
1
- import { j as e, n as t, r as n, t as r } from "../hooks-CLIa7kxj.js";
2
- import { CUSTOM_RECORD_ID_ATTRIBUTE as i, CUSTOM_RECORD_ID_ATTRIBUTE_NAME as a, XMLNS_XSI_NAMESPACE as o } from "@dialecte/core/helpers";
3
- import { XMLNS_DEV_NAMESPACE as s, createTestProject as c, createTestRecordFactory as l, createTestRunner as u, createXmlAssertions as d } from "@dialecte/core/test";
1
+ import { F as e, M as t, n, r, t as i } from "../hooks-BBGXNK0x.js";
2
+ import { CUSTOM_RECORD_ID_ATTRIBUTE as a, CUSTOM_RECORD_ID_ATTRIBUTE_NAME as o, XMLNS_XSI_NAMESPACE as s } from "@dialecte/core/helpers";
3
+ import { XMLNS_DEV_NAMESPACE as c, createTestProject as l, createTestRecordFactory as u, createTestRunner as d, createXmlAssertions as f } from "@dialecte/core/test";
4
+ //#region src/v2019C1/test/assert-valid-scl-xml.ts
5
+ var p = e;
6
+ function m(e, t) {
7
+ return ((e ? p[e]?.children?.details?.[t]?.namespace : void 0) ?? p[t]?.namespace)?.uri;
8
+ }
9
+ function h(e, t) {
10
+ let n = e.children;
11
+ return n ? n.any === !0 || n.sequence?.includes(t) ? !0 : n.details ? t in n.details : !1 : !1;
12
+ }
13
+ function g(e) {
14
+ return new Set([...e.attributes?.sequence ?? [], ...Object.keys(e.attributes?.details ?? {})]);
15
+ }
16
+ function _(e, t = "test XML", n = {}) {
17
+ let r = n.requireComplete ?? !0, i = new DOMParser().parseFromString(e, "application/xml"), a = i.querySelector("parsererror");
18
+ if (a) throw Error(`${t}: malformed XML — ${a.textContent?.trim()}`);
19
+ let o = [], s = (e, t) => {
20
+ let n = e.localName, i = p[n], a = m(t, n);
21
+ if (a !== void 0 && e.namespaceURI !== a) {
22
+ let n = t ? ` under <${t}>` : "";
23
+ o.push(`[namespace] <${e.tagName}>${n}: is in ${e.namespaceURI ?? "(no namespace)"}, schema declares ${a}`);
24
+ }
25
+ let c = t ? p[t] : void 0;
26
+ if (c && !h(c, n) && o.push(`[containment] <${n}> is not a valid child of <${t}>`), i?.attributes) {
27
+ let t = g(i);
28
+ for (let r of Array.from(e.attributes)) r.namespaceURI === null && (t.has(r.localName) || o.push(`[attribute] <${n}> has unknown attribute '${r.localName}'`));
29
+ if (r) for (let [t, r] of Object.entries(i.attributes.details ?? {})) r?.required && !e.hasAttribute(t) && o.push(`[required] <${n}> is missing required attribute '${t}'`);
30
+ }
31
+ for (let t of Array.from(e.children)) s(t, n);
32
+ };
33
+ if (i.documentElement && s(i.documentElement, void 0), o.length > 0) throw Error(`${t}: not valid SCL:\n ${o.join("\n ")}`);
34
+ }
35
+ //#endregion
4
36
  //#region src/v2019C1/test/hydrated-test.ts
5
- var f = {
6
- ...t(),
7
- ...r
8
- }, p = `xmlns="${e.namespaces.default.uri}"`, m = `xmlns:${e.namespaces.v2019C1.prefix}="${e.namespaces.v2019C1.uri}"`, h = `${p} ${m} ${s} ${o}`, g = { base: n }, _ = u({
9
- dialecteConfig: e,
10
- extensions: g,
11
- hooks: f
37
+ var v = {
38
+ ...n(),
39
+ ...i
40
+ }, y = `xmlns="${t.namespaces.default.uri}"`, b = `xmlns:${t.namespaces.v2019C1.prefix}="${t.namespaces.v2019C1.uri}"`, x = `${y} ${b} ${c} ${s}`, S = { base: r }, C = d({
41
+ dialecteConfig: t,
42
+ extensions: S,
43
+ hooks: v
12
44
  });
13
- async function v(t) {
14
- let { sourceXml: n, targetXml: r, dev: i } = t;
15
- return c({
45
+ function w(e) {
46
+ for (let [t, n] of Object.entries(e)) _(n.sourceXml, `${t} › sourceXml`, { requireComplete: !1 }), n.targetXml && _(n.targetXml, `${t} › targetXml`, { requireComplete: !1 });
47
+ }
48
+ var T = {
49
+ ...C,
50
+ withExport(e) {
51
+ w(e.testCases), C.withExport(e);
52
+ },
53
+ withoutExport(e) {
54
+ w(e.testCases), C.withoutExport(e);
55
+ }
56
+ };
57
+ async function E(e) {
58
+ let { sourceXml: n, targetXml: r, dev: i } = e;
59
+ return _(n, "sourceXml", { requireComplete: !1 }), r && _(r, "targetXml", { requireComplete: !1 }), l({
16
60
  sourceXml: n,
17
61
  targetXml: r,
18
- dialecteConfig: e,
19
- extensions: g,
20
- hooks: f,
62
+ dialecteConfig: t,
63
+ extensions: S,
64
+ hooks: v,
21
65
  dev: i
22
66
  });
23
67
  }
24
- var y = l(e), { assertExpectedElementQueries: b, assertUnexpectedElementQueries: x } = d({ namespaces: e.namespaces });
68
+ var D = u(t), { assertExpectedElementQueries: O, assertUnexpectedElementQueries: k } = f({ namespaces: t.namespaces });
25
69
  //#endregion
26
- export { h as ALL_XMLNS_NAMESPACES, i as CUSTOM_RECORD_ID_ATTRIBUTE, a as CUSTOM_RECORD_ID_ATTRIBUTE_NAME, m as XMLNS_SCL_6_100_NAMESPACE, p as XMLNS_SCL_NAMESPACE, b as assertExpectedElementQueries, x as assertUnexpectedElementQueries, v as createSclTestProject, y as createSclTestRecord, _ as runSclTestCases };
70
+ export { x as ALL_XMLNS_NAMESPACES, a as CUSTOM_RECORD_ID_ATTRIBUTE, o as CUSTOM_RECORD_ID_ATTRIBUTE_NAME, b as XMLNS_SCL_6_100_NAMESPACE, y as XMLNS_SCL_NAMESPACE, O as assertExpectedElementQueries, k as assertUnexpectedElementQueries, _ as assertValidSclXml, E as createSclTestProject, D as createSclTestRecord, T as runSclTestCases };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialecte/scl",
3
- "version": "0.3.15",
3
+ "version": "0.3.16",
4
4
  "description": "Dialecte - SCL (Substation Configuration Language) sdk",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -44,6 +44,8 @@
44
44
  "lint:fix": "oxlint . --fix -D correctness --ignore-path .gitignore",
45
45
  "format:check": "oxfmt --check",
46
46
  "format:fix": "oxfmt",
47
+ "format:xml": "dialecte-xmlfmt 'src/**/*.test.ts'",
48
+ "format:xml:check": "dialecte-xmlfmt --check 'src/**/*.test.ts'",
47
49
  "//====== TYPE PERF ======//": "",
48
50
  "coverage:gen": "dialecte coverage",
49
51
  "type-bench": "npm run coverage:gen && dialecte bench",
@@ -54,7 +56,7 @@
54
56
  "prepare": "husky"
55
57
  },
56
58
  "dependencies": {
57
- "@dialecte/core": "0.4.12"
59
+ "@dialecte/core": "0.4.16"
58
60
  },
59
61
  "devDependencies": {
60
62
  "@dialecte/cli": "0.0.2",