Skip to content

Commit 58ca1cf

Browse files
bjohansebasalexander-akait
authored andcommitted
refactor: remove extra of arguments
1 parent 572f565 commit 58ca1cf

7 files changed

Lines changed: 66 additions & 57 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ const app = new express();
459459
app.use(instance);
460460

461461
instance.waitUntilValid(() => {
462-
const filename = instance.getFilenameFromUrl("/bundle.js");
462+
const { filename } = instance.getFilenameFromUrl("/bundle.js");
463463

464464
console.log(`Filename is ${filename}`);
465465
});

src/index.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,7 @@ const noop = () => {};
142142
/**
143143
* @callback GetFilenameFromUrl
144144
* @param {string} url
145-
* @param {Extra=} extra
146-
* @returns {string | undefined}
145+
* @returns {{ filename?: string, extra: Extra, errorCode?: number }}
147146
*/
148147

149148
/**
@@ -278,8 +277,7 @@ function wdm(compiler, options = {}) {
278277
(middleware(filledContext));
279278

280279
// API
281-
instance.getFilenameFromUrl = (url, extra) =>
282-
getFilenameFromUrl(filledContext, url, extra)?.filename;
280+
instance.getFilenameFromUrl = (url) => getFilenameFromUrl(filledContext, url);
283281

284282
instance.waitUntilValid = (callback = noop) => {
285283
ready(filledContext, callback);

src/middleware.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,6 @@ function wrapper(context) {
501501
const { filename, extra, errorCode } = getFilenameFromUrl(
502502
context,
503503
/** @type {string} */ (getRequestURL(req)),
504-
{},
505504
);
506505

