@flowlist/js-core 4.0.7-beta.0 → 4.0.9-beta.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.
Files changed (59) hide show
  1. package/dist/chunk-6WOZNOYJ.mjs +79 -0
  2. package/dist/chunk-6WOZNOYJ.mjs.map +1 -0
  3. package/dist/chunk-BTOUHSDU.mjs +91 -0
  4. package/dist/chunk-BTOUHSDU.mjs.map +1 -0
  5. package/dist/chunk-C4BWSFWU.mjs +74 -0
  6. package/dist/chunk-C4BWSFWU.mjs.map +1 -0
  7. package/dist/chunk-KIQOUUEZ.mjs +3 -0
  8. package/dist/chunk-KIQOUUEZ.mjs.map +1 -0
  9. package/dist/chunk-LF6DOBID.mjs +248 -0
  10. package/dist/chunk-LF6DOBID.mjs.map +1 -0
  11. package/dist/chunk-OKKMFSGF.mjs +253 -0
  12. package/dist/chunk-OKKMFSGF.mjs.map +1 -0
  13. package/dist/chunk-PP7QTJDR.mjs +37 -0
  14. package/dist/chunk-PP7QTJDR.mjs.map +1 -0
  15. package/dist/constants.d.mts +33 -0
  16. package/dist/constants.d.ts +33 -0
  17. package/dist/constants.js +39 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/constants.mjs +3 -0
  20. package/dist/constants.mjs.map +1 -0
  21. package/dist/core.d.mts +19 -0
  22. package/dist/core.d.ts +19 -0
  23. package/dist/core.js +446 -0
  24. package/dist/core.js.map +1 -0
  25. package/dist/core.mjs +5 -0
  26. package/dist/core.mjs.map +1 -0
  27. package/dist/index.d.mts +6 -291
  28. package/dist/index.d.ts +6 -291
  29. package/dist/index.global.js +386 -478
  30. package/dist/index.global.js.map +1 -1
  31. package/dist/index.js +386 -478
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.mjs +7 -842
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/mutations/core.d.mts +10 -0
  36. package/dist/mutations/core.d.ts +10 -0
  37. package/dist/mutations/core.js +130 -0
  38. package/dist/mutations/core.js.map +1 -0
  39. package/dist/mutations/core.mjs +5 -0
  40. package/dist/mutations/core.mjs.map +1 -0
  41. package/dist/mutations/extended.d.mts +10 -0
  42. package/dist/mutations/extended.d.ts +10 -0
  43. package/dist/mutations/extended.js +172 -0
  44. package/dist/mutations/extended.js.map +1 -0
  45. package/dist/mutations/extended.mjs +5 -0
  46. package/dist/mutations/extended.mjs.map +1 -0
  47. package/dist/mutations/index.d.mts +14 -0
  48. package/dist/mutations/index.d.ts +14 -0
  49. package/dist/mutations/index.js +379 -0
  50. package/dist/mutations/index.js.map +1 -0
  51. package/dist/mutations/index.mjs +8 -0
  52. package/dist/mutations/index.mjs.map +1 -0
  53. package/dist/types.d.mts +140 -0
  54. package/dist/types.d.ts +140 -0
  55. package/dist/types.js +4 -0
  56. package/dist/types.js.map +1 -0
  57. package/dist/types.mjs +3 -0
  58. package/dist/types.mjs.map +1 -0
  59. package/package.json +67 -1
