@loke/http-rpc 5.7.0 → 5.9.0

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/common.d.ts CHANGED
@@ -2,6 +2,51 @@ import { JTDSchemaType } from "ajv/dist/jtd";
2
2
  import { Context } from "@loke/context";
3
3
  export declare const requestContexts: WeakMap<object, Context>;
4
4
  export type Method<A = any, R = any> = (args: A) => R;
5
+ /**
6
+ * Strict type equality check that distinguishes between structurally similar types.
7
+ * Returns true only if A and B are exactly the same type.
8
+ */
9
+ type StrictEquals<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
10
+ /**
11
+ * Checks if Member is strictly equal to any member of Union.
12
+ * Distributes over Union and returns true if any member matches, never otherwise.
13
+ */
14
+ type IsStrictUnionMember<Member, Union> = Union extends unknown ? StrictEquals<Member, Union> extends true ? true : never : never;
15
+ /**
16
+ * Returns true if Member is strictly equal to some member of Union.
17
+ */
18
+ type IsValidUnionRef<Member, Union> = true extends IsStrictUnionMember<Member, Union> ? true : false;
19
+ /**
20
+ * Type for defining union schemas using metadata.
21
+ * The refs must point to types in Defs that are strictly equal to a member of union type T.
22
+ * This uses strict type equality to prevent structurally compatible but semantically
23
+ * different types from being accepted.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * type OrderingConfigMeta = KountaMeta | ZonalMeta | PublicApiMeta;
28
+ *
29
+ * // In definitions:
30
+ * OrderingConfigMeta: {
31
+ * metadata: {
32
+ * union: [
33
+ * { ref: "KountaMeta" },
34
+ * { ref: "PublicApiMeta" },
35
+ * { ref: "ZonalMeta" },
36
+ * ],
37
+ * },
38
+ * }
39
+ * ```
40
+ */
41
+ export type UnionSchemaType<T, Defs extends Record<string, unknown>> = {
42
+ metadata: {
43
+ union: Array<{
44
+ ref: {
45
+ [K in keyof Defs & string]: IsValidUnionRef<Defs[K], T> extends true ? K : never;
46
+ }[keyof Defs & string];
47
+ }>;
48
+ };
49
+ };
5
50
  export type ContextMethod<A = any, R = any> = (ctx: Context, args: A) => R;
