@dialecte/scl 0.2.15 → 0.2.18

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.
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Composes the canonical IED-section path of the `LN` that implements a mapped
3
+ * `LNode`, from the LNode's implementation attributes
4
+ * (`iedName`, `ldInst`, `prefix`, `lnClass`, `lnInst`).
5
+ *
6
+ * A mapped `LNode` carries the identity of the IED
7
+ * `LN` that implements it. An unmapped `LNode` uses `iedName="None"` and has no
8
+ * implementing `LN`.
9
+ *
10
+ * @example
11
+ * buildMappedLNodePath({ iedName: 'IED1', ldInst: 'LD0', prefix: '', lnClass: 'XCBR', lnInst: '1' })
12
+ * // → "IED1/LD0/XCBR1"
13
+ */
14
+ export declare function buildMappedLNodePath(attrs: MappedLNodeAttributes): string | null;
15
+ export type MappedLNodeAttributes = {
16
+ iedName?: string;
17
+ ldInst?: string;
18
+ prefix?: string;
19
+ lnClass?: string;
20
+ lnInst?: string;
21
+ };
22
+ //# sourceMappingURL=build-mapped-lnode-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-mapped-lnode-path.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/build/build-mapped-lnode-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAUhF;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
@@ -1,4 +1,6 @@
1
1
  export { buildElementPath } from './build-element-path';
2
2
  export { buildReferencePath } from './build-reference-path';
3
+ export { buildMappedLNodePath } from './build-mapped-lnode-path';
4
+ export type { MappedLNodeAttributes } from './build-mapped-lnode-path';
3
5
  export type { ElementPath, PathSegmentWithRef } from './path-segment.types';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export { resolveReferencePath } from './resolve-reference-path';
2
2
  export { resolveElementPath } from './resolve-element-path';
3
+ export { resolveMappedLNode } from './resolve-mapped-lnode';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/resolve/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/resolve/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Scl, Config } from '../../../../config';
2
+ import type * as Core from '@dialecte/core';
3
+ type LnRecord = Scl.TrackedRecord<'LN' | 'LN0'>;
4
+ /**
5
+ * Resolves a mapped `LNode` to the IED `LN` (or `LN0`) that implements it.
6
+ *
7
+ * Reads the LNode's implementation attributes, composes the IED-section path
8
+ * via {@link buildMappedLNodePath}, then resolves it with
9
+ * {@link resolveElementPath}. Returns `undefined` for unmapped LNodes or when
10
+ * the path does not resolve to an `LN`/`LN0`.
11
+ *
12
+ * @example
13
+ * const ln = await resolveMappedLNode(query, lnodeRecord)
14
+ * // → TrackedRecord<'LN' | 'LN0'> for the implementing LN, or undefined
15
+ */
16
+ export declare function resolveMappedLNode(query: Core.Query<Config> | Core.Transaction<Config>, lnode: Scl.TrackedRecord<'LNode'>): Promise<LnRecord | undefined>;
17
+ export {};
18
+ //# sourceMappingURL=resolve-mapped-lnode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-mapped-lnode.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/resolve/resolve-mapped-lnode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAI3C,KAAK,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACpD,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAC/B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAQ/B"}
@@ -1,4 +1,4 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "../extensions-BQYiSBug.js";
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../extensions-C_XbWugj.js";
2
2
  import { Project as o } from "@dialecte/core";
3
3
  //#region src/v2019C1/dialecte.ts
