@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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/statemachine.util.d.ts +13 -0
- package/dist/utils/statemachine.util.d.ts.map +1 -0
- package/dist/utils/statemachine.util.js +26 -0
- package/dist/utils/statemachine.util.js.map +1 -0
- package/package.json +1 -1
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";
|
package/dist/index.d.ts.map
CHANGED
@@ -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,
|
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"}
|