@loke/http-rpc 5.1.0-beta.5 → 5.1.0-beta.6
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/schema.js +7 -8
- package/dist/schema.js.map +1 -1
- package/dist/test/schema.js +27 -0
- package/dist/test/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/schema.js
CHANGED
|
@@ -34,25 +34,24 @@ function serviceWithSchema(service, serviceMeta) {
|
|
|
34
34
|
const implementation = {};
|
|
35
35
|
const serviceDetails = {
|
|
36
36
|
service: serviceMeta.name,
|
|
37
|
-
definitions: serviceMeta
|
|
37
|
+
definitions: serviceMeta.definitions,
|
|
38
38
|
expose: [],
|
|
39
39
|
};
|
|
40
40
|
const { logger, strictResponseValidation = process.env.NODE_ENV !== "production", } = serviceMeta;
|
|
41
|
-
|
|
41
|
+
const methods = Object.entries(serviceMeta.methods);
|
|
42
|
+
for (const [methodName, methodMeta] of methods) {
|
|
42
43
|
let requestSchema;
|
|
43
44
|
try {
|
|
44
|
-
requestSchema = ajv.compile(Object.assign({ definitions: serviceMeta
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// https://en.wikipedia.org/wiki/Robustness_principle
|
|
48
|
-
additionalProperties: true }, methodMeta === null || methodMeta === void 0 ? void 0 : methodMeta.requestTypeDef));
|
|
45
|
+
requestSchema = ajv.compile(Object.assign(Object.assign({ definitions: serviceMeta.definitions }, ("properties" in (methodMeta.requestTypeDef || {})
|
|
46
|
+
? { additionalProperties: true }
|
|
47
|
+
: undefined)), methodMeta.requestTypeDef));
|
|
49
48
|
}
|
|
50
49
|
catch (err) {
|
|
51
50
|
throw new Error(`failed to compile "${methodName}" request schema: ${err.message}`);
|
|
52
51
|
}
|
|
53
52
|
let responseSchema;
|
|
54
53
|
try {
|
|
55
|
-
responseSchema = ajv.compile(Object.assign({ definitions: serviceMeta
|
|
54
|
+
responseSchema = ajv.compile(Object.assign({ definitions: serviceMeta.definitions }, methodMeta.responseTypeDef));
|
|
56
55
|
}
|
|
57
56
|
catch (err) {
|
|
58
57
|
throw new Error(`failed to compile "${methodName}" response schema: ${err.message}`);
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":";;;;;;AAAA,uDAIsB;AAQtB,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,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"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"}
|
package/dist/test/schema.js
CHANGED
|
@@ -39,6 +39,15 @@ function createServerAddress(app) {
|
|
|
39
39
|
async baz(x) {
|
|
40
40
|
return `success ${x.msg}`;
|
|
41
41
|
}
|
|
42
|
+
async refReq(x) {
|
|
43
|
+
throw new Error("for types only");
|
|
44
|
+
}
|
|
45
|
+
async noSchema() {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
async unlisted() {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
42
51
|
}
|
|
43
52
|
// interface Service2 {
|
|
44
53
|
// baz: (x: { msg: string; user?: User }) => Promise<string>;
|
|
@@ -95,6 +104,11 @@ function createServerAddress(app) {
|
|
|
95
104
|
},
|
|
96
105
|
responseTypeDef: { type: "string" },
|
|
97
106
|
},
|
|
107
|
+
refReq: {
|
|
108
|
+
requestTypeDef: { ref: "User" },
|
|
109
|
+
responseTypeDef: { ref: "User" },
|
|
110
|
+
},
|
|
111
|
+
noSchema: {},
|
|
98
112
|
},
|
|
99
113
|
logger: { error: t.log },
|
|
100
114
|
}),
|
|
@@ -106,6 +120,13 @@ function createServerAddress(app) {
|
|
|
106
120
|
})
|
|
107
121
|
.json();
|
|
108
122
|
t.deepEqual(body, { name: "1" });
|
|
123
|
+
// Methods with no schema should still work
|
|
124
|
+
await got_1.default
|
|
125
|
+
.post(`${serverAddress}/rpc/service2/noSchema`, {
|
|
126
|
+
json: {},
|
|
127
|
+
})
|
|
128
|
+
.json();
|
|
129
|
+
// Methods with invalid requests should fail
|
|
109
130
|
const err = await t.throwsAsync(() => got_1.default
|
|
110
131
|
.post(`${serverAddress}/rpc/service1/bar`, {
|
|
111
132
|
json: { message: "c", user: { name: 1 } },
|
|
@@ -118,5 +139,11 @@ function createServerAddress(app) {
|
|
|
118
139
|
instancePath: "/user/name",
|
|
119
140
|
schemaPath: "/definitions/User/properties/name/type",
|
|
120
141
|
});
|
|
142
|
+
// Unlisted methods should fail
|
|
143
|
+
await t.throwsAsync(() => got_1.default
|
|
144
|
+
.post(`${serverAddress}/rpc/service2/unlisted`, {
|
|
145
|
+
json: {},
|
|
146
|
+
})
|
|
147
|
+
.json());
|
|
121
148
|
});
|
|
122
149
|
//# sourceMappingURL=schema.js.map
|
package/dist/test/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../test/schema.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,gDAAwB;AACxB,sDAA2C;AAC3C,8DAAqC;AACrC,8CAAqC;AACrC,2BAA+D;AAC/D,sCAA8C;AAE9C,8DAA8D;AAC9D,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAgB,EAAE,EAAE;IACvD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,SAAS,mBAAmB,CAAC,GAAY;IACvC,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAEtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEjB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,OAAO,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,IAAA,aAAI,EAAC,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IAEtB,MAAM,cAAc,GAAG;QACrB,GAAG,EAAE,CAAC,CAAkB,EAAE,EAAE;YAC1B,OAAO,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG;QACf,GAAG,EAAE,KAAK,EAAE,CAA8C,EAAE,EAAE;YAC5D,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,CAAC;KACF,CAAC;IAEF,MAAM,WAAW;QACf,KAAK,CAAC,GAAG,CAAC,CAA+B;YACvC,OAAO,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;KACF;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../test/schema.ts"],"names":[],"mappings":"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"}
|