@be-link/cs-cli-nodejs 0.0.2

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.
Files changed (41) hide show
  1. package/README.md +2 -0
  2. package/cs/enums/item.d.ts +0 -0
  3. package/cs/enums/item.js +2 -0
  4. package/cs/enums/item.js.map +1 -0
  5. package/cs/http.d.ts +1 -0
  6. package/cs/http.js +66 -0
  7. package/cs/http.js.map +1 -0
  8. package/cs/modules/baseService.d.ts +14 -0
  9. package/cs/modules/baseService.js +32 -0
  10. package/cs/modules/baseService.js.map +1 -0
  11. package/cs/modules/itemQuery/byItem/service.d.ts +13 -0
  12. package/cs/modules/itemQuery/byItem/service.js +26 -0
  13. package/cs/modules/itemQuery/byItem/service.js.map +1 -0
  14. package/cs/modules/itemQuery/byItem/type.d.ts +26 -0
  15. package/cs/modules/itemQuery/byItem/type.js +3 -0
  16. package/cs/modules/itemQuery/byItem/type.js.map +1 -0
  17. package/cs/modules/itemQuery/byStock/service.d.ts +11 -0
  18. package/cs/modules/itemQuery/byStock/service.js +19 -0
  19. package/cs/modules/itemQuery/byStock/service.js.map +1 -0
  20. package/cs/modules/itemQuery/byStock/type.d.ts +6 -0
  21. package/cs/modules/itemQuery/byStock/type.js +3 -0
  22. package/cs/modules/itemQuery/byStock/type.js.map +1 -0
  23. package/cs/modules/itemQuery/index.d.ts +23 -0
  24. package/cs/modules/itemQuery/index.js +13 -0
  25. package/cs/modules/itemQuery/index.js.map +1 -0
  26. package/errors/BizError.d.ts +4 -0
  27. package/errors/BizError.js +11 -0
  28. package/errors/BizError.js.map +1 -0
  29. package/errors/CSError.d.ts +5 -0
  30. package/errors/CSError.js +12 -0
  31. package/errors/CSError.js.map +1 -0
  32. package/index.d.ts +4 -0
  33. package/index.js +12 -0
  34. package/index.js.map +1 -0
  35. package/package.json +48 -0
  36. package/utils/env.d.ts +6 -0
  37. package/utils/env.js +16 -0
  38. package/utils/env.js.map +1 -0
  39. package/utils/string.d.ts +5 -0
  40. package/utils/string.js +10 -0
  41. package/utils/string.js.map +1 -0
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # cs-cli-nodejs
2
+ 商品服务nodejs客户端
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../src/cs/enums/item.ts"],"names":[],"mappings":""}
package/cs/http.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function callApi<T extends (args: any) => Promise<any>>(url: string, ...request: Parameters<T>): Promise<Awaited<ReturnType<T>>>;
package/cs/http.js ADDED
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.callApi = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const CSError_1 = __importDefault(require("../errors/CSError"));
9
+ const uuid_1 = require("uuid");
10
+ const BizError_1 = __importDefault(require("../errors/BizError"));
11
+ async function callApi(url, ...request) {
12
+ const requestId = (0, uuid_1.v4)();
13
+ const maxRetries = 3; // 最大重试次数
14
+ let retries = 0;
15
+ let errorInfo = null;
16
+ while (retries < maxRetries) {
17
+ try {
18
+ console.info(`准备发起CS请求[${requestId}]: ${url}, 参数: ${JSON.stringify(request)}`);
19
+ const response = await axios_1.default.post(url, request[0], {
20
+ headers: {
21
+ 'X-Request-Id': requestId,
22
+ 'x-belink-accessType': 'authorizationTokenInside',
23
+ 'x-belink-authorization': process.env.authorizationTokenInside || '',
24
+ },
25
+ timeout: 60000, // 设置超时时间为 60 秒
26
+ });
27
+ const responseData = response.data;
28
+ return responseData.data;
29
+ }
30
+ catch (error) {
31
+ console.error(`CS请求失败[${requestId}]: ${error.message}`);
32
+ errorInfo = error;
33
+ const axiosError = error;
34
+ const ErrorClass = axiosError.response
35
+ ? axiosError.response.status === 400
36
+ ? BizError_1.default
37
+ : CSError_1.default
38
+ : CSError_1.default;
39
+ if (axiosError.response) {
40
+ const response = axiosError.response;
41
+ const data = response.data;
42
+ console.error(`CS 异常: ${axiosError.message},requestId: ${requestId}`);
43
+ console.info('响应信息', data.message);
44
+ console.info('响应信息Data', JSON.stringify(data));
45
+ console.error('异常堆栈', JSON.stringify(error.stack));
46
+ if (axiosError.response.status !== 502) {
47
+ throw new ErrorClass(data.message || 'CS Error', response.status);
48
+ }
49
+ if (retries === maxRetries) {
50
+ throw new ErrorClass(data.message || 'CS Error', response.status);
51
+ }
52
+ }
53
+ console.error(`CS 未知异常: ${axiosError.message}`, error.stack);
54
+ if (retries === maxRetries) {
55
+ throw error;
56
+ }
57
+ retries++;
58
+ // 进行重试
59
+ await new Promise((resolve) => setTimeout(resolve, 1000)); // 延时 1 秒再重试
60
+ }
61
+ }
62
+ // 如果重试次数达到上限,抛出错误
63
+ throw new Error(errorInfo);
64
+ }
65
+ exports.callApi = callApi;
66
+ //# sourceMappingURL=http.js.map
package/cs/http.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/cs/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export default abstract class BaseService {
2
+ isPublicEnv: boolean;
3
+ /** URL一级路径 */
4
+ abstract prefixUrl: string;
5
+ /** 子网域名 */
6
+ readonly natDevHost = "";
7
+ readonly natProdHost = "";
8
+ /** 公网域名 */
9
+ readonly publicDevHost = "";
10
+ readonly publicProdHost = "";
11
+ constructor();
12
+ /** 获取API URL */
13
+ getApiUrl(func: Function): string;
14
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const env_1 = __importDefault(require("../../utils/env"));
7
+ const string_1 = require("../../utils/string");
8
+ class BaseService {
9
+ constructor() {
10
+ /** 子网域名 */
11
+ this.natDevHost = '';
12
+ this.natProdHost = '';
13
+ /** 公网域名 */
14
+ this.publicDevHost = '';
15
+ this.publicProdHost = '';
16
+ /** 如果是云函数环境, 默认走公网访问 */
17
+ this.isPublicEnv = (process.env.CONTAINER_ENV || 'SCF') === 'SCF';
18
+ }
19
+ /** 获取API URL */
20
+ getApiUrl(func) {
21
+ const host = this.isPublicEnv
22
+ ? env_1.default.isProduction()
23
+ ? this.publicProdHost
24
+ : this.publicDevHost
25
+ : env_1.default.isProduction()
26
+ ? this.natProdHost
27
+ : this.natDevHost;
28
+ return `${host}${this.prefixUrl}/${(0, string_1.camelToKebabCase)(func.name)}`;
29
+ }
30
+ }
31
+ exports.default = BaseService;
32
+ //# sourceMappingURL=baseService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseService.js","sourceRoot":"","sources":["../../../src/cs/modules/baseService.ts"],"names":[],"mappings":";;;;;AAAA,0DAAsC;AACtC,+CAAqD;AAErD,MAA8B,WAAW;IAWvC;QAPA,WAAW;QACF,eAAU,GAAG,EAAE,CAAA;QACf,gBAAW,GAAG,EAAE,CAAA;QACzB,WAAW;QACF,kBAAa,GAAG,EAAE,CAAA;QAClB,mBAAc,GAAG,EAAE,CAAA;QAG1B,wBAAwB;QACxB,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC,KAAK,KAAK,CAAA;IACnE,CAAC;IAED,gBAAgB;IAChB,SAAS,CAAC,IAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW;YAC3B,CAAC,CAAC,aAAQ,CAAC,YAAY,EAAE;gBACvB,CAAC,CAAC,IAAI,CAAC,cAAc;gBACrB,CAAC,CAAC,IAAI,CAAC,aAAa;YACtB,CAAC,CAAC,aAAQ,CAAC,YAAY,EAAE;gBACvB,CAAC,CAAC,IAAI,CAAC,WAAW;gBAClB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QACrB,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAA,yBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IAClE,CAAC;CACF;AA3BD,8BA2BC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module 商品维度查询商品模块
3
+ * 根据商品自身属性查询商品的模块, 比如ID, 类目, 名称等
4
+ */
5
+ import BaseService from '../../baseService';
6
+ import { QueryByItem } from './type';
7
+ declare class QueryByItem extends BaseService implements QueryByItem.Controller {
8
+ prefixUrl: string;
9
+ get(request: QueryByItem.Request.IGet): Promise<QueryByItem.Response.IGet>;
10
+ mget(request: QueryByItem.Request.IMget): Promise<QueryByItem.Response.IMget>;
11
+ }
12
+ declare const byItem: QueryByItem;
13
+ export default byItem;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * @module 商品维度查询商品模块
4
+ * 根据商品自身属性查询商品的模块, 比如ID, 类目, 名称等
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const http_1 = require("../../../http");
11
+ const baseService_1 = __importDefault(require("../../baseService"));
12
+ class QueryByItem extends baseService_1.default {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.prefixUrl = '/item/query/by-item';
16
+ }
17
+ get(request) {
18
+ return (0, http_1.callApi)(this.getApiUrl(this.get), request);
19
+ }
20
+ mget(request) {
21
+ return (0, http_1.callApi)(this.getApiUrl(this.mget), request);
22
+ }
23
+ }
24
+ const byItem = new QueryByItem();
25
+ exports.default = byItem;
26
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/cs/modules/itemQuery/byItem/service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAEH,wCAAuC;AACvC,oEAA2C;AAG3C,MAAM,WAAY,SAAQ,qBAAW;IAArC;;QACE,cAAS,GAAW,qBAAqB,CAAA;IAS3C,CAAC;IAPC,GAAG,CAAC,OAAiC;QACnC,OAAO,IAAA,cAAO,EAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,CAAC,OAAkC;QACrC,OAAO,IAAA,cAAO,EAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IACpF,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAA;AAEhC,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,26 @@
1
+ export declare namespace QueryByItem {
2
+ namespace DTO {
3
+ interface ItemBasicInfo {
4
+ }
5
+ }
6
+ namespace Request {
7
+ interface IGet {
8
+ itemId: string;
9
+ }
10
+ interface IMget {
11
+ itemId: string;
12
+ }
13
+ }
14
+ namespace Response {
15
+ interface IGet {
16
+ data: DTO.ItemBasicInfo;
17
+ }
18
+ interface IMget {
19
+ data: DTO.ItemBasicInfo;
20
+ }
21
+ }
22
+ interface Controller {
23
+ get(request: Request.IGet): Promise<Response.IGet>;
24
+ mget(request: Request.IMget): Promise<Response.IMget>;
25
+ }
26
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../src/cs/modules/itemQuery/byItem/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @module 库存维度查询商品模块
3
+ * 根据商品套餐下的库存为条件查询商品
4
+ */
5
+ import BaseService from '../../baseService';
6
+ import { QueryByStock } from './type';
7
+ declare class QueryByStock extends BaseService implements QueryByStock.Controller {
8
+ prefixUrl: string;
9
+ }
10
+ declare const byStock: QueryByStock;
11
+ export default byStock;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * @module 库存维度查询商品模块
4
+ * 根据商品套餐下的库存为条件查询商品
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const baseService_1 = __importDefault(require("../../baseService"));
11
+ class QueryByStock extends baseService_1.default {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.prefixUrl = '/item/query/by-item';
15
+ }
16
+ }
17
+ const byStock = new QueryByStock();
18
+ exports.default = byStock;
19
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../src/cs/modules/itemQuery/byStock/service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAGH,oEAA2C;AAG3C,MAAM,YAAa,SAAQ,qBAAW;IAAtC;;QACE,cAAS,GAAW,qBAAqB,CAAA;IAC3C,CAAC;CAAA;AAED,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAA;AAElC,kBAAe,OAAO,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare namespace QueryByStock {
2
+ namespace Request { }
3
+ namespace Response { }
4
+ interface Controller {
5
+ }
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../../src/cs/modules/itemQuery/byStock/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ declare const itemQueryService: {
2
+ byItem: {
3
+ prefixUrl: string;
4
+ get(request: import("./byItem/type").QueryByItem.Request.IGet): Promise<import("./byItem/type").QueryByItem.Response.IGet>;
5
+ mget(request: import("./byItem/type").QueryByItem.Request.IMget): Promise<import("./byItem/type").QueryByItem.Response.IMget>;
6
+ isPublicEnv: boolean;
7
+ readonly natDevHost: "";
8
+ readonly natProdHost: "";
9
+ readonly publicDevHost: "";
10
+ readonly publicProdHost: "";
11
+ getApiUrl(func: Function): string;
12
+ };
13
+ byStock: {
14
+ prefixUrl: string;
15
+ isPublicEnv: boolean;
16
+ readonly natDevHost: "";
17
+ readonly natProdHost: "";
18
+ readonly publicDevHost: "";
19
+ readonly publicProdHost: "";
20
+ getApiUrl(func: Function): string;
21
+ };
22
+ };
23
+ export default itemQueryService;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const service_1 = __importDefault(require("./byItem/service"));
7
+ const service_2 = __importDefault(require("./byStock/service"));
8
+ const itemQueryService = {
9
+ byItem: service_1.default,
10
+ byStock: service_2.default,
11
+ };
12
+ exports.default = itemQueryService;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cs/modules/itemQuery/index.ts"],"names":[],"mappings":";;;;;AAAA,+DAAqC;AACrC,gEAAuC;AAEvC,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAN,iBAAM;IACN,OAAO,EAAP,iBAAO;CACR,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export default class BizError extends Error {
2
+ code: number;
3
+ constructor(message: string, code?: number);
4
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class BizError extends Error {
4
+ constructor(message, code = 400) {
5
+ super(message);
6
+ this.code = code;
7
+ this.name = 'BizError';
8
+ }
9
+ }
10
+ exports.default = BizError;
11
+ //# sourceMappingURL=BizError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BizError.js","sourceRoot":"","sources":["../../src/errors/BizError.ts"],"names":[],"mappings":";;AAAA,MAAqB,QAAS,SAAQ,KAAK;IAIzC,YAAY,OAAe,EAAE,OAAe,GAAG;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AATD,2BASC"}
@@ -0,0 +1,5 @@
1
+ /** 商品服务异常 */
2
+ export default class CSError extends Error {
3
+ code: number;
4
+ constructor(message: string, code?: number);
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** 商品服务异常 */
4
+ class CSError extends Error {
5
+ constructor(message, code = 500) {
6
+ super(message);
7
+ this.code = code;
8
+ this.name = 'UserError';
9
+ }
10
+ }
11
+ exports.default = CSError;
12
+ //# sourceMappingURL=CSError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSError.js","sourceRoot":"","sources":["../../src/errors/CSError.ts"],"names":[],"mappings":";;AAAA,aAAa;AACb,MAAqB,OAAQ,SAAQ,KAAK;IAIxC,YAAY,OAAe,EAAE,OAAe,GAAG;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;IACzB,CAAC;CACF;AATD,0BASC"}
package/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import BizError from './errors/BizError';
2
+ /** 业务模块 */
3
+ import itemQueryService from './cs/modules/itemQuery';
4
+ export { itemQueryService, BizError };
package/index.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BizError = exports.itemQueryService = void 0;
7
+ const BizError_1 = __importDefault(require("./errors/BizError"));
8
+ exports.BizError = BizError_1.default;
9
+ /** 业务模块 */
10
+ const itemQuery_1 = __importDefault(require("./cs/modules/itemQuery"));
11
+ exports.itemQueryService = itemQuery_1.default;
12
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAwC;AAIb,mBAJpB,kBAAQ,CAIoB;AAHnC,WAAW;AACX,uEAAqD;AAE5C,2BAFF,mBAAgB,CAEE"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@be-link/cs-cli-nodejs",
3
+ "version": "0.0.2",
4
+ "description": "商品服务Nodejs客户端",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "build": "rm -rf ./dist && tsc && cp package.json README.md ./dist/",
8
+ "test": "npx jest",
9
+ "gen-doc": "npx typedoc --options typedoc.json",
10
+ "update:major": "standard-version --release-as major",
11
+ "update:minor": "standard-version --release-as minor",
12
+ "update:patch": "standard-version --release-as patch",
13
+ "update:beta": "standard-version --prerelease beta",
14
+ "publish": "ts-node ./ci/index"
15
+ },
16
+ "author": "dev@8848top.com",
17
+ "license": "ISC",
18
+ "publishConfig": {
19
+ "access": "public",
20
+ "registry": "https://registry.npmjs.org/"
21
+ },
22
+ "devDependencies": {
23
+ "@commitlint/cli": "^18.4.3",
24
+ "@commitlint/config-conventional": "^18.4.3",
25
+ "@types/inquirer": "^9.0.7",
26
+ "@types/node": "^20.14.2",
27
+ "@types/uuid": "^9.0.6",
28
+ "husky": "^8.0.3",
29
+ "inquirer": "8.2.6",
30
+ "ioredis": "5.3.2",
31
+ "standard-version": "^9.5.0",
32
+ "typescript": "5.2.2",
33
+ "@typescript-eslint/eslint-plugin": "^6.9.0",
34
+ "@typescript-eslint/parser": "^6.9.0",
35
+ "eslint": "^8.52.0",
36
+ "eslint-config-prettier": "^9.0.0",
37
+ "eslint-config-standard": "^17.1.0",
38
+ "eslint-plugin-prettier": "^5.0.1"
39
+ },
40
+ "dependencies": {
41
+ "axios": "0.27.2",
42
+ "uuid": "9.0.1",
43
+ "vitality-meta": "1.0.67"
44
+ },
45
+ "engines": {
46
+ "node": ">=18"
47
+ }
48
+ }
package/utils/env.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ declare const envUtils: {
2
+ isProduction(): boolean;
3
+ isDevelopment(): boolean;
4
+ isPPE(): boolean;
5
+ };
6
+ export default envUtils;
package/utils/env.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const envUtils = {
4
+ // 环境判断
5
+ isProduction() {
6
+ return process.env.NODE_ENV === 'prod';
7
+ },
8
+ isDevelopment() {
9
+ return process.env.NODE_ENV === 'development';
10
+ },
11
+ isPPE() {
12
+ return process.env.NODE_ENV === 'ppe';
13
+ }
14
+ };
15
+ exports.default = envUtils;
16
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG;IACf,OAAO;IACP,YAAY;QACV,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAA;IACxC,CAAC;IACD,aAAa;QACX,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAA;IAC/C,CAAC;IACD,KAAK;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAA;IACvC,CAAC;CACF,CAAA;AAED,kBAAe,QAAQ,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Camel case to kebab case
3
+ * e.g. camelToKebabCase('camelCase') => 'camel-case'
4
+ */
5
+ export declare const camelToKebabCase: (str: string) => string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.camelToKebabCase = void 0;
4
+ /**
5
+ * Camel case to kebab case
6
+ * e.g. camelToKebabCase('camelCase') => 'camel-case'
7
+ */
8
+ const camelToKebabCase = (str) => str.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`);
9
+ exports.camelToKebabCase = camelToKebabCase;
10
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/utils/string.ts"],"names":[],"mappings":";;;AACA;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAA/F,QAAA,gBAAgB,oBAA+E"}