4
4
  function s(e) {
@@ -1,7 +1,7 @@
1
1
  import { CUSTOM_RECORD_ID_ATTRIBUTE, CUSTOM_RECORD_ID_ATTRIBUTE_NAME } from '@dialecte/core/helpers';
2
2
  import { Config } from '../config/dialecte.config';
3
- export declare const XMLNS_SCL_NAMESPACE = "xmlns=\"http://www.iec.ch/61850/2003/SCL\"";
4
- export declare const XMLNS_SCL_6_100_NAMESPACE = "xmlns:eIEC61850-6-100=\"http://www.iec.ch/61850/2019/SCL/6-100\"";
3
+ export declare const XMLNS_SCL_NAMESPACE: string;
4
+ export declare const XMLNS_SCL_6_100_NAMESPACE: string;
5
5
  export declare const ALL_XMLNS_NAMESPACES: string;
6
6
  export { CUSTOM_RECORD_ID_ATTRIBUTE, CUSTOM_RECORD_ID_ATTRIBUTE_NAME };
7
7
  export declare const runSclTestCases: import('@dialecte/core/test').TestRunner<Config, {
@@ -1 +1 @@
1
- {"version":3,"file":"hydrated-test.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/hydrated-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,+BAA+B,EAE/B,MAAM,wBAAwB,CAAA;AAa/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAI9D,eAAO,MAAM,mBAAmB,+CAA6C,CAAA;AAC7E,eAAO,MAAM,yBAAyB,qEAAmE,CAAA;AACzG,eAAO,MAAM,oBAAoB,QAAsG,CAAA;AACvI,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,CAAA;AAItE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAA;AAEF,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;IAU3F;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;CAAuD,CAAA;AACvF,eAAO,MAAQ,4BAA4B;;;YAAE,8BAA8B;;;UAI1E,CAAA"}
1
+ {"version":3,"file":"hydrated-test.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/test/hydrated-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,+BAA+B,EAE/B,MAAM,wBAAwB,CAAA;AAa/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAI9D,eAAO,MAAM,mBAAmB,QAA0D,CAAA;AAC1F,eAAO,MAAM,yBAAyB,QAA2G,CAAA;AACjJ,eAAO,MAAM,oBAAoB,QAAsG,CAAA;AACvI,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,CAAA;AAItE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAA;AAEF,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;IAU3F;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;CAAuD,CAAA;AACvF,eAAO,MAAQ,4BAA4B;;;YAAE,8BAA8B;;;UAI1E,CAAA"}
@@ -1,8 +1,8 @@
1
- import { o as e, r as t, t as n } from "../extensions-BQYiSBug.js";
1
+ import { o as e, r as t, t as n } from "../extensions-C_XbWugj.js";
2
2
  import { CUSTOM_RECORD_ID_ATTRIBUTE as r, CUSTOM_RECORD_ID_ATTRIBUTE_NAME as i, XMLNS_XSI_NAMESPACE as a } from "@dialecte/core/helpers";
3
3
  import { XMLNS_DEV_NAMESPACE as o, createTestProject as s, createTestRecordFactory as c, createTestRunner as l, createXmlAssertions as u } from "@dialecte/core/test";
4
4
  //#region src/v2019C1/test/hydrated-test.ts
5
- var d = "xmlns=\"http://www.iec.ch/61850/2003/SCL\"", f = "xmlns:eIEC61850-6-100=\"http://www.iec.ch/61850/2019/SCL/6-100\"", p = `${d} ${f} ${o} ${a}`, m = { base: n }, h = l({
5
+ var d = `xmlns="${t.namespaces.default.uri}"`, f = `xmlns:${t.namespaces.v2019C1.prefix}="${t.namespaces.v2019C1.uri}"`, p = `${d} ${f} ${o} ${a}`, m = { base: n }, h = l({
6
6
  dialecteConfig: t,
7
7
  hooks: e,
8
8
  extensions: m
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialecte/scl",
3
- "version": "0.2.15",
3
+ "version": "0.2.18",
4
4
  "description": "Dialecte - SCL (Substation Configuration Language) sdk",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -46,7 +46,7 @@
46
46
  "prepare": "husky"
47
47
  },
48
48
  "dependencies": {
49
- "@dialecte/core": "0.2.18"
49
+ "@dialecte/core": "0.2.19"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@tsconfig/node24": "^24.0.4",