@polytric/openws-spec 0.0.1 → 0.0.2

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,347 @@
1
+ import "./chunk-7D4SUZUM.js";
2
+
3
+ // src/builder.ts
4
+ var WELL_KNOWN_METADATA_KEYS = /* @__PURE__ */ new Set(["description", "version", "openws", "name"]);
5
+ var Base = class {
6
+ #metadata;
7
+ constructor(name) {
8
+ this.#metadata = { name };
9
+ }
10
+ #setMetadata(name, value) {
11
+ this.#metadata[name] = value;
12
+ return this;
13
+ }
14
+ #getMetadataKey(name) {
15
+ if (WELL_KNOWN_METADATA_KEYS.has(name)) {
16
+ return name;
17
+ }
18
+ if (!name.startsWith("x-")) {
19
+ return `x-${name}`;
20
+ }
21
+ return name;
22
+ }
23
+ get name() {
24
+ return this.#metadata["name"];
25
+ }
26
+ metadata(name, value) {
27
+ return this.#setMetadata(this.#getMetadataKey(name), value);
28
+ }
29
+ getMetadata(name) {
30
+ return this.#metadata[this.#getMetadataKey(name)];
31
+ }
32
+ desc(description) {
33
+ return this.description(description);
34
+ }
35
+ description(description) {
36
+ return this.#setMetadata("description", description);
37
+ }
38
+ version(version) {
39
+ return this.#setMetadata("version", version);
40
+ }
41
+ title(title) {
42
+ return this.#setMetadata("title", title);
43
+ }
44
+ valueOf() {
45
+ return { ...this.#metadata };
46
+ }
47
+ toJson() {
48
+ return this.valueOf();
49
+ }
50
+ isValid() {
51
+ return false;
52
+ }
53
+ };
54
+ var Message = class _Message extends Base {
55
+ get isPolytricMessage() {
56
+ return true;
57
+ }
58
+ #payload;
59
+ #from;
60
+ constructor(name) {
61
+ super(name);
62
+ }
63
+ getPayload() {
64
+ return this.#payload;
65
+ }
66
+ payload(payload) {
67
+ this.#payload = payload.valueOf();
68
+ return this;
69
+ }
70
+ from(...from) {
71
+ this.#from ??= [];
72
+ this.#from.push(...from);
73
+ return this;
74
+ }
75
+ valueOf() {
76
+ if (!this.#payload) {
77
+ throw new Error("Payload is required");
78
+ }
79
+ const ret = {
80
+ ...super.valueOf(),
81
+ payload: this.#payload
82
+ };
83
+ if (this.#from) {
84
+ ret.from = this.#from;
85
+ }
86
+ return ret;
87
+ }
88
+ static fromJson(json) {
89
+ const { payload, from, ...metadata } = json;
90
+ const ret = new _Message(json.name);
91
+ for (const [key, value] of Object.entries(metadata)) {
92
+ ret.metadata(key, value);
93
+ }
94
+ ret.payload(payload);
95
+ if (from) {
96
+ ret.from(...from);
97
+ }
98
+ return ret;
99
+ }
100
+ assertValid() {
101
+ if (this.#payload === void 0) {
102
+ throw new Error("Payload is required");
103
+ }
104
+ return true;
105
+ }
106
+ };
107
+ var Endpoint = class _Endpoint {
108
+ #scheme = "ws";
109
+ #host;
110
+ #port = 433;
111
+ #path;
112
+ constructor(scheme, host, port, path) {
113
+ this.#scheme = scheme;
114
+ this.#host = host;
115
+ this.#port = port;
116
+ this.#path = path;
117
+ }
118
+ valueOf() {
119
+ return {
120
+ scheme: this.#scheme,
121
+ host: this.#host,
122
+ port: this.#port,
123
+ path: this.#path
124
+ };
125
+ }
126
+ toJson() {
127
+ return this.valueOf();
128
+ }
129
+ static fromJson(json) {
130
+ return new _Endpoint(json.scheme, json.host, json.port, json.path);
131
+ }
132
+ };
133
+ var Role = class _Role extends Base {
134
+ get isPolytricRole() {
135
+ return true;
136
+ }
137
+ #messages = {};
138
+ #endpoints = [];
139
+ isHost = false;
140
+ asHost() {
141
+ this.isHost = true;
142
+ return this;
143
+ }
144
+ message(message2) {
145
+ this.#messages[message2.name] = message2;
146
+ return this;
147
+ }
148
+ get messages() {
149
+ return this.#messages;
150
+ }
151
+ endpoint(endpoint2) {
152
+ this.#endpoints.push(endpoint2);
153
+ return this;
154
+ }
155
+ valueOf() {
156
+ const messages = {};
157
+ for (const [name, message2] of Object.entries(this.#messages)) {
158
+ messages[name] = message2.valueOf();
159
+ }
160
+ const ret = {
161
+ ...super.valueOf(),
162
+ messages
163
+ };
164
+ if (this.#endpoints.length > 0) {
165
+ ret.endpoints = this.#endpoints.map((endpoint2) => endpoint2.valueOf());
166
+ }
167
+ return ret;
168
+ }
169
+ static fromJson(json) {
170
+ const { messages, endpoints, ...metadata } = json;
171
+ const ret = new _Role(json.name);
172
+ for (const [key, value] of Object.entries(metadata)) {
173
+ ret.metadata(key, value);
174
+ }
175
+ for (const message2 of Object.values(messages)) {
176
+ ret.message(Message.fromJson(message2));
177
+ }
178
+ for (const endpoint2 of endpoints ?? []) {
179
+ ret.endpoint(Endpoint.fromJson(endpoint2));
180
+ }
181
+ return ret;
182
+ }
183
+ assertValid() {
184
+ for (const message2 of Object.values(this.#messages)) {
185
+ message2.assertValid();
186
+ }
187
+ return true;
188
+ }
189
+ };
190
+ var Network = class _Network extends Base {
191
+ get isPolytricNetwork() {
192
+ return true;
193
+ }
194
+ #roles = {};
195
+ role(role2) {
196
+ this.#roles[role2.name] = role2;
197
+ return this;
198
+ }
199
+ get roles() {
200
+ return this.#roles;
201
+ }
202
+ valueOf() {
203
+ const roles = {};
204
+ for (const [name, role2] of Object.entries(this.#roles)) {
205
+ roles[name] = role2.valueOf();
206
+ }
207
+ return {
208
+ ...super.valueOf(),
209
+ roles
210
+ };
211
+ }
212
+ static fromJson(json) {
213
+ const { roles, ...metadata } = json;
214
+ const ret = new _Network(json.name);
215
+ for (const [key, value] of Object.entries(metadata)) {
216
+ ret.metadata(key, value);
217
+ }
218
+ for (const role2 of Object.values(roles)) {
219
+ ret.role(Role.fromJson(role2));
220
+ }
221
+ return ret;
222
+ }
223
+ assertValid() {
224
+ const hostRoles = [];
225
+ const consumerRoles = [];
226
+ for (const role2 of Object.values(this.#roles)) {
227
+ role2.assertValid();
228
+ if (role2.isHost) {
229
+ hostRoles.push(role2);
230
+ } else {
231
+ consumerRoles.push(role2);
232
+ }
233
+ }
234
+ if (consumerRoles.length === 0) {
235
+ throw new Error("At least one consumer role must be defined");
236
+ }
237
+ const messages = /* @__PURE__ */ new Set();
238
+ for (const role2 of Object.values(this.#roles)) {
239
+ if (!role2.isHost) {
240
+ continue;
241
+ }
242
+ for (const message2 of Object.values(role2.messages)) {
243
+ if (messages.has(message2.name)) {
244
+ throw new Error(
245
+ `Message '${message2.name}' is defined in multiple host roles: ${hostRoles.map((role3) => role3.name).join(", ")}`
246
+ );
247
+ }
248
+ messages.add(message2.name);
249
+ }
250
+ }
251
+ return true;
252
+ }
253
+ };
254
+ var Spec = class _Spec extends Base {
255
+ get isPolytricSpec() {
256
+ return true;
257
+ }
258
+ #networks = {};
259
+ constructor(openws, name) {
260
+ super(name);
261
+ this.metadata("openws", openws);
262
+ }
263
+ network(network2) {
264
+ this.#networks[network2.name] = network2;
265
+ return this;
266
+ }
267
+ get networks() {
268
+ return this.#networks;
269
+ }
270
+ valueOf() {
271
+ const networks = {};
272
+ for (const [name, network2] of Object.entries(this.#networks)) {
273
+ networks[name] = network2.valueOf();
274
+ }
275
+ return {
276
+ ...super.valueOf(),
277
+ openws: this.getMetadata("openws"),
278
+ networks
279
+ };
280
+ }
281
+ static fromJson(json) {
282
+ const { networks, ...metadata } = json;
283
+ const ret = new _Spec(json.openws, json.name);
284
+ for (const [key, value] of Object.entries(metadata)) {
285
+ ret.metadata(key, value);
286
+ }
287
+ for (const network2 of Object.values(networks)) {
288
+ ret.network(Network.fromJson(network2));
289
+ }
290
+ return ret;
291
+ }
292
+ assertValid() {
293
+ for (const network2 of Object.values(this.#networks)) {
294
+ network2.assertValid();
295
+ }
296
+ return true;
297
+ }
298
+ };
299
+ function spec(openwsOrSpec, name) {
300
+ if (typeof openwsOrSpec === "string") {
301
+ return new Spec(openwsOrSpec, name);
302
+ } else {
303
+ return Spec.fromJson(openwsOrSpec);
304
+ }
305
+ }
306
+ function network(network2) {
307
+ if (typeof network2 === "string") {
308
+ return new Network(network2);
309
+ } else {
310
+ return Network.fromJson(network2);
311
+ }
312
+ }
313
+ function role(role2) {
314
+ if (typeof role2 === "string") {
315
+ return new Role(role2);
316
+ } else {
317
+ return Role.fromJson(role2);
318
+ }
319
+ }
320
+ function message(msg) {
321
+ if (typeof msg === "string") {
322
+ return new Message(msg);
323
+ } else {
324
+ return Message.fromJson(msg);
325
+ }
326
+ }
327
+ function endpoint(schemeOrEndpoint, host, port, path) {
328
+ if (typeof schemeOrEndpoint === "string") {
329
+ return new Endpoint(schemeOrEndpoint, host, port, path);
330
+ } else {
331
+ return Endpoint.fromJson(schemeOrEndpoint);
332
+ }
333
+ }
334
+ export {
335
+ Base,
336
+ Endpoint,
337
+ Message,
338
+ Network,
339
+ Role,
340
+ Spec,
341
+ endpoint,
342
+ message,
343
+ network,
344
+ role,
345
+ spec
346
+ };
347
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/builder.ts"],"sourcesContent":["import type * as Types from './types'\n\nconst WELL_KNOWN_METADATA_KEYS = new Set<string>(['description', 'version', 'openws', 'name'])\n\nexport class Base {\n #metadata: Types.CommonMetadata\n\n constructor(name: string) {\n this.#metadata = { name }\n }\n\n #setMetadata(name: string, value: Types.JsonValue): this {\n this.#metadata[name] = value\n return this\n }\n\n #getMetadataKey(name: string): string {\n if (WELL_KNOWN_METADATA_KEYS.has(name)) {\n return name\n }\n if (!name.startsWith('x-')) {\n return `x-${name}`\n }\n return name\n }\n\n get name(): string {\n return this.#metadata['name'] as string\n }\n\n metadata(name: string, value: Types.JsonValue): this {\n return this.#setMetadata(this.#getMetadataKey(name), value)\n }\n\n getMetadata(name: string): Types.JsonValue | undefined {\n return this.#metadata[this.#getMetadataKey(name)] as Types.JsonValue | undefined\n }\n\n desc(description: string): this {\n return this.description(description)\n }\n\n description(description: string): this {\n return this.#setMetadata('description', description)\n }\n\n version(version: string): this {\n return this.#setMetadata('version', version)\n }\n\n title(title: string): this {\n return this.#setMetadata('title', title)\n }\n\n valueOf(): Types.CommonMetadata {\n return { ...this.#metadata }\n }\n\n toJson(): Types.CommonMetadata {\n return this.valueOf()\n }\n\n isValid(): boolean {\n return false\n }\n}\n\nexport class Message extends Base {\n get isPolytricMessage(): boolean {\n return true\n }\n #payload?: any\n #from?: string[]\n\n constructor(name: string) {\n super(name)\n }\n\n getPayload(): any | undefined {\n return this.#payload\n }\n\n payload(payload: any): this {\n this.#payload = payload.valueOf()\n return this\n }\n\n from(...from: string[]): this {\n this.#from ??= []\n this.#from.push(...from)\n return this\n }\n\n valueOf(): Types.Message {\n if (!this.#payload) {\n throw new Error('Payload is required')\n }\n const ret: Types.Message = {\n ...super.valueOf(),\n payload: this.#payload,\n }\n if (this.#from) {\n ret.from = this.#from\n }\n return ret\n }\n\n static fromJson(json: Types.Message): Message {\n const { payload, from, ...metadata } = json\n const ret = new Message(json.name as string)\n for (const [key, value] of Object.entries(metadata)) {\n ret.metadata(key, value)\n }\n ret.payload(payload)\n if (from) {\n ret.from(...from)\n }\n return ret\n }\n\n assertValid(): boolean {\n if (this.#payload === undefined) {\n throw new Error('Payload is required')\n }\n return true\n }\n}\n\nexport class Endpoint {\n #scheme: string = 'ws'\n #host: string\n #port: number = 433\n #path: string\n\n constructor(scheme: string, host: string, port: number, path: string) {\n this.#scheme = scheme\n this.#host = host\n this.#port = port\n this.#path = path\n }\n\n valueOf(): Types.Endpoint {\n return {\n scheme: this.#scheme,\n host: this.#host,\n port: this.#port,\n path: this.#path,\n }\n }\n\n toJson(): Types.Endpoint {\n return this.valueOf()\n }\n\n static fromJson(json: Types.Endpoint): Endpoint {\n return new Endpoint(json.scheme, json.host, json.port, json.path)\n }\n}\n\nexport class Role extends Base {\n get isPolytricRole(): boolean {\n return true\n }\n #messages: { [key: string]: Message } = {}\n #endpoints: Endpoint[] = []\n\n isHost: boolean = false\n\n asHost(): this {\n this.isHost = true\n return this\n }\n\n message(message: Message): this {\n this.#messages[message.name] = message\n return this\n }\n\n get messages(): Record<string, Message> {\n return this.#messages\n }\n\n endpoint(endpoint: Endpoint): this {\n this.#endpoints.push(endpoint)\n return this\n }\n\n valueOf(): Types.Role {\n const messages: { [key: string]: Types.Message } = {}\n for (const [name, message] of Object.entries(this.#messages)) {\n messages[name] = message.valueOf()\n }\n const ret: Types.Role = {\n ...super.valueOf(),\n messages,\n }\n if (this.#endpoints.length > 0) {\n ret.endpoints = this.#endpoints.map(endpoint => endpoint.valueOf())\n }\n return ret\n }\n\n static fromJson(json: Types.Role): Role {\n const { messages, endpoints, ...metadata } = json\n const ret = new Role(json.name)\n for (const [key, value] of Object.entries(metadata)) {\n ret.metadata(key, value)\n }\n for (const message of Object.values(messages)) {\n ret.message(Message.fromJson(message))\n }\n for (const endpoint of endpoints ?? []) {\n ret.endpoint(Endpoint.fromJson(endpoint))\n }\n return ret\n }\n\n assertValid(): boolean {\n for (const message of Object.values(this.#messages)) {\n message.assertValid()\n }\n return true\n }\n}\n\nexport class Network extends Base {\n get isPolytricNetwork(): boolean {\n return true\n }\n #roles: { [key: string]: Role } = {}\n\n role(role: Role): this {\n this.#roles[role.name] = role\n return this\n }\n\n get roles(): { [key: string]: Role } {\n return this.#roles\n }\n\n valueOf(): Types.Network {\n const roles: { [key: string]: Types.Role } = {}\n for (const [name, role] of Object.entries(this.#roles)) {\n roles[name] = role.valueOf()\n }\n return {\n ...super.valueOf(),\n roles,\n }\n }\n\n static fromJson(json: Types.Network): Network {\n const { roles, ...metadata } = json\n const ret = new Network(json.name as string)\n for (const [key, value] of Object.entries(metadata)) {\n ret.metadata(key, value)\n }\n for (const role of Object.values(roles)) {\n ret.role(Role.fromJson(role))\n }\n return ret\n }\n\n assertValid(): boolean {\n const hostRoles: Role[] = []\n const consumerRoles: Role[] = []\n for (const role of Object.values(this.#roles)) {\n role.assertValid()\n\n if (role.isHost) {\n hostRoles.push(role as Role)\n } else {\n consumerRoles.push(role as Role)\n }\n }\n if (consumerRoles.length === 0) {\n throw new Error('At least one consumer role must be defined')\n }\n const messages = new Set<string>()\n for (const role of Object.values(this.#roles)) {\n if (!role.isHost) {\n continue\n }\n for (const message of Object.values(role.messages)) {\n if (messages.has(message.name)) {\n throw new Error(\n `Message '${message.name}' is defined in multiple host roles: ${hostRoles.map(role => role.name).join(', ')}`\n )\n }\n messages.add(message.name)\n }\n }\n\n return true\n }\n}\n\nexport class Spec extends Base {\n get isPolytricSpec(): boolean {\n return true\n }\n #networks: { [key: string]: Network } = {}\n\n constructor(openws: string, name: string) {\n super(name)\n this.metadata('openws', openws)\n }\n\n network(network: Network): this {\n this.#networks[network.name] = network\n return this\n }\n\n get networks(): Record<string, Network> {\n return this.#networks\n }\n\n valueOf(): Types.Spec {\n const networks: { [key: string]: Types.Network } = {}\n for (const [name, network] of Object.entries(this.#networks)) {\n networks[name] = network.valueOf()\n }\n return {\n ...super.valueOf(),\n openws: this.getMetadata('openws') as string,\n networks,\n }\n }\n\n static fromJson(json: Types.Spec): Spec {\n const { networks, ...metadata } = json\n const ret = new Spec(json.openws as string, json.name as string)\n for (const [key, value] of Object.entries(metadata)) {\n ret.metadata(key, value)\n }\n for (const network of Object.values(networks)) {\n ret.network(Network.fromJson(network))\n }\n return ret\n }\n\n assertValid(): boolean {\n for (const network of Object.values(this.#networks)) {\n network.assertValid()\n }\n return true\n }\n}\n\nexport function spec(openws: string, name: string): Spec\nexport function spec(spec: Types.Spec): Spec\nexport function spec(openwsOrSpec: string | Types.Spec, name?: string): Spec {\n if (typeof openwsOrSpec === 'string') {\n return new Spec(openwsOrSpec, name!)\n } else {\n return Spec.fromJson(openwsOrSpec)\n }\n}\n\nexport function network(network: string | Types.Network): Network {\n if (typeof network === 'string') {\n return new Network(network)\n } else {\n return Network.fromJson(network)\n }\n}\n\nexport function role(role: string | Types.Role): Role {\n if (typeof role === 'string') {\n return new Role(role)\n } else {\n return Role.fromJson(role)\n }\n}\n\nexport function message(msg: string | Types.Message): Message {\n if (typeof msg === 'string') {\n return new Message(msg)\n } else {\n return Message.fromJson(msg)\n }\n}\n\nexport function endpoint(endpoint: Types.Endpoint): Endpoint\nexport function endpoint(scheme: string, host: string, port: number, path: string): Endpoint\nexport function endpoint(\n schemeOrEndpoint: string | Types.Endpoint,\n host?: string,\n port?: number,\n path?: string\n): Endpoint {\n if (typeof schemeOrEndpoint === 'string') {\n return new Endpoint(schemeOrEndpoint, host!, port!, path!)\n } else {\n return Endpoint.fromJson(schemeOrEndpoint)\n }\n}\n"],"mappings":"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","names":["message","endpoint","role","network"]}
@@ -0,0 +1,38 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
8
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
9
+ }) : x)(function(x) {
10
+ if (typeof require !== "undefined") return require.apply(this, arguments);
11
+ throw Error('Dynamic require of "' + x + '" is not supported');
12
+ });
13
+ var __commonJS = (cb, mod) => function __require2() {
14
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+
33
+ export {
34
+ __require,
35
+ __commonJS,
36
+ __toESM
37
+ };
38
+ //# sourceMappingURL=chunk-7D4SUZUM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}