@loke/http-rpc 5.1.0-beta.4 → 5.1.0-beta.5

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/README.md CHANGED
@@ -140,6 +140,7 @@ type Defs = { Thing: Thing };
140
140
  // type Service = {}
141
141
  const myRpcService = serviceWithSchema<typeof myService, Defs>(myService, {
142
142
  name: "my-service",
143
+ logger: console,
143
144
  // Record<string, JTD>
144
145
  definitions: {
145
146
  Thing: {
package/dist/schema.js CHANGED
@@ -39,12 +39,24 @@ function serviceWithSchema(service, serviceMeta) {
39
39
  };
40
40
  const { logger, strictResponseValidation = process.env.NODE_ENV !== "production", } = serviceMeta;
41
41
  for (const [methodName, methodMeta] of Object.entries(serviceMeta.methods)) {
42
- const requestSchema = ajv.compile(Object.assign({ definitions: serviceMeta === null || serviceMeta === void 0 ? void 0 : serviceMeta.definitions,
43
- // Be liberal in what we accept, but let the consumer service force strict
44
- // if needed
45
- // https://en.wikipedia.org/wiki/Robustness_principle
46
- additionalProperties: true }, methodMeta === null || methodMeta === void 0 ? void 0 : methodMeta.requestTypeDef));
47
- const responseSchema = ajv.compile(Object.assign({ definitions: serviceMeta === null || serviceMeta === void 0 ? void 0 : serviceMeta.definitions }, methodMeta === null || methodMeta === void 0 ? void 0 : methodMeta.responseTypeDef));
42
+ let requestSchema;
43
+ try {
44
+ requestSchema = ajv.compile(Object.assign({ definitions: serviceMeta === null || serviceMeta === void 0 ? void 0 : serviceMeta.definitions,
45
+ // Be liberal in what we accept, but let the consumer service force strict
46
+ // if needed
47
+ // https://en.wikipedia.org/wiki/Robustness_principle
48
+ additionalProperties: true }, methodMeta === null || methodMeta === void 0 ? void 0 : methodMeta.requestTypeDef));
49
+ }
50
+ catch (err) {
51
+ throw new Error(`failed to compile "${methodName}" request schema: ${err.message}`);
52
+ }
53
+ let responseSchema;
54
+ try {
55
+ responseSchema = ajv.compile(Object.assign({ definitions: serviceMeta === null || serviceMeta === void 0 ? void 0 : serviceMeta.definitions }, methodMeta === null || methodMeta === void 0 ? void 0 : methodMeta.responseTypeDef));
56
+ }
57
+ catch (err) {
58
+ throw new Error(`failed to compile "${methodName}" response schema: ${err.message}`);
59
+ }
48
60
  serviceDetails.expose.push({
49
61
  methodName,
50
62
  methodTimeout: methodMeta.methodTimeout,
@@ -98,6 +110,11 @@ function serviceWithSchema(service, serviceMeta) {
98
110
  };
99
111
  }
100
112
  exports.serviceWithSchema = serviceWithSchema;
113
+ // errorMessage formats an error message from an AJV JTD error object
114
+ // example
115
+ // { message : "should be string", instancePath : "/user/name" }
116
+ // becomes
117
+ // "user.name should be string"
101
118
  function errorMessage(err) {
102
119
  return ((err.instancePath
103
120
  ? err.instancePath.slice(1).replace(/\//g, ".") + " "
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+D;AAQ/D,MAAM,eAAgB,SAAQ,KAAK;IAMjC,YAAY,OAAe,EAAE,MAA6B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,sDAAsD,CAAC;QACnE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,uBAAwB,SAAQ,KAAK;IAMzC,YAAY,OAAe,EAAE,MAA6B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,+DAA+D,CAAC;QAC5E,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AA4BD,SAAgB,iBAAiB,CAI/B,OAAU,EACV,WAQC;IAED,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAC;IAEtB,MAAM,cAAc,GAEhB,EAAE,CAAC;IAEP,MAAM,cAAc,GAA2B;QAC7C,OAAO,EAAE,WAAW,CAAC,IAAI;QACzB,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW;QACrC,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,MAAM,EACJ,MAAM,EACN,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GACjE,GAAG,WAAW,CAAC;IAEhB,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;QAC1E,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,iBAC/B,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW;YACrC,0EAA0E;YAC1E,YAAY;YACZ,qDAAqD;YACrD,oBAAoB,EAAE,IAAI,IACvB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,cAAc,EAC7B,CAAC;QAEH,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,iBAChC,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,IAClC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,eAAe,EAC9B,CAAC;QAEH,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;YACzB,UAAU;YACV,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,eAAe,EAAE,UAAU,CAAC,eAAe;SAC5C,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;YACnD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;gBACpC,IAAI,GAAG,GAAG,iCAAiC,CAAC;gBAE5C,MAAM,MAAM,GAA0B,EAAE,CAAC;gBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACzB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;wBACvC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;wBACnC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;qBACzB;iBACF;gBAED,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aACxC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;gBAErC,IAAI,wBAAwB,EAAE;oBAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;oBACpC,IAAI,GAAG,GAAG,kCAAkC,CAAC;oBAE7C,MAAM,MAAM,GAA0B,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBACzB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACtB,IAAI,GAAG,EAAE;4BACP,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;4BACvC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;4BACnC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;yBACzB;qBACF;oBAED,MAAM,IAAI,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;iBAChD;qBAAM;oBACL,MAAM,CAAC,KAAK,CACV,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACnE,CAAC;iBACH;aACF;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;KACH;IAED,OAAO;QACL,cAAc;QACd,IAAI,EAAE,cAAc;KACrB,CAAC;AACJ,CAAC;AA9GD,8CA8GC;AAED,SAAS,YAAY,CAAC,GAAgB;IACpC,OAAO,CACL,CAAC,GAAG,CAAC,YAAY;QACf,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG;QACrD,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../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.1.0-beta.4",
3
+ "version": "5.1.0-beta.5",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",