including-modules
This commit is contained in:
+15
@@ -0,0 +1,15 @@
|
||||
import { PrefixPathnameNormalizer } from './prefix';
|
||||
export class BasePathPathnameNormalizer extends PrefixPathnameNormalizer {
|
||||
constructor(basePath){
|
||||
if (!basePath || basePath === '/') {
|
||||
throw Object.defineProperty(new Error('Invariant: basePath must be set and cannot be "/"'), "__NEXT_ERROR_CODE", {
|
||||
value: "E154",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
super(basePath);
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=base-path.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/server/normalizers/request/base-path.ts"],"sourcesContent":["import type { PathnameNormalizer } from './pathname-normalizer'\n\nimport { PrefixPathnameNormalizer } from './prefix'\n\nexport class BasePathPathnameNormalizer\n extends PrefixPathnameNormalizer\n implements PathnameNormalizer\n{\n constructor(basePath: string) {\n if (!basePath || basePath === '/') {\n throw new Error('Invariant: basePath must be set and cannot be \"/\"')\n }\n\n super(basePath)\n }\n}\n"],"names":["PrefixPathnameNormalizer","BasePathPathnameNormalizer","constructor","basePath","Error"],"mappings":"AAEA,SAASA,wBAAwB,QAAQ,WAAU;AAEnD,OAAO,MAAMC,mCACHD;IAGRE,YAAYC,QAAgB,CAAE;QAC5B,IAAI,CAACA,YAAYA,aAAa,KAAK;YACjC,MAAM,qBAA8D,CAA9D,IAAIC,MAAM,sDAAV,qBAAA;uBAAA;4BAAA;8BAAA;YAA6D;QACrE;QAEA,KAAK,CAACD;IACR;AACF","ignoreList":[0]}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
import { denormalizePagePath } from '../../../shared/lib/page-path/denormalize-page-path';
|
||||
import { PrefixPathnameNormalizer } from './prefix';
|
||||
import { SuffixPathnameNormalizer } from './suffix';
|
||||
export class NextDataPathnameNormalizer {
|
||||
constructor(buildID){
|
||||
this.suffix = new SuffixPathnameNormalizer('.json');
|
||||
if (!buildID) {
|
||||
throw Object.defineProperty(new Error('Invariant: buildID is required'), "__NEXT_ERROR_CODE", {
|
||||
value: "E200",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
this.prefix = new PrefixPathnameNormalizer(`/_next/data/${buildID}`);
|
||||
}
|
||||
match(pathname) {
|
||||
return this.prefix.match(pathname) && this.suffix.match(pathname);
|
||||
}
|
||||
normalize(pathname, matched) {
|
||||
// If we're not matched and we don't match, we don't need to normalize.
|
||||
if (!matched && !this.match(pathname)) return pathname;
|
||||
pathname = this.prefix.normalize(pathname, true);
|
||||
pathname = this.suffix.normalize(pathname, true);
|
||||
return denormalizePagePath(pathname);
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=next-data.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/server/normalizers/request/next-data.ts"],"sourcesContent":["import type { PathnameNormalizer } from './pathname-normalizer'\n\nimport { denormalizePagePath } from '../../../shared/lib/page-path/denormalize-page-path'\nimport { PrefixPathnameNormalizer } from './prefix'\nimport { SuffixPathnameNormalizer } from './suffix'\n\nexport class NextDataPathnameNormalizer implements PathnameNormalizer {\n private readonly prefix: PrefixPathnameNormalizer\n private readonly suffix = new SuffixPathnameNormalizer('.json')\n constructor(buildID: string) {\n if (!buildID) {\n throw new Error('Invariant: buildID is required')\n }\n\n this.prefix = new PrefixPathnameNormalizer(`/_next/data/${buildID}`)\n }\n\n public match(pathname: string) {\n return this.prefix.match(pathname) && this.suffix.match(pathname)\n }\n\n public normalize(pathname: string, matched?: boolean): string {\n // If we're not matched and we don't match, we don't need to normalize.\n if (!matched && !this.match(pathname)) return pathname\n\n pathname = this.prefix.normalize(pathname, true)\n pathname = this.suffix.normalize(pathname, true)\n\n return denormalizePagePath(pathname)\n }\n}\n"],"names":["denormalizePagePath","PrefixPathnameNormalizer","SuffixPathnameNormalizer","NextDataPathnameNormalizer","constructor","buildID","suffix","Error","prefix","match","pathname","normalize","matched"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,sDAAqD;AACzF,SAASC,wBAAwB,QAAQ,WAAU;AACnD,SAASC,wBAAwB,QAAQ,WAAU;AAEnD,OAAO,MAAMC;IAGXC,YAAYC,OAAe,CAAE;aADZC,SAAS,IAAIJ,yBAAyB;QAErD,IAAI,CAACG,SAAS;YACZ,MAAM,qBAA2C,CAA3C,IAAIE,MAAM,mCAAV,qBAAA;uBAAA;4BAAA;8BAAA;YAA0C;QAClD;QAEA,IAAI,CAACC,MAAM,GAAG,IAAIP,yBAAyB,CAAC,YAAY,EAAEI,SAAS;IACrE;IAEOI,MAAMC,QAAgB,EAAE;QAC7B,OAAO,IAAI,CAACF,MAAM,CAACC,KAAK,CAACC,aAAa,IAAI,CAACJ,MAAM,CAACG,KAAK,CAACC;IAC1D;IAEOC,UAAUD,QAAgB,EAAEE,OAAiB,EAAU;QAC5D,uEAAuE;QACvE,IAAI,CAACA,WAAW,CAAC,IAAI,CAACH,KAAK,CAACC,WAAW,OAAOA;QAE9CA,WAAW,IAAI,CAACF,MAAM,CAACG,SAAS,CAACD,UAAU;QAC3CA,WAAW,IAAI,CAACJ,MAAM,CAACK,SAAS,CAACD,UAAU;QAE3C,OAAOV,oBAAoBU;IAC7B;AACF","ignoreList":[0]}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
export { };
|
||||
|
||||
//# sourceMappingURL=pathname-normalizer.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/server/normalizers/request/pathname-normalizer.ts"],"sourcesContent":["import type { Normalizer } from '../normalizer'\n\nexport interface PathnameNormalizer extends Normalizer {\n match(pathname: string): boolean\n normalize(pathname: string, matched?: boolean): string\n}\n"],"names":[],"mappings":"AAEA,WAGC","ignoreList":[0]}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
export class PrefixPathnameNormalizer {
|
||||
constructor(prefix){
|
||||
this.prefix = prefix;
|
||||
if (prefix.endsWith('/')) {
|
||||
throw Object.defineProperty(new Error(`PrefixPathnameNormalizer: prefix "${prefix}" should not end with a slash`), "__NEXT_ERROR_CODE", {
|
||||
value: "E219",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
match(pathname) {
|
||||
// If the pathname doesn't start with the prefix, we don't match.
|
||||
if (pathname !== this.prefix && !pathname.startsWith(this.prefix + '/')) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
normalize(pathname, matched) {
|
||||
// If we're not matched and we don't match, we don't need to normalize.
|
||||
if (!matched && !this.match(pathname)) return pathname;
|
||||
if (pathname.length === this.prefix.length) {
|
||||
return '/';
|
||||
}
|
||||
return pathname.substring(this.prefix.length);
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=prefix.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/server/normalizers/request/prefix.ts"],"sourcesContent":["import type { Normalizer } from '../normalizer'\n\nexport class PrefixPathnameNormalizer implements Normalizer {\n constructor(private readonly prefix: string) {\n if (prefix.endsWith('/')) {\n throw new Error(\n `PrefixPathnameNormalizer: prefix \"${prefix}\" should not end with a slash`\n )\n }\n }\n\n public match(pathname: string) {\n // If the pathname doesn't start with the prefix, we don't match.\n if (pathname !== this.prefix && !pathname.startsWith(this.prefix + '/')) {\n return false\n }\n\n return true\n }\n\n public normalize(pathname: string, matched?: boolean): string {\n // If we're not matched and we don't match, we don't need to normalize.\n if (!matched && !this.match(pathname)) return pathname\n\n if (pathname.length === this.prefix.length) {\n return '/'\n }\n\n return pathname.substring(this.prefix.length)\n }\n}\n"],"names":["PrefixPathnameNormalizer","constructor","prefix","endsWith","Error","match","pathname","startsWith","normalize","matched","length","substring"],"mappings":"AAEA,OAAO,MAAMA;IACXC,YAAY,AAAiBC,MAAc,CAAE;aAAhBA,SAAAA;QAC3B,IAAIA,OAAOC,QAAQ,CAAC,MAAM;YACxB,MAAM,qBAEL,CAFK,IAAIC,MACR,CAAC,kCAAkC,EAAEF,OAAO,6BAA6B,CAAC,GADtE,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;IACF;IAEOG,MAAMC,QAAgB,EAAE;QAC7B,iEAAiE;QACjE,IAAIA,aAAa,IAAI,CAACJ,MAAM,IAAI,CAACI,SAASC,UAAU,CAAC,IAAI,CAACL,MAAM,GAAG,MAAM;YACvE,OAAO;QACT;QAEA,OAAO;IACT;IAEOM,UAAUF,QAAgB,EAAEG,OAAiB,EAAU;QAC5D,uEAAuE;QACvE,IAAI,CAACA,WAAW,CAAC,IAAI,CAACJ,KAAK,CAACC,WAAW,OAAOA;QAE9C,IAAIA,SAASI,MAAM,KAAK,IAAI,CAACR,MAAM,CAACQ,MAAM,EAAE;YAC1C,OAAO;QACT;QAEA,OAAOJ,SAASK,SAAS,CAAC,IAAI,CAACT,MAAM,CAACQ,MAAM;IAC9C;AACF","ignoreList":[0]}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
import { RSC_SUFFIX } from '../../../lib/constants';
|
||||
import { SuffixPathnameNormalizer } from './suffix';
|
||||
export class RSCPathnameNormalizer extends SuffixPathnameNormalizer {
|
||||
constructor(){
|
||||
super(RSC_SUFFIX);
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=rsc.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/server/normalizers/request/rsc.ts"],"sourcesContent":["import type { PathnameNormalizer } from './pathname-normalizer'\n\nimport { RSC_SUFFIX } from '../../../lib/constants'\nimport { SuffixPathnameNormalizer } from './suffix'\n\nexport class RSCPathnameNormalizer\n extends SuffixPathnameNormalizer\n implements PathnameNormalizer\n{\n constructor() {\n super(RSC_SUFFIX)\n }\n}\n"],"names":["RSC_SUFFIX","SuffixPathnameNormalizer","RSCPathnameNormalizer","constructor"],"mappings":"AAEA,SAASA,UAAU,QAAQ,yBAAwB;AACnD,SAASC,wBAAwB,QAAQ,WAAU;AAEnD,OAAO,MAAMC,8BACHD;IAGRE,aAAc;QACZ,KAAK,CAACH;IACR;AACF","ignoreList":[0]}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import { RSC_SEGMENT_SUFFIX, RSC_SEGMENTS_DIR_SUFFIX } from '../../../lib/constants';
|
||||
const PATTERN = new RegExp(`^(/.*)${RSC_SEGMENTS_DIR_SUFFIX}(/.*)${RSC_SEGMENT_SUFFIX}$`);
|
||||
export class SegmentPrefixRSCPathnameNormalizer {
|
||||
match(pathname) {
|
||||
return PATTERN.test(pathname);
|
||||
}
|
||||
extract(pathname) {
|
||||
const match = pathname.match(PATTERN);
|
||||
if (!match) return null;
|
||||
return {
|
||||
originalPathname: match[1],
|
||||
segmentPath: match[2]
|
||||
};
|
||||
}
|
||||
normalize(pathname) {
|
||||
const match = this.extract(pathname);
|
||||
if (!match) return pathname;
|
||||
return match.originalPathname;
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=segment-prefix-rsc.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/server/normalizers/request/segment-prefix-rsc.ts"],"sourcesContent":["import type { PathnameNormalizer } from './pathname-normalizer'\n\nimport {\n RSC_SEGMENT_SUFFIX,\n RSC_SEGMENTS_DIR_SUFFIX,\n} from '../../../lib/constants'\n\nconst PATTERN = new RegExp(\n `^(/.*)${RSC_SEGMENTS_DIR_SUFFIX}(/.*)${RSC_SEGMENT_SUFFIX}$`\n)\n\nexport class SegmentPrefixRSCPathnameNormalizer implements PathnameNormalizer {\n public match(pathname: string): boolean {\n return PATTERN.test(pathname)\n }\n\n public extract(pathname: string) {\n const match = pathname.match(PATTERN)\n if (!match) return null\n\n return { originalPathname: match[1], segmentPath: match[2] }\n }\n\n public normalize(pathname: string): string {\n const match = this.extract(pathname)\n if (!match) return pathname\n\n return match.originalPathname\n }\n}\n"],"names":["RSC_SEGMENT_SUFFIX","RSC_SEGMENTS_DIR_SUFFIX","PATTERN","RegExp","SegmentPrefixRSCPathnameNormalizer","match","pathname","test","extract","originalPathname","segmentPath","normalize"],"mappings":"AAEA,SACEA,kBAAkB,EAClBC,uBAAuB,QAClB,yBAAwB;AAE/B,MAAMC,UAAU,IAAIC,OAClB,CAAC,MAAM,EAAEF,wBAAwB,KAAK,EAAED,mBAAmB,CAAC,CAAC;AAG/D,OAAO,MAAMI;IACJC,MAAMC,QAAgB,EAAW;QACtC,OAAOJ,QAAQK,IAAI,CAACD;IACtB;IAEOE,QAAQF,QAAgB,EAAE;QAC/B,MAAMD,QAAQC,SAASD,KAAK,CAACH;QAC7B,IAAI,CAACG,OAAO,OAAO;QAEnB,OAAO;YAAEI,kBAAkBJ,KAAK,CAAC,EAAE;YAAEK,aAAaL,KAAK,CAAC,EAAE;QAAC;IAC7D;IAEOM,UAAUL,QAAgB,EAAU;QACzC,MAAMD,QAAQ,IAAI,CAACG,OAAO,CAACF;QAC3B,IAAI,CAACD,OAAO,OAAOC;QAEnB,OAAOD,MAAMI,gBAAgB;IAC/B;AACF","ignoreList":[0]}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
export class SuffixPathnameNormalizer {
|
||||
constructor(suffix){
|
||||
this.suffix = suffix;
|
||||
}
|
||||
match(pathname) {
|
||||
// If the pathname doesn't end in the suffix, we don't match.
|
||||
if (!pathname.endsWith(this.suffix)) return false;
|
||||
return true;
|
||||
}
|
||||
normalize(pathname, matched) {
|
||||
// If we're not matched and we don't match, we don't need to normalize.
|
||||
if (!matched && !this.match(pathname)) return pathname;
|
||||
return pathname.substring(0, pathname.length - this.suffix.length);
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=suffix.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../../../../src/server/normalizers/request/suffix.ts"],"sourcesContent":["import type { Normalizer } from '../normalizer'\n\nexport class SuffixPathnameNormalizer implements Normalizer {\n constructor(private readonly suffix: string) {}\n\n public match(pathname: string) {\n // If the pathname doesn't end in the suffix, we don't match.\n if (!pathname.endsWith(this.suffix)) return false\n\n return true\n }\n\n public normalize(pathname: string, matched?: boolean): string {\n // If we're not matched and we don't match, we don't need to normalize.\n if (!matched && !this.match(pathname)) return pathname\n\n return pathname.substring(0, pathname.length - this.suffix.length)\n }\n}\n"],"names":["SuffixPathnameNormalizer","constructor","suffix","match","pathname","endsWith","normalize","matched","substring","length"],"mappings":"AAEA,OAAO,MAAMA;IACXC,YAAY,AAAiBC,MAAc,CAAE;aAAhBA,SAAAA;IAAiB;IAEvCC,MAAMC,QAAgB,EAAE;QAC7B,6DAA6D;QAC7D,IAAI,CAACA,SAASC,QAAQ,CAAC,IAAI,CAACH,MAAM,GAAG,OAAO;QAE5C,OAAO;IACT;IAEOI,UAAUF,QAAgB,EAAEG,OAAiB,EAAU;QAC5D,uEAAuE;QACvE,IAAI,CAACA,WAAW,CAAC,IAAI,CAACJ,KAAK,CAACC,WAAW,OAAOA;QAE9C,OAAOA,SAASI,SAAS,CAAC,GAAGJ,SAASK,MAAM,GAAG,IAAI,CAACP,MAAM,CAACO,MAAM;IACnE;AACF","ignoreList":[0]}
|
||||
Reference in New Issue
Block a user