@kumori/kdsl 0.0.32 → 0.0.35
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/build/helpers/builtin.js +1 -0
- package/dist/build/helpers/builtin.js.map +1 -1
- package/dist/build/helpers/component.js +5 -1
- package/dist/build/helpers/component.js.map +1 -1
- package/dist/build/helpers/connector.d.ts +2 -1
- package/dist/build/helpers/connector.js +50 -41
- package/dist/build/helpers/connector.js.map +1 -1
- package/dist/build/helpers/deployment.d.ts +11 -11
- package/dist/build/helpers/utils.d.ts +29 -0
- package/dist/build/helpers/utils.js +95 -0
- package/dist/build/helpers/utils.js.map +1 -1
- package/dist/lib/kumori/service.kumori +2 -2
- package/out/lib/kumori/service.kumori +2 -2
- package/out/main.cjs +232 -232
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/build/helpers/builtin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAExD,OAAO,EAAuB,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAE1C,OAAO;QACH,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACZ,GAAG,EAAE;YACD,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;YACtD,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI;YACrB,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM;YACzB,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM;YACzB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI;SACxB;QACD,WAAW,EAAE;YACT,OAAO,EAAE,IAAI;YACb,GAAG,EAAE;gBACD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;qBAC9D,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAU,CAAC,CAAC;gBAExE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC/E,IAAI,KAAa,CAAA;oBACjB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACxB,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAA;oBACpE,CAAC;yBAAM,CAAC;wBACJ,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,CAAA;oBACvC,CAAC;oBACD,OAAO,CAAC,CAAC,EAAE,KAAK,CAAU,CAAA;gBAC9B,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/build/helpers/builtin.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { ToUnits } from "@kumori/kdsl-lsp/util/sized.js";
|
|
|
2
2
|
import { ResourceToSolutionJSON } from "./resource.js";
|
|
3
3
|
import { ComponentImageToSolutionJSON, ReferenceUpdater } from "./utils.js";
|
|
4
4
|
import { isComponentArtifact } from "@kumori/kdsl-lsp/language/generated/ast.js";
|
|
5
|
+
import { GenerateComponentConnector } from "./connector.js";
|
|
5
6
|
/**
|
|
6
7
|
* Converts a component service definition into the solution JSON format.
|
|
7
8
|
* @param ctx The solution JSON context.
|
|
@@ -34,7 +35,10 @@ export function ComponentServiceToSolutionJSON(ctx, component, scale) {
|
|
|
34
35
|
ref,
|
|
35
36
|
description: {
|
|
36
37
|
builtin: false,
|
|
37
|
-
connector:
|
|
38
|
+
connector: Object.fromEntries([
|
|
39
|
+
...Object.entries(component.srv?.server ?? {}).map(([k]) => [`self_${k}_to_${k}`, GenerateComponentConnector(ref, k, componentName)]),
|
|
40
|
+
...Object.entries(component.srv?.client ?? {}).map(([k]) => [`self_${k}_to_${k}`, GenerateComponentConnector(ref, k, componentName)]),
|
|
41
|
+
]),
|
|
38
42
|
config: {
|
|
39
43
|
resilience: 0,
|
|
40
44
|
scale: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/build/helpers/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/build/helpers/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Service, Connection } from "@kumori/kdsl-lsp/language/builtin/lib/kumori/service.js";
|
|
2
|
-
import { Connector } from "../deployment_spec.js";
|
|
2
|
+
import { Connector, Reference } from "../deployment_spec.js";
|
|
3
3
|
import { SolutionJSONContext } from "./deployment.js";
|
|
4
4
|
/**
|
|
5
5
|
* Converts a service connection definition into the solution JSON format.
|
|
@@ -11,3 +11,4 @@ import { SolutionJSONContext } from "./deployment.js";
|
|
|
11
11
|
* @returns The connector representation of the connection.
|
|
12
12
|
*/
|
|
13
13
|
export declare function ServiceConnectionToSolutionJSON(ctx: SolutionJSONContext, service: Service, cnx: Connection): Connector;
|
|
14
|
+
export declare function GenerateComponentConnector(ref: Reference, channelName: string, componentName: string): Connector;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LoadBalancerName, FullConnectorName } from "@kumori/kdsl-lsp/language/builtin/lib/kumori/service.js";
|
|
2
2
|
import { isService } from "./deployment.js";
|
|
3
|
-
import { ReferenceUpdater } from "./utils.js";
|
|
3
|
+
import { asArray, mergedUserMeta, ReferenceUpdater } from "./utils.js";
|
|
4
4
|
/**
|
|
5
5
|
* Resolves and updates a Reference object for a given component reference.
|
|
6
6
|
* @param ctx The solution JSON context.
|
|
@@ -76,24 +76,28 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
|
|
|
76
76
|
cnx = cnx;
|
|
77
77
|
const servers = [];
|
|
78
78
|
const clients = [];
|
|
79
|
-
// The "from" and "to" arrays
|
|
80
|
-
// We
|
|
81
|
-
if ("from" in cnx.value &&
|
|
82
|
-
|
|
79
|
+
// The "from" and "to" sections can be either arrays or single structs.
|
|
80
|
+
// We normalize them to arrays and handle all combinations uniformly.
|
|
81
|
+
if ("from" in cnx.value && "to" in cnx.value) {
|
|
82
|
+
const fromList = asArray(cnx.value.from);
|
|
83
|
+
const toList = asArray(cnx.value.to);
|
|
84
|
+
for (const fromCnx of fromList) {
|
|
83
85
|
// Each "from" defines a client
|
|
84
86
|
clients.push(buildClient(fromCnx.target, fromCnx.channel));
|
|
85
87
|
// Each "to" defines a server for this client
|
|
86
|
-
for (const toCnx of
|
|
88
|
+
for (const toCnx of toList) {
|
|
89
|
+
const toMeta = toCnx.meta ?? {};
|
|
87
90
|
const componentRef = service.role[toCnx.target == "self" ? fromCnx.target : toCnx.target];
|
|
88
91
|
const isServiceKind = isService(componentRef.artifact) || toCnx.target == "self";
|
|
89
92
|
resolveReference(ctx, componentRef, ref, isServiceKind);
|
|
93
|
+
const userMeta = mergedUserMeta(cnx.value.meta, toMeta);
|
|
90
94
|
const meta = [{
|
|
91
95
|
auto: {
|
|
92
96
|
channel: toCnx.target !== "self" ? toCnx.target + "." + toCnx.channel : toCnx.channel,
|
|
93
97
|
compRef: ref,
|
|
94
98
|
roleName: toCnx.target == "self" ? fromCnx.target : toCnx.target,
|
|
95
99
|
},
|
|
96
|
-
user:
|
|
100
|
+
user: userMeta
|
|
97
101
|
}];
|
|
98
102
|
const server = buildServer(meta, toCnx.target, toCnx.channel);
|
|
99
103
|
// We don't want duplicates
|
|
@@ -103,29 +107,6 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
|
|
|
103
107
|
}
|
|
104
108
|
}
|
|
105
109
|
}
|
|
106
|
-
else if ("from" in cnx.value && !Array.isArray(cnx.value.from) && !Array.isArray(cnx.value.to)) {
|
|
107
|
-
const fromCnx = cnx.value.from;
|
|
108
|
-
const toCnx = cnx.value.to;
|
|
109
|
-
// Each "from" defines a client
|
|
110
|
-
clients.push(buildClient(fromCnx.target, fromCnx.channel));
|
|
111
|
-
// Each "to" defines a server for this client
|
|
112
|
-
const componentRef = service.role[toCnx.target == "self" ? fromCnx.target : toCnx.target];
|
|
113
|
-
const isServiceKind = isService(componentRef.artifact) || toCnx.target == "self";
|
|
114
|
-
resolveReference(ctx, componentRef, ref, isServiceKind);
|
|
115
|
-
const meta = [{
|
|
116
|
-
auto: {
|
|
117
|
-
channel: toCnx.target !== "self" ? toCnx.target + "." + toCnx.channel : toCnx.channel,
|
|
118
|
-
compRef: ref,
|
|
119
|
-
roleName: toCnx.target == "self" ? fromCnx.target : toCnx.target,
|
|
120
|
-
},
|
|
121
|
-
user: cnx.value.meta ?? {}
|
|
122
|
-
}];
|
|
123
|
-
const server = buildServer(meta, toCnx.target, toCnx.channel);
|
|
124
|
-
// We don't want duplicates
|
|
125
|
-
if (!isServerDuplicate(servers, server)) {
|
|
126
|
-
servers.push(server);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
110
|
return {
|
|
130
111
|
kind: "lb",
|
|
131
112
|
clients: clients,
|
|
@@ -136,28 +117,28 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
|
|
|
136
117
|
cnx = cnx;
|
|
137
118
|
const servers = [];
|
|
138
119
|
const clients = [];
|
|
139
|
-
//
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
if ("from" in cnx.value &&
|
|
143
|
-
|
|
144
|
-
|
|
120
|
+
// FullConnector can be either:
|
|
121
|
+
// - Complete form: "from" and "to" (each can be array or single struct)
|
|
122
|
+
// - Reduced form: single "target" and "channel"
|
|
123
|
+
if ("from" in cnx.value && "to" in cnx.value) {
|
|
124
|
+
const fromList = asArray(cnx.value.from);
|
|
125
|
+
const toList = asArray(cnx.value.to);
|
|
126
|
+
for (const fromCnx of fromList) {
|
|
145
127
|
clients.push(buildClient(fromCnx.target, fromCnx.channel));
|
|
146
|
-
|
|
147
|
-
for (const toCnx of cnx.value.to) {
|
|
128
|
+
for (const toCnx of toList) {
|
|
148
129
|
const componentRef = service.role[toCnx.target == "self" ? fromCnx.target : toCnx.target];
|
|
149
130
|
const isServiceKind = isService(componentRef.artifact);
|
|
150
131
|
resolveReference(ctx, componentRef, ref, isServiceKind);
|
|
132
|
+
const userMeta = mergedUserMeta(cnx.value.meta, toCnx.meta);
|
|
151
133
|
const meta = [{
|
|
152
134
|
auto: {
|
|
153
135
|
channel: toCnx.target !== "self" ? toCnx.target + "." + toCnx.channel : toCnx.channel,
|
|
154
136
|
compRef: ref,
|
|
155
137
|
roleName: toCnx.target == "self" ? fromCnx.target : toCnx.target,
|
|
156
138
|
},
|
|
157
|
-
user:
|
|
139
|
+
user: userMeta
|
|
158
140
|
}];
|
|
159
141
|
const server = buildServer(meta, toCnx.target, toCnx.channel);
|
|
160
|
-
// We don't want duplicates
|
|
161
142
|
if (!isServerDuplicate(servers, server)) {
|
|
162
143
|
servers.push(server);
|
|
163
144
|
}
|
|
@@ -168,13 +149,14 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
|
|
|
168
149
|
const componentRef = service.role[cnx.value.target];
|
|
169
150
|
const isServiceKind = isService(componentRef.artifact);
|
|
170
151
|
resolveReference(ctx, componentRef, ref, isServiceKind);
|
|
152
|
+
const userMeta = mergedUserMeta(cnx.value.meta, undefined);
|
|
171
153
|
const meta = [{
|
|
172
154
|
auto: {
|
|
173
155
|
channel: cnx.value.channel,
|
|
174
156
|
compRef: ref,
|
|
175
157
|
roleName: cnx.value.target,
|
|
176
158
|
},
|
|
177
|
-
user:
|
|
159
|
+
user: userMeta
|
|
178
160
|
}];
|
|
179
161
|
servers.push(buildServer(meta, cnx.value.target, cnx.value.channel));
|
|
180
162
|
}
|
|
@@ -186,4 +168,31 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
|
|
|
186
168
|
}
|
|
187
169
|
throw new Error(`unknown connection type '${cnx.$type}'`);
|
|
188
170
|
}
|
|
171
|
+
export function GenerateComponentConnector(ref, channelName, componentName) {
|
|
172
|
+
return {
|
|
173
|
+
kind: "lb",
|
|
174
|
+
clients: [
|
|
175
|
+
{
|
|
176
|
+
role: "self",
|
|
177
|
+
channel: channelName
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
servers: [
|
|
181
|
+
{
|
|
182
|
+
meta: {
|
|
183
|
+
auto: {
|
|
184
|
+
channel: componentName + "." + channelName,
|
|
185
|
+
compRef: ref,
|
|
186
|
+
roleName: componentName,
|
|
187
|
+
},
|
|
188
|
+
user: {},
|
|
189
|
+
},
|
|
190
|
+
links: [{
|
|
191
|
+
role: componentName,
|
|
192
|
+
channel: channelName,
|
|
193
|
+
}],
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
};
|
|
197
|
+
}
|
|
189
198
|
//# sourceMappingURL=connector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/build/helpers/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,gBAAgB,EAAgB,iBAAiB,EAAiB,MAAM,yDAAyD,CAAC;AAEhK,OAAO,EAAE,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/build/helpers/connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,19 +55,19 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
|
|
|
55
55
|
srv?: {
|
|
56
56
|
duplex?: Record<string, {
|
|
57
57
|
inherited: boolean;
|
|
58
|
-
protocol: "
|
|
58
|
+
protocol: "udp" | "tcp" | "http" | "grpc";
|
|
59
59
|
port?: number | undefined;
|
|
60
60
|
portnum?: number | undefined;
|
|
61
61
|
}> | undefined;
|
|
62
62
|
client?: Record<string, {
|
|
63
63
|
inherited: boolean;
|
|
64
|
-
protocol: "
|
|
64
|
+
protocol: "udp" | "tcp" | "http" | "grpc";
|
|
65
65
|
port?: number | undefined;
|
|
66
66
|
portnum?: number | undefined;
|
|
67
67
|
}> | undefined;
|
|
68
68
|
server?: Record<string, {
|
|
69
69
|
inherited: boolean;
|
|
70
|
-
protocol: "
|
|
70
|
+
protocol: "udp" | "tcp" | "http" | "grpc";
|
|
71
71
|
port?: number | undefined;
|
|
72
72
|
portnum?: number | undefined;
|
|
73
73
|
}> | undefined;
|
|
@@ -89,12 +89,12 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
|
|
|
89
89
|
builtin: boolean;
|
|
90
90
|
size: {
|
|
91
91
|
mincpu: {
|
|
92
|
-
kind: "
|
|
92
|
+
kind: "bandwidth" | "storage" | "cpu" | "ram";
|
|
93
93
|
size: number;
|
|
94
94
|
unit: string;
|
|
95
95
|
};
|
|
96
96
|
bandwidth: {
|
|
97
|
-
kind: "
|
|
97
|
+
kind: "bandwidth" | "storage" | "cpu" | "ram";
|
|
98
98
|
size: number;
|
|
99
99
|
unit: string;
|
|
100
100
|
};
|
|
@@ -124,19 +124,19 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
|
|
|
124
124
|
srv?: {
|
|
125
125
|
duplex?: Record<string, {
|
|
126
126
|
inherited: boolean;
|
|
127
|
-
protocol: "
|
|
127
|
+
protocol: "udp" | "tcp" | "http" | "grpc";
|
|
128
128
|
port?: number | undefined;
|
|
129
129
|
portnum?: number | undefined;
|
|
130
130
|
}> | undefined;
|
|
131
131
|
client?: Record<string, {
|
|
132
132
|
inherited: boolean;
|
|
133
|
-
protocol: "
|
|
133
|
+
protocol: "udp" | "tcp" | "http" | "grpc";
|
|
134
134
|
port?: number | undefined;
|
|
135
135
|
portnum?: number | undefined;
|
|
136
136
|
}> | undefined;
|
|
137
137
|
server?: Record<string, {
|
|
138
138
|
inherited: boolean;
|
|
139
|
-
protocol: "
|
|
139
|
+
protocol: "udp" | "tcp" | "http" | "grpc";
|
|
140
140
|
port?: number | undefined;
|
|
141
141
|
portnum?: number | undefined;
|
|
142
142
|
}> | undefined;
|
|
@@ -175,7 +175,7 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
|
|
|
175
175
|
ca?: string | undefined;
|
|
176
176
|
value?: string | undefined;
|
|
177
177
|
} | undefined;
|
|
178
|
-
format?: "
|
|
178
|
+
format?: "json" | "text" | "yaml" | undefined;
|
|
179
179
|
group?: number | undefined;
|
|
180
180
|
mode?: number | undefined;
|
|
181
181
|
path?: string | undefined;
|
|
@@ -187,13 +187,13 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
|
|
|
187
187
|
} | undefined;
|
|
188
188
|
size?: {
|
|
189
189
|
cpu: {
|
|
190
|
-
kind: "
|
|
190
|
+
kind: "bandwidth" | "storage" | "cpu" | "ram";
|
|
191
191
|
size: number;
|
|
192
192
|
unit: string;
|
|
193
193
|
};
|
|
194
194
|
mincpu: number;
|
|
195
195
|
memory: {
|
|
196
|
-
kind: "
|
|
196
|
+
kind: "bandwidth" | "storage" | "cpu" | "ram";
|
|
197
197
|
size: number;
|
|
198
198
|
unit: string;
|
|
199
199
|
};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { AstNode } from "langium";
|
|
2
2
|
import { Image, Reference } from "../deployment_spec.js";
|
|
3
3
|
import { KumoriModules } from "@kumori/kdsl-lsp/language/kumori-module.js";
|
|
4
|
+
export type JsonPrimitive = string | number | boolean | null;
|
|
5
|
+
export type JsonValue = JsonPrimitive | JsonValue[] | {
|
|
6
|
+
[key: string]: JsonValue;
|
|
7
|
+
};
|
|
4
8
|
/**
|
|
5
9
|
* Converts a OCI image string to a structured JSON object.
|
|
6
10
|
*
|
|
@@ -28,3 +32,28 @@ export declare function ReferenceUpdater(KumoriModules: KumoriModules, node: Ast
|
|
|
28
32
|
* @returns A string representing the reference path in the format "domain/module".
|
|
29
33
|
*/
|
|
30
34
|
export declare function GetReferencePath(ref: Reference): string;
|
|
35
|
+
/**
|
|
36
|
+
* Normalizes a value that can be either a single item or an array of items.
|
|
37
|
+
*
|
|
38
|
+
* @template T - The type of the contained item.
|
|
39
|
+
* @param {T | T[]} value - The input value.
|
|
40
|
+
* @returns {T[]} Always returns an array.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* asArray("a") // ["a"]
|
|
44
|
+
* asArray(["a", "b"]) // ["a", "b"]
|
|
45
|
+
*/
|
|
46
|
+
export declare function asArray<T>(value: T | T[]): T[];
|
|
47
|
+
/**
|
|
48
|
+
* Produces the effective user metadata for a connection.
|
|
49
|
+
*
|
|
50
|
+
* This combines a base connector meta (e.g. connector-level meta) with an optional
|
|
51
|
+
* incoming meta (e.g. per-target/per-link meta). If both are plain objects, they
|
|
52
|
+
* are deep-merged (incoming overrides base on conflicts). Otherwise, incoming wins
|
|
53
|
+
* if present; then base; then `{}`.
|
|
54
|
+
*
|
|
55
|
+
* @param {unknown} baseMeta - Base (connector-level) meta.
|
|
56
|
+
* @param {unknown} incomingMeta - Incoming (per-connection) meta.
|
|
57
|
+
* @returns {unknown} The resulting user meta payload.
|
|
58
|
+
*/
|
|
59
|
+
export declare function mergedUserMeta(baseMeta: unknown, incomingMeta: unknown): JsonValue;
|
|
@@ -82,4 +82,99 @@ export function GetReferencePath(ref) {
|
|
|
82
82
|
}
|
|
83
83
|
return path;
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Normalizes a value that can be either a single item or an array of items.
|
|
87
|
+
*
|
|
88
|
+
* @template T - The type of the contained item.
|
|
89
|
+
* @param {T | T[]} value - The input value.
|
|
90
|
+
* @returns {T[]} Always returns an array.
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* asArray("a") // ["a"]
|
|
94
|
+
* asArray(["a", "b"]) // ["a", "b"]
|
|
95
|
+
*/
|
|
96
|
+
export function asArray(value) {
|
|
97
|
+
return Array.isArray(value) ? value : [value];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Parses a user-provided metadata value into a normalized representation.
|
|
101
|
+
*
|
|
102
|
+
* Rules:
|
|
103
|
+
* - `null`/`undefined` -> `undefined`
|
|
104
|
+
* - empty string/object/array -> `undefined`
|
|
105
|
+
* - non-empty string -> `JSON.parse` (invalid JSON -> `{}`)
|
|
106
|
+
* - non-empty object/array -> returned as-is
|
|
107
|
+
* - scalars (number/boolean/etc.) -> returned as-is
|
|
108
|
+
*
|
|
109
|
+
* @param {unknown} meta - The raw meta value.
|
|
110
|
+
* @returns {JsonValue | undefined} The normalized meta or `undefined` if considered empty.
|
|
111
|
+
*/
|
|
112
|
+
function parseUserMeta(meta) {
|
|
113
|
+
if (meta === null || meta === undefined)
|
|
114
|
+
return undefined;
|
|
115
|
+
if (typeof meta === "string") {
|
|
116
|
+
const trimmed = meta.trim();
|
|
117
|
+
if (trimmed.length === 0)
|
|
118
|
+
return undefined;
|
|
119
|
+
try {
|
|
120
|
+
return JSON.parse(trimmed);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return {};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (typeof meta === "object") {
|
|
127
|
+
if (Array.isArray(meta))
|
|
128
|
+
return meta.length > 0 ? meta : undefined;
|
|
129
|
+
return Object.keys(meta).length > 0 ? meta : undefined;
|
|
130
|
+
}
|
|
131
|
+
return meta;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Narrowing helper to detect non-null, non-array plain objects.
|
|
135
|
+
*
|
|
136
|
+
* @param {unknown} value - Value to test.
|
|
137
|
+
* @returns {value is Record<string, unknown>} True if the value is a plain object.
|
|
138
|
+
*/
|
|
139
|
+
function isPlainObject(value) {
|
|
140
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Deeply merges two plain objects.
|
|
144
|
+
*
|
|
145
|
+
* Note: This intentionally does not merge arrays or non-objects. If either input
|
|
146
|
+
* is not a plain object, the second value is returned.
|
|
147
|
+
*
|
|
148
|
+
* @param {unknown} a - Base object.
|
|
149
|
+
* @param {unknown} b - Incoming object.
|
|
150
|
+
* @returns {unknown} The merged object (or `b` when not mergeable).
|
|
151
|
+
*/
|
|
152
|
+
function deepMerge(a, b) {
|
|
153
|
+
if (!isPlainObject(a) || !isPlainObject(b))
|
|
154
|
+
return b;
|
|
155
|
+
const out = { ...a };
|
|
156
|
+
for (const [key, value] of Object.entries(b)) {
|
|
157
|
+
out[key] = key in out ? deepMerge(out[key], value) : value;
|
|
158
|
+
}
|
|
159
|
+
return out;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Produces the effective user metadata for a connection.
|
|
163
|
+
*
|
|
164
|
+
* This combines a base connector meta (e.g. connector-level meta) with an optional
|
|
165
|
+
* incoming meta (e.g. per-target/per-link meta). If both are plain objects, they
|
|
166
|
+
* are deep-merged (incoming overrides base on conflicts). Otherwise, incoming wins
|
|
167
|
+
* if present; then base; then `{}`.
|
|
168
|
+
*
|
|
169
|
+
* @param {unknown} baseMeta - Base (connector-level) meta.
|
|
170
|
+
* @param {unknown} incomingMeta - Incoming (per-connection) meta.
|
|
171
|
+
* @returns {unknown} The resulting user meta payload.
|
|
172
|
+
*/
|
|
173
|
+
export function mergedUserMeta(baseMeta, incomingMeta) {
|
|
174
|
+
const base = parseUserMeta(baseMeta);
|
|
175
|
+
const incoming = parseUserMeta(incomingMeta);
|
|
176
|
+
if (base && incoming && isPlainObject(base) && isPlainObject(incoming))
|
|
177
|
+
return deepMerge(base, incoming);
|
|
178
|
+
return incoming ?? base ?? {};
|
|
179
|
+
}
|
|
85
180
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/build/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AACxD,OAAO,EAAW,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/build/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AACxD,OAAO,EAAW,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAO/B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAqB;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,GAAG,CACN,cAAc,CAAC,KAAK,CAAC,EACrB,CAAC,CAA+B,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,KAAe,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAC,EAAE,CAAC,CAC1J,EACD,GAAG,CAAC,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAClC,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAA4B,EAAE,IAAyB;IACpF,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAA;IAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACjF,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IAEpC,MAAM,OAAO,GAAiC,EAAE,CAAA;IAChD,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACf,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAClD,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,uDAAuD;IACvD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;IAC7C,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1F,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAA;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAc;IAC3C,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACpB,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAA;QAEvB,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACpB,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAA;QAC5B,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACpB,IAAI,IAAI,GAAG,CAAC,MAAM,CAAA;QACtB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAI,KAAc;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AACjD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa,CAAC,IAAa;IAChC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAEzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAC1C,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,IAAkB,CAAC,CAAC,CAAC,SAAS,CAAA;QACjF,OAAO,MAAM,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,IAAkB,CAAC,CAAC,CAAC,SAAS,CAAA;IACpG,CAAC;IAED,OAAO,IAAiB,CAAA;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAAc;IACjC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACxE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,SAAS,CAAC,CAAY,EAAE,CAAY;IACzC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IACpD,MAAM,GAAG,GAA8B,EAAE,GAAG,CAAC,EAAE,CAAA;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9D,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,QAAiB,EAAE,YAAqB;IACnE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;IAE5C,IAAI,IAAI,IAAI,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxG,OAAO,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAA;AACjC,CAAC"}
|
|
@@ -26,7 +26,7 @@ alias Connection LoadBalancer | FullConnector
|
|
|
26
26
|
|
|
27
27
|
type LoadBalancer struct {
|
|
28
28
|
from struct { target string, channel string } | []struct { target string, channel string }
|
|
29
|
-
to struct { target string, channel string } | []struct { target string, channel string }
|
|
29
|
+
to struct { target string, channel string } | []struct { target string, channel string, meta? any }
|
|
30
30
|
|
|
31
31
|
meta? any
|
|
32
32
|
}
|
|
@@ -41,7 +41,7 @@ alias ReducedFullConnector struct {
|
|
|
41
41
|
|
|
42
42
|
alias CompleteFullConnector struct {
|
|
43
43
|
from struct { target string, channel string } | []struct { target string, channel string }
|
|
44
|
-
to struct { target string, channel string } | []struct { target string, channel string }
|
|
44
|
+
to struct { target string, channel string } | []struct { target string, channel string, meta? any }
|
|
45
45
|
|
|
46
46
|
meta? any
|
|
47
47
|
}
|
|
@@ -26,7 +26,7 @@ alias Connection LoadBalancer | FullConnector
|
|
|
26
26
|
|
|
27
27
|
type LoadBalancer struct {
|
|
28
28
|
from struct { target string, channel string } | []struct { target string, channel string }
|
|
29
|
-
to struct { target string, channel string } | []struct { target string, channel string }
|
|
29
|
+
to struct { target string, channel string } | []struct { target string, channel string, meta? any }
|
|
30
30
|
|
|
31
31
|
meta? any
|
|
32
32
|
}
|
|
@@ -41,7 +41,7 @@ alias ReducedFullConnector struct {
|
|
|
41
41
|
|
|
42
42
|
alias CompleteFullConnector struct {
|
|
43
43
|
from struct { target string, channel string } | []struct { target string, channel string }
|
|
44
|
-
to struct { target string, channel string } | []struct { target string, channel string }
|
|
44
|
+
to struct { target string, channel string } | []struct { target string, channel string, meta? any }
|
|
45
45
|
|
|
46
46
|
meta? any
|
|
47
47
|
}
|