Skip to content

Commit fd095fb

Browse files
authored
fix: async to support
1 parent b54ce95 commit fd095fb

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

src/index.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ const template = /\[\\*([\w:]+)\\*\]/i;
5959
/**
6060
* @callback ToFunction
6161
* @param {{ context: string, absoluteFilename?: string }} pathData
62-
* @return {string}
62+
* @return {string | Promise<string>}
6363
*/
6464

6565
/**
@@ -74,7 +74,7 @@ const template = /\[\\*([\w:]+)\\*\]/i;
7474
* @callback TransformerFunction
7575
* @param {Buffer} input
7676
* @param {string} absoluteFilename
77-
* @returns {string | Buffer}
77+
* @returns {string | Buffer | Promise<string> | Promise<Buffer>}
7878
*/
7979

8080
/**
@@ -94,13 +94,13 @@ const template = /\[\\*([\w:]+)\\*\]/i;
9494
/**
9595
* @callback Filter
9696
* @param {string} filepath
97-
* @returns {boolean}
97+
* @returns {boolean | Promise<boolean>}
9898
*/
9999

100100
/**
101101
* @callback TransformAllFunction
102102
* @param {{ data: Buffer, sourceFilename: string, absoluteFilename: string }[]} data
103-
* @returns {string | Buffer}
103+
* @returns {string | Buffer | Promise<string> | Promise<Buffer>}
104104
*/
105105

106106
/**
@@ -959,7 +959,7 @@ class CopyPlugin {
959959

960960
const filename =
961961
typeof normalizedPattern.to === "function"
962-
? normalizedPattern.to({ context })
962+
? await normalizedPattern.to({ context })
963963
: normalizedPattern.to;
964964

965965
if (template.test(filename)) {

types/index.d.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export = CopyPlugin;
3737
/**
3838
* @callback ToFunction
3939
* @param {{ context: string, absoluteFilename?: string }} pathData
40-
* @return {string}
40+
* @return {string | Promise<string>}
4141
*/
4242
/**
4343
* @typedef {string | ToFunction} To
@@ -49,7 +49,7 @@ export = CopyPlugin;
4949
* @callback TransformerFunction
5050
* @param {Buffer} input
5151
* @param {string} absoluteFilename
52-
* @returns {string | Buffer}
52+
* @returns {string | Buffer | Promise<string> | Promise<Buffer>}
5353
*/
5454
/**
5555
* @typedef {{ keys: { [key: string]: any } } | { keys: ((defaultCacheKeys: { [key: string]: any }, absoluteFilename: string) => Promise<{ [key: string]: any }>) }} TransformerCacheObject
@@ -65,12 +65,12 @@ export = CopyPlugin;
6565
/**
6666
* @callback Filter
6767
* @param {string} filepath
68-
* @returns {boolean}
68+
* @returns {boolean | Promise<boolean>}
6969
*/
7070
/**
7171
* @callback TransformAllFunction
7272
* @param {{ data: Buffer, sourceFilename: string, absoluteFilename: string }[]} data
73-
* @returns {string | Buffer}
73+
* @returns {string | Buffer | Promise<string> | Promise<Buffer>}
7474
*/
7575
/**
7676
* @typedef { { [key: string]: string } | ((item: { absoluteFilename: string, sourceFilename: string, filename: string, toType: ToType }) => { [key: string]: string }) } Info
@@ -227,13 +227,13 @@ type From = string;
227227
type ToFunction = (pathData: {
228228
context: string;
229229
absoluteFilename?: string;
230-
}) => string;
230+
}) => string | Promise<string>;
231231
type To = string | ToFunction;
232232
type ToType = "dir" | "file" | "template";
233233
type TransformerFunction = (
234234
input: Buffer,
235235
absoluteFilename: string
236-
) => string | Buffer;
236+
) => string | Buffer | Promise<string> | Promise<Buffer>;
237237
type TransformerCacheObject =
238238
| {
239239
keys: {
@@ -255,14 +255,14 @@ type TransformerObject = {
255255
cache?: boolean | TransformerCacheObject | undefined;
256256
};
257257
type Transform = TransformerFunction | TransformerObject;
258-
type Filter = (filepath: string) => boolean;
258+
type Filter = (filepath: string) => boolean | Promise<boolean>;
259259
type TransformAllFunction = (
260260
data: {
261261
data: Buffer;
262262
sourceFilename: string;
263263
absoluteFilename: string;
264264
}[]
265-
) => string | Buffer;
265+
) => string | Buffer | Promise<string> | Promise<Buffer>;
266266
type Info =
267267
| {
268268
[key: string]: string;

0 commit comments

Comments
 (0)