diff --git a/packages/formidable/formidable.d.ts b/packages/formidable/formidable.d.ts index 87d4adc..405ae12 100644 --- a/packages/formidable/formidable.d.ts +++ b/packages/formidable/formidable.d.ts @@ -1,6 +1,12 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import IncomingForm from '@types/formidable/Formidable'; import { Options } from 'formidable'; import { RequestListener } from 'http'; -declare function formidable(options?: Options): Promise; +declare function formidable( + options?: Options, + initialize?: (formidable: IncomingForm) => void +): Promise; export = formidable; diff --git a/packages/formidable/formidable.es.js b/packages/formidable/formidable.es.js index 52dc80e..665ef57 100644 --- a/packages/formidable/formidable.es.js +++ b/packages/formidable/formidable.es.js @@ -3,11 +3,15 @@ import Formidable from 'formidable'; /** * Formidable plugin * @param {object} options Formidable options + * @param {Function} initialize **Formidable** instance handler * @example * app.use(formidable()) */ -export default function formidable(config = { multiples: true }) { +export default function formidable(config = { multiples: true }, initialize) { const form = Formidable(config); + if (typeof initialize === 'function') { + initialize(form); + } return async function formidableHandler(req) { Object.assign(req.stream, req); await new Promise((resolve, reject) =>