silgi 0.38.5 → 0.38.7
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/cli/index.mjs +1 -1
- package/dist/core/index.d.mts +10 -5
- package/dist/core/index.mjs +42 -46
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/types/index.d.mts +11 -12
- package/package.json +1 -1
package/dist/cli/index.mjs
CHANGED
package/dist/core/index.d.mts
CHANGED
|
@@ -14,6 +14,10 @@ declare function silgiFetch<Schema extends SilgiSchema = SilgiSchema, Route exte
|
|
|
14
14
|
declare function silgiFetch(_request: Request | URL, options?: RequestInit & {
|
|
15
15
|
pathParams?: Record<string, any>;
|
|
16
16
|
}, context?: SilgiRuntimeContext): Promise<Response | Promise<Response>>;
|
|
17
|
+
declare function middleware(event: SilgiEvent, url?: {
|
|
18
|
+
path: string;
|
|
19
|
+
method: string;
|
|
20
|
+
}): Promise<any>;
|
|
17
21
|
declare function handler(event: SilgiEvent, url?: {
|
|
18
22
|
path: string;
|
|
19
23
|
method: string;
|
|
@@ -243,7 +247,7 @@ declare function createService<Schema extends SilgiSchema, Path extends keyof Sc
|
|
|
243
247
|
type WildcardVariants<Path extends string, Acc extends string = ''> = Path extends `${infer Head}/${infer Tail}` ? Tail extends '' ? `${Acc}${Head}` : `${Acc}${Head}/${Tail}` | `${Acc}${Head}/*` | `${Acc}${Head}/**` | WildcardVariants<Tail, `${Acc}${Head}/`> : `${Acc}${Path}`;
|
|
244
248
|
type MiddlewareParams<Schema extends SilgiSchema, Path extends keyof Schema & string, S extends string = WildcardVariants<Path>, Service extends MiddlewareDefinition = MiddlewareDefinition, Method extends string = HttpMethod, UsedMethod extends readonly Method[] = readonly never[]> = ({
|
|
245
249
|
path: S;
|
|
246
|
-
method
|
|
250
|
+
method: UsedMethod;
|
|
247
251
|
setup: Service;
|
|
248
252
|
}) | ({
|
|
249
253
|
global: true;
|
|
@@ -255,9 +259,10 @@ type MiddlewareReturn<S extends string, Service extends MiddlewareDefinition, Us
|
|
|
255
259
|
[K in S]: {
|
|
256
260
|
method: boolean;
|
|
257
261
|
global: boolean;
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
262
|
+
methods: UsedMethod extends readonly [] | undefined ? object : {
|
|
263
|
+
[M in UsedMethod[number]]: Service;
|
|
264
|
+
};
|
|
265
|
+
};
|
|
261
266
|
};
|
|
262
267
|
declare function createMiddleware<Schema extends SilgiSchema, Path extends keyof Schema & string, S extends string = WildcardVariants<Path>, Service extends MiddlewareDefinition = MiddlewareDefinition, Method extends string = HttpMethod, UsedMethod extends readonly Method[] = readonly never[]>(params: MiddlewareParams<Schema, Path, S, Service, Method, UsedMethod>): MiddlewareReturn<S, Service, UsedMethod>;
|
|
263
268
|
|
|
@@ -312,4 +317,4 @@ declare function useRuntime(): SilgiRuntimeConfig;
|
|
|
312
317
|
|
|
313
318
|
declare const autoImportTypes: string[];
|
|
314
319
|
|
|
315
|
-
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, replaceRuntimeValues, silgiCLICtx, silgiCtx, silgiFetch, storageMount, tryUseSilgi, tryUseSilgiCLI, updateRuntimeStorage, useRuntime, useSilgi, useSilgiCLI, useSilgiStorage };
|
|
320
|
+
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, middleware, replaceRuntimeValues, silgiCLICtx, silgiCtx, silgiFetch, storageMount, tryUseSilgi, tryUseSilgiCLI, updateRuntimeStorage, useRuntime, useSilgi, useSilgiCLI, useSilgiStorage };
|
package/dist/core/index.mjs
CHANGED
|
@@ -322,37 +322,40 @@ async function createSilgi(config) {
|
|
|
322
322
|
}
|
|
323
323
|
for (const route in silgi.middlewares) {
|
|
324
324
|
const routeObject = silgi.middlewares[route];
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
silgi.globalMiddlewares.push({
|
|
330
|
-
setup: routeObject.setup,
|
|
331
|
-
route
|
|
332
|
-
});
|
|
333
|
-
} else if (method) {
|
|
334
|
-
for (const methodKey in routeObject) {
|
|
335
|
-
if (["global", "setup", "method"].includes(methodKey))
|
|
336
|
-
continue;
|
|
325
|
+
const global = routeObject.global ?? false;
|
|
326
|
+
if (global) {
|
|
327
|
+
if ("methods" in routeObject && routeObject.methods && Object.keys(routeObject.methods).length > 0) {
|
|
328
|
+
for (const methodKey in routeObject.methods) {
|
|
337
329
|
const _method = (methodKey || "").toUpperCase();
|
|
338
|
-
const object = routeObject[methodKey];
|
|
330
|
+
const object = routeObject.methods[methodKey];
|
|
331
|
+
if (!object)
|
|
332
|
+
continue;
|
|
339
333
|
silgi.globalMiddlewares.push({
|
|
340
334
|
setup: object.setup,
|
|
341
335
|
method: _method,
|
|
342
336
|
route
|
|
343
337
|
});
|
|
344
338
|
}
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
const _method = (method || "").toUpperCase();
|
|
349
|
-
const routeObjectMethod = routeObject[method];
|
|
350
|
-
addRoute(silgi._middlewareRouter, _method, route, {
|
|
351
|
-
setup: routeObjectMethod.setup,
|
|
352
|
-
method: _method,
|
|
339
|
+
} else {
|
|
340
|
+
silgi.globalMiddlewares.push({
|
|
341
|
+
setup: routeObject.setup,
|
|
353
342
|
route
|
|
354
343
|
});
|
|
355
344
|
}
|
|
345
|
+
} else {
|
|
346
|
+
if ("methods" in routeObject && routeObject.methods) {
|
|
347
|
+
for (const method in routeObject.methods) {
|
|
348
|
+
const _method = (method || "").toUpperCase();
|
|
349
|
+
const routeObjectMethod = routeObject.methods[method];
|
|
350
|
+
if (!routeObjectMethod)
|
|
351
|
+
continue;
|
|
352
|
+
addRoute(silgi._middlewareRouter, _method, route, {
|
|
353
|
+
setup: routeObjectMethod.setup,
|
|
354
|
+
method: _method,
|
|
355
|
+
route
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
}
|
|
356
359
|
}
|
|
357
360
|
}
|
|
358
361
|
silgi.hooks.addHooks(silgi.options.hooks);
|
|
@@ -909,7 +912,6 @@ function withDuplexIfBody(options) {
|
|
|
909
912
|
return options;
|
|
910
913
|
}
|
|
911
914
|
async function silgiFetch(_request, options, context) {
|
|
912
|
-
useSilgi();
|
|
913
915
|
let request;
|
|
914
916
|
if (typeof _request === "string") {
|
|
915
917
|
_request = substitutePathParams(_request, options?.pathParams);
|
|
@@ -949,9 +951,6 @@ async function middleware(event, url) {
|
|
|
949
951
|
if (m.method && m.method !== event.req.method) {
|
|
950
952
|
return;
|
|
951
953
|
}
|
|
952
|
-
if (m.method && m.method !== event.req.method) {
|
|
953
|
-
return;
|
|
954
|
-
}
|
|
955
954
|
await silgiContext.callHook("middleware:global:on", event, m.setup);
|
|
956
955
|
return m.setup.handler(event, silgiContext);
|
|
957
956
|
});
|
|
@@ -1066,44 +1065,41 @@ function createMiddleware(params) {
|
|
|
1066
1065
|
[params.key]: {
|
|
1067
1066
|
method: false,
|
|
1068
1067
|
global: params.global,
|
|
1069
|
-
|
|
1068
|
+
methods: {}
|
|
1070
1069
|
}
|
|
1071
1070
|
};
|
|
1072
1071
|
}
|
|
1073
|
-
const
|
|
1074
|
-
[params.key]: {
|
|
1075
|
-
global: params.global,
|
|
1076
|
-
method: true
|
|
1077
|
-
}
|
|
1078
|
-
};
|
|
1072
|
+
const methods2 = {};
|
|
1079
1073
|
for (const m of params.method) {
|
|
1080
|
-
|
|
1074
|
+
methods2[m] = {
|
|
1081
1075
|
setup: params.setup,
|
|
1082
1076
|
global: true,
|
|
1083
1077
|
method: m
|
|
1084
1078
|
};
|
|
1085
1079
|
}
|
|
1086
|
-
return result2;
|
|
1087
|
-
}
|
|
1088
|
-
if (!params.method || params.method.length === 0) {
|
|
1089
1080
|
return {
|
|
1090
|
-
[params.
|
|
1081
|
+
[params.key]: {
|
|
1082
|
+
global: params.global,
|
|
1091
1083
|
method: true,
|
|
1092
|
-
|
|
1093
|
-
setup: params.setup
|
|
1084
|
+
methods: methods2
|
|
1094
1085
|
}
|
|
1095
1086
|
};
|
|
1096
1087
|
}
|
|
1097
|
-
const
|
|
1098
|
-
[params.path]: {}
|
|
1099
|
-
};
|
|
1088
|
+
const methods = {};
|
|
1100
1089
|
for (const m of params.method) {
|
|
1101
|
-
|
|
1090
|
+
methods[m] = {
|
|
1102
1091
|
setup: params.setup,
|
|
1103
|
-
method: m
|
|
1092
|
+
method: m,
|
|
1093
|
+
global: false
|
|
1104
1094
|
};
|
|
1105
1095
|
}
|
|
1106
|
-
return
|
|
1096
|
+
return {
|
|
1097
|
+
[params.path]: {
|
|
1098
|
+
method: true,
|
|
1099
|
+
global: false,
|
|
1100
|
+
methods
|
|
1101
|
+
}
|
|
1102
|
+
};
|
|
1107
1103
|
}
|
|
1108
1104
|
|
|
1109
1105
|
function createShared(shared) {
|
|
@@ -1149,4 +1145,4 @@ const autoImportTypes = [
|
|
|
1149
1145
|
"ExtractQueryParamsFromURI"
|
|
1150
1146
|
];
|
|
1151
1147
|
|
|
1152
|
-
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, replaceRuntimeValues, silgiCtx, silgiFetch, storageMount, tryUseSilgi, updateRuntimeStorage, useRuntime, useSilgi, useSilgiStorage };
|
|
1148
|
+
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, middleware, replaceRuntimeValues, silgiCtx, silgiFetch, storageMount, tryUseSilgi, updateRuntimeStorage, useRuntime, useSilgi, useSilgiStorage };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, replaceRuntimeValues, silgiCLICtx, silgiCtx, silgiFetch, storageMount, tryUseSilgi, tryUseSilgiCLI, updateRuntimeStorage, useRuntime, useSilgi, useSilgiCLI, useSilgiStorage } from './core/index.mjs';
|
|
1
|
+
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, middleware, replaceRuntimeValues, silgiCLICtx, silgiCtx, silgiFetch, storageMount, tryUseSilgi, tryUseSilgiCLI, updateRuntimeStorage, useRuntime, useSilgi, useSilgiCLI, useSilgiStorage } from './core/index.mjs';
|
|
2
2
|
import 'silgi/types';
|
|
3
3
|
import 'unstorage';
|
|
4
4
|
import 'unctx';
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, replaceRuntimeValues, silgiCtx, silgiFetch, storageMount, tryUseSilgi, updateRuntimeStorage, useRuntime, useSilgi, useSilgiStorage } from './core/index.mjs';
|
|
1
|
+
export { SilgiError, autoImportTypes, createError, createMiddleware, createRoute, createSchema, createService, createShared, createSilgi, createStorage, deepMergeObjects, getEvent, getEventContext, getUrlPrefix, handleResponse, handler, isError, middleware, replaceRuntimeValues, silgiCtx, silgiFetch, storageMount, tryUseSilgi, updateRuntimeStorage, useRuntime, useSilgi, useSilgiStorage } from './core/index.mjs';
|
|
2
2
|
export { s as silgiCLICtx, t as tryUseSilgiCLI, u as useSilgiCLI } from './_chunks/silgiApp.mjs';
|
|
3
3
|
import 'consola';
|
|
4
4
|
import 'defu';
|
package/dist/types/index.d.mts
CHANGED
|
@@ -399,23 +399,22 @@ interface MiddlewareSetup {
|
|
|
399
399
|
storage?: StorageConfig;
|
|
400
400
|
}
|
|
401
401
|
type MiddlewareDefinition = MiddlewareSetup;
|
|
402
|
-
|
|
402
|
+
interface ResolvedMiddlewareDefinition {
|
|
403
403
|
[routePath: string]: {
|
|
404
|
-
global:
|
|
404
|
+
global: true;
|
|
405
405
|
method: false;
|
|
406
406
|
setup: MiddlewareSetup;
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
method: boolean;
|
|
407
|
+
} | {
|
|
408
|
+
global: false;
|
|
409
|
+
method: true;
|
|
410
|
+
methods: {
|
|
411
|
+
[method: string]: {
|
|
412
|
+
setup: MiddlewareSetup;
|
|
413
|
+
method: string;
|
|
414
|
+
};
|
|
416
415
|
};
|
|
417
416
|
};
|
|
418
|
-
}
|
|
417
|
+
}
|
|
419
418
|
|
|
420
419
|
interface SilgiCLI {
|
|
421
420
|
_ignore?: Ignore;
|