@open-rpc/typings 1.12.4 → 1.13.1
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/build/cli.js +1 -0
- package/build/generate-typings-file.d.ts +1 -1
- package/build/generator-interface.d.ts +1 -1
- package/build/go.js +5 -2
- package/build/index.d.ts +2 -1
- package/build/index.js +30 -2
- package/build/openrpc.fixture.d.ts +1 -1
- package/build/python.js +3 -3
- package/build/rust.js +6 -3
- package/build/types.d.ts +5 -0
- package/build/types.js +2 -0
- package/build/typescript.js +7 -4
- package/build/utils.d.ts +1 -1
- package/build/utils.js +1 -1
- package/package.json +8 -5
package/build/cli.js
CHANGED
|
@@ -43,6 +43,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
43
43
|
var commander_1 = __importDefault(require("commander"));
|
|
44
44
|
var schema_utils_js_1 = require("@open-rpc/schema-utils-js");
|
|
45
45
|
var generate_typings_file_1 = require("./generate-typings-file");
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
46
47
|
var version = require("../package.json").version; // tslint:disable-line
|
|
47
48
|
function makeOptions(fileName, dirName, lang) {
|
|
48
49
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OpenrpcDocument as OpenRPC, MethodObject } from "
|
|
1
|
+
import { OpenrpcDocument as OpenRPC, MethodObject } from "./types";
|
|
2
2
|
export type GetMethodTypings = (openrpcSchema: OpenRPC) => string;
|
|
3
3
|
export type GetParamsTypings = (openrpcSchema: OpenRPC) => string;
|
|
4
4
|
export type GetParamsTyping = (method: MethodObject, joinString?: string) => string;
|
package/build/go.js
CHANGED
|
@@ -27,10 +27,13 @@ var getParamsTyping = function (method) {
|
|
|
27
27
|
};
|
|
28
28
|
var getMethodTyping = function (method) {
|
|
29
29
|
var mResult = method.result;
|
|
30
|
-
var mutableSchema = (mResult.schema === true || mResult.schema === false) ? mResult.schema : __assign({}, mResult.schema);
|
|
31
|
-
var resultName = (0, utils_1.languageSafeName)((0, utils_1.getTitle)((0, titleizer_1.default)(mutableSchema)));
|
|
32
30
|
var methodAliasName = (0, exports.getMethodAliasName)(method);
|
|
33
31
|
var params = getParamsTyping(method);
|
|
32
|
+
if (mResult === undefined) {
|
|
33
|
+
return "\t".concat(methodAliasName, "(").concat(params, ") error");
|
|
34
|
+
}
|
|
35
|
+
var mutableSchema = (mResult.schema === true || mResult.schema === false) ? mResult.schema : __assign({}, mResult.schema);
|
|
36
|
+
var resultName = (0, utils_1.languageSafeName)((0, utils_1.getTitle)((0, titleizer_1.default)(mutableSchema)));
|
|
34
37
|
return "\t".concat(methodAliasName, "(").concat(params, ") (").concat(resultName, ", error)");
|
|
35
38
|
};
|
|
36
39
|
var getMethodTypings = function (openrpcDocument) {
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OpenrpcDocument as OpenRPC, MethodObject } from "
|
|
1
|
+
import { OpenrpcDocument as OpenRPC, MethodObject } from "./types";
|
|
2
2
|
export type OpenRPCTypingsSupportedLanguages = "rust" | "rs" | "typescript" | "ts" | "go" | "golang" | "py" | "python";
|
|
3
3
|
interface OpenRPCTypings {
|
|
4
4
|
schemas: string;
|
|
@@ -45,6 +45,7 @@ export default class MethodTypings {
|
|
|
45
45
|
getMethodTypings(language: OpenRPCTypingsSupportedLanguages): string;
|
|
46
46
|
getParamsTypings(language: OpenRPCTypingsSupportedLanguages): string;
|
|
47
47
|
getParamsTyping(language: OpenRPCTypingsSupportedLanguages, method: MethodObject, joinString: string): string;
|
|
48
|
+
getEmptyResultType(language: OpenRPCTypingsSupportedLanguages): string;
|
|
48
49
|
getTypingNames(language: OpenRPCTypingsSupportedLanguages, method: MethodObject): OpenRPCMethodTypingNames;
|
|
49
50
|
/**
|
|
50
51
|
* A configurable way to output the typings into a string.
|
package/build/index.js
CHANGED
|
@@ -17,6 +17,16 @@ var generators = {
|
|
|
17
17
|
rust: rust_1.default,
|
|
18
18
|
typescript: typescript_1.default,
|
|
19
19
|
};
|
|
20
|
+
var languageAliases = {
|
|
21
|
+
"ts": "typescript",
|
|
22
|
+
"rs": "rust",
|
|
23
|
+
"golang": "go",
|
|
24
|
+
"py": "python",
|
|
25
|
+
"rust": "rust",
|
|
26
|
+
"typescript": "typescript",
|
|
27
|
+
"go": "go",
|
|
28
|
+
"python": "python",
|
|
29
|
+
};
|
|
20
30
|
/**
|
|
21
31
|
* A class to handle all the tasks relating to types for the OpenRPC Document.
|
|
22
32
|
*/
|
|
@@ -59,8 +69,26 @@ var MethodTypings = /** @class */ (function () {
|
|
|
59
69
|
MethodTypings.prototype.getParamsTyping = function (language, method, joinString) {
|
|
60
70
|
return generators[language].getParamsTyping(method, joinString);
|
|
61
71
|
};
|
|
72
|
+
MethodTypings.prototype.getEmptyResultType = function (language) {
|
|
73
|
+
var standardizedLanguage = languageAliases[language];
|
|
74
|
+
switch (standardizedLanguage) {
|
|
75
|
+
case "typescript":
|
|
76
|
+
return "Promise<void>";
|
|
77
|
+
case "rust":
|
|
78
|
+
return "RpcRequest<void>";
|
|
79
|
+
case "go":
|
|
80
|
+
return "void";
|
|
81
|
+
case "python":
|
|
82
|
+
return "None";
|
|
83
|
+
/* istanbul ignore next */
|
|
84
|
+
default:
|
|
85
|
+
/* istanbul ignore next */
|
|
86
|
+
throw new Error("Cannot resolve empty result type for unknown language: ".concat(language));
|
|
87
|
+
}
|
|
88
|
+
};
|
|
62
89
|
MethodTypings.prototype.getTypingNames = function (language, method) {
|
|
63
|
-
var
|
|
90
|
+
var standardizedLanguage = languageAliases[language];
|
|
91
|
+
var gen = generators[standardizedLanguage];
|
|
64
92
|
var defaultedMethod = this.openrpcDocument.methods.find(function (_a) {
|
|
65
93
|
var name = _a.name;
|
|
66
94
|
return name === method.name;
|
|
@@ -73,7 +101,7 @@ var MethodTypings = /** @class */ (function () {
|
|
|
73
101
|
var schema = _a.schema;
|
|
74
102
|
return (0, utils_2.languageSafeName)((0, utils_2.getTitle)((0, titleizer_1.default)(schema)));
|
|
75
103
|
}),
|
|
76
|
-
result: (0, utils_2.languageSafeName)((0, utils_2.getTitle)((0, titleizer_1.default)(methodResult.schema))),
|
|
104
|
+
result: methodResult ? (0, utils_2.languageSafeName)((0, utils_2.getTitle)((0, titleizer_1.default)(methodResult.schema))) : this.getEmptyResultType(standardizedLanguage),
|
|
77
105
|
};
|
|
78
106
|
};
|
|
79
107
|
/**
|
package/build/python.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getParamsTypings = exports.getParamsTyping = exports.getMethodAliasName = exports.getMethodTypings = void 0;
|
|
4
4
|
var utils_1 = require("@json-schema-tools/transpiler/build/utils");
|
|
5
|
-
var getMethodTyping = function (
|
|
5
|
+
var getMethodTyping = function (_method) {
|
|
6
6
|
return "";
|
|
7
7
|
};
|
|
8
8
|
var getMethodTypings = function (openrpcDocument) {
|
|
@@ -15,11 +15,11 @@ var getMethodAliasName = function (method) {
|
|
|
15
15
|
return (0, utils_1.languageSafeName)(method.name);
|
|
16
16
|
};
|
|
17
17
|
exports.getMethodAliasName = getMethodAliasName;
|
|
18
|
-
var getParamsTyping = function (
|
|
18
|
+
var getParamsTyping = function (_method) {
|
|
19
19
|
return "";
|
|
20
20
|
};
|
|
21
21
|
exports.getParamsTyping = getParamsTyping;
|
|
22
|
-
var getParamsTypings = function (
|
|
22
|
+
var getParamsTypings = function (_method) {
|
|
23
23
|
return "";
|
|
24
24
|
};
|
|
25
25
|
exports.getParamsTypings = getParamsTypings;
|
package/build/rust.js
CHANGED
|
@@ -27,9 +27,12 @@ var getParamsTyping = function (method) {
|
|
|
27
27
|
};
|
|
28
28
|
var getMethodTyping = function (method) {
|
|
29
29
|
var mResult = method.result;
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
var result = "RpcRequest<void>";
|
|
31
|
+
if (mResult !== undefined) {
|
|
32
|
+
var mutableSchema = (mResult.schema === true || mResult.schema === false) ? mResult.schema : __assign({}, mResult.schema);
|
|
33
|
+
var resultName = (0, utils_1.getTitle)((0, titleizer_1.default)(mutableSchema));
|
|
34
|
+
result = "RpcRequest<".concat((0, utils_1.languageSafeName)(resultName), ">");
|
|
35
|
+
}
|
|
33
36
|
var methodAliasName = (0, exports.getMethodAliasName)(method);
|
|
34
37
|
var params = getParamsTyping(method);
|
|
35
38
|
var paramString = (params.length > 0) ? ", ".concat(params) : "";
|
package/build/types.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { V1_3, V1_4 } from "@open-rpc/spec-types";
|
|
2
|
+
export type OpenrpcDocument = V1_3.OpenrpcDocument | V1_4.OpenrpcDocument;
|
|
3
|
+
export type MethodObject = V1_3.MethodObject | V1_4.MethodObject;
|
|
4
|
+
export type JSONSchema = V1_3.JSONSchema | V1_4.JSONSchema;
|
|
5
|
+
export type ContentDescriptorObject = V1_3.ContentDescriptorObject | V1_4.ContentDescriptorObject;
|
package/build/types.js
ADDED
package/build/typescript.js
CHANGED
|
@@ -29,12 +29,15 @@ var getParamsTyping = function (method, joinString) {
|
|
|
29
29
|
return params;
|
|
30
30
|
};
|
|
31
31
|
var getMethodTyping = function (method) {
|
|
32
|
-
var result = method.result;
|
|
33
|
-
var mutableSchema = (result.schema === true || result.schema === false) ? result.schema : __assign({}, result.schema);
|
|
34
|
-
var resultName = (0, utils_1.getTitle)((0, titleizer_1.default)(mutableSchema));
|
|
35
|
-
var resultTypeName = "Promise<".concat((0, utils_1.languageSafeName)(resultName), ">");
|
|
36
32
|
var methodAliasName = (0, exports.getMethodAliasName)(method);
|
|
37
33
|
var params = getParamsTyping(method);
|
|
34
|
+
var result = method.result;
|
|
35
|
+
var resultTypeName = "Promise<void>";
|
|
36
|
+
if (result !== undefined) {
|
|
37
|
+
var mutableSchema = (result.schema === true || result.schema === false) ? result.schema : __assign({}, result.schema);
|
|
38
|
+
var resultName = (0, utils_1.getTitle)((0, titleizer_1.default)(mutableSchema));
|
|
39
|
+
resultTypeName = "Promise<".concat((0, utils_1.languageSafeName)(resultName), ">");
|
|
40
|
+
}
|
|
38
41
|
return "export type ".concat(methodAliasName, " = (").concat(params, ") => ").concat(resultTypeName, ";");
|
|
39
42
|
};
|
|
40
43
|
var getMethodTypings = function (openrpcDocument) {
|
package/build/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSONSchema, OpenrpcDocument } from "
|
|
1
|
+
import { JSONSchema, OpenrpcDocument } from "./types";
|
|
2
2
|
export declare const flatten: (arr: any[]) => any[];
|
|
3
3
|
export declare const getSchemasForOpenRPCDocument: (openrpcDocument: OpenrpcDocument) => JSONSchema[];
|
|
4
4
|
export declare const deepClone: (obj: any, hash?: WeakMap<object, any>) => any;
|
package/build/utils.js
CHANGED
|
@@ -36,7 +36,7 @@ exports.flatten = flatten;
|
|
|
36
36
|
var getSchemasForOpenRPCDocument = function (openrpcDocument) {
|
|
37
37
|
var methods = openrpcDocument.methods;
|
|
38
38
|
var params = (0, exports.flatten)(methods.map(function (method) { return method.params; }));
|
|
39
|
-
var result = methods.map(function (method) { return method.result; });
|
|
39
|
+
var result = methods.map(function (method) { return method.result; }).filter(function (result) { return result !== undefined; });
|
|
40
40
|
return params
|
|
41
41
|
.concat(result)
|
|
42
42
|
.map(function (_a) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-rpc/typings",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.13.1",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "build/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -31,19 +31,22 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@json-schema-tools/titleizer": "1.0.9",
|
|
33
33
|
"@json-schema-tools/transpiler": "^1.10.5",
|
|
34
|
-
"@open-rpc/schema-utils-js": "2.
|
|
34
|
+
"@open-rpc/schema-utils-js": "2.2.1",
|
|
35
35
|
"commander": "^6.0.0",
|
|
36
36
|
"fs-extra": "^10.0.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
+
"eslint": "^8.57.0",
|
|
40
|
+
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
41
|
+
"@typescript-eslint/parser": "^7.18.0",
|
|
39
42
|
"@open-rpc/examples": "1.7.2",
|
|
40
|
-
"@open-rpc/
|
|
43
|
+
"@open-rpc/spec-types": "0.0.2",
|
|
41
44
|
"@types/commander": "^2.12.2",
|
|
42
45
|
"@types/fs-extra": "^9.0.1",
|
|
43
46
|
"@types/jest": "^29.5.12",
|
|
44
47
|
"jest": "^29.1.2",
|
|
45
|
-
"ts-jest": "
|
|
48
|
+
"ts-jest": "29.4.6",
|
|
46
49
|
"typedoc": "0.25.13",
|
|
47
|
-
"typescript": "4.
|
|
50
|
+
"typescript": "5.4.5"
|
|
48
51
|
}
|
|
49
52
|
}
|