node-cnb 1.8.0 → 1.10.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/README.md +20 -17
- package/dist/index.js +25 -15
- package/dist/index.js.map +1 -1
- package/dist/paths.json +7777 -8178
- package/package.json +1 -1
- package/pathMethodMap.json +1 -1
- package/src/client.d.ts +1327 -743
- package/src/index.ts +27 -21
- package/src/types.d.ts +106 -12
- package/tsconfig.json +13 -16
package/README.md
CHANGED
|
@@ -17,30 +17,33 @@ npm install node-cnb
|
|
|
17
17
|
## 使用
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
-
import { getClient
|
|
20
|
+
import { getClient } from "node-cnb";
|
|
21
21
|
|
|
22
22
|
// 参数分别为 api url 和 访问令牌
|
|
23
|
-
const client = getClient(
|
|
24
|
-
|
|
25
|
-
client.users.pinnedRepos
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
const client = getClient("https://api.cnb.cool", "xxx");
|
|
24
|
+
|
|
25
|
+
client.users.pinnedRepos
|
|
26
|
+
.list({
|
|
27
|
+
username: "xxx",
|
|
28
|
+
})
|
|
29
|
+
.then((res) => {
|
|
30
|
+
console.log(res);
|
|
31
|
+
});
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
```javascript
|
|
34
|
-
const sdk = require(
|
|
35
|
+
const sdk = require("node-cnb");
|
|
35
36
|
|
|
36
37
|
// 参数分别为 api url 和 访问令牌
|
|
37
|
-
const client = sdk.getClient(
|
|
38
|
-
|
|
39
|
-
client.users.pinnedRepos
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
const client = sdk.getClient("https://api.cnb.cool", "xxx");
|
|
39
|
+
|
|
40
|
+
client.users.pinnedRepos
|
|
41
|
+
.list({
|
|
42
|
+
username: "xxx",
|
|
43
|
+
})
|
|
44
|
+
.then((res) => {
|
|
45
|
+
console.log(res);
|
|
46
|
+
});
|
|
44
47
|
```
|
|
45
48
|
|
|
46
49
|
## 方法路径
|
package/dist/index.js
CHANGED
|
@@ -8,18 +8,7 @@ var axios_1 = __importDefault(require("axios"));
|
|
|
8
8
|
var paths_json_1 = __importDefault(require("./paths.json"));
|
|
9
9
|
var callApi = function (baseUrl, token, methodPath, params) {
|
|
10
10
|
console.log("call", methodPath);
|
|
11
|
-
var
|
|
12
|
-
var requireParams = methodValue.parameters.filter(function (item) { return item.required; });
|
|
13
|
-
return requireParams.every(function (item) { return params[item.name] !== undefined; });
|
|
14
|
-
});
|
|
15
|
-
var methodValue = methodValues.length === 1
|
|
16
|
-
? methodValues[0]
|
|
17
|
-
: methodValues.filter(function (item) {
|
|
18
|
-
return item.parameters.some(function (item) { return item.required; });
|
|
19
|
-
})[0] ||
|
|
20
|
-
methodValues.filter(function (item) {
|
|
21
|
-
return item.parameters.every(function (item) { return !item.required; });
|
|
22
|
-
})[0];
|
|
11
|
+
var methodValue = paths_json_1.default[methodPath];
|
|
23
12
|
if (!methodValue) {
|
|
24
13
|
throw new Error("未能找出对应api路径");
|
|
25
14
|
}
|
|
@@ -56,7 +45,7 @@ var callApi = function (baseUrl, token, methodPath, params) {
|
|
|
56
45
|
}).then(function (res) { return res.data; });
|
|
57
46
|
};
|
|
58
47
|
var getClient = function (baseUrl, token) {
|
|
59
|
-
function
|
|
48
|
+
function getProxyForPath(path) {
|
|
60
49
|
var methodValue = paths_json_1.default[path];
|
|
61
50
|
if (methodValue) {
|
|
62
51
|
return function (params) { return callApi(baseUrl, token, path, params); };
|
|
@@ -64,15 +53,36 @@ var getClient = function (baseUrl, token) {
|
|
|
64
53
|
else {
|
|
65
54
|
return new Proxy({}, {
|
|
66
55
|
get: function (target, prop) {
|
|
67
|
-
return
|
|
56
|
+
return getProxyForPath(path + "." + String(prop));
|
|
68
57
|
},
|
|
69
58
|
});
|
|
70
59
|
}
|
|
71
60
|
}
|
|
61
|
+
function getProxyForTagMethod(tag) {
|
|
62
|
+
return new Proxy({}, {
|
|
63
|
+
get: function (target, method) {
|
|
64
|
+
var path = Object.keys(paths_json_1.default).find(function (path) {
|
|
65
|
+
var item = paths_json_1.default[path];
|
|
66
|
+
console.log("find method", item, tag, method);
|
|
67
|
+
return item.tags[0] === tag && item.operationId === method;
|
|
68
|
+
});
|
|
69
|
+
var methodValue = paths_json_1.default[path];
|
|
70
|
+
if (!methodValue) {
|
|
71
|
+
throw new Error("\u672A\u80FD\u627E\u5230\u5BF9\u5E94\u7684api\u8DEF\u5F84: ".concat(tag, " ").concat(String(method)));
|
|
72
|
+
}
|
|
73
|
+
return function (params) { return callApi(baseUrl, token, path, params); };
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
}
|
|
72
77
|
return new Proxy({}, {
|
|
73
78
|
get: function (target, prop) {
|
|
74
79
|
console.log("get prop", prop);
|
|
75
|
-
|
|
80
|
+
if (/^[A-Z]/.test(prop.charAt(0))) {
|
|
81
|
+
return getProxyForTagMethod(prop);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return getProxyForPath(String(prop));
|
|
85
|
+
}
|
|
76
86
|
},
|
|
77
87
|
});
|
|
78
88
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,4DAAiC;AAGjC,IAAM,OAAO,GAAG,UACd,OAAe,EACf,KAAa,EACb,UAAkB,EAClB,MAAW;IAEX,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChC,IAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|