@kellanjs/actioncraft 0.0.2 → 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 +1263 -1
- 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 -40
- package/dist/actioncraft.js +337 -68
- 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/config.d.ts +4 -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 +26 -18
- 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 +17 -7
- 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,133 +7,220 @@ 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
|
-
const { bindArgs, prevState, input: rawInput, } = this._extractActionArgs(args);
|
|
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
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
prevState,
|
|
91
|
-
validatedInput: undefined, // Set after validation
|
|
92
|
-
validatedBindArgs: undefined, // Set after validation
|
|
93
|
-
};
|
|
135
|
+
// Track validation state for error handling
|
|
136
|
+
let validatedInput = undefined;
|
|
137
|
+
let validatedBindArgs = undefined;
|
|
94
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
|
+
});
|
|
95
148
|
// Validate input and return on failure
|
|
96
149
|
const inputValidation = await this._validateInput(rawInput);
|
|
97
150
|
if (!isOk(inputValidation)) {
|
|
98
|
-
await this.
|
|
151
|
+
await this._executeResultCallbacks(inputValidation, {
|
|
152
|
+
rawInput,
|
|
153
|
+
rawBindArgs,
|
|
154
|
+
prevState,
|
|
155
|
+
validatedInput,
|
|
156
|
+
validatedBindArgs,
|
|
157
|
+
actionId,
|
|
158
|
+
});
|
|
99
159
|
return this._toActionResult(inputValidation, rawInput);
|
|
100
160
|
}
|
|
101
|
-
// Update
|
|
102
|
-
|
|
161
|
+
// Update validation state
|
|
162
|
+
validatedInput = inputValidation.value;
|
|
103
163
|
// Validate bound arguments and return on failure
|
|
104
|
-
const bindArgsValidation = await this._validateBindArgs(
|
|
164
|
+
const bindArgsValidation = await this._validateBindArgs(rawBindArgs);
|
|
105
165
|
if (!isOk(bindArgsValidation)) {
|
|
106
|
-
await this.
|
|
166
|
+
await this._executeResultCallbacks(bindArgsValidation, {
|
|
167
|
+
rawInput,
|
|
168
|
+
rawBindArgs,
|
|
169
|
+
prevState,
|
|
170
|
+
validatedInput,
|
|
171
|
+
validatedBindArgs,
|
|
172
|
+
actionId,
|
|
173
|
+
});
|
|
107
174
|
return this._toActionResult(bindArgsValidation, rawInput);
|
|
108
175
|
}
|
|
109
|
-
// Update
|
|
110
|
-
|
|
111
|
-
// Execute the user's action
|
|
112
|
-
const
|
|
176
|
+
// Update validation state
|
|
177
|
+
validatedBindArgs = bindArgsValidation.value;
|
|
178
|
+
// Execute the user's action handler
|
|
179
|
+
const handlerResult = await handler({
|
|
113
180
|
input: inputValidation.value,
|
|
114
181
|
bindArgs: bindArgsValidation.value,
|
|
115
182
|
errors: this._buildErrorFunctions(),
|
|
116
|
-
metadata: {
|
|
183
|
+
metadata: {
|
|
184
|
+
rawInput,
|
|
185
|
+
rawBindArgs,
|
|
186
|
+
prevState,
|
|
187
|
+
actionId,
|
|
188
|
+
},
|
|
117
189
|
});
|
|
118
190
|
// Return on `undefined` (implicit return error)
|
|
119
|
-
if (
|
|
120
|
-
const implicitReturnError = createImplicitReturnErrorResult();
|
|
121
|
-
await this.
|
|
191
|
+
if (handlerResult === undefined) {
|
|
192
|
+
const implicitReturnError = createImplicitReturnErrorResult(actionId);
|
|
193
|
+
await this._executeResultCallbacks(implicitReturnError, {
|
|
194
|
+
rawInput,
|
|
195
|
+
rawBindArgs,
|
|
196
|
+
prevState,
|
|
197
|
+
validatedInput,
|
|
198
|
+
validatedBindArgs,
|
|
199
|
+
actionId,
|
|
200
|
+
});
|
|
122
201
|
return this._toActionResult(implicitReturnError, rawInput);
|
|
123
202
|
}
|
|
124
203
|
let finalResult;
|
|
125
204
|
// Process different return types from the action
|
|
126
|
-
if (isResultErr(
|
|
127
|
-
|
|
205
|
+
if (isResultErr(handlerResult)) {
|
|
206
|
+
// Ensure error result has correct action ID
|
|
207
|
+
finalResult = this._ensureResultActionId(handlerResult);
|
|
128
208
|
}
|
|
129
209
|
else {
|
|
130
|
-
const outputData = isResultOk(
|
|
131
|
-
?
|
|
132
|
-
:
|
|
210
|
+
const outputData = isResultOk(handlerResult)
|
|
211
|
+
? handlerResult.value
|
|
212
|
+
: handlerResult;
|
|
133
213
|
finalResult = await this._validateOutput(outputData);
|
|
134
214
|
}
|
|
135
215
|
// Execute callbacks and return final result
|
|
136
|
-
await this.
|
|
216
|
+
await this._executeResultCallbacks(finalResult, {
|
|
217
|
+
rawInput,
|
|
218
|
+
rawBindArgs,
|
|
219
|
+
prevState,
|
|
220
|
+
validatedInput,
|
|
221
|
+
validatedBindArgs,
|
|
222
|
+
actionId,
|
|
223
|
+
});
|
|
137
224
|
// Use validated input for the values field on a successful run
|
|
138
225
|
const inputForValues = isOk(finalResult)
|
|
139
226
|
? this._schemas.inputSchema
|
|
@@ -148,13 +235,20 @@ class Crafter {
|
|
|
148
235
|
// Handle unexpected thrown errors
|
|
149
236
|
try {
|
|
150
237
|
const errorResult = this._handleThrownError(error, handleThrownErrorFn);
|
|
151
|
-
await this.
|
|
238
|
+
await this._executeResultCallbacks(errorResult, {
|
|
239
|
+
rawInput,
|
|
240
|
+
rawBindArgs,
|
|
241
|
+
prevState,
|
|
242
|
+
validatedInput,
|
|
243
|
+
validatedBindArgs,
|
|
244
|
+
actionId,
|
|
245
|
+
});
|
|
152
246
|
return this._toActionResult(errorResult, rawInput);
|
|
153
247
|
}
|
|
154
248
|
catch (handlerError) {
|
|
155
249
|
// If we catch another error here, then we're done
|
|
156
250
|
log(this._config.logger, "warn", "Error handling failure - both primary error and error handler threw", { primaryError: error, handlerError });
|
|
157
|
-
return this._toActionResult(createUnhandledErrorResult(), rawInput);
|
|
251
|
+
return this._toActionResult(createUnhandledErrorResult(actionId), rawInput);
|
|
158
252
|
}
|
|
159
253
|
}
|
|
160
254
|
}
|
|
@@ -170,6 +264,8 @@ class Crafter {
|
|
|
170
264
|
input: args[numBindSchemas + 1],
|
|
171
265
|
};
|
|
172
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])
|
|
173
269
|
return {
|
|
174
270
|
bindArgs: args.slice(0, numBindSchemas),
|
|
175
271
|
// When useActionState is disabled the prevState parameter is never
|
|
@@ -186,7 +282,9 @@ class Crafter {
|
|
|
186
282
|
*/
|
|
187
283
|
_toActionResult(result, inputForValues) {
|
|
188
284
|
// Convert internal errors to client-facing errors
|
|
189
|
-
const clientResult = isOk(result)
|
|
285
|
+
const clientResult = isOk(result)
|
|
286
|
+
? result
|
|
287
|
+
: err(convertToClientError(result.error), this._actionId);
|
|
190
288
|
// Handle useActionState format (always returns StatefulApiResult)
|
|
191
289
|
if (this._config.useActionState) {
|
|
192
290
|
if (isOk(clientResult)) {
|
|
@@ -197,12 +295,14 @@ class Crafter {
|
|
|
197
295
|
success: true,
|
|
198
296
|
data: clientResult.value,
|
|
199
297
|
values: successValues,
|
|
298
|
+
__ac_id: this._actionId,
|
|
200
299
|
};
|
|
201
300
|
}
|
|
202
301
|
return {
|
|
203
302
|
success: false,
|
|
204
303
|
error: clientResult.error,
|
|
205
304
|
values: serializeRawInput(inputForValues),
|
|
305
|
+
__ac_id: this._actionId,
|
|
206
306
|
};
|
|
207
307
|
}
|
|
208
308
|
const format = this._config.resultFormat ?? "api";
|
|
@@ -215,11 +315,13 @@ class Crafter {
|
|
|
215
315
|
return {
|
|
216
316
|
success: true,
|
|
217
317
|
data: clientResult.value,
|
|
318
|
+
__ac_id: this._actionId,
|
|
218
319
|
};
|
|
219
320
|
}
|
|
220
321
|
return {
|
|
221
322
|
success: false,
|
|
222
323
|
error: clientResult.error,
|
|
324
|
+
__ac_id: this._actionId,
|
|
223
325
|
};
|
|
224
326
|
}
|
|
225
327
|
// --------------------------------------------------------------------------
|
|
@@ -231,7 +333,7 @@ class Crafter {
|
|
|
231
333
|
_handleThrownError(error, customHandler) {
|
|
232
334
|
const caughtErrorResult = customHandler
|
|
233
335
|
? customHandler(error)
|
|
234
|
-
: createUnhandledErrorResult();
|
|
336
|
+
: createUnhandledErrorResult(this._actionId);
|
|
235
337
|
return caughtErrorResult;
|
|
236
338
|
}
|
|
237
339
|
// --------------------------------------------------------------------------
|
|
@@ -241,27 +343,36 @@ class Crafter {
|
|
|
241
343
|
* Validates input using the shared helper.
|
|
242
344
|
*/
|
|
243
345
|
_validateInput(rawInput) {
|
|
244
|
-
return validateInput(this._schemas, this._config, rawInput);
|
|
346
|
+
return validateInput(this._schemas, this._config, rawInput, this._actionId);
|
|
245
347
|
}
|
|
246
348
|
/**
|
|
247
349
|
* Validates bound arguments using the configured bind schemas.
|
|
248
350
|
*/
|
|
249
351
|
_validateBindArgs(bindArgs) {
|
|
250
|
-
return validateBindArgs(this._schemas, this._config, bindArgs);
|
|
352
|
+
return validateBindArgs(this._schemas, this._config, bindArgs, this._actionId);
|
|
251
353
|
}
|
|
252
354
|
/**
|
|
253
355
|
* Validates output data using the configured output schema.
|
|
254
356
|
*/
|
|
255
357
|
_validateOutput(data) {
|
|
256
|
-
return validateOutput(this._schemas, this._config, data);
|
|
358
|
+
return validateOutput(this._schemas, this._config, data, this._actionId);
|
|
257
359
|
}
|
|
258
360
|
// --------------------------------------------------------------------------
|
|
259
361
|
// CALLBACKS
|
|
260
362
|
// --------------------------------------------------------------------------
|
|
261
363
|
/**
|
|
262
|
-
* Executes
|
|
364
|
+
* Executes the onStart callback if defined.
|
|
365
|
+
*/
|
|
366
|
+
async _executeOnStartCallback(metadata) {
|
|
367
|
+
const callbacks = this._callbacks;
|
|
368
|
+
if (callbacks.onStart) {
|
|
369
|
+
await safeExecuteCallback(() => callbacks.onStart({ metadata }), "onStart", (level, msg, details) => log(this._config.logger, level, msg, details));
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Executes result-based lifecycle callbacks (onSuccess, onError, onSettled).
|
|
263
374
|
*/
|
|
264
|
-
async
|
|
375
|
+
async _executeResultCallbacks(result, metadata) {
|
|
265
376
|
const callbacks = this._callbacks;
|
|
266
377
|
// Success path
|
|
267
378
|
if (isOk(result)) {
|
|
@@ -285,27 +396,179 @@ class Crafter {
|
|
|
285
396
|
// UTILITY METHODS
|
|
286
397
|
// --------------------------------------------------------------------------
|
|
287
398
|
/**
|
|
288
|
-
*
|
|
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.
|
|
289
412
|
*/
|
|
290
413
|
_buildErrorFunctions() {
|
|
291
414
|
const errorFns = {};
|
|
292
415
|
for (const [key, errorDefFn] of Object.entries(this._errors)) {
|
|
293
|
-
errorFns[key] = ((...args) => err(errorDefFn(...args)));
|
|
416
|
+
errorFns[key] = ((...args) => err(errorDefFn(...args), this._actionId));
|
|
294
417
|
}
|
|
295
418
|
return errorFns;
|
|
296
419
|
}
|
|
297
420
|
}
|
|
298
421
|
// ============================================================================
|
|
299
|
-
//
|
|
422
|
+
// ACTION BUILDER CLASS - Alternative fluent API syntax ending with craft()
|
|
300
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
|
+
}
|
|
301
520
|
/**
|
|
302
|
-
*
|
|
521
|
+
* Internal helper function to handle async craft functions.
|
|
522
|
+
* Encapsulates the logic for creating async actions and preserving metadata.
|
|
303
523
|
*/
|
|
304
|
-
|
|
305
|
-
|
|
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);
|
|
306
568
|
}
|
|
307
569
|
/**
|
|
308
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.
|
|
309
572
|
*
|
|
310
573
|
* For useActionState actions: returns StatefulApiResult with error and values
|
|
311
574
|
* For functional format actions: returns Result.err() with error
|
|
@@ -318,14 +581,18 @@ export function create(config) {
|
|
|
318
581
|
export function initial(action) {
|
|
319
582
|
const error = {
|
|
320
583
|
type: EXTERNAL_ERROR_TYPES.INITIAL_STATE,
|
|
321
|
-
message: "
|
|
584
|
+
message: "Action has not been executed yet",
|
|
322
585
|
};
|
|
323
|
-
// 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()
|
|
324
591
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
325
592
|
const cfg = action?.__ac_config;
|
|
326
593
|
// Functional format -> Result<_, _>
|
|
327
594
|
if (cfg?.resultFormat === "functional") {
|
|
328
|
-
return err(error);
|
|
595
|
+
return err(error, actionId);
|
|
329
596
|
}
|
|
330
597
|
// useActionState enabled -> StatefulApiResult
|
|
331
598
|
if (cfg?.useActionState) {
|
|
@@ -333,12 +600,14 @@ export function initial(action) {
|
|
|
333
600
|
success: false,
|
|
334
601
|
error,
|
|
335
602
|
values: undefined,
|
|
603
|
+
__ac_id: actionId,
|
|
336
604
|
};
|
|
337
605
|
}
|
|
338
606
|
// Default ApiResult shape
|
|
339
607
|
return {
|
|
340
608
|
success: false,
|
|
341
609
|
error,
|
|
610
|
+
__ac_id: actionId,
|
|
342
611
|
};
|
|
343
612
|
}
|
|
344
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":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EAIL,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQ9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,+EAA+E;AAC/E,mDAAmD;AACnD,+EAA+E;AAE/E,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAEpC,MAAM,OAAO;IAOM,OAAO,CAAU;IACjB,QAAQ,CAAW;IACnB,OAAO,CAAU;IACjB,UAAU,CAAa;IACvB,QAAQ,CAA8C;IAEvE,YACE,MAAe,EACf,OAAiB,EACjB,MAAe,EACf,SAAqB,EACrB,OAAoD;QAEpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAE7E;;;OAGG;IACH,MAAM,CACJ,MAAkB;QAElB,OAAO,IAAI,OAAO,CAChB,MAAM,EACN,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,EAA2B,EAC3B,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CACL,OAAoB;QAEpB,OAAO,IAAI,OAAO,CAChB,IAAI,CAAC,OAAO,EACZ,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,EAA2B,EAC3B,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CACJ,MAAkB;QAElB,OAAO,IAAI,OAAO,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,MAAM,EACN,EAA2B,EAC3B,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CAKL,EAAO;QAQP,OAAO,IAAI,OAAO,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,EAA2B,EAC3B,EAAoE,CACrE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,CAGP,SAAwB;QAExB,OAAO,IAAI,OAAO,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,CAAC,QAAQ,CAAC;QACR,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E,MAAM,QAAQ;IAOK,OAAO,CAAU;IACjB,QAAQ,CAAW;IACnB,OAAO,CAAU;IACjB,UAAU,CAAa;IACvB,QAAQ,CAA8C;IAC/D,SAAS,CAAU;IAE3B,YAAY,OAA+D;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE1C,MAAM,aAAa,GAAG,CACpB,GAAG,IAAyD,EACU,EAAE;YACxE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,2DAA2D;QAC3D,8DAA8D;QAC7D,aAAqB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAClD,8DAA8D;QAC7D,aAAqB,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAEhD,OAAO,aAAiE,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,6EAA6E;IAC7E,mBAAmB;IACnB,6EAA6E;IAE7E;;OAEG;IACK,KAAK,CAAC,UAAU,CACtB,IAAyD;QAEzD,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAS,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAU,CAAC;QAEjC,2DAA2D;QAC3D,MAAM,EACJ,QAAQ,EAAE,WAAW,EACrB,SAAS,EACT,KAAK,EAAE,QAAQ,GAChB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAElC,iCAAiC;QACjC,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB;YACxD,CAAC,CAAC,CAAC,KAAc,EAAE,EAAE,CACjB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAkB,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC;QAET,4CAA4C;QAC5C,IAAI,cAAc,GAA8C,SAAS,CAAC;QAC1E,IAAI,iBAAiB,GACnB,SAAS,CAAC;QAEZ,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,IAAI,CAAC,uBAAuB,CAAC;gBACjC,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,cAAc,EAAE,SAAS;gBACzB,iBAAiB,EAAE,SAAS;gBAC5B,QAAQ;aACT,CAAC,CAAC;YAEH,uCAAuC;YACvC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE;oBAClD,QAAQ;oBACR,WAAW;oBACX,SAAS;oBACT,cAAc;oBACd,iBAAiB;oBACjB,QAAQ;iBACT,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YAED,0BAA0B;YAC1B,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC;YAEvC,iDAAiD;YACjD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,EAAE;oBACrD,QAAQ;oBACR,WAAW;oBACX,SAAS;oBACT,cAAc;oBACd,iBAAiB;oBACjB,QAAQ;iBACT,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC;YAED,0BAA0B;YAC1B,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC;YAE7C,oCAAoC;YACpC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC;gBAClC,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,QAAQ,EAAE,kBAAkB,CAAC,KAAK;gBAClC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE;gBACnC,QAAQ,EAAE;oBACR,QAAQ;oBACR,WAAW;oBACX,SAAS;oBACT,QAAQ;iBACT;aACF,CAAC,CAAC;YAEH,gDAAgD;YAChD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACtE,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,EAAE;oBACtD,QAAQ;oBACR,WAAW;oBACX,SAAS;oBACT,cAAc;oBACd,iBAAiB;oBACjB,QAAQ;iBACT,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,WAGH,CAAC;YAEF,iDAAiD;YACjD,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,4CAA4C;gBAC5C,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;oBAC1C,CAAC,CAAC,aAAa,CAAC,KAAK;oBACrB,CAAC,CAAC,aAAa,CAAC;gBAClB,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACvD,CAAC;YAED,4CAA4C;YAC5C,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE;gBAC9C,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,cAAc;gBACd,iBAAiB;gBACjB,QAAQ;aACT,CAAC,CAAC;YAEH,+DAA+D;YAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;oBACzB,CAAC,CAAE,eAAe,CAAC,KAAuC;oBAC1D,CAAC,CAAC,QAAQ;gBACZ,CAAC,CAAC,QAAQ,CAAC;YAEb,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAExB,kCAAkC;YAClC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBACxE,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE;oBAC9C,QAAQ;oBACR,WAAW;oBACX,SAAS;oBACT,cAAc;oBACd,iBAAiB;oBACjB,QAAQ;iBACT,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,kDAAkD;gBAClD,GAAG,CACD,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,MAAM,EACN,qEAAqE,EACrE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CACtC,CAAC;gBACF,OAAO,IAAI,CAAC,eAAe,CACzB,0BAA0B,CAAC,QAAQ,CAAC,EACpC,QAAQ,CACT,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,IAAyD;QAMzD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAA+B;gBACrE,SAAS,EAAE,IAAI,CAAC,cAAc,CAK7B;gBACD,KAAK,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAA4B;aAC3D,CAAC;QACJ,CAAC;QAED,4FAA4F;QAC5F,0EAA0E;QAC1E,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAA+B;YACrE,mEAAmE;YACnE,mEAAmE;YACnE,SAAS,EAAE,SAKV;YACD,KAAK,EAAE,IAAI,CAAC,cAAc,CAA4B;SACvD,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,wBAAwB;IACxB,6EAA6E;IAE7E;;OAEG;IACK,eAAe,CACrB,MAAoE,EACpE,cAAwE;QAExE,kDAAkD;QAClD,MAAM,YAAY,GAGd,IAAI,CAAC,MAAM,CAAC;YACd,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAU,CAAC,CAAC;QAE7D,kEAAkE;QAClE,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW;oBAC7C,CAAC,CAAE,cAAyD;oBAC5D,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAEtC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,YAAY,CAAC,KAAK;oBACxB,MAAM,EAAE,aAAa;oBACrB,OAAO,EAAE,IAAI,CAAC,SAAU;iBACsC,CAAC;YACnE,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,MAAM,EAAE,iBAAiB,CAAC,cAAc,CAAC;gBACzC,OAAO,EAAE,IAAI,CAAC,SAAU;aACsC,CAAC;QACnE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAElD,yCAAyC;QACzC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,YAKN,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY,CAAC,KAAK;gBACxB,OAAO,EAAE,IAAI,CAAC,SAAU;aACsC,CAAC;QACnE,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,OAAO,EAAE,IAAI,CAAC,SAAU;SACsC,CAAC;IACnE,CAAC;IAED,6EAA6E;IAC7E,iBAAiB;IACjB,6EAA6E;IAE7E;;OAEG;IACK,kBAAkB,CACxB,KAAc,EACd,aAA+D;QAE/D,MAAM,iBAAiB,GAAG,aAAa;YACrC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;QAEhD,OAAO,iBAGN,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,aAAa;IACb,6EAA6E;IAE7E;;OAEG;IACK,cAAc,CAAC,QAA6C;QAClE,OAAO,aAAa,CAClB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,QAAQ,EACR,IAAI,CAAC,SAAU,CAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAoC;QAC5D,OAAO,gBAAgB,CACrB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,QAAQ,EACR,IAAI,CAAC,SAAU,CAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAW;QACjC,OAAO,cAAc,CACnB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,IAAI,CAAC,SAAU,CAChB,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,YAAY;IACZ,6EAA6E;IAE7E;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,QAA6D;QAE7D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,mBAAmB,CACvB,GAAG,EAAE,CAAC,SAAS,CAAC,OAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EACtC,SAAS,EACT,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,MAAoE,EACpE,QAA6D;QAE7D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,eAAe;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjB,MAAM,mBAAmB,CACvB,SAAS,CAAC,SAAS;gBACjB,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC9D,CAAC,CAAC,SAAS,EACb,WAAW,EACX,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CACvE,CAAC;QACJ,CAAC;QAED,aAAa;QACb,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,MAAM,mBAAmB,CACvB,SAAS,CAAC,OAAO;gBACf,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC7D,CAAC,CAAC,SAAS,EACb,SAAS,EACT,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CACvE,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,mBAAmB,CACvB,SAAS,CAAC,SAAS;YACjB,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAU,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;YAC/D,CAAC,CAAC,SAAS,EACb,WAAW,EACX,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,kBAAkB;IAClB,6EAA6E;IAE7E;;OAEG;IACK,qBAAqB,CAAO,MAAoB;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,IAAI,CAAC,SAAU;aACzB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,MAAM,QAAQ,GAAG,EAA6B,CAAC;QAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,QAAQ,CAAC,GAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAC5C,GAAG,CACD,UAAU,CAAC,GAAG,IAAI,CAAC,EACnB,IAAI,CAAC,SAAU,CAChB,CAA2C,CAAC;QACjD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAE/E,MAAM,aAAa;IAOA,OAAO,CAAU;IACjB,QAAQ,CAAW;IACnB,OAAO,CAAU;IACjB,UAAU,CAAa;IACvB,QAAQ,CAA8C;IAEvE,YACE,MAAe,EACf,OAAiB,EACjB,MAAe,EACf,SAAqB,EACrB,OAAoD;QAEpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAC7E,uCAAuC;IACvC,6EAA6E;IAE7E;;;OAGG;IACH,MAAM,CACJ,MAAkB;QAQlB,OAAO,IAAI,aAAa,CACtB,MAAM,EACN,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,EAA2B,EAC3B,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CACL,OAAoB;QAQpB,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,OAAO,EACZ,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,EAA2B,EAC3B,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CACJ,MAAkB;QAQlB,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,MAAM,EACN,EAA2B,EAC3B,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CAKL,EAAO;QAQP,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,EAA2B,EAC3B,EAAoE,CACrE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS,CAGP,SAAwB;QAExB,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,iDAAiD;IACjD,6EAA6E;IAE7E;;;OAGG;IACH,KAAK;QACH,mEAAmE;QACnE,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,CACd,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AA2BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,KAAK,CAOnB,OAA+D;IAE/D,MAAM,OAAO,GAAG,OAAO,CACrB,IAAI,OAAO,CACT,EAAmB,EACnB,EAA2B,EAC3B,EAA2B,EAC3B,EAA2B,EAC3B,SAAS,CACV,CACF,CAAC;IAEF,iCAAiC;IACjC,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,gCAAgC;IAChC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEvC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAOlB,cAEC;IAED,mFAAmF;IACnF,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,+DAA+D;IAC/D,8DAA8D;IAC9D,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;QAC5C,yCAAyC;QACzC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC;QAE1C,4CAA4C;QAC5C,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC,CAAqD,CAAC;IAEvD,2EAA2E;IAC3E,iEAAiE;IACjE,aAAa,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;QACnC,8DAA8D;QAC7D,WAAmB,CAAC,WAAW,GAAI,aAAqB,CAAC,WAAW,CAAC;QACtE,8DAA8D;QAC7D,WAAmB,CAAC,OAAO,GAAI,aAAqB,CAAC,OAAO,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,MAAM;IAOpB,OAAO,IAAI,aAAa,CACtB,EAA2B,EAC3B,EAA2B,EAC3B,EAA2B,EAC3B,EAA2B,EAC3B,SAAS,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAAU,MAAe;IAC9C,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,oBAAoB,CAAC,aAAa;QACxC,OAAO,EAAE,kCAAkC;KACnC,CAAC;IAEX,uDAAuD;IACvD,MAAM,QAAQ;IACZ,8DAA8D;IAC5D,MAAc,EAAE,OAA8B,IAAI,SAAS,CAAC;IAEhE,iEAAiE;IACjE,8DAA8D;IAC9D,MAAM,GAAG,GAAI,MAAc,EAAE,WAEhB,CAAC;IAEd,oCAAoC;IACpC,IAAI,GAAG,EAAE,YAAY,KAAK,YAAY,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAoC,CAAC;IACjE,CAAC;IAED,8CAA8C;IAC9C,IAAI,GAAG,EAAE,cAAc,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,KAAc;YACvB,KAAK;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,QAAQ;SACiB,CAAC;IACvC,CAAC;IAED,0BAA0B;IAC1B,OAAO;QACL,OAAO,EAAE,KAAc;QACvB,KAAK;QACL,OAAO,EAAE,QAAQ;KACiB,CAAC;AACvC,CAAC"}
|