@kellanjs/actioncraft 0.1.0 → 0.2.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.
- package/README.md +411 -302
- package/dist/actioncraft-error.d.ts +23 -0
- package/dist/actioncraft-error.js +60 -0
- package/dist/actioncraft-error.js.map +1 -0
- package/dist/actioncraft-prev.d.ts +93 -0
- package/dist/actioncraft-prev.js +387 -0
- package/dist/actioncraft-prev.js.map +1 -0
- package/dist/actioncraft.d.ts +94 -44
- package/dist/actioncraft.js +281 -55
- package/dist/actioncraft.js.map +1 -1
- package/dist/api.d.ts +49 -0
- package/dist/api.js +84 -0
- package/dist/api.js.map +1 -0
- package/dist/classes/action-builder.d.ts +59 -0
- package/dist/classes/action-builder.js +95 -0
- package/dist/classes/action-builder.js.map +1 -0
- package/dist/classes/craft-builder.d.ts +66 -0
- package/dist/classes/craft-builder.js +129 -0
- package/dist/classes/craft-builder.js.map +1 -0
- package/dist/classes/crafter.d.ts +66 -0
- package/dist/classes/crafter.js +129 -0
- package/dist/classes/crafter.js.map +1 -0
- package/dist/classes/error.d.ts +23 -0
- package/dist/classes/error.js +60 -0
- package/dist/classes/error.js.map +1 -0
- package/dist/classes/executor/callbacks.d.ts +6 -0
- package/dist/classes/executor/callbacks.js +20 -0
- package/dist/classes/executor/callbacks.js.map +1 -0
- package/dist/classes/executor/errors.d.ts +29 -0
- package/dist/classes/executor/errors.js +114 -0
- package/dist/classes/executor/errors.js.map +1 -0
- package/dist/classes/executor/executor.d.ts +68 -0
- package/dist/classes/executor/executor.js +391 -0
- package/dist/classes/executor/executor.js.map +1 -0
- package/dist/classes/executor/logging.d.ts +2 -0
- package/dist/classes/executor/logging.js +8 -0
- package/dist/classes/executor/logging.js.map +1 -0
- package/dist/classes/executor/transformation.d.ts +17 -0
- package/dist/classes/executor/transformation.js +43 -0
- package/dist/classes/executor/transformation.js.map +1 -0
- package/dist/classes/executor/validation.d.ts +16 -0
- package/dist/classes/executor/validation.js +70 -0
- package/dist/classes/executor/validation.js.map +1 -0
- package/dist/classes/executor.d.ts +64 -0
- package/dist/classes/executor.js +354 -0
- package/dist/classes/executor.js.map +1 -0
- package/dist/classes/internal.d.ts +10 -0
- package/dist/classes/internal.js +5 -0
- package/dist/classes/internal.js.map +1 -0
- package/dist/core/errors.d.ts +2 -2
- package/dist/core/errors.js +5 -5
- package/dist/core/errors.js.map +1 -1
- package/dist/core/logging.d.ts +1 -1
- package/dist/core/transformation.d.ts +2 -2
- package/dist/core/validation.d.ts +4 -4
- package/dist/core/validation.js +14 -14
- package/dist/core/validation.js.map +1 -1
- package/dist/craft.d.ts +29 -0
- package/dist/craft.js +62 -0
- package/dist/craft.js.map +1 -0
- package/dist/error.d.ts +21 -6
- package/dist/error.js +59 -10
- package/dist/error.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/initial.d.ts +14 -0
- package/dist/initial.js +47 -0
- package/dist/initial.js.map +1 -0
- package/dist/types/actions.d.ts +67 -25
- package/dist/types/builder.d.ts +92 -0
- package/dist/types/builder.js +2 -0
- package/dist/types/builder.js.map +1 -0
- package/dist/types/crafter.d.ts +87 -0
- package/dist/types/crafter.js +2 -0
- package/dist/types/crafter.js.map +1 -0
- package/dist/types/errors.d.ts +25 -17
- package/dist/types/inference.d.ts +41 -8
- package/dist/types/result.d.ts +8 -14
- package/dist/types/result.js +36 -4
- package/dist/types/result.js.map +1 -1
- package/dist/types/schemas.d.ts +7 -7
- package/dist/types/shared.d.ts +14 -6
- package/dist/utils.d.ts +30 -6
- package/dist/utils.js +68 -8
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
package/dist/actioncraft.js
CHANGED
|
@@ -7,95 +7,144 @@ import { EXTERNAL_ERROR_TYPES, } from "./types/errors.js";
|
|
|
7
7
|
import { err, isOk, isResultOk, isResultErr, isErr } from "./types/result.js";
|
|
8
8
|
import { unstable_rethrow } from "next/navigation.js";
|
|
9
9
|
// ============================================================================
|
|
10
|
-
// CRAFTER CLASS -
|
|
10
|
+
// CRAFTER CLASS - Configure and define your action
|
|
11
11
|
// ============================================================================
|
|
12
|
-
|
|
13
|
-
* Builder class for creating type-safe server actions with validation, error handling, and callbacks.
|
|
14
|
-
*/
|
|
12
|
+
const INTERNAL = Symbol("INTERNAL");
|
|
15
13
|
class Crafter {
|
|
16
14
|
_config;
|
|
17
15
|
_schemas;
|
|
18
16
|
_errors;
|
|
19
17
|
_callbacks;
|
|
20
|
-
|
|
21
|
-
constructor(config, schemas, errors, callbacks,
|
|
18
|
+
_handler;
|
|
19
|
+
constructor(config, schemas, errors, callbacks, handler) {
|
|
22
20
|
this._config = config;
|
|
23
21
|
this._schemas = schemas;
|
|
24
22
|
this._errors = errors;
|
|
25
23
|
this._callbacks = callbacks;
|
|
26
|
-
this.
|
|
24
|
+
this._handler = handler;
|
|
27
25
|
}
|
|
28
26
|
// --------------------------------------------------------------------------
|
|
29
27
|
// FLUENT API METHODS
|
|
30
28
|
// --------------------------------------------------------------------------
|
|
29
|
+
/**
|
|
30
|
+
* Defines configuration options for the action.
|
|
31
|
+
* Resets previously defined handler and callbacks.
|
|
32
|
+
*/
|
|
33
|
+
config(config) {
|
|
34
|
+
return new Crafter(config, this._schemas, this._errors, {}, undefined);
|
|
35
|
+
}
|
|
31
36
|
/**
|
|
32
37
|
* Defines validation schemas for input, output, and bind arguments.
|
|
33
|
-
* Resets previously defined
|
|
38
|
+
* Resets previously defined handler and callbacks.
|
|
34
39
|
*/
|
|
35
40
|
schemas(schemas) {
|
|
36
41
|
return new Crafter(this._config, schemas, this._errors, {}, undefined);
|
|
37
42
|
}
|
|
38
43
|
/**
|
|
39
|
-
* Defines error functions for returning typed errors from
|
|
40
|
-
* Resets previously defined
|
|
44
|
+
* Defines error functions for returning typed errors from the handler.
|
|
45
|
+
* Resets previously defined handler and callbacks.
|
|
41
46
|
*/
|
|
42
47
|
errors(errors) {
|
|
43
48
|
return new Crafter(this._config, this._schemas, errors, {}, undefined);
|
|
44
49
|
}
|
|
45
50
|
/**
|
|
46
|
-
* Defines the
|
|
51
|
+
* Defines the handler function containing the server action's business logic.
|
|
47
52
|
* Resets previously defined callbacks.
|
|
48
53
|
*/
|
|
49
|
-
|
|
54
|
+
handler(fn) {
|
|
50
55
|
return new Crafter(this._config, this._schemas, this._errors, {}, fn);
|
|
51
56
|
}
|
|
52
57
|
/**
|
|
53
|
-
* Defines lifecycle callbacks
|
|
54
|
-
* Must be called after
|
|
58
|
+
* Defines lifecycle callbacks to be triggered during the exection of an action.
|
|
59
|
+
* Must be called after handler() for correct type inference.
|
|
55
60
|
*/
|
|
56
61
|
callbacks(callbacks) {
|
|
57
|
-
return new Crafter(this._config, this._schemas, this._errors, callbacks, this.
|
|
62
|
+
return new Crafter(this._config, this._schemas, this._errors, callbacks, this._handler);
|
|
58
63
|
}
|
|
59
64
|
/**
|
|
60
|
-
*
|
|
65
|
+
* @returns Internal properties of the Crafter instance
|
|
66
|
+
*/
|
|
67
|
+
[INTERNAL]() {
|
|
68
|
+
return {
|
|
69
|
+
config: this._config,
|
|
70
|
+
schemas: this._schemas,
|
|
71
|
+
errors: this._errors,
|
|
72
|
+
callbacks: this._callbacks,
|
|
73
|
+
handler: this._handler,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// ============================================================================
|
|
78
|
+
// EXECUTOR CLASS - Build and execute your action
|
|
79
|
+
// ============================================================================
|
|
80
|
+
class Executor {
|
|
81
|
+
_config;
|
|
82
|
+
_schemas;
|
|
83
|
+
_errors;
|
|
84
|
+
_callbacks;
|
|
85
|
+
_handler;
|
|
86
|
+
_actionId;
|
|
87
|
+
constructor(crafter) {
|
|
88
|
+
this._config = crafter[INTERNAL]().config;
|
|
89
|
+
this._schemas = crafter[INTERNAL]().schemas;
|
|
90
|
+
this._errors = crafter[INTERNAL]().errors;
|
|
91
|
+
this._callbacks = crafter[INTERNAL]().callbacks;
|
|
92
|
+
this._handler = crafter[INTERNAL]().handler;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Builds and returns the final executable server action.
|
|
61
96
|
*/
|
|
62
97
|
craft() {
|
|
63
|
-
if (!this.
|
|
64
|
-
throw new Error("
|
|
98
|
+
if (!this._handler) {
|
|
99
|
+
throw new Error("A handler implementation is required");
|
|
65
100
|
}
|
|
101
|
+
// Generate a unique ID for this action instance
|
|
102
|
+
this._actionId = this._generateActionId();
|
|
66
103
|
const craftedAction = (...args) => {
|
|
67
104
|
return this._runAction(args);
|
|
68
105
|
};
|
|
69
|
-
// Attach the action's config for runtime inspection
|
|
106
|
+
// Attach the action's config and ID for runtime inspection
|
|
70
107
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
71
108
|
craftedAction.__ac_config = this._config;
|
|
109
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
110
|
+
craftedAction.__ac_id = this._actionId;
|
|
72
111
|
return craftedAction;
|
|
73
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Generates a unique identifier for this action instance.
|
|
115
|
+
*/
|
|
116
|
+
_generateActionId() {
|
|
117
|
+
return crypto.randomUUID();
|
|
118
|
+
}
|
|
74
119
|
// --------------------------------------------------------------------------
|
|
75
120
|
// ACTION EXECUTION
|
|
76
121
|
// --------------------------------------------------------------------------
|
|
77
|
-
/**
|
|
122
|
+
/**
|
|
123
|
+
* Orchestrates action execution (validation, business logic, callbacks, and result formatting.)
|
|
124
|
+
*/
|
|
78
125
|
async _runAction(args) {
|
|
79
|
-
// We know
|
|
80
|
-
const
|
|
126
|
+
// We know these exist because craft() creates/verifies them
|
|
127
|
+
const handler = this._handler;
|
|
128
|
+
const actionId = this._actionId;
|
|
81
129
|
// Extract bindArgs, prevState, and input from the raw args
|
|
82
130
|
const { bindArgs: rawBindArgs, prevState, input: rawInput, } = this._extractActionArgs(args);
|
|
83
131
|
// Check for custom error handler
|
|
84
132
|
const handleThrownErrorFn = this._config.handleThrownError
|
|
85
|
-
? (error) => err(this._config.handleThrownError(error))
|
|
133
|
+
? (error) => err(this._config.handleThrownError(error), actionId)
|
|
86
134
|
: null;
|
|
87
|
-
// Execute onStart callback before any processing
|
|
88
|
-
await this._executeOnStartCallback({
|
|
89
|
-
rawInput,
|
|
90
|
-
rawBindArgs,
|
|
91
|
-
prevState,
|
|
92
|
-
validatedInput: undefined,
|
|
93
|
-
validatedBindArgs: undefined,
|
|
94
|
-
});
|
|
95
135
|
// Track validation state for error handling
|
|
96
136
|
let validatedInput = undefined;
|
|
97
137
|
let validatedBindArgs = undefined;
|
|
98
138
|
try {
|
|
139
|
+
// Execute onStart callback before any processing
|
|
140
|
+
await this._executeOnStartCallback({
|
|
141
|
+
rawInput,
|
|
142
|
+
rawBindArgs,
|
|
143
|
+
prevState,
|
|
144
|
+
validatedInput: undefined,
|
|
145
|
+
validatedBindArgs: undefined,
|
|
146
|
+
actionId,
|
|
147
|
+
});
|
|
99
148
|
// Validate input and return on failure
|
|
100
149
|
const inputValidation = await this._validateInput(rawInput);
|
|
101
150
|
if (!isOk(inputValidation)) {
|
|
@@ -105,6 +154,7 @@ class Crafter {
|
|
|
105
154
|
prevState,
|
|
106
155
|
validatedInput,
|
|
107
156
|
validatedBindArgs,
|
|
157
|
+
actionId,
|
|
108
158
|
});
|
|
109
159
|
return this._toActionResult(inputValidation, rawInput);
|
|
110
160
|
}
|
|
@@ -119,39 +169,47 @@ class Crafter {
|
|
|
119
169
|
prevState,
|
|
120
170
|
validatedInput,
|
|
121
171
|
validatedBindArgs,
|
|
172
|
+
actionId,
|
|
122
173
|
});
|
|
123
174
|
return this._toActionResult(bindArgsValidation, rawInput);
|
|
124
175
|
}
|
|
125
176
|
// Update validation state
|
|
126
177
|
validatedBindArgs = bindArgsValidation.value;
|
|
127
|
-
// Execute the user's action
|
|
128
|
-
const
|
|
178
|
+
// Execute the user's action handler
|
|
179
|
+
const handlerResult = await handler({
|
|
129
180
|
input: inputValidation.value,
|
|
130
181
|
bindArgs: bindArgsValidation.value,
|
|
131
182
|
errors: this._buildErrorFunctions(),
|
|
132
|
-
metadata: {
|
|
183
|
+
metadata: {
|
|
184
|
+
rawInput,
|
|
185
|
+
rawBindArgs,
|
|
186
|
+
prevState,
|
|
187
|
+
actionId,
|
|
188
|
+
},
|
|
133
189
|
});
|
|
134
190
|
// Return on `undefined` (implicit return error)
|
|
135
|
-
if (
|
|
136
|
-
const implicitReturnError = createImplicitReturnErrorResult();
|
|
191
|
+
if (handlerResult === undefined) {
|
|
192
|
+
const implicitReturnError = createImplicitReturnErrorResult(actionId);
|
|
137
193
|
await this._executeResultCallbacks(implicitReturnError, {
|
|
138
194
|
rawInput,
|
|
139
195
|
rawBindArgs,
|
|
140
196
|
prevState,
|
|
141
197
|
validatedInput,
|
|
142
198
|
validatedBindArgs,
|
|
199
|
+
actionId,
|
|
143
200
|
});
|
|
144
201
|
return this._toActionResult(implicitReturnError, rawInput);
|
|
145
202
|
}
|
|
146
203
|
let finalResult;
|
|
147
204
|
// Process different return types from the action
|
|
148
|
-
if (isResultErr(
|
|
149
|
-
|
|
205
|
+
if (isResultErr(handlerResult)) {
|
|
206
|
+
// Ensure error result has correct action ID
|
|
207
|
+
finalResult = this._ensureResultActionId(handlerResult);
|
|
150
208
|
}
|
|
151
209
|
else {
|
|
152
|
-
const outputData = isResultOk(
|
|
153
|
-
?
|
|
154
|
-
:
|
|
210
|
+
const outputData = isResultOk(handlerResult)
|
|
211
|
+
? handlerResult.value
|
|
212
|
+
: handlerResult;
|
|
155
213
|
finalResult = await this._validateOutput(outputData);
|
|
156
214
|
}
|
|
157
215
|
// Execute callbacks and return final result
|
|
@@ -161,6 +219,7 @@ class Crafter {
|
|
|
161
219
|
prevState,
|
|
162
220
|
validatedInput,
|
|
163
221
|
validatedBindArgs,
|
|
222
|
+
actionId,
|
|
164
223
|
});
|
|
165
224
|
// Use validated input for the values field on a successful run
|
|
166
225
|
const inputForValues = isOk(finalResult)
|
|
@@ -182,13 +241,14 @@ class Crafter {
|
|
|
182
241
|
prevState,
|
|
183
242
|
validatedInput,
|
|
184
243
|
validatedBindArgs,
|
|
244
|
+
actionId,
|
|
185
245
|
});
|
|
186
246
|
return this._toActionResult(errorResult, rawInput);
|
|
187
247
|
}
|
|
188
248
|
catch (handlerError) {
|
|
189
249
|
// If we catch another error here, then we're done
|
|
190
250
|
log(this._config.logger, "warn", "Error handling failure - both primary error and error handler threw", { primaryError: error, handlerError });
|
|
191
|
-
return this._toActionResult(createUnhandledErrorResult(), rawInput);
|
|
251
|
+
return this._toActionResult(createUnhandledErrorResult(actionId), rawInput);
|
|
192
252
|
}
|
|
193
253
|
}
|
|
194
254
|
}
|
|
@@ -204,6 +264,8 @@ class Crafter {
|
|
|
204
264
|
input: args[numBindSchemas + 1],
|
|
205
265
|
};
|
|
206
266
|
}
|
|
267
|
+
// For regular actions (non-useActionState), the input is the first argument after bind args
|
|
268
|
+
// If there are no bind schemas, the input is the first argument (args[0])
|
|
207
269
|
return {
|
|
208
270
|
bindArgs: args.slice(0, numBindSchemas),
|
|
209
271
|
// When useActionState is disabled the prevState parameter is never
|
|
@@ -220,7 +282,9 @@ class Crafter {
|
|
|
220
282
|
*/
|
|
221
283
|
_toActionResult(result, inputForValues) {
|
|
222
284
|
// Convert internal errors to client-facing errors
|
|
223
|
-
const clientResult = isOk(result)
|
|
285
|
+
const clientResult = isOk(result)
|
|
286
|
+
? result
|
|
287
|
+
: err(convertToClientError(result.error), this._actionId);
|
|
224
288
|
// Handle useActionState format (always returns StatefulApiResult)
|
|
225
289
|
if (this._config.useActionState) {
|
|
226
290
|
if (isOk(clientResult)) {
|
|
@@ -231,12 +295,14 @@ class Crafter {
|
|
|
231
295
|
success: true,
|
|
232
296
|
data: clientResult.value,
|
|
233
297
|
values: successValues,
|
|
298
|
+
__ac_id: this._actionId,
|
|
234
299
|
};
|
|
235
300
|
}
|
|
236
301
|
return {
|
|
237
302
|
success: false,
|
|
238
303
|
error: clientResult.error,
|
|
239
304
|
values: serializeRawInput(inputForValues),
|
|
305
|
+
__ac_id: this._actionId,
|
|
240
306
|
};
|
|
241
307
|
}
|
|
242
308
|
const format = this._config.resultFormat ?? "api";
|
|
@@ -249,11 +315,13 @@ class Crafter {
|
|
|
249
315
|
return {
|
|
250
316
|
success: true,
|
|
251
317
|
data: clientResult.value,
|
|
318
|
+
__ac_id: this._actionId,
|
|
252
319
|
};
|
|
253
320
|
}
|
|
254
321
|
return {
|
|
255
322
|
success: false,
|
|
256
323
|
error: clientResult.error,
|
|
324
|
+
__ac_id: this._actionId,
|
|
257
325
|
};
|
|
258
326
|
}
|
|
259
327
|
// --------------------------------------------------------------------------
|
|
@@ -265,7 +333,7 @@ class Crafter {
|
|
|
265
333
|
_handleThrownError(error, customHandler) {
|
|
266
334
|
const caughtErrorResult = customHandler
|
|
267
335
|
? customHandler(error)
|
|
268
|
-
: createUnhandledErrorResult();
|
|
336
|
+
: createUnhandledErrorResult(this._actionId);
|
|
269
337
|
return caughtErrorResult;
|
|
270
338
|
}
|
|
271
339
|
// --------------------------------------------------------------------------
|
|
@@ -275,19 +343,19 @@ class Crafter {
|
|
|
275
343
|
* Validates input using the shared helper.
|
|
276
344
|
*/
|
|
277
345
|
_validateInput(rawInput) {
|
|
278
|
-
return validateInput(this._schemas, this._config, rawInput);
|
|
346
|
+
return validateInput(this._schemas, this._config, rawInput, this._actionId);
|
|
279
347
|
}
|
|
280
348
|
/**
|
|
281
349
|
* Validates bound arguments using the configured bind schemas.
|
|
282
350
|
*/
|
|
283
351
|
_validateBindArgs(bindArgs) {
|
|
284
|
-
return validateBindArgs(this._schemas, this._config, bindArgs);
|
|
352
|
+
return validateBindArgs(this._schemas, this._config, bindArgs, this._actionId);
|
|
285
353
|
}
|
|
286
354
|
/**
|
|
287
355
|
* Validates output data using the configured output schema.
|
|
288
356
|
*/
|
|
289
357
|
_validateOutput(data) {
|
|
290
|
-
return validateOutput(this._schemas, this._config, data);
|
|
358
|
+
return validateOutput(this._schemas, this._config, data, this._actionId);
|
|
291
359
|
}
|
|
292
360
|
// --------------------------------------------------------------------------
|
|
293
361
|
// CALLBACKS
|
|
@@ -328,27 +396,179 @@ class Crafter {
|
|
|
328
396
|
// UTILITY METHODS
|
|
329
397
|
// --------------------------------------------------------------------------
|
|
330
398
|
/**
|
|
331
|
-
*
|
|
399
|
+
* Ensures a Result object has the correct action ID.
|
|
400
|
+
*/
|
|
401
|
+
_ensureResultActionId(result) {
|
|
402
|
+
if (!result.__ac_id || result.__ac_id === "unknown") {
|
|
403
|
+
return {
|
|
404
|
+
...result,
|
|
405
|
+
__ac_id: this._actionId,
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
return result;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Creates error functions that return a Result object when called by the action handler.
|
|
332
412
|
*/
|
|
333
413
|
_buildErrorFunctions() {
|
|
334
414
|
const errorFns = {};
|
|
335
415
|
for (const [key, errorDefFn] of Object.entries(this._errors)) {
|
|
336
|
-
errorFns[key] = ((...args) => err(errorDefFn(...args)));
|
|
416
|
+
errorFns[key] = ((...args) => err(errorDefFn(...args), this._actionId));
|
|
337
417
|
}
|
|
338
418
|
return errorFns;
|
|
339
419
|
}
|
|
340
420
|
}
|
|
341
421
|
// ============================================================================
|
|
342
|
-
//
|
|
422
|
+
// ACTION BUILDER CLASS - Alternative fluent API syntax ending with craft()
|
|
343
423
|
// ============================================================================
|
|
424
|
+
class ActionBuilder {
|
|
425
|
+
_config;
|
|
426
|
+
_schemas;
|
|
427
|
+
_errors;
|
|
428
|
+
_callbacks;
|
|
429
|
+
_handler;
|
|
430
|
+
constructor(config, schemas, errors, callbacks, handler) {
|
|
431
|
+
this._config = config;
|
|
432
|
+
this._schemas = schemas;
|
|
433
|
+
this._errors = errors;
|
|
434
|
+
this._callbacks = callbacks;
|
|
435
|
+
this._handler = handler;
|
|
436
|
+
}
|
|
437
|
+
// --------------------------------------------------------------------------
|
|
438
|
+
// FLUENT API METHODS (same as Crafter)
|
|
439
|
+
// --------------------------------------------------------------------------
|
|
440
|
+
/**
|
|
441
|
+
* Defines configuration options for the action.
|
|
442
|
+
* Resets previously defined handler and callbacks.
|
|
443
|
+
*/
|
|
444
|
+
config(config) {
|
|
445
|
+
return new ActionBuilder(config, this._schemas, this._errors, {}, undefined);
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Defines validation schemas for input, output, and bind arguments.
|
|
449
|
+
* Resets previously defined handler and callbacks.
|
|
450
|
+
*/
|
|
451
|
+
schemas(schemas) {
|
|
452
|
+
return new ActionBuilder(this._config, schemas, this._errors, {}, undefined);
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Defines error functions for returning typed errors from the handler.
|
|
456
|
+
* Resets previously defined handler and callbacks.
|
|
457
|
+
*/
|
|
458
|
+
errors(errors) {
|
|
459
|
+
return new ActionBuilder(this._config, this._schemas, errors, {}, undefined);
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Defines the handler function containing the server action's business logic.
|
|
463
|
+
* Resets previously defined callbacks.
|
|
464
|
+
*/
|
|
465
|
+
handler(fn) {
|
|
466
|
+
return new ActionBuilder(this._config, this._schemas, this._errors, {}, fn);
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Defines lifecycle callbacks to be triggered during the exection of an action.
|
|
470
|
+
* Must be called after handler() for correct type inference.
|
|
471
|
+
*/
|
|
472
|
+
callbacks(callbacks) {
|
|
473
|
+
return new ActionBuilder(this._config, this._schemas, this._errors, callbacks, this._handler);
|
|
474
|
+
}
|
|
475
|
+
// --------------------------------------------------------------------------
|
|
476
|
+
// CRAFT METHOD - Final step to create the action
|
|
477
|
+
// --------------------------------------------------------------------------
|
|
478
|
+
/**
|
|
479
|
+
* Builds and returns the final executable server action.
|
|
480
|
+
* This is the terminal method for the ActionBuilder fluent API.
|
|
481
|
+
*/
|
|
482
|
+
craft() {
|
|
483
|
+
// Convert ActionBuilder to Crafter and use existing Executor logic
|
|
484
|
+
const crafter = new Crafter(this._config, this._schemas, this._errors, this._callbacks, this._handler);
|
|
485
|
+
const executor = new Executor(crafter);
|
|
486
|
+
return executor.craft();
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* One of two entry points to the Actioncraft system.
|
|
491
|
+
* It provides you with an empty Crafter instance on which you can call any of the fluent
|
|
492
|
+
* Crafter methods to configure and define your action.
|
|
493
|
+
*
|
|
494
|
+
* Example Usage:
|
|
495
|
+
* ```ts
|
|
496
|
+
* const myAction = craft(async (action) => {
|
|
497
|
+
* return action
|
|
498
|
+
* .config(...)
|
|
499
|
+
* .schemas(...)
|
|
500
|
+
* .errors(...)
|
|
501
|
+
* .handler(...)
|
|
502
|
+
* .callbacks(...)
|
|
503
|
+
* });
|
|
504
|
+
* ```
|
|
505
|
+
*
|
|
506
|
+
* @param craftFn - The function that the user passes to `craft()` in order to build an action.
|
|
507
|
+
* @returns The fully-typed server action function that can be used in your app.
|
|
508
|
+
*/
|
|
509
|
+
export function craft(craftFn) {
|
|
510
|
+
const crafter = craftFn(new Crafter({}, {}, {}, {}, undefined));
|
|
511
|
+
// Handle async crafter functions
|
|
512
|
+
if (crafter instanceof Promise) {
|
|
513
|
+
return _craftAsync(crafter);
|
|
514
|
+
}
|
|
515
|
+
// Handle sync crafter functions
|
|
516
|
+
const executor = new Executor(crafter);
|
|
517
|
+
const craftedAction = executor.craft();
|
|
518
|
+
return craftedAction;
|
|
519
|
+
}
|
|
344
520
|
/**
|
|
345
|
-
*
|
|
521
|
+
* Internal helper function to handle async craft functions.
|
|
522
|
+
* Encapsulates the logic for creating async actions and preserving metadata.
|
|
346
523
|
*/
|
|
347
|
-
|
|
348
|
-
|
|
524
|
+
function _craftAsync(crafterPromise) {
|
|
525
|
+
// Resolve the crafter once and cache the resulting action to ensure consistent IDs
|
|
526
|
+
const actionPromise = crafterPromise.then((resolvedCrafter) => {
|
|
527
|
+
const executor = new Executor(resolvedCrafter);
|
|
528
|
+
return executor.craft();
|
|
529
|
+
});
|
|
530
|
+
// For async craft functions, we need to return an async action
|
|
531
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
532
|
+
const asyncAction = (async (...args) => {
|
|
533
|
+
// Wait for the cached action to be ready
|
|
534
|
+
const craftedAction = await actionPromise;
|
|
535
|
+
// Call the action with the user's arguments
|
|
536
|
+
return craftedAction(...args);
|
|
537
|
+
});
|
|
538
|
+
// We need to preserve the config and ID for the initial() function to work
|
|
539
|
+
// We'll use the same cached action to ensure consistent metadata
|
|
540
|
+
actionPromise.then((craftedAction) => {
|
|
541
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
542
|
+
asyncAction.__ac_config = craftedAction.__ac_config;
|
|
543
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
544
|
+
asyncAction.__ac_id = craftedAction.__ac_id;
|
|
545
|
+
});
|
|
546
|
+
return asyncAction;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* One of two entry points to the Actioncraft system.
|
|
550
|
+
* Creates a new ActionBuilder instance for the fluent API that ends with craft().
|
|
551
|
+
* This provides an alternative syntax for building your server actions.
|
|
552
|
+
*
|
|
553
|
+
* Example Usage:
|
|
554
|
+
* ```ts
|
|
555
|
+
* const myAction = action()
|
|
556
|
+
* .config(...)
|
|
557
|
+
* .schemas(...)
|
|
558
|
+
* .errors(...)
|
|
559
|
+
* .handler(...)
|
|
560
|
+
* .callbacks(...)
|
|
561
|
+
* .craft();
|
|
562
|
+
* ```
|
|
563
|
+
*
|
|
564
|
+
* @returns A new ActionBuilder instance to start building your action.
|
|
565
|
+
*/
|
|
566
|
+
export function action() {
|
|
567
|
+
return new ActionBuilder({}, {}, {}, {}, undefined);
|
|
349
568
|
}
|
|
350
569
|
/**
|
|
351
570
|
* Creates an appropriate initial state for any action based on its configuration.
|
|
571
|
+
* The initial state uses the action's real ID for consistency with actual results.
|
|
352
572
|
*
|
|
353
573
|
* For useActionState actions: returns StatefulApiResult with error and values
|
|
354
574
|
* For functional format actions: returns Result.err() with error
|
|
@@ -363,12 +583,16 @@ export function initial(action) {
|
|
|
363
583
|
type: EXTERNAL_ERROR_TYPES.INITIAL_STATE,
|
|
364
584
|
message: "Action has not been executed yet",
|
|
365
585
|
};
|
|
366
|
-
// Attempt to read the
|
|
586
|
+
// Attempt to read the action ID created during craft()
|
|
587
|
+
const actionId =
|
|
588
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
589
|
+
action?.__ac_id ?? "unknown";
|
|
590
|
+
// Attempt to read the Actioncraft config attached during craft()
|
|
367
591
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
368
592
|
const cfg = action?.__ac_config;
|
|
369
593
|
// Functional format -> Result<_, _>
|
|
370
594
|
if (cfg?.resultFormat === "functional") {
|
|
371
|
-
return err(error);
|
|
595
|
+
return err(error, actionId);
|
|
372
596
|
}
|
|
373
597
|
// useActionState enabled -> StatefulApiResult
|
|
374
598
|
if (cfg?.useActionState) {
|
|
@@ -376,12 +600,14 @@ export function initial(action) {
|
|
|
376
600
|
success: false,
|
|
377
601
|
error,
|
|
378
602
|
values: undefined,
|
|
603
|
+
__ac_id: actionId,
|
|
379
604
|
};
|
|
380
605
|
}
|
|
381
606
|
// Default ApiResult shape
|
|
382
607
|
return {
|
|
383
608
|
success: false,
|
|
384
609
|
error,
|
|
610
|
+
__ac_id: actionId,
|
|
385
611
|
};
|
|
386
612
|
}
|
|
387
613
|
//# sourceMappingURL=actioncraft.js.map
|
package/dist/actioncraft.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actioncraft.js","sourceRoot":"","sources":["../src/actioncraft.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actioncraft.js","sourceRoot":"","sources":["../src/actioncraft.ts"],"names":[],"mappings":"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"}
|
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ActionBuilder } from "./classes/action-builder.js";
|
|
2
|
+
import { Crafter } from "./classes/crafter.js";
|
|
3
|
+
import type { CraftedAction } from "./types/actions.js";
|
|
4
|
+
import type { CrafterConfig, CrafterSchemas, CrafterErrors, CrafterCallbacks } from "./types/crafter.js";
|
|
5
|
+
/**
|
|
6
|
+
* Represents the function that the user passes to `craft()` in order to build an action.
|
|
7
|
+
*/
|
|
8
|
+
type CraftFn<TConfig extends CrafterConfig, TSchemas extends CrafterSchemas, TErrors extends CrafterErrors, TCallbacks extends CrafterCallbacks<TConfig, TSchemas, TErrors, TData>, TData> = (crafter: Crafter<CrafterConfig, Record<string, never>, Record<string, never>, Record<string, never>, unknown>) => Crafter<TConfig, TSchemas, TErrors, TCallbacks, TData> | Promise<Crafter<TConfig, TSchemas, TErrors, TCallbacks, TData>>;
|
|
9
|
+
/**
|
|
10
|
+
* One of two entry points to the Actioncraft system.
|
|
11
|
+
* It provides you with an empty Crafter instance on which you can call any of the fluent
|
|
12
|
+
* Crafter methods to configure and define your action.
|
|
13
|
+
*
|
|
14
|
+
* Example Usage:
|
|
15
|
+
* ```ts
|
|
16
|
+
* const myAction = craft(async (action) => {
|
|
17
|
+
* return action
|
|
18
|
+
* .config(...)
|
|
19
|
+
* .schemas(...)
|
|
20
|
+
* .errors(...)
|
|
21
|
+
* .handler(...)
|
|
22
|
+
* .callbacks(...)
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @param craftFn - The function that the user passes to `craft()` in order to build an action.
|
|
27
|
+
* @returns The fully-typed server action function that can be used in your app.
|
|
28
|
+
*/
|
|
29
|
+
export declare function craft<TConfig extends CrafterConfig, TSchemas extends CrafterSchemas, TErrors extends CrafterErrors, TCallbacks extends CrafterCallbacks<TConfig, TSchemas, TErrors, TData>, TData>(craftFn: CraftFn<TConfig, TSchemas, TErrors, TCallbacks, TData>): CraftedAction<TConfig, TSchemas, TErrors, TData>;
|
|
30
|
+
/**
|
|
31
|
+
* One of two entry points to the Actioncraft system.
|
|
32
|
+
* Creates a new ActionBuilder instance for the fluent API that ends with craft().
|
|
33
|
+
* This provides an alternative syntax for building your server actions.
|
|
34
|
+
*
|
|
35
|
+
* Example Usage:
|
|
36
|
+
* ```ts
|
|
37
|
+
* const myAction = action()
|
|
38
|
+
* .config(...)
|
|
39
|
+
* .schemas(...)
|
|
40
|
+
* .errors(...)
|
|
41
|
+
* .handler(...)
|
|
42
|
+
* .callbacks(...)
|
|
43
|
+
* .craft();
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @returns A new ActionBuilder instance to start building your action.
|
|
47
|
+
*/
|
|
48
|
+
export declare function action(): ActionBuilder<Record<string, never>, Record<string, never>, Record<string, never>, Record<string, never>, unknown>;
|
|
49
|
+
export {};
|