@kanun-hq/plugin-file 0.1.2 → 0.1.3

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 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 CustomValidationRuleNameMap {
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
- return useRequestFilesContext(await extractFastifyRequestFiles(request), {
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
- return useRequestFilesContext(extractNamedFilesFromRecord(await extractHonoParsedBody(context)), {
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
- return useRequestFilesContext(await extractH3RequestFiles(event), {
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.2",
3
+ "version": "0.1.3",
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
- "kanun": "1.0.4"
31
+ "image-size": "^2.0.2"
32
+ },
33
+ "peerDependencies": {
34
+ "kanun": "^1.0.8"
33
35
  },
34
36
  "scripts": {
35
37
  "build": "tsdown",