@com75271-assist/build-api 1.0.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.
@@ -0,0 +1,21 @@
1
+ import { Constant } from '@-assist/utils'
2
+
3
+ /**
4
+ * {{utils.feedEnumModel((description or '-').trim(), '\n * \t')}}
5
+ */
6
+ export enum {{name}} {
7
+ {%- for p in enumItems %}
8
+ /**
9
+ * {{p.description}}
10
+ */
11
+ {{p.name}} = '{{p.value}}',
12
+ {%- endfor %}
13
+ }
14
+
15
+ export const {{utils.upperUnderline(name)}}_CONST = new Constant(
16
+ {%- for p in enumItems %}
17
+ Constant.entry({{name}}.{{p.name}}, '{{p.description}}'),
18
+ {%- endfor %}
19
+ )
20
+
21
+ export default {{name}}
@@ -0,0 +1,12 @@
1
+ {%- for dependency in dependencies -%}
2
+ import {{dependency.aliasName or dependency.model.name}} from '{{dependency.package}}/{{dependency.model.fileName or dependency.model.name}}'
3
+ {% endfor %}
4
+
5
+ export default class {{name}}{{(genericity.replaceShowName if genericity) | safe}} {{(('extends ' + parentName + ' ') if parentName) | safe}}{
6
+ {%- for property in properties %}
7
+ /**
8
+ * {{utils.feedLine((property.description or '-').trim())}}
9
+ */
10
+ public {{property.name}}{{'!' if property.required else '?'}}: {{property.typeName | safe}}{{'[]' if property.isArray}}
11
+ {%- endfor %}
12
+ }
@@ -0,0 +1,43 @@
1
+ {{httpDependency | safe}}
2
+ {% for dependency in dependencies -%}
3
+ import {{dependency.model.name}} from '{{dependency.package}}/{{dependency.model.fileName or dependency.model.name}}'
4
+ {% endfor %}
5
+ export default class {{name}} {
6
+ {%- for api in apis %}
7
+ {% set params = 'data' if api.parameter.parameterInBody else 'params' -%}
8
+ {% set parameterName = api.parameter.name + ('[]' if (api.parameter.parent and api.parameter.parent.isArray)) -%}
9
+ {% set responseName = (api.response.genericityName or api.response.name) + ('[]' if api.response.isArray) -%}
10
+ /**
11
+ * {{api.description or ''}}
12
+ *
13
+ * @static
14
+ {%- if api.parameter %}
15
+ * @param { {{parameterName}} } {{params}}
16
+ {%- endif %}
17
+ * @param { AxiosRequestConfig } [config]
18
+ * @returns { Promise<{{responseName | safe}}> }
19
+ *
20
+ * @memberOf {{name}}
21
+ */
22
+ public static {{api.name}}(
23
+ {%- if api.parameter %}
24
+ {{params}}: {{parameterName}},
25
+ {%- endif %}
26
+ config?: {{httpConfig}}
27
+ ): Promise<{{responseName | safe}}> {
28
+ return axios(
29
+ Object.assign(
30
+ {
31
+ url: `{{utils.injectUrl(api.url, params)}}`,
32
+ method: '{{api.method}}',
33
+ {%- if api.parameter %}
34
+ {{params}},
35
+ {%- endif %}
36
+ responseType: '{{api.responseType}}',
37
+ },
38
+ config
39
+ )
40
+ ) as any
41
+ }
42
+ {% endfor -%}
43
+ }
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@com75271-assist/build-api",
3
+ "version": "1.0.0",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "scripts": {
7
+ "test": "vitest --ui",
8
+ "coverage": "vitest run --coverage",
9
+ "api": "ts-node -P tsconfig.json ./src/index.ts",
10
+ "api-report": "api-extractor run --local",
11
+ "build": "ts-node -P tsconfig.json build.ts && tsc -P tsconfig.json && yarn run api-report"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "buildOptions": {
17
+ "formats": [
18
+ "esm-bundler",
19
+ "cjs"
20
+ ]
21
+ },
22
+ "license": "ISC",
23
+ "author": "cn.yt",
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "devDependencies": {
28
+ "@types/nunjucks": "^3.2.1",
29
+ "@types/single-line-log": "^1.1.0"
30
+ },
31
+ "dependencies": {
32
+ "@lhy-assist/utils": "^2.0.0",
33
+ "nunjucks": "^3.2.3",
34
+ "single-line-log": "^1.1.2"
35
+ }
36
+ }