react-server-actions 1.0.13 → 1.0.14
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 +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/server/actions.d.ts +28 -27
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/actions.js +75 -45
- package/dist/server/actions.js.map +1 -1
- package/dist/server/helpers.d.ts +10 -2
- package/dist/server/helpers.d.ts.map +1 -1
- package/dist/server/helpers.js +18 -1
- package/dist/server/helpers.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { dateToInputDefaultValue, datetimeToInputDefaultValue } from './client/helpers.js';
|
|
2
2
|
import { Form, FormField, useField, useForm } from './client/index.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ActionClient } from './server/actions.js';
|
|
4
|
+
import { actionError, actionInvalid, initialState } from './server/helpers.js';
|
|
5
5
|
import { type ActionResult, type ErrorActionResult, type FieldErrors, type IdleActionResult, type InvalidActionResult, type SuccessActionResult } from './server/types.js';
|
|
6
|
-
export { Form, FormField,
|
|
6
|
+
export { ActionClient, Form, FormField, actionError, actionInvalid, dateToInputDefaultValue, datetimeToInputDefaultValue, initialState, useField, useForm, };
|
|
7
7
|
export type { ActionResult, ErrorActionResult, FieldErrors, IdleActionResult, InvalidActionResult, SuccessActionResult, };
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,QAAQ,EACR,OAAO,GACR,CAAC;AACF,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { dateToInputDefaultValue, datetimeToInputDefaultValue, } from './client/helpers.js';
|
|
2
2
|
import { Form, FormField, useField, useForm } from './client/index.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ActionClient } from './server/actions.js';
|
|
4
|
+
import { actionError, actionInvalid, initialState } from './server/helpers.js';
|
|
5
5
|
import {} from './server/types.js';
|
|
6
|
-
export { Form, FormField,
|
|
6
|
+
export { ActionClient, Form, FormField, actionError, actionInvalid, dateToInputDefaultValue, datetimeToInputDefaultValue, initialState, useField, useForm, };
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAON,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,QAAQ,EACR,OAAO,GACR,CAAC"}
|
package/dist/server/actions.d.ts
CHANGED
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type InvalidActionResult } from './types.js';
|
|
3
|
-
export declare
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} | {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}>;
|
|
2
|
+
import { type ErrorActionResult, type InvalidActionResult } from './types.js';
|
|
3
|
+
export declare class ActionClient {
|
|
4
|
+
handleError: boolean;
|
|
5
|
+
constructor(options?: {
|
|
6
|
+
handleError: boolean;
|
|
7
|
+
});
|
|
8
|
+
action: <Schema extends z.ZodTypeAny>(schema: Schema, fn: ({ data, formData, }: {
|
|
9
|
+
data: z.infer<Schema>;
|
|
10
|
+
formData: FormData;
|
|
11
|
+
}) => unknown) => (_prevState: unknown, data: FormData) => Promise<InvalidActionResult<Schema> | ErrorActionResult<Schema> | {
|
|
12
|
+
success: true;
|
|
13
|
+
formData: z.TypeOf<Schema>;
|
|
14
|
+
successData: any;
|
|
15
|
+
invalid: undefined;
|
|
16
|
+
error: undefined;
|
|
17
|
+
}>;
|
|
18
|
+
actionWithParam: <Schema extends z.ZodTypeAny>(schema: Schema, fn: ({ param, data, formData, }: {
|
|
19
|
+
param: string;
|
|
20
|
+
data: z.infer<Schema>;
|
|
21
|
+
formData: FormData;
|
|
22
|
+
}) => unknown) => (param: string, _prevState: unknown, data: FormData) => Promise<InvalidActionResult<Schema> | ErrorActionResult<Schema> | {
|
|
23
|
+
success: true;
|
|
24
|
+
formData: z.TypeOf<Schema>;
|
|
25
|
+
successData: any;
|
|
26
|
+
invalid: undefined;
|
|
27
|
+
error: undefined;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
29
30
|
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY;IACvB,WAAW,EAAE,OAAO,CAAC;gBAET,OAAO,GAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAA0B;IAKrE,MAAM,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,UAC3B,MAAM,MACV,CAAC,EACH,IAAI,EACJ,QAAQ,GACT,EAAE;QACD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;KACpB,KAAK,OAAO,kBAEa,OAAO,QAAQ,QAAQ;;;;;;OAsCjD;IAEF,eAAe,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,UACpC,MAAM,MACV,CAAC,EACH,KAAK,EACL,IAAI,EACJ,QAAQ,GACT,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;KACpB,KAAK,OAAO,aAEQ,MAAM,cAAc,OAAO,QAAQ,QAAQ;;;;;;OAqChE;CACH"}
|
package/dist/server/actions.js
CHANGED
|
@@ -1,57 +1,87 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { decodeFormData, serialize } from './decode_form.js';
|
|
3
|
-
import { error, failure, isFailureActionResult, success } from './helpers.js';
|
|
3
|
+
import { error, failure, isErrorActionResult, isFailureActionResult, success, } from './helpers.js';
|
|
4
4
|
import {} from './types.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
return actionResponse;
|
|
5
|
+
export class ActionClient {
|
|
6
|
+
handleError;
|
|
7
|
+
constructor(options = { handleError: true }) {
|
|
8
|
+
this.handleError = options.handleError;
|
|
9
|
+
}
|
|
10
|
+
// ** Action wrapper
|
|
11
|
+
action = (schema, fn) => {
|
|
12
|
+
return async (_prevState, data) => {
|
|
13
|
+
const formData = decodeFormData(data);
|
|
14
|
+
const parsedData = await schema.safeParseAsync(formData);
|
|
15
|
+
if (!parsedData.success) {
|
|
16
|
+
return failure(serialize(formData), parsedData.error.flatten().fieldErrors);
|
|
18
17
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
try {
|
|
19
|
+
const actionResponse = await fn({
|
|
20
|
+
data: parsedData.data,
|
|
21
|
+
formData: data,
|
|
22
|
+
});
|
|
23
|
+
if (actionResponse && isFailureActionResult(actionResponse)) {
|
|
24
|
+
// Permit to return a FailureActionResult from the action for custom validations
|
|
25
|
+
return actionResponse;
|
|
26
|
+
}
|
|
27
|
+
if (actionResponse && isErrorActionResult(actionResponse)) {
|
|
28
|
+
// Permit to return a ErrorActionResult from the action for custom errors
|
|
29
|
+
return actionResponse;
|
|
30
|
+
}
|
|
31
|
+
return success(serialize(parsedData.data), actionResponse);
|
|
25
32
|
}
|
|
26
|
-
|
|
27
|
-
|
|
33
|
+
catch (e) {
|
|
34
|
+
if (this.handleError) {
|
|
35
|
+
if (e instanceof Error &&
|
|
36
|
+
(e.message === 'NEXT_REDIRECT' || e.message === 'NEXT_NOT_FOUND')) {
|
|
37
|
+
throw e;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return error(serialize(parsedData.data), e);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw e;
|
|
45
|
+
}
|
|
28
46
|
}
|
|
29
|
-
}
|
|
47
|
+
};
|
|
30
48
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return failure(serialize(formData), parsedData.error.flatten().fieldErrors);
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
const actionResponse = await fn(param, parsedData.data);
|
|
41
|
-
if (actionResponse && isFailureActionResult(actionResponse)) {
|
|
42
|
-
return actionResponse;
|
|
49
|
+
actionWithParam = (schema, fn) => {
|
|
50
|
+
return async (param, _prevState, data) => {
|
|
51
|
+
const formData = decodeFormData(data);
|
|
52
|
+
const parsedData = await schema.safeParseAsync(formData);
|
|
53
|
+
if (!parsedData.success) {
|
|
54
|
+
return failure(serialize(formData), parsedData.error.flatten().fieldErrors);
|
|
43
55
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
56
|
+
try {
|
|
57
|
+
const actionResponse = await fn({
|
|
58
|
+
param,
|
|
59
|
+
data: parsedData.data,
|
|
60
|
+
formData: data,
|
|
61
|
+
});
|
|
62
|
+
if (actionResponse && isFailureActionResult(actionResponse)) {
|
|
63
|
+
return actionResponse;
|
|
64
|
+
}
|
|
65
|
+
if (actionResponse && isErrorActionResult(actionResponse)) {
|
|
66
|
+
return actionResponse;
|
|
67
|
+
}
|
|
68
|
+
return success(serialize(parsedData.data), actionResponse);
|
|
50
69
|
}
|
|
51
|
-
|
|
52
|
-
|
|
70
|
+
catch (e) {
|
|
71
|
+
if (this.handleError) {
|
|
72
|
+
if (e instanceof Error &&
|
|
73
|
+
(e.message === 'NEXT_REDIRECT' || e.message === 'NEXT_NOT_FOUND')) {
|
|
74
|
+
throw e;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return error(serialize(parsedData.data), e);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
throw e;
|
|
82
|
+
}
|
|
53
83
|
}
|
|
54
|
-
}
|
|
84
|
+
};
|
|
55
85
|
};
|
|
56
|
-
}
|
|
86
|
+
}
|
|
57
87
|
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/server/helpers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import type { FieldErrors, InvalidActionResult } from './types.js';
|
|
2
|
+
import type { ErrorActionResult, FieldErrors, InvalidActionResult } from './types.js';
|
|
3
3
|
export declare const success: <Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, successData: any) => {
|
|
4
4
|
success: true;
|
|
5
5
|
formData: z.TypeOf<Schema>;
|
|
@@ -21,14 +21,22 @@ export declare const error: <Schema extends z.ZodTypeAny>(formData: z.infer<Sche
|
|
|
21
21
|
invalid: undefined;
|
|
22
22
|
error: string;
|
|
23
23
|
};
|
|
24
|
-
export declare function
|
|
24
|
+
export declare function actionInvalid<Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, field: keyof z.TypeOf<Schema>, error: string): {
|
|
25
25
|
invalid: FieldErrors<Schema>;
|
|
26
26
|
success: false;
|
|
27
27
|
error: undefined;
|
|
28
28
|
formData: z.TypeOf<Schema>;
|
|
29
29
|
successData: undefined;
|
|
30
30
|
};
|
|
31
|
+
export declare function actionError<Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, error: string): {
|
|
32
|
+
invalid: undefined;
|
|
33
|
+
success: false;
|
|
34
|
+
error: string;
|
|
35
|
+
formData: z.TypeOf<Schema>;
|
|
36
|
+
successData: undefined;
|
|
37
|
+
};
|
|
31
38
|
export declare const isFailureActionResult: <Schema extends z.ZodTypeAny>(actionResult: unknown) => actionResult is InvalidActionResult<Schema>;
|
|
39
|
+
export declare const isErrorActionResult: <Schema extends z.ZodTypeAny>(actionResult: unknown) => actionResult is ErrorActionResult<Schema>;
|
|
32
40
|
export declare const initialState: <Schema extends z.ZodTypeAny>(formData: z.infer<Schema> | undefined) => {
|
|
33
41
|
success: false;
|
|
34
42
|
formData: z.TypeOf<Schema> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/server/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/server/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EAEX,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,OAAO,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,YACvC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,eACZ,GAAG;;;;;;CAQwB,CAAC;AAE3C,eAAO,MAAM,OAAO,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,YACvC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAChB,WAAW,CAAC,MAAM,CAAC;;;;;;CAQY,CAAC;AAE3C,eAAO,MAAM,KAAK,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,YACrC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAClB,OAAO;;;;;;CAQwB,CAAC;AAEzC,wBAAgB,aAAa,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EACvD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,KAAK,EAAE,MAAM;aAKK,WAAW,CAAC,MAAM,CAAC;;;;;EAMtC;AAED,wBAAgB,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EACrD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,MAAM;;;;;;EASd;AAGD,eAAO,MAAM,qBAAqB,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,gBACjD,OAAO,KACpB,YAAY,IAAI,mBAAmB,CAAC,MAAM,CAS5C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,gBAC/C,OAAO,KACpB,YAAY,IAAI,iBAAiB,CAAC,MAAM,CAS1C,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,YAC5C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS;;;;;;CAQA,CAAC"}
|
package/dist/server/helpers.js
CHANGED
|
@@ -20,7 +20,7 @@ export const error = (formData, error) => ({
|
|
|
20
20
|
invalid: undefined,
|
|
21
21
|
error: error instanceof Error ? error.message : JSON.stringify(error),
|
|
22
22
|
});
|
|
23
|
-
export function
|
|
23
|
+
export function actionInvalid(formData, field, error) {
|
|
24
24
|
return {
|
|
25
25
|
invalid: {
|
|
26
26
|
[field]: error,
|
|
@@ -31,6 +31,15 @@ export function setInvalid(formData, field, error) {
|
|
|
31
31
|
successData: undefined,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
+
export function actionError(formData, error) {
|
|
35
|
+
return {
|
|
36
|
+
invalid: undefined,
|
|
37
|
+
success: false,
|
|
38
|
+
error: error,
|
|
39
|
+
formData, // pass down the data even if there are errors to leave the form filled
|
|
40
|
+
successData: undefined,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
34
43
|
// ** Action result typeguards
|
|
35
44
|
export const isFailureActionResult = (actionResult) => {
|
|
36
45
|
return (typeof actionResult === 'object' &&
|
|
@@ -40,6 +49,14 @@ export const isFailureActionResult = (actionResult) => {
|
|
|
40
49
|
'invalid' in actionResult &&
|
|
41
50
|
actionResult.invalid !== undefined);
|
|
42
51
|
};
|
|
52
|
+
export const isErrorActionResult = (actionResult) => {
|
|
53
|
+
return (typeof actionResult === 'object' &&
|
|
54
|
+
actionResult !== null &&
|
|
55
|
+
'success' in actionResult &&
|
|
56
|
+
actionResult.success === false &&
|
|
57
|
+
'error' in actionResult &&
|
|
58
|
+
actionResult.error !== undefined);
|
|
59
|
+
};
|
|
43
60
|
// ** Initial state helper
|
|
44
61
|
export const initialState = (formData) => ({
|
|
45
62
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/server/helpers.ts"],"names":[],"mappings":"AASA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,QAAyB,EACzB,WAAgB,EAChB,EAAE,CACF,CAAC;IACC,OAAO,EAAE,IAAI;IACb,QAAQ;IACR,WAAW;IACX,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;CACjB,CAAuC,CAAC;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,QAAyB,EACzB,OAA4B,EAC5B,EAAE,CACF,CAAC;IACC,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,uEAAuE;IACjF,WAAW,EAAE,SAAS;IACtB,OAAO;IACP,KAAK,EAAE,SAAS;CACjB,CAAuC,CAAC;AAE3C,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,QAAyB,EACzB,KAAc,EACd,EAAE,CACF,CAAC;IACC,QAAQ,EAAE,uEAAuE;IACjF,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;CACtE,CAAqC,CAAC;AAEzC,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/server/helpers.ts"],"names":[],"mappings":"AASA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,QAAyB,EACzB,WAAgB,EAChB,EAAE,CACF,CAAC;IACC,OAAO,EAAE,IAAI;IACb,QAAQ;IACR,WAAW;IACX,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;CACjB,CAAuC,CAAC;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,QAAyB,EACzB,OAA4B,EAC5B,EAAE,CACF,CAAC;IACC,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,uEAAuE;IACjF,WAAW,EAAE,SAAS;IACtB,OAAO;IACP,KAAK,EAAE,SAAS;CACjB,CAAuC,CAAC;AAE3C,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,QAAyB,EACzB,KAAc,EACd,EAAE,CACF,CAAC;IACC,QAAQ,EAAE,uEAAuE;IACjF,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;CACtE,CAAqC,CAAC;AAEzC,MAAM,UAAU,aAAa,CAC3B,QAAyB,EACzB,KAA6B,EAC7B,KAAa;IAEb,OAAO;QACL,OAAO,EAAE;YACP,CAAC,KAAK,CAAC,EAAE,KAAK;SACmB;QACnC,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,uEAAuE;QACjF,WAAW,EAAE,SAAS;KACe,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,QAAyB,EACzB,KAAa;IAEb,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,uEAAuE;QACjF,WAAW,EAAE,SAAS;KACa,CAAC;AACxC,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAqB,EACwB,EAAE;IAC/C,OAAO,CACL,OAAO,YAAY,KAAK,QAAQ;QAChC,YAAY,KAAK,IAAI;QACrB,SAAS,IAAI,YAAY;QACzB,YAAY,CAAC,OAAO,KAAK,KAAK;QAC9B,SAAS,IAAI,YAAY;QACzB,YAAY,CAAC,OAAO,KAAK,SAAS,CACnC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,YAAqB,EACsB,EAAE;IAC7C,OAAO,CACL,OAAO,YAAY,KAAK,QAAQ;QAChC,YAAY,KAAK,IAAI;QACrB,SAAS,IAAI,YAAY;QACzB,YAAY,CAAC,OAAO,KAAK,KAAK;QAC9B,OAAO,IAAI,YAAY;QACvB,YAAY,CAAC,KAAK,KAAK,SAAS,CACjC,CAAC;AACJ,CAAC,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,QAAqC,EACrC,EAAE,CACF,CAAC;IACC,OAAO,EAAE,KAAK;IACd,QAAQ;IACR,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;CACjB,CAAoC,CAAC"}
|