cogfy-data-exchange 1.0.19 → 1.0.21
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/types/payload.d.ts +19 -1
- package/dist/types/trigger.d.ts +14 -7
- package/package.json +1 -1
- package/src/types/payload.ts +13 -5
- package/src/types/trigger.ts +5 -5
package/dist/types/payload.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ type ExtractPayload<T> = T extends {
|
|
|
24
24
|
'on-click-action': {
|
|
25
25
|
payload: infer P;
|
|
26
26
|
};
|
|
27
|
+
} ? P : T extends {
|
|
28
|
+
'on-select-action': {
|
|
29
|
+
payload: infer P;
|
|
30
|
+
};
|
|
27
31
|
} ? P : never;
|
|
28
32
|
type ExtractChildByTrigger<Children, Trigger extends string> = Children extends {
|
|
29
33
|
'on-click-action': {
|
|
@@ -31,6 +35,12 @@ type ExtractChildByTrigger<Children, Trigger extends string> = Children extends
|
|
|
31
35
|
trigger: Trigger;
|
|
32
36
|
};
|
|
33
37
|
};
|
|
38
|
+
} | {
|
|
39
|
+
'on-select-action': {
|
|
40
|
+
payload: {
|
|
41
|
+
trigger: Trigger;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
34
44
|
} ? Children : never;
|
|
35
45
|
type ExtractScreenData<T> = T extends {
|
|
36
46
|
data: infer D;
|
|
@@ -63,7 +73,15 @@ type ComponentFormValue<C> = C extends {
|
|
|
63
73
|
type: 'OptIn';
|
|
64
74
|
} ? boolean : C extends {
|
|
65
75
|
type: 'DocumentPicker';
|
|
66
|
-
} ? DocumentPickerFile[] :
|
|
76
|
+
} ? DocumentPickerFile[] : C extends {
|
|
77
|
+
type: 'CalendarPicker';
|
|
78
|
+
mode: 'range';
|
|
79
|
+
} ? {
|
|
80
|
+
start_date: string;
|
|
81
|
+
end_date: string;
|
|
82
|
+
} : C extends {
|
|
83
|
+
type: 'CalendarPicker';
|
|
84
|
+
} ? string : string;
|
|
67
85
|
type ResolvePayloadValue<V, Children, ScreenData> = V extends `$${'{'}form.${infer FieldName}}` ? [Extract<Children, {
|
|
68
86
|
name: FieldName;
|
|
69
87
|
}>] extends [never] ? string : ComponentFormValue<Extract<Children, {
|
package/dist/types/trigger.d.ts
CHANGED
|
@@ -9,17 +9,24 @@ type FlattenIfChildren<C> = C extends {
|
|
|
9
9
|
then: infer Then;
|
|
10
10
|
else?: infer Else;
|
|
11
11
|
} ? (Then extends readonly unknown[] ? FlattenIfChildren<Then[number]> : never) | (Else extends readonly unknown[] ? FlattenIfChildren<Else[number]> : never) : FlattenListItems<C>;
|
|
12
|
-
type
|
|
13
|
-
layout: {
|
|
14
|
-
children: readonly (infer C)[];
|
|
15
|
-
};
|
|
16
|
-
} ? FlattenIfChildren<C> extends infer FC ? FC extends {
|
|
12
|
+
type ExtractActionTrigger<FC> = (FC extends {
|
|
17
13
|
'on-click-action': {
|
|
18
14
|
payload: {
|
|
19
|
-
trigger: infer T;
|
|
15
|
+
trigger: infer T extends string;
|
|
20
16
|
};
|
|
21
17
|
};
|
|
22
|
-
} ? T
|
|
18
|
+
} ? T : never) | (FC extends {
|
|
19
|
+
'on-select-action': {
|
|
20
|
+
payload: {
|
|
21
|
+
trigger: infer T extends string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
} ? T : never);
|
|
25
|
+
type AllChildTriggers<F extends FlowJson> = F['screens'][number] extends infer S ? S extends {
|
|
26
|
+
layout: {
|
|
27
|
+
children: readonly (infer C)[];
|
|
28
|
+
};
|
|
29
|
+
} ? FlattenIfChildren<C> extends infer FC ? ExtractActionTrigger<FC> : never : never : never;
|
|
23
30
|
export type AllTriggers<F extends FlowJson> = ScreenTrigger<ScreenName<F>> | AllChildTriggers<F>;
|
|
24
31
|
export type ExtractScreen<T extends string, F extends FlowJson> = Extract<T extends `screen.${infer S}.event.${string}` ? S : T extends `screen.${infer S}` ? S : never, ScreenName<F>>;
|
|
25
32
|
export {};
|
package/package.json
CHANGED
package/src/types/payload.ts
CHANGED
|
@@ -28,11 +28,15 @@ type ExtractChildren<T> = T extends { layout: { children: infer C } }
|
|
|
28
28
|
: never
|
|
29
29
|
: never
|
|
30
30
|
|
|
31
|
-
type ExtractPayload<T> = T extends { 'on-click-action': { payload: infer P } }
|
|
31
|
+
type ExtractPayload<T> = T extends { 'on-click-action': { payload: infer P } }
|
|
32
|
+
? P
|
|
33
|
+
: T extends { 'on-select-action': { payload: infer P } }
|
|
34
|
+
? P
|
|
35
|
+
: never
|
|
32
36
|
|
|
33
|
-
type ExtractChildByTrigger<Children, Trigger extends string> = Children extends
|
|
34
|
-
'on-click-action': { payload: { trigger: Trigger } }
|
|
35
|
-
}
|
|
37
|
+
type ExtractChildByTrigger<Children, Trigger extends string> = Children extends
|
|
38
|
+
| { 'on-click-action': { payload: { trigger: Trigger } } }
|
|
39
|
+
| { 'on-select-action': { payload: { trigger: Trigger } } }
|
|
36
40
|
? Children
|
|
37
41
|
: never
|
|
38
42
|
|
|
@@ -70,7 +74,11 @@ type ComponentFormValue<C> = C extends {
|
|
|
70
74
|
? boolean
|
|
71
75
|
: C extends { type: 'DocumentPicker' }
|
|
72
76
|
? DocumentPickerFile[]
|
|
73
|
-
:
|
|
77
|
+
: C extends { type: 'CalendarPicker'; mode: 'range' }
|
|
78
|
+
? { start_date: string; end_date: string }
|
|
79
|
+
: C extends { type: 'CalendarPicker' }
|
|
80
|
+
? string
|
|
81
|
+
: string
|
|
74
82
|
|
|
75
83
|
type ResolvePayloadValue<V, Children, ScreenData> = V extends `$${'{'}form.${infer FieldName}}`
|
|
76
84
|
? [Extract<Children, { name: FieldName }>] extends [never]
|
package/src/types/trigger.ts
CHANGED
|
@@ -14,14 +14,14 @@ type FlattenIfChildren<C> = C extends { type: 'If'; then: infer Then; else?: inf
|
|
|
14
14
|
(Else extends readonly unknown[] ? FlattenIfChildren<Else[number]> : never)
|
|
15
15
|
: FlattenListItems<C>
|
|
16
16
|
|
|
17
|
+
type ExtractActionTrigger<FC> =
|
|
18
|
+
| (FC extends { 'on-click-action': { payload: { trigger: infer T extends string } } } ? T : never)
|
|
19
|
+
| (FC extends { 'on-select-action': { payload: { trigger: infer T extends string } } } ? T : never)
|
|
20
|
+
|
|
17
21
|
type AllChildTriggers<F extends FlowJson> = F['screens'][number] extends infer S
|
|
18
22
|
? S extends { layout: { children: readonly (infer C)[] } }
|
|
19
23
|
? FlattenIfChildren<C> extends infer FC
|
|
20
|
-
? FC
|
|
21
|
-
? T extends string
|
|
22
|
-
? T
|
|
23
|
-
: never
|
|
24
|
-
: never
|
|
24
|
+
? ExtractActionTrigger<FC>
|
|
25
25
|
: never
|
|
26
26
|
: never
|
|
27
27
|
: never
|