@@ -0,0 +1,140 @@
1
+ /** 对象的唯一标识符类型 */
2
+ type ObjectKey = string | number;
3
+ /** 通用对象结构 */
4
+ type KeyMap = Record<string, any>;
5
+ /** API 响应基础结构 */
6
+ interface BaseApiResponse<TData = any> {
7
+ readonly result: TData;
8
+ readonly extra?: any;
9
+ readonly total?: number;
10
+ readonly no_more?: boolean;
11
+ }
12
+ /** 核心状态字段 */
13
+ interface DefaultField<TData = any, TExtra = any> {
14
+ result: TData;
15
+ noMore: boolean;
16
+ nothing: boolean;
17
+ loading: boolean;
18
+ error: Error | null;
19
+ extra: TExtra | null;
20
+ fetched: boolean;
21
+ page: number;
22
+ total: number;
23
+ }
24
+ type FieldKeys = keyof DefaultField;
25
+ /** 请求参数基础约束 */
26
+ interface RequestParams {
27
+ [key: string]: any;
28
+ __refresh__?: boolean;
29
+ __reload__?: boolean;
30
+ page?: number;
31
+ sinceId?: ObjectKey;
32
+ }
33
+ /** 数据获取策略类型 */
34
+ type FetchType = 'jump' | 'sinceId' | 'page' | 'seenIds' | 'auto';
35
+ /** API 契约 */
36
+ interface ApiContract<TParams extends RequestParams, TResponse> {
37
+ (params: TParams): Promise<BaseApiResponse<TResponse>>;
38
+ readonly id: string;
39
+ readonly type: FetchType;
40
+ readonly is_up: boolean;
41
+ readonly uniqueKey: string;
42
+ readonly paramsIgnore: string[];
43
+ }
44
+ type FieldGetter = (key: string) => DefaultField | undefined;
45
+ interface SetterFuncParams {
46
+ readonly key: string;
47
+ readonly type: number;
48
+ readonly value: Partial<DefaultField> | DefaultField;
49
+ readonly callback?: (obj?: any) => void;
50
+ }
51
+ type FieldSetter = (obj: SetterFuncParams) => void;
52
+ interface GenerateParamsResp extends RequestParams {
53
+ seen_ids?: string;
54
+ since_id?: ObjectKey;
55
+ is_up?: 0 | 1;
56
+ page?: number;
57
+ extra?: any;
58
+ }
59
+ interface GenerateParamsType {
60
+ readonly field: DefaultField;
61
+ readonly uniqueKey?: string;
62
+ readonly is_up?: boolean;
63
+ readonly query?: KeyMap;
64
+ readonly type: FetchType;
65
+ }
66
+ type FetchResultCallback<TParams, TResponse> = (obj: {
67
+ params: TParams;
68
+ data: BaseApiResponse<TResponse>;
69
+ refresh: boolean;
70
+ }) => void;
71
+ interface SetDataType {
72
+ readonly getter: FieldGetter;
73
+ readonly setter: FieldSetter;
74
+ readonly data: BaseApiResponse;
75
+ readonly fieldName: string;
76
+ readonly type: FetchType;
77
+ readonly page: number;
78
+ readonly insertBefore: boolean;
79
+ }
80
+ interface SetErrorType {
81
+ readonly setter: FieldSetter;
82
+ readonly fieldName: string;
83
+ readonly error: Error | null;
84
+ }
85
+ interface InitStateParams<P extends RequestParams = RequestParams, R = any> {
86
+ readonly func: ApiContract<P, R>;
87
+ readonly query?: P;
88
+ readonly opts?: Partial<DefaultField<R>>;
89
+ }
90
+ interface InitDataParams<P extends RequestParams = RequestParams, R = any> {
91
+ readonly func: ApiContract<P, R>;
92
+ readonly query?: P;
93
+ readonly callback?: FetchResultCallback<P, R>;
94
+ }
95
+ interface LoadMoreParams<P extends RequestParams = RequestParams, R = any> {
96
+ readonly func: ApiContract<P, R>;
97
+ readonly query?: P;
98
+ readonly errorRetry?: boolean;
99
+ readonly callback?: FetchResultCallback<P, R>;
100
+ }
101
+ interface UpdateStateParams<P extends RequestParams = RequestParams, R = any> {
102
+ readonly func: ApiContract<P, R>;
103
+ readonly query?: P;
104
+ readonly method: string;
105
+ readonly value: any;
106
+ readonly id?: ObjectKey | ObjectKey[];
107
+ readonly changeKey?: string;
108
+ readonly uniqueKey?: string;
109
+ }
110
+ interface InitStateType<P extends RequestParams, R> extends InitStateParams<P, R> {
111
+ readonly getter: FieldGetter;
112
+ readonly setter: FieldSetter;
113
+ }
114
+ interface InitDataType<P extends RequestParams, R> extends InitDataParams<P, R> {
115
+ readonly getter: FieldGetter;
116
+ readonly setter: FieldSetter;
117
+ }
118
+ interface LoadMoreType<P extends RequestParams, R> extends LoadMoreParams<P, R> {
119
+ readonly getter: FieldGetter;
120
+ readonly setter: FieldSetter;
121
+ }
122
+ interface UpdateStateType<P extends RequestParams, R> extends UpdateStateParams<P, R> {
123
+ readonly getter: FieldGetter;
124
+ readonly setter: FieldSetter;
125
+ }
126
+ interface MutationContext {
127
+ resultArray: any[] | null;
128
+ newFieldData: DefaultField;
129
+ _id: ObjectKey | ObjectKey[] | undefined;
130
+ _uniqueKey: string;
131
+ _changeKey: string;
132
+ value: any;
133
+ }
134
+ /** mutation handler 返回值:处理后的 modifyValue 或 undefined 表示已直接修改 newFieldData */
135
+ type MutationHandler = (ctx: MutationContext) => {
136
+ resolved?: unknown;
137
+ modifyValue?: unknown;
138
+ } | void;
139
+
140
+ export type { ApiContract, BaseApiResponse, DefaultField, FetchResultCallback, FetchType, FieldGetter, FieldKeys, FieldSetter, GenerateParamsResp, GenerateParamsType, InitDataParams, InitDataType, InitStateParams, InitStateType, KeyMap, LoadMoreParams, LoadMoreType, MutationContext, MutationHandler, ObjectKey, RequestParams, SetDataType, SetErrorType, SetterFuncParams, UpdateStateParams, UpdateStateType };
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=types.js.map
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
package/dist/types.mjs ADDED
@@ -0,0 +1,3 @@
1
+ import './chunk-KIQOUUEZ.mjs';
2
+ //# sourceMappingURL=types.mjs.map
3
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.mjs"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowlist/js-core",
3
- "version": "4.0.7-beta.0",
3
+ "version": "4.0.9-beta.0",
4
4
  "description": "flowlist frontend javascript core",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -16,6 +16,72 @@
