@farm.js/core 0.1.0-beta.13 → 0.1.0-beta.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.
- package/dist/api/route-manager.cjs.map +1 -1
- package/dist/api/route-manager.mjs +2 -2
- package/dist/api/runtime.cjs.map +1 -1
- package/dist/api/runtime.mjs +1 -1
- package/dist/api.cjs +18 -10
- package/dist/api.cjs.map +1 -1
- package/dist/api.mjs +3 -3
- package/dist/{chunk-B232I2GP.mjs → chunk-3HIVDX7J.mjs} +12 -1
- package/dist/chunk-3HIVDX7J.mjs.map +1 -0
- package/dist/{chunk-JDEOUK5V.mjs → chunk-6YXKHAFU.mjs} +3 -3
- package/dist/{chunk-VSDZEB5M.mjs → chunk-AN3PQVKH.mjs} +14 -16
- package/dist/{chunk-VSDZEB5M.mjs.map → chunk-AN3PQVKH.mjs.map} +1 -1
- package/dist/{chunk-Z5CQMP54.mjs → chunk-ARRYKOI5.mjs} +2 -2
- package/dist/{chunk-KLA67WKG.mjs → chunk-B3FFOIWS.mjs} +2 -2
- package/dist/{chunk-3WIRO3N7.mjs → chunk-BWJC5ZOD.mjs} +2 -2
- package/dist/{chunk-3WIRO3N7.mjs.map → chunk-BWJC5ZOD.mjs.map} +1 -1
- package/dist/{chunk-PFE6GMNE.mjs → chunk-HMRFYJK6.mjs} +19 -11
- package/dist/chunk-HMRFYJK6.mjs.map +1 -0
- package/dist/{chunk-32W4QEJP.mjs → chunk-KFTGPFRD.mjs} +1 -1
- package/dist/chunk-KFTGPFRD.mjs.map +1 -0
- package/dist/{chunk-Z3YG4OZT.mjs → chunk-OSWV5IJB.mjs} +140 -41
- package/dist/chunk-OSWV5IJB.mjs.map +1 -0
- package/dist/{chunk-OPHK6OJN.mjs → chunk-SLDBGSC3.mjs} +2 -2
- package/dist/{chunk-L2PE36GQ.mjs → chunk-T2KL7VEL.mjs} +3 -3
- package/dist/{chunk-WDU6QXNK.mjs → chunk-UCYWGN2P.mjs} +1 -1
- package/dist/chunk-UCYWGN2P.mjs.map +1 -0
- package/dist/{chunk-65A7QIKI.mjs → chunk-UMVLB3PN.mjs} +3 -3
- package/dist/chunk-UMVLB3PN.mjs.map +1 -0
- package/dist/{chunk-VY2UYN5R.mjs → chunk-VPCFICID.mjs} +82 -3
- package/dist/chunk-VPCFICID.mjs.map +1 -0
- package/dist/{chunk-H3TE3LOV.mjs → chunk-XMFTIVJH.mjs} +2 -2
- package/dist/{chunk-UB5UOSHB.mjs → chunk-ZVMV3THA.mjs} +71 -2
- package/dist/chunk-ZVMV3THA.mjs.map +1 -0
- package/dist/client.cjs.map +1 -1
- package/dist/client.mjs +3 -3
- package/dist/deployment.cjs +12 -0
- package/dist/deployment.cjs.map +1 -1
- package/dist/deployment.mjs +3 -1
- package/dist/{devtools-GAZ7F3KL.mjs → devtools-E4YNCY5J.mjs} +4 -4
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.mjs +4 -4
- package/dist/index.cjs +332 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +28 -16
- package/dist/index.mjs.map +1 -1
- package/dist/internal/build-runtime.cjs +159 -46
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.mjs +11 -11
- package/dist/internal/config-runtime.cjs.map +1 -1
- package/dist/internal/config-runtime.mjs +3 -3
- package/dist/navigation.cjs.map +1 -1
- package/dist/navigation.mjs +3 -3
- package/dist/plugin.cjs +141 -34
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.mjs +8 -8
- package/dist/server-action-security.cjs +23 -1
- package/dist/server-action-security.cjs.map +1 -1
- package/dist/server-action-security.mjs +1 -1
- package/dist/server-fn-client.cjs.map +1 -1
- package/dist/server-fn-client.mjs +1 -1
- package/dist/server-fn.cjs +140 -3
- package/dist/server-fn.cjs.map +1 -1
- package/dist/server-fn.mjs +14 -3
- package/dist/server-query.cjs +99 -1
- package/dist/server-query.cjs.map +1 -1
- package/dist/server-query.mjs +3 -3
- package/dist/server.cjs +260 -37
- package/dist/server.cjs.map +1 -1
- package/dist/server.mjs +11 -11
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.mjs +3 -3
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +142 -35
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.mjs +8 -8
- package/package.json +1 -1
- package/types/client.d.ts +115 -4
- package/dist/chunk-32W4QEJP.mjs.map +0 -1
- package/dist/chunk-65A7QIKI.mjs.map +0 -1
- package/dist/chunk-B232I2GP.mjs.map +0 -1
- package/dist/chunk-PFE6GMNE.mjs.map +0 -1
- package/dist/chunk-UB5UOSHB.mjs.map +0 -1
- package/dist/chunk-VY2UYN5R.mjs.map +0 -1
- package/dist/chunk-WDU6QXNK.mjs.map +0 -1
- package/dist/chunk-Z3YG4OZT.mjs.map +0 -1
- /package/dist/{chunk-JDEOUK5V.mjs.map → chunk-6YXKHAFU.mjs.map} +0 -0
- /package/dist/{chunk-Z5CQMP54.mjs.map → chunk-ARRYKOI5.mjs.map} +0 -0
- /package/dist/{chunk-KLA67WKG.mjs.map → chunk-B3FFOIWS.mjs.map} +0 -0
- /package/dist/{chunk-OPHK6OJN.mjs.map → chunk-SLDBGSC3.mjs.map} +0 -0
- /package/dist/{chunk-L2PE36GQ.mjs.map → chunk-T2KL7VEL.mjs.map} +0 -0
- /package/dist/{chunk-H3TE3LOV.mjs.map → chunk-XMFTIVJH.mjs.map} +0 -0
- /package/dist/{devtools-GAZ7F3KL.mjs.map → devtools-E4YNCY5J.mjs.map} +0 -0
package/dist/api.cjs
CHANGED
|
@@ -1084,13 +1084,13 @@ function createEndpoint(pathOrOptions, optionsOrHandler, maybeHandler) {
|
|
|
1084
1084
|
}
|
|
1085
1085
|
const middleware = normalizeEndpointMiddleware(options.middleware);
|
|
1086
1086
|
const errors = normalizeEndpointErrors(options.errors);
|
|
1087
|
-
const
|
|
1087
|
+
const error = createEndpointErrorHandler(errors);
|
|
1088
1088
|
const wrappedHandler = /* @__PURE__ */ __name((async (ctx) => {
|
|
1089
1089
|
const execution = await runEndpointMiddleware(
|
|
1090
1090
|
middleware,
|
|
1091
1091
|
ctx,
|
|
1092
1092
|
handler,
|
|
1093
|
-
|
|
1093
|
+
error,
|
|
1094
1094
|
options.invalidates
|
|
1095
1095
|
);
|
|
1096
1096
|
return execution.result;
|
|
@@ -1110,7 +1110,7 @@ function createEndpoint(pathOrOptions, optionsOrHandler, maybeHandler) {
|
|
|
1110
1110
|
endpoint.__method = options.method || "GET";
|
|
1111
1111
|
endpoint.__autoPath = !path4;
|
|
1112
1112
|
endpoint.__handler = wrappedHandler;
|
|
1113
|
-
endpoint.__farmInvoke = (ctx) => runEndpointMiddleware(middleware, ctx, handler,
|
|
1113
|
+
endpoint.__farmInvoke = (ctx) => runEndpointMiddleware(middleware, ctx, handler, error, options.invalidates);
|
|
1114
1114
|
endpoint.__middleware = middleware;
|
|
1115
1115
|
endpoint.__sourceHandler = handler;
|
|
1116
1116
|
endpoint.__invalidates = options.invalidates;
|
|
@@ -1145,8 +1145,9 @@ function normalizeEndpointErrors(definitions) {
|
|
|
1145
1145
|
if (!Number.isInteger(definition.status) || definition.status < 400 || definition.status > 599) {
|
|
1146
1146
|
throw new TypeError(`Endpoint error "${code}" status must be an integer between 400 and 599`);
|
|
1147
1147
|
}
|
|
1148
|
-
|
|
1149
|
-
|
|
1148
|
+
const dataSchema = resolveEndpointErrorSchema(definition);
|
|
1149
|
+
if (!dataSchema || typeof dataSchema.parse !== "function") {
|
|
1150
|
+
throw new TypeError(`Endpoint error "${code}" requires a data schema with parse()`);
|
|
1150
1151
|
}
|
|
1151
1152
|
if (definition.message !== void 0 && typeof definition.message !== "string") {
|
|
1152
1153
|
throw new TypeError(`Endpoint error "${code}" message must be a string`);
|
|
@@ -1156,20 +1157,27 @@ function normalizeEndpointErrors(definitions) {
|
|
|
1156
1157
|
return Object.freeze(normalized);
|
|
1157
1158
|
}
|
|
1158
1159
|
__name(normalizeEndpointErrors, "normalizeEndpointErrors");
|
|
1159
|
-
function
|
|
1160
|
+
function resolveEndpointErrorSchema(definition) {
|
|
1161
|
+
if (definition.data && definition.schema) {
|
|
1162
|
+
throw new TypeError("Endpoint errors cannot define both data and schema");
|
|
1163
|
+
}
|
|
1164
|
+
return definition.data ?? definition.schema;
|
|
1165
|
+
}
|
|
1166
|
+
__name(resolveEndpointErrorSchema, "resolveEndpointErrorSchema");
|
|
1167
|
+
function createEndpointErrorHandler(definitions) {
|
|
1160
1168
|
return ((code, data) => {
|
|
1161
1169
|
const definition = definitions[code];
|
|
1162
1170
|
if (!definition) {
|
|
1163
1171
|
throw new TypeError(`Endpoint error "${code}" is not declared`);
|
|
1164
1172
|
}
|
|
1165
|
-
const parsed = definition.
|
|
1173
|
+
const parsed = resolveEndpointErrorSchema(definition).parse(data);
|
|
1166
1174
|
throw new EndpointFailure(code, parsed, {
|
|
1167
1175
|
status: definition.status,
|
|
1168
1176
|
message: definition.message ?? "Request failed"
|
|
1169
1177
|
});
|
|
1170
1178
|
});
|
|
1171
1179
|
}
|
|
1172
|
-
__name(
|
|
1180
|
+
__name(createEndpointErrorHandler, "createEndpointErrorHandler");
|
|
1173
1181
|
function normalizeEndpointMiddleware(middleware) {
|
|
1174
1182
|
if (middleware === void 0) return EMPTY_ENDPOINT_MIDDLEWARE;
|
|
1175
1183
|
if (!Array.isArray(middleware)) {
|
|
@@ -1184,7 +1192,7 @@ function normalizeEndpointMiddleware(middleware) {
|
|
|
1184
1192
|
return Object.freeze(normalized);
|
|
1185
1193
|
}
|
|
1186
1194
|
__name(normalizeEndpointMiddleware, "normalizeEndpointMiddleware");
|
|
1187
|
-
async function runEndpointMiddleware(middleware, handlerContext, handler,
|
|
1195
|
+
async function runEndpointMiddleware(middleware, handlerContext, handler, error, invalidations) {
|
|
1188
1196
|
let context = createInitialEndpointContext(handlerContext.context);
|
|
1189
1197
|
for (let index = 0; index < middleware.length; index++) {
|
|
1190
1198
|
const result2 = await middleware[index]({ ...handlerContext, context });
|
|
@@ -1212,7 +1220,7 @@ async function runEndpointMiddleware(middleware, handlerContext, handler, fail,
|
|
|
1212
1220
|
}
|
|
1213
1221
|
context = mergeEndpointContext(context, result2, index);
|
|
1214
1222
|
}
|
|
1215
|
-
const result = await handler({ ...handlerContext, context, fail });
|
|
1223
|
+
const result = await handler({ ...handlerContext, context, error, fail: error });
|
|
1216
1224
|
return {
|
|
1217
1225
|
result,
|
|
1218
1226
|
context,
|