react-server-actions 1.0.14 → 1.0.16

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.
@@ -102,7 +102,7 @@ describe('getZodValidationAttributes', () => {
102
102
  attrs: {
103
103
  required: true,
104
104
  type: 'number',
105
- min: 0,
105
+ min: 1,
106
106
  },
107
107
  });
108
108
  });
@@ -9,10 +9,10 @@ import { z } from 'zod';
9
9
  * We could make a "guess" based on the zod rule, and then could be overriden by the user, but this would lead to confusion.
10
10
  * So we leave it as a parameter for now.
11
11
  */
12
- export declare function getZodValidationAttributes(schema: z.ZodTypeAny, path: string[], options?: {
12
+ export declare function getZodValidationAttributes(schema: z.ZodType<any>, path: string[], options?: {
13
13
  inferTypeAttr?: boolean;
14
14
  }): {
15
- type: 'string' | 'number' | 'date' | 'boolean' | 'enum';
15
+ type: 'string' | 'number' | 'date' | 'boolean' | 'enum' | 'file';
16
16
  attrs: Record<string, string | number | boolean>;
17
17
  };
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/client/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,CAAC,CAAC,UAAU,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GACA;IACD,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACxD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAClD,CA2HA;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,SAAU,IAAI,uBAKjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,SAAU,IAAI,WAKrD,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/client/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EACtB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GACA;IACD,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACjE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAClD,CAuIA;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,SAAU,IAAI,uBAKjD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,SAAU,IAAI,WAKrD,CAAC"}
@@ -10,115 +10,133 @@ import { z } from 'zod';
10
10
  * So we leave it as a parameter for now.
11
11
  */
12
12
  export function getZodValidationAttributes(schema, path, options) {
13
- const def = schema._def;
14
13
  let type = 'string';
15
14
  const attrs = {};
16
15
  // First handle object type to get to the actual field
17
- if (def.typeName === 'ZodObject' && path.length > 0) {
18
- const shape = def.shape();
16
+ if (schema instanceof z.ZodObject && path.length > 0) {
17
+ const shape = schema.shape;
19
18
  const field = shape[path[0]];
20
19
  return field
21
20
  ? getZodValidationAttributes(field, path.slice(1), options)
22
21
  : { type, attrs };
23
22
  }
24
- if (def.typeName === 'ZodEffects') {
25
- return getZodValidationAttributes(def.schema, path, options);
23
+ if (schema instanceof z.ZodTransform) {
24
+ return getZodValidationAttributes(schema._def.in, path, options);
25
+ }
26
+ if (schema instanceof z.ZodPipe) {
27
+ return getZodValidationAttributes(schema._def.in, path, options);
26
28
  }
27
29
  // Now we're at the actual field, check if it's optional/nullable
28
30
  const isOptionalType = schema instanceof z.ZodOptional;
29
31
  const isNullableType = schema instanceof z.ZodNullable;
30
32
  // If it's an optional/nullable type, get attributes from the inner type but don't set required
31
33
  if (isOptionalType || isNullableType) {
32
- const innerAttrs = getZodValidationAttributes(def.innerType, path, options);
34
+ const innerSchema = schema._def.innerType;
35
+ const innerAttrs = getZodValidationAttributes(innerSchema, path, options);
33
36
  delete innerAttrs.attrs.required;
34
37
  return innerAttrs;
35
38
  }
36
- // Set required by default for non-optional/nullable fields
37
- // Skip required attribute if the field has a default value
38
- if (!def.defaultValue) {
39
+ // Handle default values - if it's a ZodDefault, get the inner type and don't set required
40
+ let actualSchema = schema;
41
+ if (schema instanceof z.ZodDefault) {
42
+ actualSchema = schema._def.innerType;
43
+ // Don't set required for fields with default values
44
+ }
45
+ else {
39
46
  attrs.required = true;
40
47
  }
41
- const typeName = def.typeName === 'ZodDefault'
42
- ? def.innerType._def.typeName
43
- : def.typeName === 'ZodCoerce'
44
- ? def.schema._def.typeName
45
- : def.typeName;
46
- if (typeName === 'ZodString') {
48
+ if (actualSchema instanceof z.ZodString) {
47
49
  type = 'string';
48
50
  attrs.type = 'text';
49
- const checks = def.typeName === 'ZodDefault' ? def.innerType._def.checks : def.checks;
51
+ // Access checks through the schema's internal structure
52
+ const checks = actualSchema._def?.checks;
50
53
  if (checks) {
51
54
  for (const check of checks) {
52
- if (check.kind === 'minlength' || check.kind === 'min') {
53
- attrs.minLength = check.value;
54
- }
55
- if (check.kind === 'maxlength' || check.kind === 'max') {
56
- attrs.maxLength = check.value;
57
- }
58
- if (check.kind === 'email') {
59
- attrs.type = 'email';
60
- }
61
- if (check.kind === 'url') {
62
- attrs.type = 'url';
55
+ const checkDef = check._zod?.def;
56
+ if (checkDef) {
57
+ if (checkDef.check === 'min_length') {
58
+ attrs.minLength = checkDef.minimum;
59
+ }
60
+ if (checkDef.check === 'max_length') {
61
+ attrs.maxLength = checkDef.maximum;
62
+ }
63
+ if (checkDef.format === 'email') {
64
+ attrs.type = 'email';
65
+ }
66
+ if (checkDef.format === 'url') {
67
+ attrs.type = 'url';
68
+ }
63
69
  }
64
70
  }
65
71
  }
66
72
  }
67
- else if (typeName === 'ZodNumber') {
73
+ else if (actualSchema instanceof z.ZodNumber) {
68
74
  type = 'number';
69
75
  attrs.type = 'number';
70
- const checks = def.typeName === 'ZodDefault'
71
- ? def.innerType._def.checks
72
- : def.typeName === 'ZodCoerce'
73
- ? def.schema._def.checks
74
- : def.checks;
76
+ const checks = actualSchema._def?.checks;
75
77
  if (checks) {
76
78
  for (const check of checks) {
77
- if (check.kind === 'min') {
78
- attrs.min = check.value;
79
- }
80
- if (check.kind === 'max') {
81
- attrs.max = check.value;
82
- }
83
- if (check.kind === 'int') {
84
- attrs.step = 1;
79
+ const checkDef = check._zod?.def;
80
+ if (checkDef) {
81
+ if (checkDef.check === 'greater_than' && checkDef.inclusive) {
82
+ attrs.min = checkDef.value;
83
+ }
84
+ if (checkDef.check === 'less_than' && checkDef.inclusive) {
85
+ attrs.max = checkDef.value;
86
+ }
87
+ if (checkDef.check === 'greater_than' && !checkDef.inclusive) {
88
+ attrs.min = checkDef.value + 1;
89
+ }
90
+ if (checkDef.check === 'less_than' && !checkDef.inclusive) {
91
+ attrs.max = checkDef.value - 1;
92
+ }
93
+ if (checkDef.format === 'safeint') {
94
+ attrs.step = 1;
95
+ }
85
96
  }
86
97
  }
87
98
  }
88
99
  }
89
- else if (typeName === 'ZodDate') {
100
+ else if (actualSchema instanceof z.ZodDate) {
90
101
  type = 'date';
91
102
  attrs.type = 'date';
92
- const checks = def.typeName === 'ZodDefault'
93
- ? def.innerType._def.checks
94
- : def.typeName === 'ZodCoerce'
95
- ? def.schema._def.checks
96
- : def.checks;
103
+ const checks = actualSchema._def?.checks;
97
104
  if (checks) {
98
105
  for (const check of checks) {
99
- if (check.kind === 'min') {
100
- const minDate = new Date(check.value).toISOString().split('T')[0];
101
- if (minDate) {
102
- attrs.min = minDate;
106
+ const checkDef = check._zod?.def;
107
+ if (checkDef) {
108
+ if (checkDef.check === 'greater_than' && checkDef.inclusive) {
109
+ const minDate = new Date(checkDef.value)
110
+ .toISOString()
111
+ .split('T')[0];
112
+ if (minDate) {
113
+ attrs.min = minDate;
114
+ }
103
115
  }
104
- }
105
- if (check.kind === 'max') {
106
- const maxDate = new Date(check.value).toISOString().split('T')[0];
107
- if (maxDate) {
108
- attrs.max = maxDate;
116
+ if (checkDef.check === 'less_than' && checkDef.inclusive) {
117
+ const maxDate = new Date(checkDef.value)
118
+ .toISOString()
119
+ .split('T')[0];
120
+ if (maxDate) {
121
+ attrs.max = maxDate;
122
+ }
109
123
  }
110
124
  }
111
125
  }
112
126
  }
113
127
  }
114
- else if (typeName === 'ZodBoolean') {
128
+ else if (actualSchema instanceof z.ZodBoolean) {
115
129
  type = 'boolean';
116
130
  attrs.type = 'checkbox';
117
131
  }
118
- else if (typeName === 'ZodEnum') {
132
+ else if (actualSchema instanceof z.ZodEnum) {
119
133
  type = 'enum';
120
134
  attrs.type = 'radio';
121
135
  }
136
+ else if (actualSchema instanceof z.ZodFile) {
137
+ type = 'file';
138
+ attrs.type = 'file';
139
+ }
122
140
  // If not specified, remove the type attribute
123
141
  if (!options?.inferTypeAttr) {
124
142
  delete attrs.type;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/client/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/client/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { z } from 'zod';
3
3
  import type { ActionResult } from '../index.js';
4
- export declare const useForm: <Schema extends z.AnyZodObject>() => {
4
+ export declare const useForm: <Schema extends z.ZodObject>() => {
5
5
  state: undefined;
6
6
  schema: undefined;
7
7
  debug: boolean;
@@ -22,19 +22,19 @@ type UseFieldReturn = {
22
22
  defaultChecked?: boolean;
23
23
  };
24
24
  };
25
- export declare const useField: <Schema extends z.AnyZodObject>() => UseFieldReturn;
26
- export declare function Form<Schema extends z.AnyZodObject>({ children, action, state, schema, className, reset, onSuccess, onError, debug, ...props }: React.ComponentProps<'form'> & {
25
+ export declare const useField: <Schema extends z.ZodObject>() => UseFieldReturn;
26
+ export declare function Form<Schema extends z.ZodObject>({ children, action, state, schema, className, reset, onSuccess, onError, debug, ...props }: React.ComponentProps<'form'> & {
27
27
  children: React.ReactNode;
28
28
  action: (payload: FormData) => void;
29
29
  state: ActionResult<Schema>;
30
30
  schema: Schema;
31
31
  className?: string;
32
32
  reset?: boolean;
33
- onSuccess?: (successData: any, formData: z.TypeOf<Schema> | undefined) => void;
33
+ onSuccess?: (data: any, formData: z.TypeOf<Schema> | undefined) => void;
34
34
  onError?: (error: string) => void;
35
35
  debug?: boolean;
36
36
  }): React.JSX.Element;
37
- export declare function FormField<Schema extends z.AnyZodObject>({ render, name, }: {
37
+ export declare function FormField<Schema extends z.ZodObject>({ render, name, }: {
38
38
  render: (field: ReturnType<typeof useField>) => React.ReactNode;
39
39
  name: keyof z.TypeOf<Schema>;
40
40
  }): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAYhD,eAAO,MAAM,OAAO,GAAI,MAAM,SAAS,CAAC,CAAC,YAAY;;;;;WAKzB,YAAY,CAAC,MAAM,CAAC;YAClB,MAAM;;CAGnC,CAAC;AAOF,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QAEb,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;QACvC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,CAAC,CAAC,YAAY,OAAK,cAkD1D,CAAC;AAEF,wBAAgB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,YAAY,EAAE,EAClD,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,OAAO,EACP,KAAK,EACL,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,CACV,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,KACnC,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,qBAsBA;AAED,wBAAgB,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC,YAAY,EAAE,EACvD,MAAM,EACN,IAAI,GACL,EAAE;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC9B,qBAOA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAYhD,eAAO,MAAM,OAAO,GAAI,MAAM,SAAS,CAAC,CAAC,SAAS;;;;;WAKtB,YAAY,CAAC,MAAM,CAAC;YAClB,MAAM;;CAGnC,CAAC;AAOF,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QAEb,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;QACvC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,CAAC,CAAC,SAAS,OAAK,cAoDvD,CAAC;AAEF,wBAAgB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,EAC/C,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,OAAO,EACP,KAAK,EACL,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IACxE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,qBAsBA;AAED,wBAAgB,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,EACpD,MAAM,EACN,IAAI,GACL,EAAE;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC9B,qBAOA"}
@@ -55,6 +55,9 @@ export const useField = () => {
55
55
  field.input.defaultChecked = false;
56
56
  }
57
57
  }
58
+ else if (type === 'file') {
59
+ // File inputs don't support default values, skip setting it
60
+ }
58
61
  else {
59
62
  field.input.defaultValue = defaultValue;
60
63
  }
@@ -76,7 +79,7 @@ export function Form({ children, action, state, schema, className, reset, onSucc
76
79
  }
77
80
  useEffect(() => {
78
81
  if (state.success) {
79
- onSuccess?.(state.successData, state.formData);
82
+ onSuccess?.(state.data, state.formData);
80
83
  }
81
84
  else if (state.error) {
82
85
  onError?.(state.error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.tsx"],"names":[],"mappings":"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"}
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
3
  import { ActionClient } from './server/actions.js';
4
- import { actionError, actionInvalid, initialState } from './server/helpers.js';
4
+ import { error, initialState, invalid, success } 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 { ActionClient, Form, FormField, actionError, actionInvalid, dateToInputDefaultValue, datetimeToInputDefaultValue, initialState, useField, useForm, };
6
+ export { ActionClient, Form, FormField, dateToInputDefaultValue, datetimeToInputDefaultValue, error, initialState, invalid, success, useField, useForm, };
7
7
  export type { ActionResult, ErrorActionResult, FieldErrors, IdleActionResult, InvalidActionResult, SuccessActionResult, };
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -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,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"}
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,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5E,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,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,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
3
  import { ActionClient } from './server/actions.js';
4
- import { actionError, actionInvalid, initialState } from './server/helpers.js';
4
+ import { error, initialState, invalid, success } from './server/helpers.js';
5
5
  import {} from './server/types.js';
6
- export { ActionClient, Form, FormField, actionError, actionInvalid, dateToInputDefaultValue, datetimeToInputDefaultValue, initialState, useField, useForm, };
6
+ export { ActionClient, Form, FormField, dateToInputDefaultValue, datetimeToInputDefaultValue, error, initialState, invalid, success, 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,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"}
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,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAON,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,GACR,CAAC"}
@@ -1,30 +1,24 @@
1
1
  import { z } from 'zod';
2
- import { type ErrorActionResult, type InvalidActionResult } from './types.js';
2
+ import { type ActionResult, type ConvertEmptyToValue, type ErrorActionResultWithoutFormData, type InvalidActionResultWithoutFormData, type SuccessActionResultWithoutFormData } from './types.js';
3
3
  export declare class ActionClient {
4
- handleError: boolean;
4
+ handleExceptionsAsFormErrors: boolean;
5
+ convertEmptyTo: ConvertEmptyToValue;
5
6
  constructor(options?: {
6
- handleError: boolean;
7
+ handleExceptionsAsFormErrors: boolean;
8
+ convertEmptyTo: ConvertEmptyToValue;
7
9
  });
8
- action: <Schema extends z.ZodTypeAny>(schema: Schema, fn: ({ data, formData, }: {
10
+ action: <Schema extends z.ZodType<any>>(schema: Schema, fn: ({ data, formData, }: {
9
11
  data: z.infer<Schema>;
10
12
  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, }: {
13
+ }) => Promise<SuccessActionResultWithoutFormData | InvalidActionResultWithoutFormData<Schema> | ErrorActionResultWithoutFormData>, options?: {
14
+ handleExceptionsAsFormErrors?: boolean;
15
+ }) => (_prevState: unknown, data: FormData) => Promise<ActionResult<Schema>>;
16
+ actionWithParam: <Schema extends z.ZodType<any>>(schema: Schema, fn: ({ param, data, formData, }: {
19
17
  param: string;
20
18
  data: z.infer<Schema>;
21
19
  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
- }>;
20
+ }) => Promise<SuccessActionResultWithoutFormData | InvalidActionResultWithoutFormData<Schema> | ErrorActionResultWithoutFormData>, options?: {
21
+ handleExceptionsAsFormErrors?: boolean;
22
+ }) => (param: string, _prevState: unknown, data: FormData) => Promise<ActionResult<Schema>>;
29
23
  }
30
24
  //# 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;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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,gCAAgC,EAErC,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACxC,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY;IACvB,4BAA4B,EAAE,OAAO,CAAC;IACtC,cAAc,EAAE,mBAAmB,CAAC;gBAGlC,OAAO,GAAE;QACP,4BAA4B,EAAE,OAAO,CAAC;QACtC,cAAc,EAAE,mBAAmB,CAAC;KAIrC;IAOH,MAAM,GAAI,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAC7B,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,CACT,kCAAkC,GAClC,kCAAkC,CAAC,MAAM,CAAC,GAC1C,gCAAgC,CACnC,YACS;QACR,4BAA4B,CAAC,EAAE,OAAO,CAAC;KACxC,kBAGa,OAAO,QACb,QAAQ,KACb,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAqDhC;IAEF,eAAe,GAAI,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UACtC,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,CACT,kCAAkC,GAClC,kCAAkC,CAAC,MAAM,CAAC,GAC1C,gCAAgC,CACnC,YACS;QACR,4BAA4B,CAAC,EAAE,OAAO,CAAC;KACxC,aAGQ,MAAM,cACD,OAAO,QACb,QAAQ,KACb,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAoDhC;CACH"}
@@ -1,43 +1,50 @@
1
1
  import { z } from 'zod';
2
2
  import { decodeFormData, serialize } from './decode_form.js';
3
- import { error, failure, isErrorActionResult, isFailureActionResult, success, } from './helpers.js';
3
+ import { _actionError, _actionInvalid, _actionSuccess, error, invalid, isErrorActionResult, isInvalidActionResult, } from './helpers.js';
4
4
  import {} from './types.js';
5
5
  export class ActionClient {
6
- handleError;
7
- constructor(options = { handleError: true }) {
8
- this.handleError = options.handleError;
6
+ handleExceptionsAsFormErrors;
7
+ convertEmptyTo;
8
+ constructor(options = {
9
+ handleExceptionsAsFormErrors: true,
10
+ convertEmptyTo: 'undefined',
11
+ }) {
12
+ this.handleExceptionsAsFormErrors = options.handleExceptionsAsFormErrors;
13
+ this.convertEmptyTo = options.convertEmptyTo;
9
14
  }
10
15
  // ** Action wrapper
11
- action = (schema, fn) => {
16
+ action = (schema, fn, options) => {
12
17
  return async (_prevState, data) => {
13
- const formData = decodeFormData(data);
18
+ const formData = decodeFormData(data, this.convertEmptyTo);
14
19
  const parsedData = await schema.safeParseAsync(formData);
20
+ const serializedData = serialize(formData);
15
21
  if (!parsedData.success) {
16
- return failure(serialize(formData), parsedData.error.flatten().fieldErrors);
22
+ return _actionInvalid(serializedData, invalid(parsedData.error.flatten().fieldErrors));
17
23
  }
18
24
  try {
19
25
  const actionResponse = await fn({
20
26
  data: parsedData.data,
21
27
  formData: data,
22
28
  });
23
- if (actionResponse && isFailureActionResult(actionResponse)) {
24
- // Permit to return a FailureActionResult from the action for custom validations
25
- return actionResponse;
29
+ if (actionResponse && isInvalidActionResult(actionResponse)) {
30
+ // Permit to return a InvalidActionResult from the action for custom validations
31
+ return _actionInvalid(serializedData, actionResponse);
26
32
  }
27
33
  if (actionResponse && isErrorActionResult(actionResponse)) {
28
34
  // Permit to return a ErrorActionResult from the action for custom errors
29
- return actionResponse;
35
+ return _actionError(serializedData, actionResponse);
30
36
  }
31
- return success(serialize(parsedData.data), actionResponse);
37
+ return _actionSuccess(serializedData, actionResponse);
32
38
  }
33
39
  catch (e) {
34
- if (this.handleError) {
40
+ if (options?.handleExceptionsAsFormErrors ??
41
+ this.handleExceptionsAsFormErrors) {
35
42
  if (e instanceof Error &&
36
43
  (e.message === 'NEXT_REDIRECT' || e.message === 'NEXT_NOT_FOUND')) {
37
44
  throw e;
38
45
  }
39
46
  else {
40
- return error(serialize(parsedData.data), e);
47
+ return _actionError(serializedData, error(e));
41
48
  }
42
49
  }
43
50
  else {
@@ -46,12 +53,13 @@ export class ActionClient {
46
53
  }
47
54
  };
48
55
  };
49
- actionWithParam = (schema, fn) => {
56
+ actionWithParam = (schema, fn, options) => {
50
57
  return async (param, _prevState, data) => {
51
- const formData = decodeFormData(data);
58
+ const formData = decodeFormData(data, this.convertEmptyTo);
52
59
  const parsedData = await schema.safeParseAsync(formData);
60
+ const serializedData = serialize(formData);
53
61
  if (!parsedData.success) {
54
- return failure(serialize(formData), parsedData.error.flatten().fieldErrors);
62
+ return _actionInvalid(serializedData, invalid(parsedData.error.flatten().fieldErrors));
55
63
  }
56
64
  try {
57
65
  const actionResponse = await fn({
@@ -59,22 +67,23 @@ export class ActionClient {
59
67
  data: parsedData.data,
60
68
  formData: data,
61
69
  });
62
- if (actionResponse && isFailureActionResult(actionResponse)) {
63
- return actionResponse;
70
+ if (actionResponse && isInvalidActionResult(actionResponse)) {
71
+ return _actionInvalid(serializedData, actionResponse);
64
72
  }
65
73
  if (actionResponse && isErrorActionResult(actionResponse)) {
66
- return actionResponse;
74
+ return _actionError(serializedData, actionResponse);
67
75
  }
68
- return success(serialize(parsedData.data), actionResponse);
76
+ return _actionSuccess(serializedData, actionResponse);
69
77
  }
70
78
  catch (e) {
71
- if (this.handleError) {
79
+ if (options?.handleExceptionsAsFormErrors ??
80
+ this.handleExceptionsAsFormErrors) {
72
81
  if (e instanceof Error &&
73
82
  (e.message === 'NEXT_REDIRECT' || e.message === 'NEXT_NOT_FOUND')) {
74
83
  throw e;
75
84
  }
76
85
  else {
77
- return error(serialize(parsedData.data), e);
86
+ return _actionError(serializedData, error(e));
78
87
  }
79
88
  }
80
89
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { z } from 'zod';
2
- export declare const decodeFormData: (formData: FormData) => Record<string, any>;
3
- export declare const serialize: <Schema extends z.ZodTypeAny>(data: z.infer<Schema>) => any;
2
+ import type { ConvertEmptyToValue } from './types.js';
3
+ export declare const decodeFormData: (formData: FormData, convertEmptyTo: ConvertEmptyToValue) => Record<string, any>;
4
+ export declare const serialize: <Schema extends z.ZodType<any>>(data: z.infer<Schema>) => any;
4
5
  //# sourceMappingURL=decode_form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode_form.d.ts","sourceRoot":"","sources":["../../src/server/decode_form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,eAAO,MAAM,cAAc,aAAc,QAAQ,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAuCrE,CAAC;AACF,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,CAAC,CAAC,UAAU,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAC1C,CAAC"}
1
+ {"version":3,"file":"decode_form.d.ts","sourceRoot":"","sources":["../../src/server/decode_form.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,eAAO,MAAM,cAAc,aACf,QAAQ,kBACF,mBAAmB,KAClC,MAAM,CAAC,MAAM,EAAE,GAAG,CA8CpB,CAAC;AACF,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAC/C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QACc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // ** Decode form helper
2
- export const decodeFormData = (formData) => {
2
+ export const decodeFormData = (formData, convertEmptyTo) => {
3
3
  const data = {};
4
4
  formData.forEach((value, key) => {
5
5
  // Reflect.has in favor of: object.hasOwnProperty(key)
@@ -8,7 +8,14 @@ export const decodeFormData = (formData) => {
8
8
  data[key] = value;
9
9
  }
10
10
  else {
11
- data[key] = undefined;
11
+ data[key] =
12
+ convertEmptyTo === 'undefined'
13
+ ? undefined
14
+ : convertEmptyTo === 'null'
15
+ ? null
16
+ : convertEmptyTo === 'empty-string'
17
+ ? ''
18
+ : value;
12
19
  }
13
20
  return;
14
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decode_form.js","sourceRoot":"","sources":["../../src/server/decode_form.ts"],"names":[],"mappings":"AAEA,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAuB,EAAE;IACxE,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC9B,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YACxB,CAAC;YACD,OAAO;QACT,CAAC;QACD,mEAAmE;QACnE,gCAAgC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,yCAAyC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAY,CAAC;YACrC,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACd,CAAC;gBACD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,CAA8B,IAAqB,EAAE,EAAE,CAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"decode_form.js","sourceRoot":"","sources":["../../src/server/decode_form.ts"],"names":[],"mappings":"AAGA,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,QAAkB,EAClB,cAAmC,EACd,EAAE;IACvB,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC9B,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC;oBACP,cAAc,KAAK,WAAW;wBAC5B,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,cAAc,KAAK,MAAM;4BACzB,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,cAAc,KAAK,cAAc;gCACjC,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC,KAAK,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QACD,mEAAmE;QACnE,gCAAgC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,yCAAyC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAY,CAAC;YACrC,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACd,CAAC;gBACD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YACD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAqB,EACrB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -1,46 +1,44 @@
1
1
  import type { z } from 'zod';
2
- import type { ErrorActionResult, FieldErrors, InvalidActionResult } from './types.js';
3
- export declare const success: <Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, successData: any) => {
2
+ import type { ErrorActionResultWithoutFormData, FieldErrors, InvalidActionResultWithoutFormData, SuccessActionResultWithoutFormData } from './types.js';
3
+ export declare const success: (data: any) => {
4
4
  success: true;
5
- formData: z.TypeOf<Schema>;
6
- successData: any;
7
- invalid: undefined;
8
- error: undefined;
5
+ data: any;
9
6
  };
10
- export declare const failure: <Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, invalid: FieldErrors<Schema>) => {
7
+ export declare const invalid: <Schema extends z.ZodType<any>>(invalid: FieldErrors<Schema>) => {
11
8
  success: false;
12
- formData: z.TypeOf<Schema>;
13
- successData: undefined;
14
9
  invalid: FieldErrors<Schema>;
15
- error: undefined;
16
10
  };
17
- export declare const error: <Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, error: unknown) => {
18
- formData: z.TypeOf<Schema>;
19
- successData: undefined;
11
+ export declare const error: (error: unknown) => {
20
12
  success: false;
21
- invalid: undefined;
22
13
  error: string;
23
14
  };
24
- export declare function actionInvalid<Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, field: keyof z.TypeOf<Schema>, error: string): {
25
- invalid: FieldErrors<Schema>;
26
- success: false;
15
+ export declare function _actionSuccess<Schema extends z.ZodType<any>>(formData: z.infer<Schema>, actionResult: SuccessActionResultWithoutFormData): {
16
+ formData: z.core.output<Schema>;
17
+ invalid: undefined;
27
18
  error: undefined;
28
- formData: z.TypeOf<Schema>;
29
- successData: undefined;
19
+ success: true;
20
+ data: any;
21
+ };
22
+ export declare function _actionInvalid<Schema extends z.ZodType<any>>(formData: z.infer<Schema>, actionResult: InvalidActionResultWithoutFormData<Schema>): {
23
+ formData: z.core.output<Schema>;
24
+ data: undefined;
25
+ error: undefined;
26
+ success: false;
27
+ invalid: FieldErrors<Schema> | undefined;
30
28
  };
31
- export declare function actionError<Schema extends z.ZodTypeAny>(formData: z.infer<Schema>, error: string): {
29
+ export declare function _actionError<Schema extends z.ZodType<any>>(formData: z.infer<Schema>, actionResult: ErrorActionResultWithoutFormData): {
30
+ formData: z.core.output<Schema>;
32
31
  invalid: undefined;
32
+ data: undefined;
33
33
  success: false;
34
34
  error: string;
35
- formData: z.TypeOf<Schema>;
36
- successData: undefined;
37
35
  };
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>;
40
- export declare const initialState: <Schema extends z.ZodTypeAny>(formData: z.infer<Schema> | undefined) => {
36
+ export declare const isInvalidActionResult: <Schema extends z.ZodType<any>>(actionResult: unknown) => actionResult is InvalidActionResultWithoutFormData<Schema>;
37
+ export declare const isErrorActionResult: (actionResult: unknown) => actionResult is ErrorActionResultWithoutFormData;
38
+ export declare const initialState: <Schema extends z.ZodType<any>>(formData: z.infer<Schema> | undefined) => {
41
39
  success: false;
42
- formData: z.TypeOf<Schema> | undefined;
43
- successData: undefined;
40
+ formData: z.core.output<Schema> | undefined;
41
+ data: undefined;
44
42
  invalid: undefined;
45
43
  error: undefined;
46
44
  };
@@ -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,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"}
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,EAEV,gCAAgC,EAChC,WAAW,EAGX,kCAAkC,EAElC,kCAAkC,EACnC,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,OAAO,SAAU,GAAG;;;CAIgB,CAAC;AAElD,eAAO,MAAM,OAAO,GAAI,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAC1C,WAAW,CAAC,MAAM,CAAC;;;CAK2B,CAAC;AAE1D,eAAO,MAAM,KAAK,UAAW,OAAO;;;CASW,CAAC;AAGhD,wBAAgB,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAC1D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,YAAY,EAAE,kCAAkC;;;;;;EAQjD;AAED,wBAAgB,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAC1D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,YAAY,EAAE,kCAAkC,CAAC,MAAM,CAAC;;;;;;EAQzD;AAED,wBAAgB,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EACxD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,YAAY,EAAE,gCAAgC;;;;;;EAQ/C;AAGD,eAAO,MAAM,qBAAqB,GAAI,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBACnD,OAAO,KACpB,YAAY,IAAI,kCAAkC,CAAC,MAAM,CAS3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,iBAChB,OAAO,KACpB,YAAY,IAAI,gCASlB,CAAC;AAGF,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAC9C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS;;;;;;CAQA,CAAC"}
@@ -1,47 +1,48 @@
1
1
  // ** Action result constructors helpers
2
- export const success = (formData, successData) => ({
2
+ // ** Public helpers
3
+ export const success = (data) => ({
3
4
  success: true,
4
- formData,
5
- successData,
6
- invalid: undefined,
7
- error: undefined,
5
+ data,
8
6
  });
9
- export const failure = (formData, invalid) => ({
7
+ export const invalid = (invalid) => ({
10
8
  success: false,
11
- formData, // pass down the data even if there are errors to leave the form filled
12
- successData: undefined,
13
9
  invalid,
14
- error: undefined,
15
10
  });
16
- export const error = (formData, error) => ({
17
- formData, // pass down the data even if there are errors to leave the form filled
18
- successData: undefined,
11
+ export const error = (error) => ({
19
12
  success: false,
20
- invalid: undefined,
21
- error: error instanceof Error ? error.message : JSON.stringify(error),
13
+ error: typeof error === 'string'
14
+ ? error
15
+ : error instanceof Error
16
+ ? error.message
17
+ : JSON.stringify(error),
22
18
  });
23
- export function actionInvalid(formData, field, error) {
19
+ // ** Private helpers
20
+ export function _actionSuccess(formData, actionResult) {
21
+ return {
22
+ ...actionResult,
23
+ formData, // pass down the data to leave the form filled
24
+ invalid: undefined,
25
+ error: undefined,
26
+ };
27
+ }
28
+ export function _actionInvalid(formData, actionResult) {
24
29
  return {
25
- invalid: {
26
- [field]: error,
27
- },
28
- success: false,
30
+ ...actionResult,
31
+ formData, // pass down the data to leave the form filled
32
+ data: undefined,
29
33
  error: undefined,
30
- formData, // pass down the data even if there are errors to leave the form filled
31
- successData: undefined,
32
34
  };
33
35
  }
34
- export function actionError(formData, error) {
36
+ export function _actionError(formData, actionResult) {
35
37
  return {
38
+ ...actionResult,
39
+ formData, // pass down the data to leave the form filled
36
40
  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
+ data: undefined,
41
42
  };
42
43
  }
43
44
  // ** Action result typeguards
44
- export const isFailureActionResult = (actionResult) => {
45
+ export const isInvalidActionResult = (actionResult) => {
45
46
  return (typeof actionResult === 'object' &&
46
47
  actionResult !== null &&
47
48
  'success' in actionResult &&
@@ -61,7 +62,7 @@ export const isErrorActionResult = (actionResult) => {
61
62
  export const initialState = (formData) => ({
62
63
  success: false,
63
64
  formData,
64
- successData: undefined,
65
+ data: undefined,
65
66
  invalid: undefined,
66
67
  error: undefined,
67
68
  });
@@ -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,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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/server/helpers.ts"],"names":[],"mappings":"AAYA,wCAAwC;AACxC,oBAAoB;AACpB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAS,EAAE,EAAE,CACnC,CAAC;IACC,OAAO,EAAE,IAAI;IACb,IAAI;CACL,CAA8C,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,OAA4B,EAC5B,EAAE,CACF,CAAC;IACC,OAAO,EAAE,KAAK;IACd,OAAO;CACR,CAAsD,CAAC;AAE1D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,EAAE,CACtC,CAAC;IACC,OAAO,EAAE,KAAK;IACd,KAAK,EACH,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,KAAK,YAAY,KAAK;YACtB,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;CAC9B,CAA4C,CAAC;AAEhD,qBAAqB;AACrB,MAAM,UAAU,cAAc,CAC5B,QAAyB,EACzB,YAAgD;IAEhD,OAAO;QACL,GAAG,YAAY;QACf,QAAQ,EAAE,8CAA8C;QACxD,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;KACqB,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAyB,EACzB,YAAwD;IAExD,OAAO;QACL,GAAG,YAAY;QACf,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACqB,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAyB,EACzB,YAA8C;IAE9C,OAAO;QACL,GAAG,YAAY;QACf,QAAQ,EAAE,8CAA8C;QACxD,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KACoB,CAAC;AACxC,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAqB,EACuC,EAAE;IAC9D,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,EAC6B,EAAE;IACpD,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,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;CACjB,CAAoC,CAAC"}
@@ -1,34 +1,41 @@
1
1
  import { z } from 'zod';
2
- export type IdleActionResult<Schema extends z.ZodTypeAny> = {
3
- success: false;
2
+ export type IdleActionResultWithoutFormData = Pick<ActionResult<z.ZodType<any>>, 'success' | 'data' | 'invalid' | 'error'>;
3
+ export type SuccessActionResultWithoutFormData = Pick<SuccessActionResult<z.ZodType<any>>, 'success' | 'data'>;
4
+ export type InvalidActionResultWithoutFormData<Schema extends z.ZodType<any>> = Pick<InvalidActionResult<Schema>, 'success' | 'invalid'>;
5
+ export type ErrorActionResultWithoutFormData = Pick<ErrorActionResult<z.ZodType<any>>, 'success' | 'error'>;
6
+ export type ActionResultWithoutFormData<Schema extends z.ZodType<any>> = IdleActionResultWithoutFormData | SuccessActionResultWithoutFormData | InvalidActionResultWithoutFormData<Schema> | ErrorActionResultWithoutFormData;
7
+ export type IdleActionResult<Schema extends z.ZodType<any>> = {
4
8
  formData: z.infer<Schema> | undefined;
5
- successData: undefined;
9
+ success: false;
10
+ data: undefined;
6
11
  invalid: undefined;
7
12
  error: undefined;
8
13
  };
9
- export type SuccessActionResult<Schema extends z.ZodTypeAny> = {
10
- success: true;
14
+ export type SuccessActionResult<Schema extends z.ZodType<any>> = {
11
15
  formData: z.infer<Schema> | undefined;
12
- successData: any;
16
+ success: true;
17
+ data: any;
13
18
  invalid: undefined;
14
19
  error: undefined;
15
20
  };
16
- export type InvalidActionResult<Schema extends z.ZodTypeAny> = {
17
- success: false;
21
+ export type InvalidActionResult<Schema extends z.ZodType<any>> = {
18
22
  formData: z.infer<Schema> | undefined;
19
- successData: undefined;
23
+ success: false;
24
+ data: undefined;
20
25
  invalid: FieldErrors<Schema> | undefined;
21
26
  error: undefined;
22
27
  };
23
- export type ErrorActionResult<Schema extends z.ZodTypeAny> = {
24
- success: false;
28
+ export type ErrorActionResult<Schema extends z.ZodType<any>> = {
25
29
  formData: z.infer<Schema> | undefined;
26
- successData: undefined;
30
+ success: false;
31
+ data: undefined;
27
32
  invalid: undefined;
28
33
  error: string;
29
34
  };
30
- export type ActionResult<Schema extends z.ZodTypeAny> = IdleActionResult<Schema> | SuccessActionResult<Schema> | InvalidActionResult<Schema> | ErrorActionResult<Schema>;
31
- export type FieldErrors<Schema extends z.ZodTypeAny> = {
35
+ export type ActionResult<Schema extends z.ZodType<any>> = IdleActionResult<Schema> | SuccessActionResult<Schema> | InvalidActionResult<Schema> | ErrorActionResult<Schema>;
36
+ export type FieldErrors<Schema extends z.ZodType<any>> = {
32
37
  [key in keyof Partial<z.TypeOf<Schema>>]: string[] | undefined;
33
38
  };
39
+ /** Utils */
40
+ export type ConvertEmptyToValue = 'undefined' | 'null' | 'empty-string';
34
41
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,IAAI;IAC1D,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,IAAI;IAC7D,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,IAAI;IAC7D,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzC,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,IAAI;IAC3D,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,IAChD,gBAAgB,CAAC,MAAM,CAAC,GACxB,mBAAmB,CAAC,MAAM,CAAC,GAC3B,mBAAmB,CAAC,MAAM,CAAC,GAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE9B,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,IAAI;KACpD,GAAG,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS;CAC/D,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-server-actions",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "A package for working with actions in React and Next.js",
5
5
  "keywords": [
6
6
  "next",
@@ -24,6 +24,14 @@
24
24
  "files": [
25
25
  "dist"
26
26
  ],
27
+ "scripts": {
28
+ "build": "tsc",
29
+ "check-exports": "attw --pack . --ignore-rules=cjs-resolves-to-esm",
30
+ "check-format": "prettier --check .",
31
+ "ci": "npm run build && npm run check-format && npm run check-exports",
32
+ "format": "prettier --write .",
33
+ "prepublishOnly": "npm run ci"
34
+ },
27
35
  "devDependencies": {
28
36
  "@arethetypeswrong/cli": "^0.17.4",
29
37
  "prettier": "^3.3.3",
@@ -33,13 +41,6 @@
33
41
  "peerDependencies": {
34
42
  "@types/react": ">=18.0.0",
35
43
  "react": ">=18.0.0",
36
- "zod": ">=3.22.4"
37
- },
38
- "scripts": {
39
- "build": "tsc",
40
- "check-exports": "attw --pack . --ignore-rules=cjs-resolves-to-esm",
41
- "check-format": "prettier --check .",
42
- "ci": "npm run build && npm run check-format && npm run check-exports",
43
- "format": "prettier --write ."
44
+ "zod": ">=4.1.11"
44
45
  }
45
- }
46
+ }