@kanun-hq/plugin-file 0.1.2 → 0.1.4
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/index.d.ts +1 -1
- package/dist/index.js +31 -7
- package/package.json +5 -3
package/dist/index.d.ts
CHANGED
|
@@ -124,7 +124,7 @@ declare function useH3UploadContext(event: H3LikeEvent): Promise<Record<string,
|
|
|
124
124
|
//#endregion
|
|
125
125
|
//#region src/index.d.ts
|
|
126
126
|
declare module 'kanun' {
|
|
127
|
-
interface
|
|
127
|
+
interface ValidationRuleAutocompleteMap {
|
|
128
128
|
dimensions: 'paramable';
|
|
129
129
|
extensions: 'paramable';
|
|
130
130
|
file: 'plain';
|
package/dist/index.js
CHANGED
|
@@ -195,10 +195,18 @@ async function withFastifyUploadContext(validator, request) {
|
|
|
195
195
|
* @returns
|
|
196
196
|
*/
|
|
197
197
|
async function useFastifyUploadContext(request) {
|
|
198
|
-
|
|
198
|
+
const context = useValidatorContext();
|
|
199
|
+
const requestFiles = await extractFastifyRequestFiles(request);
|
|
200
|
+
const existingRequestFiles = isRecord$1(context.requestFiles) ? context.requestFiles : {};
|
|
201
|
+
Object.assign(context, {
|
|
199
202
|
fastify: request,
|
|
200
|
-
request
|
|
203
|
+
request,
|
|
204
|
+
requestFiles: {
|
|
205
|
+
...existingRequestFiles,
|
|
206
|
+
...requestFiles
|
|
207
|
+
}
|
|
201
208
|
});
|
|
209
|
+
return context;
|
|
202
210
|
}
|
|
203
211
|
/**
|
|
204
212
|
* Extracts the parsed body from a Hono-like context, which may contain uploaded files.
|
|
@@ -229,10 +237,18 @@ async function withHonoUploadContext(validator, context) {
|
|
|
229
237
|
* @returns
|
|
230
238
|
*/
|
|
231
239
|
async function useHonoUploadContext(context) {
|
|
232
|
-
|
|
240
|
+
const validatorContext = useValidatorContext();
|
|
241
|
+
const parsedBody = await extractHonoParsedBody(context);
|
|
242
|
+
const existingRequestFiles = isRecord$1(validatorContext.requestFiles) ? validatorContext.requestFiles : {};
|
|
243
|
+
Object.assign(validatorContext, {
|
|
233
244
|
hono: context,
|
|
234
|
-
request: context.req
|
|
245
|
+
request: context.req,
|
|
246
|
+
requestFiles: {
|
|
247
|
+
...existingRequestFiles,
|
|
248
|
+
...extractNamedFilesFromRecord(parsedBody)
|
|
249
|
+
}
|
|
235
250
|
});
|
|
251
|
+
return validatorContext;
|
|
236
252
|
}
|
|
237
253
|
/**
|
|
238
254
|
* Extracts uploaded files from an H3-like event, supporting multiple sources such as
|
|
@@ -306,10 +322,18 @@ async function withH3UploadContext(validator, event) {
|
|
|
306
322
|
* @returns
|
|
307
323
|
*/
|
|
308
324
|
async function useH3UploadContext(event) {
|
|
309
|
-
|
|
325
|
+
const context = useValidatorContext();
|
|
326
|
+
const requestFiles = await extractH3RequestFiles(event);
|
|
327
|
+
const existingRequestFiles = isRecord$1(context.requestFiles) ? context.requestFiles : {};
|
|
328
|
+
Object.assign(context, {
|
|
310
329
|
h3: event,
|
|
311
|
-
request: event.req ?? event.request
|
|
330
|
+
request: event.req ?? event.request,
|
|
331
|
+
requestFiles: {
|
|
332
|
+
...existingRequestFiles,
|
|
333
|
+
...requestFiles
|
|
334
|
+
}
|
|
312
335
|
});
|
|
336
|
+
return context;
|
|
313
337
|
}
|
|
314
338
|
|
|
315
339
|
//#endregion
|
|
@@ -588,7 +612,7 @@ function syncRequestFilesToData(validator, attributes) {
|
|
|
588
612
|
function createFileValidatorPlugin(options = {}) {
|
|
589
613
|
pluginOptions = options;
|
|
590
614
|
return definePlugin({
|
|
591
|
-
name: "@kanun/plugin-file",
|
|
615
|
+
name: "@kanun-hq/plugin-file",
|
|
592
616
|
install: ({ extendTranslations, registerRule, registerValueInspector }) => {
|
|
593
617
|
registerValueInspector({
|
|
594
618
|
type: "file",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kanun-hq/plugin-file",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "File validation plugin for Kanun.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -28,8 +28,10 @@
|
|
|
28
28
|
"plugin"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"image-size": "^2.0.2"
|
|
32
|
-
|
|
31
|
+
"image-size": "^2.0.2"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"kanun": "^1.0.8"
|
|
33
35
|
},
|
|
34
36
|
"scripts": {
|
|
35
37
|
"build": "tsdown",
|