@edgenets/utils 0.0.27 → 0.0.28

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/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from "./types/product.js";
3
3
  export * from "./types/logger.js";
4
4
  export * from "./types/order.js";
5
5
  export { StringUtils } from "./utils/string.util.js";
6
+ export { SimpleStateMachine, OrderStateMachine, } from "./utils/statemachine.util.js";
6
7
  export { SignatureUtils } from "./utils/signature.util.js";
7
8
  export * from "./utils/generate.util.js";
8
9
  export * from "./array/unique.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,cAAc,0BAA0B,CAAC;AAGzC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,cAAc,0BAA0B,CAAC;AAGzC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -5,7 +5,9 @@ export * from "./types/logger.js";
5
5
  export * from "./types/order.js";
6
6
  // 导出字符串处理函数
7
7
  export { StringUtils } from "./utils/string.util.js";
8
- // 导出字符串处理函数
8
+ // 导出状态机函数
9
+ export { SimpleStateMachine, OrderStateMachine, } from "./utils/statemachine.util.js";
10
+ // 导出签名处理函数
9
11
  export { SignatureUtils } from "./utils/signature.util.js";
10
12
  // 导出字符串处理函数
11
13
  export * from "./utils/generate.util.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,YAAY;AACZ,cAAc,0BAA0B,CAAC;AAEzC,WAAW;AACX,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,YAAY;AACZ,cAAc,0BAA0B,CAAC;AAEzC,WAAW;AACX,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare class SimpleStateMachine {
2
+ private transitions;
3
+ constructor(transitions: Record<string, string[]>);
4
+ /**
5
+ * 检查是否可以从当前状态流转到目标状态
6
+ * @param currentStatus - 当前状态
7
+ * @param targetStatus - 目标状态
8
+ * @returns boolean
9
+ */
10
+ canTransition(currentStatus: string, targetStatus: string): boolean;
11
+ }
12
+ export declare const OrderStateMachine: SimpleStateMachine;
13
+ //# sourceMappingURL=statemachine.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statemachine.util.d.ts","sourceRoot":"","sources":["../../src/utils/statemachine.util.ts"],"names":[],"mappings":"AAEA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAA2B;gBAElC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAIjD;;;;;OAKG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;CAIpE;AAUD,eAAO,MAAM,iBAAiB,oBAA2C,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { OrderStatus } from "../types/order.js";
2
+ export class SimpleStateMachine {
3
+ transitions;
4
+ constructor(transitions) {
5
+ this.transitions = transitions;
6
+ }
7
+ /**
8
+ * 检查是否可以从当前状态流转到目标状态
9
+ * @param currentStatus - 当前状态
10
+ * @param targetStatus - 目标状态
11
+ * @returns boolean
12
+ */
13
+ canTransition(currentStatus, targetStatus) {
14
+ const allowedTransitions = this.transitions[currentStatus] || [];
15
+ return allowedTransitions.includes(targetStatus);
16
+ }
17
+ }
18
+ const orderTransitions = {
19
+ [OrderStatus.Pending]: [OrderStatus.Confirmed, OrderStatus.Canceled],
20
+ [OrderStatus.Confirmed]: [OrderStatus.Completed, OrderStatus.Refunded],
21
+ [OrderStatus.Completed]: [OrderStatus.Refunded],
22
+ [OrderStatus.Canceled]: [], // 已取消无法流转
23
+ [OrderStatus.Refunded]: [], // 已退款无法流转
24
+ };
25
+ export const OrderStateMachine = new SimpleStateMachine(orderTransitions);
26
+ //# sourceMappingURL=statemachine.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statemachine.util.js","sourceRoot":"","sources":["../../src/utils/statemachine.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,kBAAkB;IACrB,WAAW,CAA2B;IAE9C,YAAY,WAAqC;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,aAAqB,EAAE,YAAoB;QACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACjE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,gBAAgB,GAAuC;IAC3D,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC;IACpE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC;IACtE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC/C,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU;IACtC,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgenets/utils",
3
- "version": "0.0.27",
3
+ "version": "0.0.28",
4
4
  "description": "Edgenets utilities package containing common types and utilities.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",