6
51
  export interface MethodDetails {
7
52
  methodName: string;
@@ -18,7 +63,7 @@ Def extends Record<string, unknown> = Record<string, never>> {
18
63
  help?: string;
19
64
  path?: string;
20
65
  definitions?: {
21
- [K in keyof Def]: JTDSchemaType<Def[K], Def>;
66
+ [K in keyof Def]: JTDSchemaType<Def[K], Def> | UnionSchemaType<Def[K], Def>;
22
67
  };
23
68
  }
24
69
  export interface Service {
@@ -31,3 +76,4 @@ export interface ServiceSet<S extends Service> {
31
76
  implementation: S;
32
77
  meta: ServiceDetails<S, any>;
33
78
  }
79
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { RequestHandler, ErrorRequestHandler } from "express";
2
2
  import { ServiceSet } from "./common";
3
- export { ServiceSet, ServiceDetails, MethodDetails, Service, Method, ContextMethod, ContextService, } from "./common";
3
+ export { ServiceSet, ServiceDetails, MethodDetails, Service, Method, ContextMethod, ContextService, UnionSchemaType, } from "./common";
4
4
  export { serviceWithSchema, contextServiceWithSchema, ContextMethods, voidSchema, VoidSchema, } from "./schema";
5
5
  declare class ExtendableError extends Error {
6
6
  constructor(message: string);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { JTDSchemaType } from "ajv/dist/jtd";
2
- import { ServiceSet, Service, ContextService } from "./common";
2
+ import { ServiceSet, Service, ContextService, UnionSchemaType } from "./common";
3
3
  export declare const voidSchema: {
4
4
  readonly metadata: {
5
5
  readonly void: true;
@@ -24,7 +24,7 @@ interface Logger {
24
24
  export declare function contextServiceWithSchema<S extends ContextService, Def extends Record<string, unknown> = Record<string, never>>(service: S, serviceMeta: {
25
25
  name: string;
26
26
  definitions?: {
27
- [K in keyof Def]: JTDSchemaType<Def[K], Def>;
27
+ [K in keyof Def]: JTDSchemaType<Def[K], Def> | UnionSchemaType<Def[K], Def>;
28
28
  };
29
29
  methods: ContextMethods<S, Def>;
30
30
  logger: Logger;
@@ -33,7 +33,7 @@ export declare function contextServiceWithSchema<S extends ContextService, Def e
33
33
  export declare function serviceWithSchema<S extends Service, Def extends Record<string, unknown> = Record<string, never>>(service: S, serviceMeta: {
34
34
  name: string;
35
35
  definitions?: {
36
- [K in keyof Def]: JTDSchemaType<Def[K], Def>;
36
+ [K in keyof Def]: JTDSchemaType<Def[K], Def> | UnionSchemaType<Def[K], Def>;
37
37
  };
38
38
  methods: Methods<S, Def>;
39
39
  logger: Logger;
package/dist/schema.js CHANGED
@@ -99,7 +99,7 @@ function serviceWithSchema(service, serviceMeta) {
99
99
  if (err) {
100
100
  params.instancePath = err.instancePath;
101
101
  params.schemaPath = err.schemaPath;
102
- msg = errorMessage(err);
102
+ msg = errorMessage(err, args);
103
103
  }
104
104
  }
105
105
  throw new ValidationError(msg, params);
@@ -116,7 +116,7 @@ function serviceWithSchema(service, serviceMeta) {
116
116
  if (err) {
117
117
  params.instancePath = err.instancePath;
118
118
  params.schemaPath = err.schemaPath;
119
- msg = errorMessage(err);
119
+ msg = errorMessage(err, result);
120
120
  }
121
121
  }
122
122
  throw new ResponseValidationError(msg, params);
@@ -135,12 +135,37 @@ function serviceWithSchema(service, serviceMeta) {
135
135
  }
136
136
  // errorMessage formats an error message from an AJV JTD error object
137
137
  // example
138
- // { message : "should be string", instancePath : "/user/name" }
138
+ // { message : "must be string", instancePath : "/user/name" }
139
139
  // becomes
140
- // "user.name should be string"
141
- function errorMessage(err) {
140
+ // "user.name must be string, received number"
141
+ function errorMessage(err, data) {
142
+ let received = "";
143
+ if (data !== undefined && err.instancePath) {
144
+ const parts = err.instancePath.slice(1).split("/");
145
+ let current = data;
146
+ for (const part of parts) {
147
+ if (current === null || typeof current !== "object") {
148
+ current = undefined;
149
+ break;
150
+ }
151
+ current = current[part];
152
+ }
153
+ if (current !== undefined) {
154
+ const t = Array.isArray(current)
155
+ ? "array"
156
+ : current === null
157
+ ? "null"
158
+ : typeof current;
159
+ // Show the actual value for non-string primitives (numbers, booleans).
160
+ // For strings, objects, and arrays only show the type to avoid logging PII.
161
+ const detail = t === "number" || t === "boolean" ? String(current) : t;
162
+ received = `, received ${detail}`;
163
+ }
164
+ }
142
165
  return ((err.instancePath
143
- ? err.instancePath.slice(1).replace(/\//g, ".") + " "
144
- : "") + err.message);
166
+ ? `${err.instancePath.slice(1).replace(/\//g, ".")} `
167
+ : "") +
168
+ err.message +
169
+ received);
145
170
  }
146
171
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"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"}
@@ -181,13 +181,39 @@ function createServerAddress(app, t) {
181
181
  })
182
182
  .json());
183
183
  t.deepEqual(JSON.parse(err.response.body), {
184
- message: "user.name must be string",
184
+ message: "user.name must be string, received 1",
185
185
  code: "validation",
186
186
  type: "https://errors.loke.global/@loke/http-rpc/validation",
187
187
  instancePath: "/user/name",
188
188
  schemaPath: "/definitions/User/properties/name/type",
189
189
  });
190
190
  }
191
+ // null leaf value should report received null
192
+ {
193
+ const err = await t.throwsAsync(() => got_1.default
194
+ .post(`${serverAddress}/rpc/service1/bar`, {
195
+ json: { message: "c", user: { name: null } },
196
+ })
197
+ .json());
198
+ t.deepEqual(JSON.parse(err.response.body), {
199
+ message: "user.name must be string, received null",
200
+ code: "validation",
201
+ type: "https://errors.loke.global/@loke/http-rpc/validation",
202
+ instancePath: "/user/name",
203
+ schemaPath: "/definitions/User/properties/name/type",
204
+ });
205
+ }
206
+ // null parent object should report received null
207
+ {
208
+ const err = await t.throwsAsync(() => got_1.default
209
+ .post(`${serverAddress}/rpc/service1/bar`, {
210
+ json: { message: "c", user: null },
211
+ })
212
+ .json());
213
+ const body = JSON.parse(err.response.body);
214
+ t.is(body.code, "validation");
215
+ t.regex(body.message, /received null/);
216
+ }
191
217
  // Methods with invalid void should fail
192
218
  {
193
219
  const err = await t.throwsAsync(() => got_1.default
@@ -279,4 +305,310 @@ function createServerAddress(app, t) {
279
305
  t.is(lastDeadline, deadline.getTime());
280
306
  t.deepEqual(body, { name: "1" });
281
307
  });
308
+ (0, ava_1.default)("should validate union types correctly", async (t) => {
309
+ const app = (0, express_1.default)();
310
+ const service = {
311
+ updateConfig: async (args) => {
312
+ return { success: true, configType: args.config.type };
313
+ },
314
+ };
315
+ app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([
316
+ (0, __1.serviceWithSchema)(service, {
317
+ name: "configService",
318
+ methods: {
319
+ updateConfig: {
320
+ requestTypeDef: {
321
+ properties: {
322
+ config: {
323
+ discriminator: "type",
324
+ mapping: {
325
+ kounta: {
326
+ properties: {
327
+ apiKey: { type: "string" },
328
+ },
329
+ },
330
+ zonal: {
331
+ properties: {
332
+ token: { type: "string" },
333
+ },
334
+ },
335
+ publicApi: {
336
+ properties: {
337
+ clientId: { type: "string" },
338
+ },
339
+ },
340
+ },
341
+ },
342
+ },
343
+ },
344
+ responseTypeDef: {
345
+ properties: {
346
+ success: { type: "boolean" },
347
+ configType: { type: "string" },
348
+ },
349
+ },
350
+ },
351
+ },
352
+ logger: { error: t.log },
353
+ }),
354
+ ]), (0, __1.createErrorHandler)());
355
+ const serverAddress = createServerAddress(app, t);
356
+ // Valid KountaMeta should work
357
+ {
358
+ const body = await got_1.default
359
+ .post(`${serverAddress}/rpc/configService/updateConfig`, {
360
+ json: { config: { type: "kounta", apiKey: "test-key-123" } },
361
+ })
362
+ .json();
363
+ t.deepEqual(body, { success: true, configType: "kounta" });
364
+ }
365
+ // Valid ZonalMeta should work
366
+ {
367
+ const body = await got_1.default
368
+ .post(`${serverAddress}/rpc/configService/updateConfig`, {
369
+ json: { config: { type: "zonal", token: "test-token-456" } },
370
+ })
371
+ .json();
372
+ t.deepEqual(body, { success: true, configType: "zonal" });
373
+ }
374
+ // Valid PublicApiMeta should work
375
+ {
376
+ const body = await got_1.default
377
+ .post(`${serverAddress}/rpc/configService/updateConfig`, {
378
+ json: { config: { type: "publicApi", clientId: "client-789" } },
379
+ })
380
+ .json();
381
+ t.deepEqual(body, { success: true, configType: "publicApi" });
382
+ }
383
+ // Invalid type not in union should fail
384
+ {
385
+ const err = await t.throwsAsync(() => got_1.default
386
+ .post(`${serverAddress}/rpc/configService/updateConfig`, {
387
+ json: { config: { type: "invalid", someField: "value" } },
388
+ })
389
+ .json());
390
+ const errorBody = JSON.parse(err.response.body);
391
+ t.is(errorBody.code, "validation");
392
+ t.is(errorBody.type, "https://errors.loke.global/@loke/http-rpc/validation");
393
+ }
394
+ // Missing required field for union member should fail
395
+ {
396
+ const err = await t.throwsAsync(() => got_1.default
397
+ .post(`${serverAddress}/rpc/configService/updateConfig`, {
398
+ json: { config: { type: "kounta" } }, // missing apiKey
399
+ })
400
+ .json());
401
+ const errorBody = JSON.parse(err.response.body);
402
+ t.is(errorBody.code, "validation");
403
+ t.is(errorBody.type, "https://errors.loke.global/@loke/http-rpc/validation");
404
+ }
405
+ // Wrong type for required field should fail
406
+ {
407
+ const err = await t.throwsAsync(() => got_1.default
408
+ .post(`${serverAddress}/rpc/configService/updateConfig`, {
409
+ json: { config: { type: "zonal", token: 123 } }, // token should be string
410
+ })
411
+ .json());
412
+ const errorBody = JSON.parse(err.response.body);
413
+ t.is(errorBody.code, "validation");
414
+ t.is(errorBody.type, "https://errors.loke.global/@loke/http-rpc/validation");
415
+ }
416
+ });
417
+ (0, ava_1.default)("should validate non-discriminated union types correctly", async (t) => {
418
+ const app = (0, express_1.default)();
419
+ const service = {
420
+ makeRequest: async (args) => {
421
+ if (args.input === "success") {
422
+ return { status: "success", data: "result" };
423
+ }
424
+ else if (args.input === "error") {
425
+ return { status: "error", errorCode: 500, message: "failed" };
426
+ }
427
+ else {
428
+ return { status: "warning", warningLevel: 1 };
429
+ }
430
+ },
431
+ };
432
+ app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([
433
+ (0, __1.serviceWithSchema)(service, {
434
+ name: "apiService",
435
+ definitions: {
436
+ SuccessResponse: {
437
+ properties: {
438
+ status: { enum: ["success"] },
439
+ data: { type: "string" },
440
+ },
441
+ },
442
+ ErrorResponse: {
443
+ properties: {
444
+ status: { enum: ["error"] },
445
+ errorCode: { type: "int32" },
446
+ message: { type: "string" },
447
+ },
448
+ },
449
+ WarningResponse: {
450
+ properties: {
451
+ status: { enum: ["warning"] },
452
+ warningLevel: { type: "int32" },
453
+ },
454
+ },
455
+ ApiResponse: {
456
+ metadata: {
457
+ union: [
458
+ { ref: "SuccessResponse" },
459
+ { ref: "ErrorResponse" },
460
+ { ref: "WarningResponse" },
461
+ ],
462
+ },
463
+ },
464
+ },
465
+ methods: {
466
+ makeRequest: {
467
+ requestTypeDef: {
468
+ properties: {
469
+ input: { type: "string" },
470
+ },
471
+ },
472
+ responseTypeDef: { ref: "ApiResponse" },
473
+ },
474
+ },
475
+ logger: { error: t.log },
476
+ }),
477
+ ]), (0, __1.createErrorHandler)());
478
+ const serverAddress = createServerAddress(app, t);
479
+ // Valid SuccessResponse should work
480
+ {
481
+ const body = await got_1.default
482
+ .post(`${serverAddress}/rpc/apiService/makeRequest`, {
483
+ json: { input: "success" },
484
+ })
485
+ .json();
486
+ t.deepEqual(body, { status: "success", data: "result" });
487
+ }
488
+ // Valid ErrorResponse should work
489
+ {
490
+ const body = await got_1.default
491
+ .post(`${serverAddress}/rpc/apiService/makeRequest`, {
492
+ json: { input: "error" },
493
+ })
494
+ .json();
495
+ t.deepEqual(body, {
496
+ status: "error",
497
+ errorCode: 500,
498
+ message: "failed",
499
+ });
500
+ }
501
+ // Valid WarningResponse should work
502
+ {
503
+ const body = await got_1.default
504
+ .post(`${serverAddress}/rpc/apiService/makeRequest`, {
505
+ json: { input: "warning" },
506
+ })
507
+ .json();
508
+ t.deepEqual(body, { status: "warning", warningLevel: 1 });
509
+ }
510
+ });
511
+ (0, ava_1.default)("should throw validation errors for invalid non-discriminated union types", async (t) => {
512
+ const app = (0, express_1.default)();
513
+ const service = {
514
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- This is a mock
515
+ updateValue: async (args) => {
516
+ return { success: true };
517
+ },
518
+ };
519
+ app.use("/rpc", body_parser_1.default.json(), inspect, (0, __1.createRequestHandler)([
520
+ (0, __1.serviceWithSchema)(service, {
521
+ name: "configService",
522
+ definitions: {
523
+ StringValue: {
524
+ properties: {
525
+ type: { enum: ["string"] },
526
+ value: { type: "string" },
527
+ },
528
+ },
529
+ NumberValue: {
530
+ properties: {
531
+ type: { enum: ["number"] },
532
+ value: { type: "float64" },
533
+ },
534
+ },
535
+ BooleanValue: {
536
+ properties: {
537
+ type: { enum: ["boolean"] },
538
+ value: { type: "boolean" },
539
+ },
540
+ },
541
+ ConfigValue: {
542
+ metadata: {
543
+ union: [
544
+ { ref: "StringValue" },
545
+ { ref: "NumberValue" },
546
+ { ref: "BooleanValue" },
547
+ ],
548
+ },
549
+ },
550
+ },
551
+ methods: {
552
+ updateValue: {
553
+ requestTypeDef: {
554
+ properties: {
555
+ config: { ref: "ConfigValue" },
556
+ },
557
+ },
558
+ responseTypeDef: {
559
+ properties: {
560
+ success: { type: "boolean" },
561
+ },
562
+ },
563
+ },
564
+ },
565
+ logger: { error: t.log },
566
+ }),
567
+ ]), (0, __1.createErrorHandler)());
568
+ const serverAddress = createServerAddress(app, t);
569
+ // Invalid: type not in union should fail
570
+ {
571
+ const err = await t.throwsAsync(() => got_1.default
572
+ .post(`${serverAddress}/rpc/configService/updateValue`, {
573
+ json: { config: { type: "invalid", value: "test" } },
574
+ })
575
+ .json());
576
+ const errorBody = JSON.parse(err.response.body);
577
+ t.is(errorBody.code, "validation");
578
+ t.is(errorBody.type, "https://errors.loke.global/@loke/http-rpc/validation");
579
+ }
580
+ // Invalid: wrong value type for StringValue should fail
581
+ {
582
+ const err = await t.throwsAsync(() => got_1.default
583
+ .post(`${serverAddress}/rpc/configService/updateValue`, {
584
+ json: { config: { type: "string", value: 123 } }, // value should be string
585
+ })
586
+ .json());
587
+ const errorBody = JSON.parse(err.response.body);
588
+ t.is(errorBody.code, "validation");
589
+ t.is(errorBody.type, "https://errors.loke.global/@loke/http-rpc/validation");
590
+ }
591
+ // Invalid: wrong value type for NumberValue should fail
592
+ {
593
+ const err = await t.throwsAsync(() => got_1.default
594
+ .post(`${serverAddress}/rpc/configService/updateValue`, {
595
+ json: { config: { type: "number", value: "not a number" } },
596
+ })
597
+ .json());
598
+ const errorBody = JSON.parse(err.response.body);
599
+ t.is(errorBody.code, "validation");
600
+ t.is(errorBody.type, "https://errors.loke.global/@loke/http-rpc/validation");
601
+ }
602
+ // Invalid: missing required field should fail
603
+ {
604
+ const err = await t.throwsAsync(() => got_1.default
605
+ .post(`${serverAddress}/rpc/configService/updateValue`, {
606
+ json: { config: { type: "boolean" } }, // missing value field
607
+ })
608
+ .json());
609
+ const errorBody = JSON.parse(err.response.body);
610
+ t.is(errorBody.code, "validation");
611
+ t.is(errorBody.type, "https://errors.loke.global/@loke/http-rpc/validation");
612
+ }
613
+ });
282
614
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../test/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../test/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loke/http-rpc",
3
- "version": "5.7.0",
3
+ "version": "5.9.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -10,11 +10,15 @@
10
10
  "scripts": {
11
11
  "fix": "eslint . --fix && prettier --write .",
12
12
  "lint": "eslint . && prettier --check .",
13
+ "format": "prettier --write .",
13
14
  "test": "ava -v",
14
15
  "prepare": "npm run build",
15
16
  "build": "rm -rf ./dist && tsc"
16
17
  },
17
18
  "author": "Dominic Smith",
19
+ "repository": {
20
+ "url": "https://github.com/LOKE/loke-http-rpc"
21
+ },
18
22
  "ava": {
19
23
  "files": [
20
24
  "test/**/*"