16
16
  "default": "./dist/index.js"
17
17
  },
18
18
  "default": "./dist/index.js"
19
+ },
20
+ "./core": {
21
+ "import": {
22
+ "types": "./dist/core.d.mts",
23
+ "default": "./dist/core.mjs"
24
+ },
25
+ "require": {
26
+ "types": "./dist/core.d.ts",
27
+ "default": "./dist/core.js"
28
+ },
29
+ "default": "./dist/core.js"
30
+ },
31
+ "./constants": {
32
+ "import": {
33
+ "types": "./dist/constants.d.mts",
34
+ "default": "./dist/constants.mjs"
35
+ },
36
+ "require": {
37
+ "types": "./dist/constants.d.ts",
38
+ "default": "./dist/constants.js"
39
+ },
40
+ "default": "./dist/constants.js"
41
+ },
42
+ "./types": {
43
+ "import": {
44
+ "types": "./dist/types.d.mts",
45
+ "default": "./dist/types.mjs"
46
+ },
47
+ "require": {
48
+ "types": "./dist/types.d.ts",
49
+ "default": "./dist/types.js"
50
+ },
51
+ "default": "./dist/types.js"
52
+ },
53
+ "./mutations": {
54
+ "import": {
55
+ "types": "./dist/mutations/index.d.mts",
56
+ "default": "./dist/mutations/index.mjs"
57
+ },
58
+ "require": {
59
+ "types": "./dist/mutations/index.d.ts",
60
+ "default": "./dist/mutations/index.js"
61
+ },
62
+ "default": "./dist/mutations/index.js"
63
+ },
64
+ "./mutations/core": {
65
+ "import": {
66
+ "types": "./dist/mutations/core.d.mts",
67
+ "default": "./dist/mutations/core.mjs"
68
+ },
69
+ "require": {
70
+ "types": "./dist/mutations/core.d.ts",
71
+ "default": "./dist/mutations/core.js"
72
+ },
73
+ "default": "./dist/mutations/core.js"
74
+ },
75
+ "./mutations/extended": {
76
+ "import": {
77
+ "types": "./dist/mutations/extended.d.mts",
78
+ "default": "./dist/mutations/extended.mjs"
79
+ },
80
+ "require": {
81
+ "types": "./dist/mutations/extended.d.ts",
82
+ "default": "./dist/mutations/extended.js"
83
+ },
84
+ "default": "./dist/mutations/extended.js"
19
85
  }
20
86
  },
21
87
  "files": [