@effect-opcua/client 0.1.0-alpha.1 → 0.1.0-alpha.3
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/internal/client/make.d.mts +2 -2
- package/dist/internal/events/wire.d.mts +5 -5
- package/dist/internal/monitoring/requests.d.mts +2 -2
- package/dist/internal/subscription/runtime.d.mts +2 -2
- package/dist/internal/values/codec.d.mts +3 -3
- package/dist/internal/values/codec.d.mts.map +1 -1
- package/dist/internal/values/codec.mjs.map +1 -1
- package/dist/internal/values/normalize.d.mts.map +1 -1
- package/dist/internal/variable/operations.d.mts +2 -2
- package/dist/internal/variable/operations.d.mts.map +1 -1
- package/package.json +10 -10
|
@@ -4,13 +4,13 @@ import { ClientLayerOptions } from "../../OpcuaClient.mjs";
|
|
|
4
4
|
import * as node_opcua0 from "node-opcua";
|
|
5
5
|
import { OPCUAClient } from "node-opcua";
|
|
6
6
|
import { Effect, Stream } from "effect";
|
|
7
|
-
import * as
|
|
7
|
+
import * as effect_Scope4 from "effect/Scope";
|
|
8
8
|
|
|
9
9
|
//#region src/internal/client/make.d.ts
|
|
10
10
|
declare const makeClientService: (options: ClientLayerOptions) => Effect.Effect<{
|
|
11
11
|
events: Stream.Stream<OpcuaClientEvent, never, never>;
|
|
12
12
|
unsafeRawClient: OPCUAClient<node_opcua0.OPCUAClientBaseEvents>;
|
|
13
|
-
}, OpcuaConnectError,
|
|
13
|
+
}, OpcuaConnectError, effect_Scope4.Scope>;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { makeClientService };
|
|
16
16
|
//# sourceMappingURL=make.d.mts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpcuaClientEvent, OpcuaSessionEvent, OpcuaSubscriptionEvent } from "./model.mjs";
|
|
2
2
|
import { ClientSession, ClientSubscription, OPCUAClient } from "node-opcua";
|
|
3
3
|
import { Effect, PubSub } from "effect";
|
|
4
|
-
import * as
|
|
4
|
+
import * as effect_Scope0 from "effect/Scope";
|
|
5
5
|
|
|
6
6
|
//#region src/internal/events/wire.d.ts
|
|
7
7
|
type Emitter = {
|
|
@@ -18,20 +18,20 @@ declare const EventBus: {
|
|
|
18
18
|
wireEmitter: <A>(emitter: Emitter, mappings: ReadonlyArray<EventMapping<A>>, pubsub: PubSub.PubSub<A>) => Effect.Effect<{
|
|
19
19
|
event: string;
|
|
20
20
|
listener: (...args: ReadonlyArray<unknown>) => void;
|
|
21
|
-
}[], never,
|
|
21
|
+
}[], never, effect_Scope0.Scope>;
|
|
22
22
|
};
|
|
23
23
|
declare const wireClientEvents: (client: OPCUAClient, events: PubSub.PubSub<OpcuaClientEvent>) => Effect.Effect<{
|
|
24
24
|
event: string;
|
|
25
25
|
listener: (...args: ReadonlyArray<unknown>) => void;
|
|
26
|
-
}[], never,
|
|
26
|
+
}[], never, effect_Scope0.Scope>;
|
|
27
27
|
declare const wireSessionEvents: (session: ClientSession, events: PubSub.PubSub<OpcuaSessionEvent>) => Effect.Effect<{
|
|
28
28
|
event: string;
|
|
29
29
|
listener: (...args: ReadonlyArray<unknown>) => void;
|
|
30
|
-
}[], never,
|
|
30
|
+
}[], never, effect_Scope0.Scope>;
|
|
31
31
|
declare const wireSubscriptionEvents: (subscription: ClientSubscription, events: PubSub.PubSub<OpcuaSubscriptionEvent>) => Effect.Effect<{
|
|
32
32
|
event: string;
|
|
33
33
|
listener: (...args: ReadonlyArray<unknown>) => void;
|
|
34
|
-
}[], never,
|
|
34
|
+
}[], never, effect_Scope0.Scope>;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { EventBus, wireClientEvents, wireSessionEvents, wireSubscriptionEvents };
|
|
37
37
|
//# sourceMappingURL=wire.d.mts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RevisedMonitorItemOptions } from "../../OpcuaSubscription.mjs";
|
|
2
2
|
import { EffectiveMonitorItem } from "./options.mjs";
|
|
3
|
-
import * as
|
|
3
|
+
import * as node_opcua0 from "node-opcua";
|
|
4
4
|
import { ClientMonitoredItemBase, ClientMonitoredItemGroup, ClientSubscription } from "node-opcua";
|
|
5
5
|
import { Effect } from "effect";
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ declare const monitorItems: <Items>(subscription: ClientSubscription, chunk: Rea
|
|
|
9
9
|
group: ClientMonitoredItemGroup;
|
|
10
10
|
disposeAbort: () => void;
|
|
11
11
|
}, unknown, never>;
|
|
12
|
-
declare const monitoredItemStatusCode: (monitoredItem: ClientMonitoredItemBase | undefined) =>
|
|
12
|
+
declare const monitoredItemStatusCode: (monitoredItem: ClientMonitoredItemBase | undefined) => node_opcua0.StatusCode;
|
|
13
13
|
declare const revisedMonitorItemOptions: (monitoredItem: ClientMonitoredItemBase | undefined) => RevisedMonitorItemOptions | undefined;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { monitorItems, monitoredItemStatusCode, revisedMonitorItemOptions };
|
|
@@ -6,10 +6,10 @@ import { SubscriptionOptions } from "../../OpcuaSession.mjs";
|
|
|
6
6
|
import { validateSubscriptionOptions } from "./options.mjs";
|
|
7
7
|
import { ClientSession } from "node-opcua";
|
|
8
8
|
import { Effect } from "effect";
|
|
9
|
-
import * as
|
|
9
|
+
import * as effect_Scope5 from "effect/Scope";
|
|
10
10
|
|
|
11
11
|
//#region src/internal/subscription/runtime.d.ts
|
|
12
|
-
declare const makeSubscriptionRuntime: (unsafeRawSession: ClientSession, options: SubscriptionOptions, structureRuntime: OpcuaStructureRuntime, validateVariable: ValidateVariable) => Effect.Effect<OpcuaSubscription, OpcuaConfigurationError | OpcuaSubscriptionCreateError,
|
|
12
|
+
declare const makeSubscriptionRuntime: (unsafeRawSession: ClientSession, options: SubscriptionOptions, structureRuntime: OpcuaStructureRuntime, validateVariable: ValidateVariable) => Effect.Effect<OpcuaSubscription, OpcuaConfigurationError | OpcuaSubscriptionCreateError, effect_Scope5.Scope>;
|
|
13
13
|
//#endregion
|
|
14
14
|
export { makeSubscriptionRuntime, validateSubscriptionOptions };
|
|
15
15
|
//# sourceMappingURL=runtime.d.mts.map
|
|
@@ -4,7 +4,7 @@ import { StructureArrayDef, StructureDef } from "../structures/model.mjs";
|
|
|
4
4
|
import { OpcuaStructureRuntime } from "../structures/runtime.mjs";
|
|
5
5
|
import { OpcuaConfigurationError, OpcuaEncodeError, OpcuaServiceError } from "../../OpcuaError.mjs";
|
|
6
6
|
import { OpcuaDynamicValueMetadata } from "./normalize.mjs";
|
|
7
|
-
import * as
|
|
7
|
+
import * as node_opcua2 from "node-opcua";
|
|
8
8
|
import { DataType, DataValue, Variant } from "node-opcua";
|
|
9
9
|
import { Effect, Schema } from "effect";
|
|
10
10
|
|
|
@@ -25,7 +25,7 @@ type CodecMetadata = {
|
|
|
25
25
|
readonly valueRank: number;
|
|
26
26
|
readonly arrayDimensions?: ReadonlyArray<number>;
|
|
27
27
|
readonly raw: {
|
|
28
|
-
readonly declaredDataType:
|
|
28
|
+
readonly declaredDataType: node_opcua2.NodeId;
|
|
29
29
|
readonly builtInDataType: DataType;
|
|
30
30
|
};
|
|
31
31
|
};
|
|
@@ -38,7 +38,7 @@ declare const structure: <S extends AnySchema>(options: {
|
|
|
38
38
|
}) => StructureDef<SchemaType<S>>;
|
|
39
39
|
declare const structureArray: <A$1>(structure: StructureDef<A$1>) => StructureArrayDef<A$1>;
|
|
40
40
|
declare const Codec: {
|
|
41
|
-
encode: <A$1>(codec: OpcuaCodec<A$1>, value: A$1, metadata: CodecMetadata, structureRuntime: OpcuaStructureRuntime) => Effect.Effect<Variant,
|
|
41
|
+
encode: <A$1>(codec: OpcuaCodec<A$1>, value: A$1, metadata: CodecMetadata, structureRuntime: OpcuaStructureRuntime) => Effect.Effect<Variant, OpcuaServiceError | OpcuaEncodeError, never>;
|
|
42
42
|
decode: <A$1>(codec: OpcuaCodec<A$1>, variant: Variant | undefined, dataValue: DataValue | undefined, structureRuntime: OpcuaStructureRuntime) => Effect.Effect<A$1, unknown, never>;
|
|
43
43
|
validateMetadata: (codec: OpcuaCodec<unknown>, metadata: CodecMetadata) => Effect.Effect<void, OpcuaConfigurationError, never>;
|
|
44
44
|
requiresStructureRuntime: (codec: OpcuaCodec<unknown>) => codec is StructureDef<unknown> | StructureArrayDef<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.mts","names":[],"sources":["../../../src/internal/values/codec.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;KA8BY,SAAA,GAAY,MAAA,CAAO;KACnB,qBAAqB,aAAa,MAAA,CAAO,MAAA,CAAO,KAAK;KAErD;;EAHA,SAAA,EAAA,CAAS,EAIyB,GAJzB;AACrB,CAAA,GAAY;EAAqB,SAAA,IAAA,EAAA,QAAA;EAAgC,SAAA,MAAA,EAIjB,SAJiB;EAAnB,SAAO,EAAO,CAAA,EAIa,GAJb;CAAI,GAK5D,YAL4D,CAK/C,GAL+C,CAAA,GAAA,CAAA,OAAA,SAM3C,GAN2C,GAOxD,iBAPwD,CAAA,OAAA,CAAA,GAQxD,GARwD,SAQ9C,aAR8C,CAAA,KAAA,KAAA,CAAA,GAStD,iBATsD,CASpC,IAToC,CAAA,GAAA,KAAA,CAAA;AAEpD,KAUA,SAVU,CAAA,CAAA,CAAA,GAWpB,CAXoB,SAWV,iBAXU,CAAA,KAAA,EAAA,CAAA,GAYhB,aAZgB,CAYF,CAZE,CAAA,GAahB,CAbgB,SAaN,UAbM,CAAA,KAAA,EAAA,CAAA,GAAA,CAAA,GAAA,KAAA;AACwB,KAgBlC,aAAA,GAhBkC;EACE,SAAA,MAAA,EAgB7B,YAhB6B;EAAyB,SAAA,SAAA,EAAA,MAAA;EACxD,SAAA,eAAA,CAAA,EAiBY,aAjBZ,CAAA,MAAA,CAAA;EAAb,SAAA,GAAA,EAAA;IACiB,SAAA,gBAAA,EAgBqB,WAAA,CAEU,MAlB/B;IACb,SAAA,eAAA,EAkBsB,QAlBtB;EACA,CAAA;CAAU;AACU,cAoBf,OApBe,EAAA,CAAA,MAoBA,iBApBA,CAAA,GAAA,GAoBsB,UApBtB,CAoBiC,GApBjC,CAAA;AAAlB,cAwBG,MAxBH,EAAA,CAAA,UAwBuB,SAxBvB,CAAA,CAAA,MAAA,EAyBA,CAzBA,EAAA,GA0BP,UA1BO,CA0BI,UA1BJ,CA0Be,CA1Bf,CAAA,CAAA;AAAiB,cA+Bd,SA/Bc,EAAA,CAAA,UA+BS,SA/BT,CAAA,CAAA,OAAA,EAAA;EAGf,SAAA,IAAS,EAAA,MAAA;EACnB,SAAA,UAAA,EA6BqB,YA7BrB;EAAU,SAAA,MAAA,EA8BO,CA9BP;CACQ,EAAA,GA8BhB,YA9BgB,CA8BH,UA9BG,CA8BQ,CA9BR,CAAA,CAAA;AAAd,cAqCO,cArCP,EAAA,CAAA,GAAA,CAAA,CAAA,SAAA,EAsCO,YAtCP,CAsCoB,GAtCpB,CAAA,EAAA,GAuCH,iBAvCG,CAuCe,GAvCf,CAAA;AACA,cA2CO,KA3CP,EAAA;EAAU,MAAA,EAAA,CAAA,GAAA,CAAA,CAAA,KAAA,EA6CL,UA7CK,CA6CM,GA7CN,CAAA,EAAA,KAAA,EA8CL,GA9CK,EAAA,QAAA,EA+CF,aA/CE,EAAA,gBAAA,EAgDM,qBAhDN,EAAA,GAgD2B,MAAA,CAAA,MAhD3B,CAgD2B,OAhD3B,EAgD2B,
|
|
1
|
+
{"version":3,"file":"codec.d.mts","names":[],"sources":["../../../src/internal/values/codec.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;KA8BY,SAAA,GAAY,MAAA,CAAO;KACnB,qBAAqB,aAAa,MAAA,CAAO,MAAA,CAAO,KAAK;KAErD;;EAHA,SAAA,EAAA,CAAS,EAIyB,GAJzB;AACrB,CAAA,GAAY;EAAqB,SAAA,IAAA,EAAA,QAAA;EAAgC,SAAA,MAAA,EAIjB,SAJiB;EAAnB,SAAO,EAAO,CAAA,EAIa,GAJb;CAAI,GAK5D,YAL4D,CAK/C,GAL+C,CAAA,GAAA,CAAA,OAAA,SAM3C,GAN2C,GAOxD,iBAPwD,CAAA,OAAA,CAAA,GAQxD,GARwD,SAQ9C,aAR8C,CAAA,KAAA,KAAA,CAAA,GAStD,iBATsD,CASpC,IAToC,CAAA,GAAA,KAAA,CAAA;AAEpD,KAUA,SAVU,CAAA,CAAA,CAAA,GAWpB,CAXoB,SAWV,iBAXU,CAAA,KAAA,EAAA,CAAA,GAYhB,aAZgB,CAYF,CAZE,CAAA,GAahB,CAbgB,SAaN,UAbM,CAAA,KAAA,EAAA,CAAA,GAAA,CAAA,GAAA,KAAA;AACwB,KAgBlC,aAAA,GAhBkC;EACE,SAAA,MAAA,EAgB7B,YAhB6B;EAAyB,SAAA,SAAA,EAAA,MAAA;EACxD,SAAA,eAAA,CAAA,EAiBY,aAjBZ,CAAA,MAAA,CAAA;EAAb,SAAA,GAAA,EAAA;IACiB,SAAA,gBAAA,EAgBqB,WAAA,CAEU,MAlB/B;IACb,SAAA,eAAA,EAkBsB,QAlBtB;EACA,CAAA;CAAU;AACU,cAoBf,OApBe,EAAA,CAAA,MAoBA,iBApBA,CAAA,GAAA,GAoBsB,UApBtB,CAoBiC,GApBjC,CAAA;AAAlB,cAwBG,MAxBH,EAAA,CAAA,UAwBuB,SAxBvB,CAAA,CAAA,MAAA,EAyBA,CAzBA,EAAA,GA0BP,UA1BO,CA0BI,UA1BJ,CA0Be,CA1Bf,CAAA,CAAA;AAAiB,cA+Bd,SA/Bc,EAAA,CAAA,UA+BS,SA/BT,CAAA,CAAA,OAAA,EAAA;EAGf,SAAA,IAAS,EAAA,MAAA;EACnB,SAAA,UAAA,EA6BqB,YA7BrB;EAAU,SAAA,MAAA,EA8BO,CA9BP;CACQ,EAAA,GA8BhB,YA9BgB,CA8BH,UA9BG,CA8BQ,CA9BR,CAAA,CAAA;AAAd,cAqCO,cArCP,EAAA,CAAA,GAAA,CAAA,CAAA,SAAA,EAsCO,YAtCP,CAsCoB,GAtCpB,CAAA,EAAA,GAuCH,iBAvCG,CAuCe,GAvCf,CAAA;AACA,cA2CO,KA3CP,EAAA;EAAU,MAAA,EAAA,CAAA,GAAA,CAAA,CAAA,KAAA,EA6CL,UA7CK,CA6CM,GA7CN,CAAA,EAAA,KAAA,EA8CL,GA9CK,EAAA,QAAA,EA+CF,aA/CE,EAAA,gBAAA,EAgDM,qBAhDN,EAAA,GAgD2B,MAAA,CAAA,MAhD3B,CAgD2B,OAhD3B,EAgD2B,iBAAA,GAAA,gBAhD3B,EAAA,KAAA,CAAA;EAAU,MAAA,EAAA,CAAA,GAAA,CAAA,CAAA,KAAA,EAmDf,UAnDe,CAmDJ,GAnDI,CAAA,EAAA,OAAA,EAoDb,OApDa,GAAA,SAAA,EAAA,SAAA,EAqDX,SArDW,GAAA,SAAA,EAAA,gBAAA,EAsDJ,qBAtDI,EAAA,GAsDiB,MAAA,CAAA,MAtDjB,CAsDiB,GAtDjB,EAAA,OAAA,EAAA,KAAA,CAAA;EAId,gBAAa,EAAA,CAAA,KAAA,EAoDG,UApDH,CAAA,OAAA,CAAA,EAAA,QAAA,EAoDkC,aApDlC,EAAA,GAoD+C,MAAA,CAAA,MApD/C,CAAA,IAAA,EAoD+C,uBApD/C,EAAA,KAAA,CAAA;EACN,wBAAA,EAAA,CAAA,KAAA,EAqDiB,UArDjB,CAAA,OAAA,CAAA,EAAA,GAAA,KAAA,IAqDoC,YArDpC,CAAA,OAAA,CAAA,GAqDoC,iBArDpC,CAAA,OAAA,CAAA;CAEU;AAAa,cAuD7B,gBArDuC,EAAA,CAAA,UAqDT,SArDS,CAAA,CAAA,MAAA,EAsD1C,CAtD0C,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,OAAA;AACtB,cA4DjB,gBA5DiB,EAAA,CAAA,UA4Da,SA5Db,CAAA,CAAA,MAAA,EA6DpB,CA7DoB,EAAA,KAAA,EAAA,OAAA,EAAA,GA+D3B,UA/D2B,CA+DhB,CA/DgB,CAAA;AAAQ,cAoEzB,kBApEyB,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAsE1B,yBAtE0B,EAAA,GAAA,OAAA;AAIzB,cAqEA,kBAnEX,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAqEU,OArEV,EAAA,GAsEC,iBAtED;AAF0B,cA0Ef,uBA1Ee,EAAA,CAAA,QAAA,EA2EhB,yBA3EgB,EAAA,KAAA,EAAA,OAAA,EAAA,GA4EZ,OA5EY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.mjs","names":["structure","schema","dimensions: Array<number>"],"sources":["../../../src/internal/values/codec.ts"],"sourcesContent":["import {\n DataType,\n Variant,\n VariantArrayType,\n type DataValue,\n} from \"node-opcua\";\nimport { Effect, Schema } from \"effect\";\n\nimport {\n denormalizeDynamicValue,\n isArrayRank,\n normalizeDynamicValue,\n plainVariantValue,\n type OpcuaDynamicValue,\n type OpcuaDynamicValueMetadata,\n} from \"./normalize.js\";\nimport { encodeError, type OpcuaConfigurationError } from \"../../OpcuaError.js\";\nimport {\n validateStructureMetadata,\n type OpcuaStructureRuntime,\n} from \"../structures/runtime.js\";\nimport {\n isStructureArrayDef,\n type AnyStructureDef,\n type StructureArrayDef,\n type StructureDef,\n} from \"../structures/model.js\";\nimport type { NodeIdString } from \"../common/node-id.js\";\n\n// Sync encode/decode helpers only support schemas without contextual services.\nexport type AnySchema = Schema.Codec<unknown, unknown, never, never>;\nexport type SchemaType<S extends AnySchema> = Schema.Schema.Type<S>;\n\nexport type OpcuaCodec<A> =\n | { readonly _tag: \"Dynamic\"; readonly _A?: A }\n | { readonly _tag: \"Schema\"; readonly schema: AnySchema; readonly _A?: A }\n | StructureDef<A>\n | (unknown extends A\n ? StructureArrayDef<unknown>\n : A extends ReadonlyArray<infer Item>\n ? StructureArrayDef<Item>\n : never);\n\nexport type CodecType<C> =\n C extends StructureArrayDef<infer A>\n ? ReadonlyArray<A>\n : C extends OpcuaCodec<infer A>\n ? A\n : never;\n\nexport type CodecMetadata = {\n readonly nodeId: NodeIdString;\n readonly valueRank: number;\n readonly arrayDimensions?: ReadonlyArray<number>;\n readonly raw: {\n readonly declaredDataType: import(\"node-opcua\").NodeId;\n readonly builtInDataType: DataType;\n };\n};\n\nexport const dynamic = <A = OpcuaDynamicValue>(): OpcuaCodec<A> => ({\n _tag: \"Dynamic\",\n});\n\nexport const schema = <S extends AnySchema>(\n schema: S,\n): OpcuaCodec<SchemaType<S>> => ({\n _tag: \"Schema\",\n schema,\n});\n\nexport const structure = <S extends AnySchema>(options: {\n readonly name: string;\n readonly dataTypeId: NodeIdString;\n readonly schema: S;\n}): StructureDef<SchemaType<S>> => ({\n _tag: \"Structure\",\n name: options.name,\n dataTypeId: options.dataTypeId,\n schema: options.schema as Schema.Codec<unknown, SchemaType<S>, never, never>,\n});\n\nexport const structureArray = <A>(\n structure: StructureDef<A>,\n): StructureArrayDef<A> => ({\n _tag: \"StructureArray\",\n item: structure,\n});\n\nexport const Codec = {\n encode: <A>(\n codec: OpcuaCodec<A>,\n value: A,\n metadata: CodecMetadata,\n structureRuntime: OpcuaStructureRuntime,\n ) => encodeCodec(codec, value, metadata, structureRuntime),\n decode: <A>(\n codec: OpcuaCodec<A>,\n variant: Variant | undefined,\n dataValue: DataValue | undefined,\n structureRuntime: OpcuaStructureRuntime,\n ) => decodeCodec(codec, variant, dataValue, structureRuntime),\n validateMetadata: (codec: OpcuaCodec<unknown>, metadata: CodecMetadata) =>\n validateCodecMetadata(codec, metadata),\n requiresStructureRuntime: (codec: OpcuaCodec<unknown>) =>\n codec._tag === \"Structure\" || codec._tag === \"StructureArray\",\n};\n\nexport const encodeWithSchema = <S extends AnySchema>(\n schema: S,\n value: unknown,\n): unknown =>\n Schema.encodeUnknownSync(schema as unknown as Schema.Encoder<unknown>)(value);\n\nexport const decodeWithSchema = <S extends AnySchema>(\n schema: S,\n value: unknown,\n): SchemaType<S> =>\n Schema.decodeUnknownSync(schema as unknown as Schema.Decoder<unknown>)(\n value,\n ) as SchemaType<S>;\n\nexport const encodeDynamicValue = (\n value: unknown,\n metadata: OpcuaDynamicValueMetadata,\n): unknown => denormalizeDynamicValue(value, metadata);\n\nexport const decodeDynamicValue = (\n value: unknown,\n variant?: Variant,\n): OpcuaDynamicValue => normalizeDynamicValue(value, variant);\n\nexport const makeVariantFromMetadata = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n) =>\n new Variant({\n dataType: metadata.raw.dataType,\n arrayType: variantArrayType(metadata, value),\n dimensions:\n variantArrayType(metadata, value) === VariantArrayType.Matrix\n ? matrixDimensions(metadata, value)\n : undefined,\n value: flattenMatrixValue(metadata, value) as Variant[\"value\"],\n });\n\nconst variantArrayType = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n) =>\n metadata.valueRank > 1\n ? VariantArrayType.Matrix\n : Array.isArray(value) || isArrayRank(metadata.valueRank)\n ? VariantArrayType.Array\n : VariantArrayType.Scalar;\n\nconst flattenMatrixValue = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n): unknown => {\n if (metadata.valueRank <= 1 || !Array.isArray(value)) return value;\n return value.flat(metadata.valueRank - 1);\n};\n\nconst matrixDimensions = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n): Array<number> | undefined => {\n if (metadata.arrayDimensions && metadata.arrayDimensions.length > 0) {\n return [...metadata.arrayDimensions];\n }\n return inferArrayDimensions(value, metadata.valueRank);\n};\n\nconst inferArrayDimensions = (\n value: unknown,\n rank: number,\n): Array<number> | undefined => {\n const dimensions: Array<number> = [];\n let current = value;\n for (let depth = 0; depth < rank; depth++) {\n if (!Array.isArray(current)) return undefined;\n dimensions.push(current.length);\n current = current[0];\n }\n return dimensions;\n};\n\nconst encodeCodec = <A>(\n codec: OpcuaCodec<A>,\n value: A,\n metadata: CodecMetadata,\n structureRuntime: OpcuaStructureRuntime,\n) => {\n switch (codec._tag) {\n case \"Dynamic\":\n return Effect.suspend(() => {\n try {\n return Effect.succeed(\n makeVariantFromMetadata(\n codecMetadata(metadata),\n encodeDynamicValue(value, codecMetadata(metadata)),\n ),\n );\n } catch (error) {\n return Effect.fail(\n encodeError({ nodeId: metadata.nodeId, value, error }),\n );\n }\n });\n case \"Schema\":\n return Effect.try({\n try: () =>\n makeVariantFromMetadata(\n codecMetadata(metadata),\n encodeWithSchema(codec.schema, value),\n ),\n catch: (error) =>\n encodeError({ nodeId: metadata.nodeId, value, error }),\n });\n case \"Structure\":\n return structureRuntime.variantFromStructure(\n metadata.nodeId,\n codec,\n value,\n );\n case \"StructureArray\":\n return structureRuntime.variantFromStructure(\n metadata.nodeId,\n codec,\n value,\n );\n }\n};\n\nconst decodeCodec = <A>(\n codec: OpcuaCodec<A>,\n variant: Variant | undefined,\n _dataValue: DataValue | undefined,\n structureRuntime: OpcuaStructureRuntime,\n): Effect.Effect<A, unknown> =>\n Effect.try({\n try: () => {\n switch (codec._tag) {\n case \"Dynamic\":\n return decodeDynamicValue(variant?.value, variant) as A;\n case \"Schema\":\n return decodeWithSchema(\n codec.schema,\n plainVariantValue(variant?.value),\n ) as A;\n case \"Structure\":\n return decodeStructureValue(codec, variant, structureRuntime) as A;\n case \"StructureArray\":\n return decodeStructureValue(codec, variant, structureRuntime) as A;\n }\n },\n catch: (error) => error,\n });\n\nconst decodeStructureValue = (\n structure: AnyStructureDef,\n variant: Variant | undefined,\n structureRuntime: OpcuaStructureRuntime,\n) => {\n if (variant?.dataType !== DataType.ExtensionObject) {\n throw new TypeError(\"Expected ExtensionObject Variant\");\n }\n if (isStructureArrayDef(structure)) {\n if (variant.arrayType !== VariantArrayType.Array) {\n throw new TypeError(\"Expected ExtensionObject array Variant\");\n }\n return structureRuntime.decodeStructureArray(structure, variant.value);\n }\n if (variant.arrayType !== VariantArrayType.Scalar) {\n throw new TypeError(\"Expected scalar ExtensionObject Variant\");\n }\n return structureRuntime.decodeStructure(structure, variant.value);\n};\n\nconst validateCodecMetadata = (\n codec: OpcuaCodec<unknown>,\n metadata: CodecMetadata,\n): Effect.Effect<void, OpcuaConfigurationError> => {\n if (codec._tag !== \"Structure\" && codec._tag !== \"StructureArray\") {\n return Effect.void;\n }\n const error = validateStructureMetadata(\n \"codec.structure\",\n metadata.nodeId,\n metadata,\n codec,\n );\n return error ? Effect.fail(error) : Effect.void;\n};\n\nconst codecMetadata = (metadata: CodecMetadata): OpcuaDynamicValueMetadata => ({\n raw: { dataType: metadata.raw.builtInDataType },\n valueRank: metadata.valueRank,\n arrayDimensions: metadata.arrayDimensions,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codec.mjs","names":["structure","schema","dimensions: Array<number>"],"sources":["../../../src/internal/values/codec.ts"],"sourcesContent":["import {\n DataType,\n Variant,\n VariantArrayType,\n type DataValue,\n} from \"node-opcua\";\nimport { Effect, Schema } from \"effect\";\n\nimport {\n denormalizeDynamicValue,\n isArrayRank,\n normalizeDynamicValue,\n plainVariantValue,\n type OpcuaDynamicValue,\n type OpcuaDynamicValueMetadata,\n} from \"./normalize.js\";\nimport { encodeError, type OpcuaConfigurationError } from \"../../OpcuaError.js\";\nimport {\n validateStructureMetadata,\n type OpcuaStructureRuntime,\n} from \"../structures/runtime.js\";\nimport {\n isStructureArrayDef,\n type AnyStructureDef,\n type StructureArrayDef,\n type StructureDef,\n} from \"../structures/model.js\";\nimport type { NodeIdString } from \"../common/node-id.js\";\n\n// Sync encode/decode helpers only support schemas without contextual services.\nexport type AnySchema = Schema.Codec<unknown, unknown, never, never>;\nexport type SchemaType<S extends AnySchema> = Schema.Schema.Type<S>;\n\nexport type OpcuaCodec<A> =\n | { readonly _tag: \"Dynamic\"; readonly _A?: A }\n | { readonly _tag: \"Schema\"; readonly schema: AnySchema; readonly _A?: A }\n | StructureDef<A>\n | (unknown extends A\n ? StructureArrayDef<unknown>\n : A extends ReadonlyArray<infer Item>\n ? StructureArrayDef<Item>\n : never);\n\nexport type CodecType<C> =\n C extends StructureArrayDef<infer A>\n ? ReadonlyArray<A>\n : C extends OpcuaCodec<infer A>\n ? A\n : never;\n\nexport type CodecMetadata = {\n readonly nodeId: NodeIdString;\n readonly valueRank: number;\n readonly arrayDimensions?: ReadonlyArray<number>;\n readonly raw: {\n readonly declaredDataType: import(\"node-opcua\").NodeId;\n readonly builtInDataType: DataType;\n };\n};\n\nexport const dynamic = <A = OpcuaDynamicValue>(): OpcuaCodec<A> => ({\n _tag: \"Dynamic\",\n});\n\nexport const schema = <S extends AnySchema>(\n schema: S,\n): OpcuaCodec<SchemaType<S>> => ({\n _tag: \"Schema\",\n schema,\n});\n\nexport const structure = <S extends AnySchema>(options: {\n readonly name: string;\n readonly dataTypeId: NodeIdString;\n readonly schema: S;\n}): StructureDef<SchemaType<S>> => ({\n _tag: \"Structure\",\n name: options.name,\n dataTypeId: options.dataTypeId,\n schema: options.schema as Schema.Codec<unknown, SchemaType<S>, never, never>,\n});\n\nexport const structureArray = <A>(\n structure: StructureDef<A>,\n): StructureArrayDef<A> => ({\n _tag: \"StructureArray\",\n item: structure,\n});\n\nexport const Codec = {\n encode: <A>(\n codec: OpcuaCodec<A>,\n value: A,\n metadata: CodecMetadata,\n structureRuntime: OpcuaStructureRuntime,\n ) => encodeCodec(codec, value, metadata, structureRuntime),\n decode: <A>(\n codec: OpcuaCodec<A>,\n variant: Variant | undefined,\n dataValue: DataValue | undefined,\n structureRuntime: OpcuaStructureRuntime,\n ) => decodeCodec(codec, variant, dataValue, structureRuntime),\n validateMetadata: (codec: OpcuaCodec<unknown>, metadata: CodecMetadata) =>\n validateCodecMetadata(codec, metadata),\n requiresStructureRuntime: (codec: OpcuaCodec<unknown>) =>\n codec._tag === \"Structure\" || codec._tag === \"StructureArray\",\n};\n\nexport const encodeWithSchema = <S extends AnySchema>(\n schema: S,\n value: unknown,\n): unknown =>\n Schema.encodeUnknownSync(\n schema as unknown as Schema.ConstraintEncoder<unknown>,\n )(value);\n\nexport const decodeWithSchema = <S extends AnySchema>(\n schema: S,\n value: unknown,\n): SchemaType<S> =>\n Schema.decodeUnknownSync(\n schema as unknown as Schema.ConstraintDecoder<unknown>,\n )(value) as SchemaType<S>;\n\nexport const encodeDynamicValue = (\n value: unknown,\n metadata: OpcuaDynamicValueMetadata,\n): unknown => denormalizeDynamicValue(value, metadata);\n\nexport const decodeDynamicValue = (\n value: unknown,\n variant?: Variant,\n): OpcuaDynamicValue => normalizeDynamicValue(value, variant);\n\nexport const makeVariantFromMetadata = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n) =>\n new Variant({\n dataType: metadata.raw.dataType,\n arrayType: variantArrayType(metadata, value),\n dimensions:\n variantArrayType(metadata, value) === VariantArrayType.Matrix\n ? matrixDimensions(metadata, value)\n : undefined,\n value: flattenMatrixValue(metadata, value) as Variant[\"value\"],\n });\n\nconst variantArrayType = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n) =>\n metadata.valueRank > 1\n ? VariantArrayType.Matrix\n : Array.isArray(value) || isArrayRank(metadata.valueRank)\n ? VariantArrayType.Array\n : VariantArrayType.Scalar;\n\nconst flattenMatrixValue = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n): unknown => {\n if (metadata.valueRank <= 1 || !Array.isArray(value)) return value;\n return value.flat(metadata.valueRank - 1);\n};\n\nconst matrixDimensions = (\n metadata: OpcuaDynamicValueMetadata,\n value: unknown,\n): Array<number> | undefined => {\n if (metadata.arrayDimensions && metadata.arrayDimensions.length > 0) {\n return [...metadata.arrayDimensions];\n }\n return inferArrayDimensions(value, metadata.valueRank);\n};\n\nconst inferArrayDimensions = (\n value: unknown,\n rank: number,\n): Array<number> | undefined => {\n const dimensions: Array<number> = [];\n let current = value;\n for (let depth = 0; depth < rank; depth++) {\n if (!Array.isArray(current)) return undefined;\n dimensions.push(current.length);\n current = current[0];\n }\n return dimensions;\n};\n\nconst encodeCodec = <A>(\n codec: OpcuaCodec<A>,\n value: A,\n metadata: CodecMetadata,\n structureRuntime: OpcuaStructureRuntime,\n) => {\n switch (codec._tag) {\n case \"Dynamic\":\n return Effect.suspend(() => {\n try {\n return Effect.succeed(\n makeVariantFromMetadata(\n codecMetadata(metadata),\n encodeDynamicValue(value, codecMetadata(metadata)),\n ),\n );\n } catch (error) {\n return Effect.fail(\n encodeError({ nodeId: metadata.nodeId, value, error }),\n );\n }\n });\n case \"Schema\":\n return Effect.try({\n try: () =>\n makeVariantFromMetadata(\n codecMetadata(metadata),\n encodeWithSchema(codec.schema, value),\n ),\n catch: (error) =>\n encodeError({ nodeId: metadata.nodeId, value, error }),\n });\n case \"Structure\":\n return structureRuntime.variantFromStructure(\n metadata.nodeId,\n codec,\n value,\n );\n case \"StructureArray\":\n return structureRuntime.variantFromStructure(\n metadata.nodeId,\n codec,\n value,\n );\n }\n};\n\nconst decodeCodec = <A>(\n codec: OpcuaCodec<A>,\n variant: Variant | undefined,\n _dataValue: DataValue | undefined,\n structureRuntime: OpcuaStructureRuntime,\n): Effect.Effect<A, unknown> =>\n Effect.try({\n try: () => {\n switch (codec._tag) {\n case \"Dynamic\":\n return decodeDynamicValue(variant?.value, variant) as A;\n case \"Schema\":\n return decodeWithSchema(\n codec.schema,\n plainVariantValue(variant?.value),\n ) as A;\n case \"Structure\":\n return decodeStructureValue(codec, variant, structureRuntime) as A;\n case \"StructureArray\":\n return decodeStructureValue(codec, variant, structureRuntime) as A;\n }\n },\n catch: (error) => error,\n });\n\nconst decodeStructureValue = (\n structure: AnyStructureDef,\n variant: Variant | undefined,\n structureRuntime: OpcuaStructureRuntime,\n) => {\n if (variant?.dataType !== DataType.ExtensionObject) {\n throw new TypeError(\"Expected ExtensionObject Variant\");\n }\n if (isStructureArrayDef(structure)) {\n if (variant.arrayType !== VariantArrayType.Array) {\n throw new TypeError(\"Expected ExtensionObject array Variant\");\n }\n return structureRuntime.decodeStructureArray(structure, variant.value);\n }\n if (variant.arrayType !== VariantArrayType.Scalar) {\n throw new TypeError(\"Expected scalar ExtensionObject Variant\");\n }\n return structureRuntime.decodeStructure(structure, variant.value);\n};\n\nconst validateCodecMetadata = (\n codec: OpcuaCodec<unknown>,\n metadata: CodecMetadata,\n): Effect.Effect<void, OpcuaConfigurationError> => {\n if (codec._tag !== \"Structure\" && codec._tag !== \"StructureArray\") {\n return Effect.void;\n }\n const error = validateStructureMetadata(\n \"codec.structure\",\n metadata.nodeId,\n metadata,\n codec,\n );\n return error ? Effect.fail(error) : Effect.void;\n};\n\nconst codecMetadata = (metadata: CodecMetadata): OpcuaDynamicValueMetadata => ({\n raw: { dataType: metadata.raw.builtInDataType },\n valueRank: metadata.valueRank,\n arrayDimensions: metadata.arrayDimensions,\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.mts","names":[],"sources":["../../../src/internal/values/normalize.ts"],"sourcesContent":[],"mappings":";;;;cAoCa,0BAA2B,WAAS;AAApC,cAOA,uBAPoC,EAAA,CAAA,MAAA,EAQvC,cAHR,EAAA,GAIC,uBAJD;AAEW,cAgBA,sBAfH,EAAA,CAAA,IAAA,EAAA;EAeG,SAAA,cAAA,CAAA,EAQX,MAAA;EAEW,SAAA,IAAA,CAAA,EAAA,MAAA,GAMX,IAAA;EAEW,SAAA,QAAA,EAAA,GAQX,GAAA,MAAA;AAEF,CAAA,EAAA,GAxBI,sBA+BF;AAEW,cA3BA,sBA6BD,EAAA,CAAA,IACT,EAAA;EAmGU,SAAA,IAAA,CAAA,EAAA,MAKF,GAAA,IAAA;EAmBC,SAAA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAyB;AAerC,CAAA,EAAA,GArKI,sBAqKS;AA+EA,cA/OA,mBA+OiC,
|
|
1
|
+
{"version":3,"file":"normalize.d.mts","names":[],"sources":["../../../src/internal/values/normalize.ts"],"sourcesContent":[],"mappings":";;;;cAoCa,0BAA2B,WAAS;AAApC,cAOA,uBAPoC,EAAA,CAAA,MAAA,EAQvC,cAHR,EAAA,GAIC,uBAJD;AAEW,cAgBA,sBAfH,EAAA,CAAA,IAAA,EAAA;EAeG,SAAA,cAAA,CAAA,EAQX,MAAA;EAEW,SAAA,IAAA,CAAA,EAAA,MAAA,GAMX,IAAA;EAEW,SAAA,QAAA,EAAA,GAQX,GAAA,MAAA;AAEF,CAAA,EAAA,GAxBI,sBA+BF;AAEW,cA3BA,sBA6BD,EAAA,CAAA,IACT,EAAA;EAmGU,SAAA,IAAA,CAAA,EAAA,MAKF,GAAA,IAAA;EAmBC,SAAA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAyB;AAerC,CAAA,EAAA,GArKI,sBAqKS;AA+EA,cA/OA,mBA+OiC,EAAA,CAAI,UAAA,EA9OpC,UA8OoC,EAAA,GA7O/C,eA6O+C;AAErC,cAvOA,oBAuOgC,EAAA,CAAA,OAAA,EAvOC,OAuOD,EAAA,GAvOW,gBAuOX;AAChC,cA/NA,qBA+NmD,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EA7NpD,OA6NoD,EAAA,GA5N7D,iBA4N6D;cAzHnD;KAwBD,yBAAA;;uBAEW;;;6BAGM;;cAUhB,qDAEA;cA6EA,gCAAiC;cAEjC,qBAAsB;cACtB"}
|
|
@@ -15,14 +15,14 @@ type PreparedReadVariable<Def extends ReadableVariableDef = ReadableVariableDef>
|
|
|
15
15
|
};
|
|
16
16
|
declare const readPreparedVariables: (session: ClientSession, items: ReadonlyArray<PreparedReadVariable>, structureRuntime: OpcuaStructureRuntime, options?: BatchOptions) => Effect.Effect<ReadResult<unknown, string>[], OpcuaServiceError, never>;
|
|
17
17
|
declare const sampleFromDataValue: <const Id extends string, A>(def: VariableDef<Id, A, VariableAccess>, dataValue: DataValue, structureRuntime: OpcuaStructureRuntime) => Effect.Effect<ReadResult<A, Id>, never, never>;
|
|
18
|
-
declare const writeVariable: <const Id extends string, A>(session: ClientSession, def: VariableDef<Id, A, VariableAccess>, metadata: VariableMetadata, value: A, structureRuntime: OpcuaStructureRuntime) => Effect.Effect<WriteResult<Id>,
|
|
18
|
+
declare const writeVariable: <const Id extends string, A>(session: ClientSession, def: VariableDef<Id, A, VariableAccess>, metadata: VariableMetadata, value: A, structureRuntime: OpcuaStructureRuntime) => Effect.Effect<WriteResult<Id>, OpcuaServiceError | OpcuaEncodeError, never>;
|
|
19
19
|
type PreparedWriteVariable<Def extends WritableVariableDef = WritableVariableDef> = {
|
|
20
20
|
readonly def: Def;
|
|
21
21
|
readonly metadata: VariableMetadata;
|
|
22
22
|
readonly value: ValueOfVariableDef<Def>;
|
|
23
23
|
readonly rawNodeId: NodeId;
|
|
24
24
|
};
|
|
25
|
-
declare const writePreparedVariables: (session: ClientSession, entries: ReadonlyArray<PreparedWriteVariable>, structureRuntime: OpcuaStructureRuntime, options?: BatchOptions) => Effect.Effect<WriteResult<string>[],
|
|
25
|
+
declare const writePreparedVariables: (session: ClientSession, entries: ReadonlyArray<PreparedWriteVariable>, structureRuntime: OpcuaStructureRuntime, options?: BatchOptions) => Effect.Effect<WriteResult<string>[], OpcuaServiceError | OpcuaEncodeError, never>;
|
|
26
26
|
declare const writeResult: <Id extends string>(nodeId: Id, statusCode: StatusCode) => WriteResult<Id>;
|
|
27
27
|
declare const accessDeniedError: (nodeId: NodeIdString, requestedCapability: VariableCapability, accessLevel: number, userAccessLevel?: number) => OpcuaAccessDeniedError | undefined;
|
|
28
28
|
declare const variableAccessCapabilities: (access: VariableAccess) => ReadonlyArray<VariableCapability>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.mts","names":[],"sources":["../../../src/internal/variable/operations.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cA2Ca,yBAA0B,uBAAuB,iBAAY,MAAA,CAAA,OAAA,WAAA;cAa7D,oDACF,oBAEL,YAAY,IAAI,2BAChB,YAAY,IAAI,GAAG,mCACL,0BAAqB,MAAA,CAAA,OAAA,WAAA,GAAA,KAAA;AAlB5B,KAiCD,oBAtBR,CAAA,YAuBU,mBAvBV,GAuBgC,mBAvBhC,CAAA,GAAA;EAXmC,SAAA,GAAA,EAoCvB,GApCuB;EAAuB,SAAA,SAAA,EAqCxC,MArCwC;CAAY;AAAA,cAwC7D,qBAxC6D,EAAA,CAAA,OAAA,EAyC/D,aAzC+D,EAAA,KAAA,EA0CjE,aA1CiE,CA0CnD,oBA1CmD,CAAA,EAAA,gBAAA,EA2CtD,qBA3CsD,EAAA,OAAA,CAAA,EA4C9D,YA5C8D,EAAA,GA4ClD,MAAA,CAAA,MA5CkD,CA4ClD,UA5CkD,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EA4ClD,iBA5CkD,EAAA,KAAA,CAAA;AAAA,cAuF7D,mBAvF6D,EAAA,CAAA,iBAAA,MAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EAwFnE,WAxFmE,CAwFvD,EAxFuD,EAwFnD,CAxFmD,EAwFhD,cAxFgD,CAAA,EAAA,SAAA,EAyF7D,SAzF6D,EAAA,gBAAA,EA0FtD,qBA1FsD,EAAA,GA0FjC,MAAA,CAAA,MA1FiC,CA0FjC,UA1FiC,CA0FjC,CA1FiC,EA0FjC,EA1FiC,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA;AAAA,cAoH7D,aApH6D,EAAA,CAAA,iBAAA,MAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAqH/D,aArH+D,EAAA,GAAA,EAsHnE,WAtHmE,CAsHvD,EAtHuD,EAsHnD,CAtHmD,EAsHhD,cAtHgD,CAAA,EAAA,QAAA,EAuH9D,gBAvH8D,EAAA,KAAA,EAwHjE,CAxHiE,EAAA,gBAAA,EAyHtD,qBAzHsD,EAAA,GAyHjC,MAAA,CAAA,MAzHiC,CAyHjC,WAzHiC,CAyHjC,EAzHiC,CAAA,EAyHjC,
|
|
1
|
+
{"version":3,"file":"operations.d.mts","names":[],"sources":["../../../src/internal/variable/operations.ts"],"sourcesContent":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-opcua/client",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.3",
|
|
4
4
|
"description": "Effect-native OPC-UA client wrapper for node-opcua",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -40,18 +40,18 @@
|
|
|
40
40
|
"main": "./dist/index.mjs",
|
|
41
41
|
"module": "./dist/index.mjs",
|
|
42
42
|
"types": "./dist/index.d.mts",
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"effect": "4.0.0-beta.92"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"node-opcua": "^2.170.0"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {},
|
|
43
50
|
"scripts": {
|
|
44
51
|
"build": "tsdown --config-loader unrun",
|
|
45
52
|
"dev": "tsdown --watch --config-loader unrun",
|
|
46
53
|
"typecheck": "tsc --noEmit --project tsconfig.json",
|
|
47
54
|
"test": "vitest run --passWithNoTests",
|
|
48
55
|
"clean": "rm -rf dist coverage node_modules"
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
"effect": "4.0.0-beta.79"
|
|
52
|
-
},
|
|
53
|
-
"dependencies": {
|
|
54
|
-
"node-opcua": "^2.170.0"
|
|
55
|
-
},
|
|
56
|
-
"devDependencies": {}
|
|
57
|
-
}
|
|
56
|
+
}
|
|
57
|
+
}
|