507506
if (errorCode) {

src/utils/getFilenameFromUrl.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,11 @@ const UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/;
4747
* @template {ServerResponse} Response
4848
* @param {import("../index.js").FilledContext<Request, Response>} context context
4949
* @param {string} url url
50-
* @param {Extra=} extra extra
51-
* @returns {{ filename?: string, extra: Extra, errorCode?: number }} filename
50+
* @returns {{ filename?: string, extra: Extra, errorCode?: number }} result of get filename from url
5251
*/
53-
function getFilenameFromUrl(context, url, extra = {}) {
52+
function getFilenameFromUrl(context, url) {
53+
/** @type {Extra} */
54+
const extra = {};
5455
const { options } = context;
5556
const paths = getPaths(context);
5657

test/middleware.test.js

Lines changed: 47 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -573,23 +573,24 @@ describe.each([
573573

574574
it("should work", (done) => {
575575
instance.waitUntilValid(() => {
576-
expect(instance.getFilenameFromUrl("/bundle.js")).toBe(
576+
expect(instance.getFilenameFromUrl("/bundle.js").filename).toBe(
577577
path.join(webpackConfig.output.path, "/bundle.js"),
578578
);
579-
expect(instance.getFilenameFromUrl("/")).toBe(
579+
expect(instance.getFilenameFromUrl("/").filename).toBe(
580580
path.join(webpackConfig.output.path, "/index.html"),
581581
);
582-
expect(instance.getFilenameFromUrl("/index.html")).toBe(
582+
expect(instance.getFilenameFromUrl("/index.html").filename).toBe(
583583
path.join(webpackConfig.output.path, "/index.html"),
584584
);
585-
expect(instance.getFilenameFromUrl("/svg.svg")).toBe(
585+
expect(instance.getFilenameFromUrl("/svg.svg").filename).toBe(
586586
path.join(webpackConfig.output.path, "/svg.svg"),
587587
);
588588
expect(
589-
instance.getFilenameFromUrl("/unknown.unknown"),
589+
instance.getFilenameFromUrl("/unknown.unknown").filename,
590590
).toBeUndefined();
591591
expect(
592-
instance.getFilenameFromUrl("/unknown/unknown.unknown"),
592+
instance.getFilenameFromUrl("/unknown/unknown.unknown")
593+
.filename,
593594
).toBeUndefined();
594595

595596
done();
@@ -617,22 +618,23 @@ describe.each([
617618

618619
it("should work", (done) => {
619620
instance.waitUntilValid(() => {
620-
expect(instance.getFilenameFromUrl("/bundle.js")).toBe(
621+
expect(instance.getFilenameFromUrl("/bundle.js").filename).toBe(
621622
path.join(webpackConfig.output.path, "/bundle.js"),
622623
);
623624

624-
expect(instance.getFilenameFromUrl("/")).toBeUndefined();
625-
expect(instance.getFilenameFromUrl("/index.html")).toBe(
625+
expect(instance.getFilenameFromUrl("/").filename).toBeUndefined();
626+
expect(instance.getFilenameFromUrl("/index.html").filename).toBe(
626627
path.join(webpackConfig.output.path, "/index.html"),
627628
);
628-
expect(instance.getFilenameFromUrl("/svg.svg")).toBe(
629+
expect(instance.getFilenameFromUrl("/svg.svg").filename).toBe(
629630
path.join(webpackConfig.output.path, "/svg.svg"),
630631
);
631632
expect(
632-
instance.getFilenameFromUrl("/unknown.unknown"),
633+
instance.getFilenameFromUrl("/unknown.unknown").filename,
633634
).toBeUndefined();
634635
expect(
635-
instance.getFilenameFromUrl("/unknown/unknown.unknown"),
636+
instance.getFilenameFromUrl("/unknown/unknown.unknown")
637+
.filename,
636638
).toBeUndefined();
637639

638640
done();
@@ -658,28 +660,33 @@ describe.each([
658660
it("should work", (done) => {
659661
instance.waitUntilValid(() => {
660662
expect(
661-
instance.getFilenameFromUrl("/public/path/bundle.js"),
663+
instance.getFilenameFromUrl("/public/path/bundle.js").filename,
662664
).toBe(
663665
path.join(webpackPublicPathConfig.output.path, "/bundle.js"),
664666
);
665-
expect(instance.getFilenameFromUrl("/public/path/")).toBe(
667+
expect(
668+
instance.getFilenameFromUrl("/public/path/").filename,
669+
).toBe(
666670
path.join(webpackPublicPathConfig.output.path, "/index.html"),
667671
);
668672
expect(
669-
instance.getFilenameFromUrl("/public/path/index.html"),
673+
instance.getFilenameFromUrl("/public/path/index.html").filename,
670674
).toBe(
671675
path.join(webpackPublicPathConfig.output.path, "/index.html"),
672676
);
673-
expect(instance.getFilenameFromUrl("/public/path/svg.svg")).toBe(
677+
expect(
678+
instance.getFilenameFromUrl("/public/path/svg.svg").filename,
679+
).toBe(
674680
path.join(webpackPublicPathConfig.output.path, "/svg.svg"),
675681
);
676682

677-
expect(instance.getFilenameFromUrl("/")).toBeUndefined();
683+
expect(instance.getFilenameFromUrl("/").filename).toBeUndefined();
678684
expect(
679-
instance.getFilenameFromUrl("/unknown.unknown"),
685+
instance.getFilenameFromUrl("/unknown.unknown").filename,
680686
).toBeUndefined();
681687
expect(
682-
instance.getFilenameFromUrl("/unknown/unknown.unknown"),
688+
instance.getFilenameFromUrl("/unknown/unknown.unknown")
689+
.filename,
683690
).toBeUndefined();
684691

685692
done();
@@ -704,49 +711,56 @@ describe.each([
704711

705712
it("should work", (done) => {
706713
instance.waitUntilValid(() => {
707-
expect(instance.getFilenameFromUrl("/static-one/bundle.js")).toBe(
714+
expect(
715+
instance.getFilenameFromUrl("/static-one/bundle.js").filename,
716+
).toBe(
708717
path.join(webpackMultiConfig[0].output.path, "/bundle.js"),
709718
);
710-
expect(instance.getFilenameFromUrl("/static-one/")).toBe(
719+
expect(instance.getFilenameFromUrl("/static-one/").filename).toBe(
711720
path.join(webpackMultiConfig[0].output.path, "/index.html"),
712721
);
713722
expect(
714-
instance.getFilenameFromUrl("/static-one/index.html"),
723+
instance.getFilenameFromUrl("/static-one/index.html").filename,
715724
).toBe(
716725
path.join(webpackMultiConfig[0].output.path, "/index.html"),
717726
);
718-
expect(instance.getFilenameFromUrl("/static-one/svg.svg")).toBe(
719-
path.join(webpackMultiConfig[0].output.path, "/svg.svg"),
720-
);
721727
expect(
722-
instance.getFilenameFromUrl("/static-one/unknown.unknown"),
728+
instance.getFilenameFromUrl("/static-one/svg.svg").filename,
729+
).toBe(path.join(webpackMultiConfig[0].output.path, "/svg.svg"));
730+
expect(
731+
instance.getFilenameFromUrl("/static-one/unknown.unknown")
732+
.filename,
723733
).toBeUndefined();
724734
expect(
725735
instance.getFilenameFromUrl(
726736
"/static-one/unknown/unknown.unknown",
727-
),
737+
).filename,
728738
).toBeUndefined();
729739

730-
expect(instance.getFilenameFromUrl("/static-two/bundle.js")).toBe(
740+
expect(
741+
instance.getFilenameFromUrl("/static-two/bundle.js").filename,
742+
).toBe(
731743
path.join(webpackMultiConfig[1].output.path, "/bundle.js"),
732744
);
733745
expect(
734-
instance.getFilenameFromUrl("/static-two/unknown.unknown"),
746+
instance.getFilenameFromUrl("/static-two/unknown.unknown")
747+
.filename,
735748
).toBeUndefined();
736749
expect(
737750
instance.getFilenameFromUrl(
738751
"/static-two/unknown/unknown.unknown",
739-
),
752+
).filename,
740753
).toBeUndefined();
741754

742-
expect(instance.getFilenameFromUrl("/")).toBeUndefined();
755+
expect(instance.getFilenameFromUrl("/").filename).toBeUndefined();
743756
expect(
744-
instance.getFilenameFromUrl("/static-one/unknown.unknown"),
757+
instance.getFilenameFromUrl("/static-one/unknown.unknown")
758+
.filename,
745759
).toBeUndefined();
746760
expect(
747761
instance.getFilenameFromUrl(
748762
"/static-one/unknown/unknown.unknown",
749-
),
763+
).filename,
750764
).toBeUndefined();
751765

752766
done();

types/index.d.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,7 @@ export = wdm;
108108
/**
109109
* @callback GetFilenameFromUrl
110110
* @param {string} url
111-
* @param {Extra=} extra
112-
* @returns {string | undefined}
111+
* @returns {{ filename?: string, extra: Extra, errorCode?: number }}
113112
*/
114113
/**
115114
* @callback WaitUntilValid
@@ -460,10 +459,11 @@ type Middleware<
460459
next: NextFunction,
461460
) => Promise<void>;
462461
type Extra = import("./utils/getFilenameFromUrl").Extra;
463-
type GetFilenameFromUrl = (
464-
url: string,
465-
extra?: Extra | undefined,
466-
) => string | undefined;
462+
type GetFilenameFromUrl = (url: string) => {
463+
filename?: string;
464+
extra: Extra;
465+
errorCode?: number;
466+
};
467467
type WaitUntilValid = (callback: Callback) => any;
468468
type Invalidate = (callback: Callback) => any;
469469
type Close = (callback: (err: Error | null | undefined) => void) => any;

types/utils/getFilenameFromUrl.d.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ export = getFilenameFromUrl;
22
/**
33
* @typedef {object} Extra
44
* @property {import("fs").Stats=} stats stats
5-
* @property {number=} errorCode error code
65
* @property {boolean=} immutable true when immutable, otherwise false
76
*/
87
/**
@@ -17,17 +16,19 @@ export = getFilenameFromUrl;
1716
* @template {ServerResponse} Response
1817
* @param {import("../index.js").FilledContext<Request, Response>} context context
1918
* @param {string} url url
20-
* @param {Extra=} extra extra
21-
* @returns {string | undefined} filename
19+
* @returns {{ filename?: string, extra: Extra, errorCode?: number }} result of get filename from url
2220
*/
2321
declare function getFilenameFromUrl<
2422
Request extends IncomingMessage,
2523
Response extends ServerResponse,
2624
>(
2725
context: import("../index.js").FilledContext<Request, Response>,
2826
url: string,
29-
extra?: Extra | undefined,
30-
): string | undefined;
27+
): {
28+
filename?: string;
29+
extra: Extra;
30+
errorCode?: number;
31+
};
3132
declare namespace getFilenameFromUrl {
3233
export { IncomingMessage, ServerResponse, Extra };
3334
}
@@ -38,10 +39,6 @@ type Extra = {
3839
* stats
3940
*/
4041
stats?: import("fs").Stats | undefined;
41-
/**
42-
* error code
43-
*/
44-
errorCode?: number | undefined;
4542
/**
4643
* true when immutable, otherwise false
4744
*/

0 commit comments

Comments
 (0)