@wordpress/url 3.2.3 → 3.4.0

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +14 -0
  4. package/build/add-query-args.js +4 -1
  5. package/build/add-query-args.js.map +1 -1
  6. package/build/filter-url-for-display.js +2 -1
  7. package/build/filter-url-for-display.js.map +1 -1
  8. package/build/get-query-args.js +2 -2
  9. package/build/get-query-args.js.map +1 -1
  10. package/build/index.js +54 -46
  11. package/build/index.js.map +1 -1
  12. package/build/normalize-path.js +34 -0
  13. package/build/normalize-path.js.map +1 -0
  14. package/build/remove-query-args.js +6 -1
  15. package/build/remove-query-args.js.map +1 -1
  16. package/build-module/add-query-args.js +4 -1
  17. package/build-module/add-query-args.js.map +1 -1
  18. package/build-module/filter-url-for-display.js +2 -1
  19. package/build-module/filter-url-for-display.js.map +1 -1
  20. package/build-module/get-query-args.js +2 -2
  21. package/build-module/get-query-args.js.map +1 -1
  22. package/build-module/index.js +1 -0
  23. package/build-module/index.js.map +1 -1
  24. package/build-module/normalize-path.js +27 -0
  25. package/build-module/normalize-path.js.map +1 -0
  26. package/build-module/remove-query-args.js +6 -1
  27. package/build-module/remove-query-args.js.map +1 -1
  28. package/build-types/index.d.ts +1 -0
  29. package/build-types/normalize-path.d.ts +11 -0
  30. package/build-types/normalize-path.d.ts.map +1 -0
  31. package/package.json +3 -3
  32. package/src/index.js +1 -0
  33. package/src/normalize-path.js +34 -0
  34. package/src/test/fixtures/wpt-data.json +1 -292
  35. package/src/test/index.js +24 -0
  36. package/src/test/index.native.js +12 -0
  37. package/tsconfig.tsbuildinfo +1 -1
@@ -17,7 +17,7 @@ import { buildQueryString } from './build-query-string';
17
17
  * @return {string} Updated URL.
18
18
  */
19
19
 
20
- export function removeQueryArgs(url, ...args) {
20
+ export function removeQueryArgs(url) {
21
21
  const queryStringIndex = url.indexOf('?');
22
22
 
23
23
  if (queryStringIndex === -1) {
@@ -26,6 +26,11 @@ export function removeQueryArgs(url, ...args) {
26
26
 
27
27
  const query = getQueryArgs(url);
28
28
  const baseURL = url.substr(0, queryStringIndex);
29
+
30
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
31
+ args[_key - 1] = arguments[_key];
32
+ }
33
+
29
34
  args.forEach(arg => delete query[arg]);
30
35
  const queryString = buildQueryString(query);
31
36
  return queryString ? baseURL + '?' + queryString : baseURL;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/url/src/remove-query-args.js"],"names":["getQueryArgs","buildQueryString","removeQueryArgs","url","args","queryStringIndex","indexOf","query","baseURL","substr","forEach","arg","queryString"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,kBAA7B;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,eAAT,CAA0BC,GAA1B,EAA+B,GAAGC,IAAlC,EAAyC;AAC/C,QAAMC,gBAAgB,GAAGF,GAAG,CAACG,OAAJ,CAAa,GAAb,CAAzB;;AACA,MAAKD,gBAAgB,KAAK,CAAC,CAA3B,EAA+B;AAC9B,WAAOF,GAAP;AACA;;AAED,QAAMI,KAAK,GAAGP,YAAY,CAAEG,GAAF,CAA1B;AACA,QAAMK,OAAO,GAAGL,GAAG,CAACM,MAAJ,CAAY,CAAZ,EAAeJ,gBAAf,CAAhB;AACAD,EAAAA,IAAI,CAACM,OAAL,CAAgBC,GAAF,IAAW,OAAOJ,KAAK,CAAEI,GAAF,CAArC;AACA,QAAMC,WAAW,GAAGX,gBAAgB,CAAEM,KAAF,CAApC;AACA,SAAOK,WAAW,GAAGJ,OAAO,GAAG,GAAV,GAAgBI,WAAnB,GAAiCJ,OAAnD;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { getQueryArgs } from './get-query-args';\nimport { buildQueryString } from './build-query-string';\n\n/**\n * Removes arguments from the query string of the url\n *\n * @param {string} url URL.\n * @param {...string} args Query Args.\n *\n * @example\n * ```js\n * const newUrl = removeQueryArgs( 'https://wordpress.org?foo=bar&bar=baz&baz=foobar', 'foo', 'bar' ); // https://wordpress.org?baz=foobar\n * ```\n *\n * @return {string} Updated URL.\n */\nexport function removeQueryArgs( url, ...args ) {\n\tconst queryStringIndex = url.indexOf( '?' );\n\tif ( queryStringIndex === -1 ) {\n\t\treturn url;\n\t}\n\n\tconst query = getQueryArgs( url );\n\tconst baseURL = url.substr( 0, queryStringIndex );\n\targs.forEach( ( arg ) => delete query[ arg ] );\n\tconst queryString = buildQueryString( query );\n\treturn queryString ? baseURL + '?' + queryString : baseURL;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/url/src/remove-query-args.js"],"names":["getQueryArgs","buildQueryString","removeQueryArgs","url","queryStringIndex","indexOf","query","baseURL","substr","args","forEach","arg","queryString"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,kBAA7B;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,eAAT,CAA0BC,GAA1B,EAAyC;AAC/C,QAAMC,gBAAgB,GAAGD,GAAG,CAACE,OAAJ,CAAa,GAAb,CAAzB;;AACA,MAAKD,gBAAgB,KAAK,CAAC,CAA3B,EAA+B;AAC9B,WAAOD,GAAP;AACA;;AAED,QAAMG,KAAK,GAAGN,YAAY,CAAEG,GAAF,CAA1B;AACA,QAAMI,OAAO,GAAGJ,GAAG,CAACK,MAAJ,CAAY,CAAZ,EAAeJ,gBAAf,CAAhB;;AAP+C,oCAAPK,IAAO;AAAPA,IAAAA,IAAO;AAAA;;AAQ/CA,EAAAA,IAAI,CAACC,OAAL,CAAgBC,GAAF,IAAW,OAAOL,KAAK,CAAEK,GAAF,CAArC;AACA,QAAMC,WAAW,GAAGX,gBAAgB,CAAEK,KAAF,CAApC;AACA,SAAOM,WAAW,GAAGL,OAAO,GAAG,GAAV,GAAgBK,WAAnB,GAAiCL,OAAnD;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { getQueryArgs } from './get-query-args';\nimport { buildQueryString } from './build-query-string';\n\n/**\n * Removes arguments from the query string of the url\n *\n * @param {string} url URL.\n * @param {...string} args Query Args.\n *\n * @example\n * ```js\n * const newUrl = removeQueryArgs( 'https://wordpress.org?foo=bar&bar=baz&baz=foobar', 'foo', 'bar' ); // https://wordpress.org?baz=foobar\n * ```\n *\n * @return {string} Updated URL.\n */\nexport function removeQueryArgs( url, ...args ) {\n\tconst queryStringIndex = url.indexOf( '?' );\n\tif ( queryStringIndex === -1 ) {\n\t\treturn url;\n\t}\n\n\tconst query = getQueryArgs( url );\n\tconst baseURL = url.substr( 0, queryStringIndex );\n\targs.forEach( ( arg ) => delete query[ arg ] );\n\tconst queryString = buildQueryString( query );\n\treturn queryString ? baseURL + '?' + queryString : baseURL;\n}\n"]}
@@ -23,4 +23,5 @@ export { safeDecodeURIComponent } from "./safe-decode-uri-component";
23
23
  export { filterURLForDisplay } from "./filter-url-for-display";
24
24
  export { cleanForSlug } from "./clean-for-slug";
25
25
  export { getFilename } from "./get-filename";
26
+ export { normalizePath } from "./normalize-path";
26
27
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Given a path, returns a normalized path where equal query parameter values
3
+ * will be treated as identical, regardless of order they appear in the original
4
+ * text.
5
+ *
6
+ * @param {string} path Original path.
7
+ *
8
+ * @return {string} Normalized path.
9
+ */
10
+ export function normalizePath(path: string): string;
11
+ //# sourceMappingURL=normalize-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-path.d.ts","sourceRoot":"","sources":["../src/normalize-path.js"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oCAJW,MAAM,GAEL,MAAM,CA0BjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/url",
3
- "version": "3.2.3",
3
+ "version": "3.4.0",
4
4
  "description": "WordPress URL utilities.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,11 +27,11 @@
27
27
  "types": "build-types",
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
- "@babel/runtime": "^7.13.10",
30
+ "@babel/runtime": "^7.16.0",
31
31
  "lodash": "^4.17.21"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "gitHead": "8f7f052bc04e3f4eb50f479ced14be1489b9fa79"
36
+ "gitHead": "d95ccb9366e249133cdb1d7b25c382446b9ee502"
37
37
  }
package/src/index.js CHANGED
@@ -23,3 +23,4 @@ export { safeDecodeURIComponent } from './safe-decode-uri-component';
23
23
  export { filterURLForDisplay } from './filter-url-for-display';
24
24
  export { cleanForSlug } from './clean-for-slug';
25
25
  export { getFilename } from './get-filename';
26
+ export { normalizePath } from './normalize-path';
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Given a path, returns a normalized path where equal query parameter values
3
+ * will be treated as identical, regardless of order they appear in the original
4
+ * text.
5
+ *
6
+ * @param {string} path Original path.
7
+ *
8
+ * @return {string} Normalized path.
9
+ */
10
+ export function normalizePath( path ) {
11
+ const splitted = path.split( '?' );
12
+ const query = splitted[ 1 ];
13
+ const base = splitted[ 0 ];
14
+ if ( ! query ) {
15
+ return base;
16
+ }
17
+
18
+ // 'b=1&c=2&a=5'
19
+ return (
20
+ base +
21
+ '?' +
22
+ query
23
+ // [ 'b=1', 'c=2', 'a=5' ]
24
+ .split( '&' )
25
+ // [ [ 'b, '1' ], [ 'c', '2' ], [ 'a', '5' ] ]
26
+ .map( ( entry ) => entry.split( '=' ) )
27
+ // [ [ 'a', '5' ], [ 'b, '1' ], [ 'c', '2' ] ]
28
+ .sort( ( a, b ) => a[ 0 ].localeCompare( b[ 0 ] ) )
29
+ // [ 'a=5', 'b=1', 'c=2' ]
30
+ .map( ( pair ) => pair.join( '=' ) )
31
+ // 'a=5&b=1&c=2'
32
+ .join( '&' )
33
+ );
34
+ }
@@ -1,292 +1 @@
1
- [
2
- { "input": "https://test:@test" },
3
- { "input": "https://:@test" },
4
- { "input": "non-special://test:@test/x" },
5
- { "input": "non-special://:@test/x" },
6
- { "input": "lolscheme:x x#x x" },
7
- { "input": "file://example:1/", "failure": true },
8
- { "input": "file://example:test/", "failure": true },
9
- { "input": "file://example%/", "failure": true },
10
- { "input": "file://[example]/", "failure": true },
11
- { "input": "http://example.com/././foo" },
12
- { "input": "http://example.com/./.foo" },
13
- { "input": "http://example.com/foo/." },
14
- { "input": "http://example.com/foo/./" },
15
- { "input": "http://example.com/foo/bar/.." },
16
- { "input": "http://example.com/foo/bar/../" },
17
- { "input": "http://example.com/foo/..bar" },
18
- { "input": "http://example.com/foo/bar/../ton" },
19
- { "input": "http://example.com/foo/bar/../ton/../../a" },
20
- { "input": "http://example.com/foo/../../.." },
21
- { "input": "http://example.com/foo/../../../ton" },
22
- { "input": "http://example.com/foo/%2e" },
23
- { "input": "http://example.com/foo/%2e%2" },
24
- { "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar" },
25
- { "input": "http://example.com////../.." },
26
- { "input": "http://example.com/foo/bar//../.." },
27
- { "input": "http://example.com/foo/bar//.." },
28
- { "input": "http://example.com/foo" },
29
- { "input": "http://example.com/%20foo" },
30
- { "input": "http://example.com/foo%" },
31
- { "input": "http://example.com/foo%2" },
32
- { "input": "http://example.com/foo%2zbar" },
33
- { "input": "http://example.com/foo%2©zbar" },
34
- { "input": "http://example.com/foo%41%7a" },
35
- { "input": "http://example.com/foo\t‘%91" },
36
- { "input": "http://example.com/foo%00%51" },
37
- { "input": "http://example.com/(%28:%3A%29)" },
38
- { "input": "http://example.com/%3A%3a%3C%3c" },
39
- { "input": "http://example.com/foo\tbar" },
40
- { "input": "http://example.com\\\\foo\\\\bar" },
41
- { "input": "http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd" },
42
- { "input": "http://example.com/@asdf%40" },
43
- { "input": "http://example.com/你好你好" },
44
- { "input": "http://example.com/‥/foo" },
45
- { "input": "http://example.com//foo" },
46
- { "input": "http://example.com/‮/foo/‭/bar" },
47
- { "input": "http://www.google.com/foo?bar=baz#" },
48
- { "input": "http://www.google.com/foo?bar=baz# »" },
49
- { "input": "data:test# »" },
50
- { "input": "http://www.google.com" },
51
- { "input": "http://192.0x00A80001" },
52
- { "input": "http://www/foo%2Ehtml" },
53
- { "input": "http://www/foo/%2E/html" },
54
- { "input": "http://user:pass@/", "failure": true },
55
- { "input": "http://%25DOMAIN:foobar@foodomain.com/" },
56
- { "input": "http:\\\\www.google.com\\foo" },
57
- { "input": "http://foo:80/" },
58
- { "input": "http://foo:81/" },
59
- { "input": "httpa://foo:80/" },
60
- { "input": "http://foo:-80/", "failure": true },
61
- { "input": "https://foo:443/" },
62
- { "input": "https://foo:80/" },
63
- { "input": "ftp://foo:21/" },
64
- { "input": "ftp://foo:80/" },
65
- { "input": "gopher://foo:70/" },
66
- { "input": "gopher://foo:443/" },
67
- { "input": "ws://foo:80/" },
68
- { "input": "ws://foo:81/" },
69
- { "input": "ws://foo:443/" },
70
- { "input": "ws://foo:815/" },
71
- { "input": "wss://foo:80/" },
72
- { "input": "wss://foo:81/" },
73
- { "input": "wss://foo:443/" },
74
- { "input": "wss://foo:815/" },
75
- { "input": "http:/example.com/" },
76
- { "input": "ftp:/example.com/" },
77
- { "input": "https:/example.com/" },
78
- { "input": "madeupscheme:/example.com/" },
79
- { "input": "file:/example.com/" },
80
- { "input": "ftps:/example.com/" },
81
- { "input": "gopher:/example.com/" },
82
- { "input": "ws:/example.com/" },
83
- { "input": "wss:/example.com/" },
84
- { "input": "data:/example.com/" },
85
- { "input": "javascript:/example.com/" },
86
- { "input": "mailto:/example.com/" },
87
- { "input": "http:example.com/" },
88
- { "input": "ftp:example.com/" },
89
- { "input": "https:example.com/" },
90
- { "input": "madeupscheme:example.com/" },
91
- { "input": "ftps:example.com/" },
92
- { "input": "gopher:example.com/" },
93
- { "input": "ws:example.com/" },
94
- { "input": "wss:example.com/" },
95
- { "input": "data:example.com/" },
96
- { "input": "javascript:example.com/" },
97
- { "input": "mailto:example.com/" },
98
- { "input": "http:@www.example.com" },
99
- { "input": "http:/@www.example.com" },
100
- { "input": "http://@www.example.com" },
101
- { "input": "http:a:b@www.example.com" },
102
- { "input": "http:/a:b@www.example.com" },
103
- { "input": "http://a:b@www.example.com" },
104
- { "input": "http://@pple.com" },
105
- { "input": "http::b@www.example.com" },
106
- { "input": "http:/:b@www.example.com" },
107
- { "input": "http://:b@www.example.com" },
108
- { "input": "http:/:@/www.example.com", "failure": true },
109
- { "input": "http://user@/www.example.com", "failure": true },
110
- { "input": "http:@/www.example.com", "failure": true },
111
- { "input": "http:/@/www.example.com", "failure": true },
112
- { "input": "http://@/www.example.com", "failure": true },
113
- { "input": "https:@/www.example.com", "failure": true },
114
- { "input": "http:a:b@/www.example.com", "failure": true },
115
- { "input": "http:/a:b@/www.example.com", "failure": true },
116
- { "input": "http://a:b@/www.example.com", "failure": true },
117
- { "input": "http::@/www.example.com", "failure": true },
118
- { "input": "http:a:@www.example.com" },
119
- { "input": "http:/a:@www.example.com" },
120
- { "input": "http://a:@www.example.com" },
121
- { "input": "http://www.@pple.com" },
122
- { "input": "http:@:www.example.com", "failure": true },
123
- { "input": "http:/@:www.example.com", "failure": true },
124
- { "input": "http://@:www.example.com", "failure": true },
125
- { "input": "http://:@www.example.com" },
126
- { "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \r " },
127
- { "input": "https://�", "failure": true },
128
- { "input": "https://%EF%BF%BD", "failure": true },
129
- { "input": "https://x/�?�#�" },
130
- { "input": "https://faß.ExAmPlE/" },
131
- { "input": "sc://faß.ExAmPlE/" },
132
- { "input": "https://x x:12", "failure": true },
133
- { "input": "http://./" },
134
- { "input": "http://../" },
135
- { "input": "http://0..0x300/" },
136
- { "input": "http://[www.google.com]/", "failure": true },
137
- { "input": "http://host/?'" },
138
- { "input": "notspecial://host/?'" },
139
- { "input": "about:/../" },
140
- { "input": "data:/../" },
141
- { "input": "javascript:/../" },
142
- { "input": "mailto:/../" },
143
- { "input": "sc://ñ.test/" },
144
- { "input": "sc://\u0000/", "failure": true },
145
- { "input": "sc:// /", "failure": true },
146
- { "input": "sc://%/" },
147
- { "input": "sc://@/", "failure": true },
148
- { "input": "sc://te@s:t@/", "failure": true },
149
- { "input": "sc://:/", "failure": true },
150
- { "input": "sc://:12/", "failure": true },
151
- { "input": "sc://[/", "failure": true },
152
- { "input": "sc://\\/", "failure": true },
153
- { "input": "sc://]/", "failure": true },
154
- { "input": "sc:\\../" },
155
- { "input": "sc::a@example.net" },
156
- { "input": "wow:%NBD" },
157
- { "input": "wow:%1G" },
158
- { "input": "wow:￿" },
159
- { "input": "http://example.com/\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿?\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿" },
160
- { "input": "http://a<b", "failure": true },
161
- { "input": "http://a>b", "failure": true },
162
- { "input": "http://a^b", "failure": true },
163
- { "input": "non-special://a<b", "failure": true },
164
- { "input": "non-special://a>b", "failure": true },
165
- { "input": "non-special://a^b", "failure": true },
166
- { "input": "http://\u001f!\"$&'()*+,-.;=_`{|}~/" },
167
- { "input": "sc://\u001f!\"$&'()*+,-.;=_`{|}~/" },
168
- { "input": "ftp://example.com%80/", "failure": true },
169
- { "input": "ftp://example.com%A0/", "failure": true },
170
- { "input": "https://example.com%80/", "failure": true },
171
- { "input": "https://example.com%A0/", "failure": true },
172
- { "input": "ftp://%e2%98%83" },
173
- { "input": "https://%e2%98%83" },
174
- { "input": "http://127.0.0.1:10100/relative_import.html" },
175
- { "input": "http://facebook.com/?foo=%7B%22abc%22" },
176
- { "input": "https://localhost:3000/jqueryui@1.2.3" },
177
- {
178
- "input": "h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg"
179
- },
180
- { "input": "http://foo.bar/baz?qux#foo\bbar" },
181
- { "input": "http://foo.bar/baz?qux#foo\"bar" },
182
- { "input": "http://foo.bar/baz?qux#foo<bar" },
183
- { "input": "http://foo.bar/baz?qux#foo>bar" },
184
- { "input": "http://foo.bar/baz?qux#foo`bar" },
185
- { "input": "https://0x.0x.0" },
186
- { "input": "https://0x100000000/test", "failure": true },
187
- { "input": "https://256.0.0.1/test", "failure": true },
188
- { "input": "file:///C%3A/" },
189
- { "input": "file:///C%7C/" },
190
- { "input": "file:\\\\//" },
191
- { "input": "file:\\\\\\\\" },
192
- { "input": "file:\\\\\\\\?fox" },
193
- { "input": "file:\\\\\\\\#guppy" },
194
- { "input": "file://spider///" },
195
- { "input": "file:\\\\localhost//" },
196
- { "input": "file:///localhost//cat" },
197
- { "input": "file://\\/localhost//cat" },
198
- { "input": "file://localhost//a//../..//" },
199
- { "input": "file://example.net/C:/" },
200
- { "input": "file://1.2.3.4/C:/" },
201
- { "input": "file://[1::8]/C:/" },
202
- { "input": "file:/C|/" },
203
- { "input": "file://C|/" },
204
- { "input": "file:" },
205
- { "input": "file:?q=v" },
206
- { "input": "file:#frag" },
207
- { "input": "file:///Y:" },
208
- { "input": "file:///Y:/" },
209
- { "input": "file:///./Y" },
210
- { "input": "file:///./Y:" },
211
- { "input": "\\\\\\.\\Y:", "failure": true },
212
- { "input": "file:///y:" },
213
- { "input": "file:///y:/" },
214
- { "input": "file:///./y" },
215
- { "input": "file:///./y:" },
216
- { "input": "\\\\\\.\\y:", "failure": true },
217
- { "input": "file://localhost//a//../..//foo" },
218
- { "input": "file://localhost////foo" },
219
- { "input": "file:////foo" },
220
- { "input": "file:.//p" },
221
- { "input": "file:/.//p" },
222
- { "input": "https://[0::0::0]", "failure": true },
223
- { "input": "https://[0:.0]", "failure": true },
224
- { "input": "https://[0:0:]", "failure": true },
225
- { "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]", "failure": true },
226
- { "input": "https://[0:1.00.0.0.0]", "failure": true },
227
- { "input": "https://[0:1.290.0.0.0]", "failure": true },
228
- { "input": "https://[0:1.23.23]", "failure": true },
229
- { "input": "http://?", "failure": true },
230
- { "input": "http://#", "failure": true },
231
- { "input": "sc://ñ" },
232
- { "input": "sc://ñ?x" },
233
- { "input": "sc://ñ#x" },
234
- { "input": "sc://?" },
235
- { "input": "sc://#" },
236
- { "input": "tftp://foobar.com/someconfig;mode=netascii" },
237
- { "input": "telnet://user:pass@foobar.com:23/" },
238
- { "input": "ut2004://10.10.10.10:7777/Index.ut2" },
239
- { "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz" },
240
- { "input": "rsync://foo@host:911/sup" },
241
- { "input": "git://github.com/foo/bar.git" },
242
- { "input": "irc://myserver.com:6999/channel?passwd" },
243
- { "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT" },
244
- { "input": "ldap://localhost:389/ou=People,o=JNDITutorial" },
245
- { "input": "git+https://github.com/foo/bar" },
246
- { "input": "urn:ietf:rfc:2648" },
247
- { "input": "tag:joe@example.org,2001:foo/bar" },
248
- { "input": "non-spec:/.//" },
249
- { "input": "non-spec:/..//" },
250
- { "input": "non-spec:/a/..//" },
251
- { "input": "non-spec:/.//path" },
252
- { "input": "non-spec:/..//path" },
253
- { "input": "non-spec:/a/..//path" },
254
- { "input": "non-special://%E2%80%A0/" },
255
- { "input": "non-special://H%4fSt/path" },
256
- { "input": "non-special://[1:2:0:0:5:0:0:0]/" },
257
- { "input": "non-special://[1:2:0:0:0:0:0:3]/" },
258
- { "input": "non-special://[1:2::3]:80/" },
259
- { "input": "non-special://[:80/", "failure": true },
260
- { "input": "blob:https://example.com:443/" },
261
- { "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf" },
262
- { "input": "http://0177.0.0.0189" },
263
- { "input": "http://0x7f.0.0.0x7g" },
264
- { "input": "http://0X7F.0.0.0X7G" },
265
- { "input": "http://[::127.0.0.0.1]", "failure": true },
266
- { "input": "http://[0:1:0:1:0:1:0:1]" },
267
- { "input": "http://[1:0:1:0:1:0:1:0]" },
268
- { "input": "http://example.org/test?\"" },
269
- { "input": "http://example.org/test?#" },
270
- { "input": "http://example.org/test?<" },
271
- { "input": "http://example.org/test?>" },
272
- { "input": "http://example.org/test?⌣" },
273
- { "input": "http://example.org/test?%23%23" },
274
- { "input": "http://example.org/test?%GH" },
275
- { "input": "http://example.org/test?a#%EF" },
276
- { "input": "http://example.org/test?a#%GH" },
277
- { "input": "a", "failure": true },
278
- { "input": "a/", "failure": true },
279
- { "input": "a//", "failure": true },
280
- { "input": "http://example.org/test?a#b\u0000c" },
281
- { "input": "non-spec://example.org/test?a#b\u0000c" },
282
- { "input": "non-spec:/test?a#b\u0000c" },
283
- { "input": "file://a­b/p" },
284
- { "input": "file://a%C2%ADb/p" },
285
- { "input": "file://­/p", "failure": true },
286
- { "input": "file://%C2%AD/p", "failure": true },
287
- { "input": "file://xn--/p", "failure": true },
288
- { "input": "non-special:cannot-be-a-base-url-\u0000\u0001\u001f\u001e~€" },
289
- {
290
- "input": "https://www.example.com/path{path.html?query'=query#fragment<fragment"
291
- }
292
- ]
1
+ [{"input":"https://test:@test"},{"input":"https://:@test"},{"input":"non-special://test:@test/x"},{"input":"non-special://:@test/x"},{"input":"lolscheme:x x#x x"},{"input":"file://example:1/","failure":true},{"input":"file://example:test/","failure":true},{"input":"file://example%/","failure":true},{"input":"file://[example]/","failure":true},{"input":"http://example.com/././foo"},{"input":"http://example.com/./.foo"},{"input":"http://example.com/foo/."},{"input":"http://example.com/foo/./"},{"input":"http://example.com/foo/bar/.."},{"input":"http://example.com/foo/bar/../"},{"input":"http://example.com/foo/..bar"},{"input":"http://example.com/foo/bar/../ton"},{"input":"http://example.com/foo/bar/../ton/../../a"},{"input":"http://example.com/foo/../../.."},{"input":"http://example.com/foo/../../../ton"},{"input":"http://example.com/foo/%2e"},{"input":"http://example.com/foo/%2e%2"},{"input":"http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar"},{"input":"http://example.com////../.."},{"input":"http://example.com/foo/bar//../.."},{"input":"http://example.com/foo/bar//.."},{"input":"http://example.com/foo"},{"input":"http://example.com/%20foo"},{"input":"http://example.com/foo%"},{"input":"http://example.com/foo%2"},{"input":"http://example.com/foo%2zbar"},{"input":"http://example.com/foo%2©zbar"},{"input":"http://example.com/foo%41%7a"},{"input":"http://example.com/foo\t‘%91"},{"input":"http://example.com/foo%00%51"},{"input":"http://example.com/(%28:%3A%29)"},{"input":"http://example.com/%3A%3a%3C%3c"},{"input":"http://example.com/foo\tbar"},{"input":"http://example.com\\\\foo\\\\bar"},{"input":"http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd"},{"input":"http://example.com/@asdf%40"},{"input":"http://example.com/你好你好"},{"input":"http://example.com/‥/foo"},{"input":"http://example.com//foo"},{"input":"http://example.com/‮/foo/‭/bar"},{"input":"http://www.google.com/foo?bar=baz#"},{"input":"http://www.google.com/foo?bar=baz# »"},{"input":"data:test# »"},{"input":"http://www.google.com"},{"input":"http://192.0x00A80001"},{"input":"http://www/foo%2Ehtml"},{"input":"http://www/foo/%2E/html"},{"input":"http://user:pass@/","failure":true},{"input":"http://%25DOMAIN:foobar@foodomain.com/"},{"input":"http:\\\\www.google.com\\foo"},{"input":"http://foo:80/"},{"input":"http://foo:81/"},{"input":"httpa://foo:80/"},{"input":"http://foo:-80/","failure":true},{"input":"https://foo:443/"},{"input":"https://foo:80/"},{"input":"ftp://foo:21/"},{"input":"ftp://foo:80/"},{"input":"gopher://foo:70/"},{"input":"gopher://foo:443/"},{"input":"ws://foo:80/"},{"input":"ws://foo:81/"},{"input":"ws://foo:443/"},{"input":"ws://foo:815/"},{"input":"wss://foo:80/"},{"input":"wss://foo:81/"},{"input":"wss://foo:443/"},{"input":"wss://foo:815/"},{"input":"http:/example.com/"},{"input":"ftp:/example.com/"},{"input":"https:/example.com/"},{"input":"madeupscheme:/example.com/"},{"input":"file:/example.com/"},{"input":"ftps:/example.com/"},{"input":"gopher:/example.com/"},{"input":"ws:/example.com/"},{"input":"wss:/example.com/"},{"input":"data:/example.com/"},{"input":"javascript:/example.com/"},{"input":"mailto:/example.com/"},{"input":"http:example.com/"},{"input":"ftp:example.com/"},{"input":"https:example.com/"},{"input":"madeupscheme:example.com/"},{"input":"ftps:example.com/"},{"input":"gopher:example.com/"},{"input":"ws:example.com/"},{"input":"wss:example.com/"},{"input":"data:example.com/"},{"input":"javascript:example.com/"},{"input":"mailto:example.com/"},{"input":"http:@www.example.com"},{"input":"http:/@www.example.com"},{"input":"http://@www.example.com"},{"input":"http:a:b@www.example.com"},{"input":"http:/a:b@www.example.com"},{"input":"http://a:b@www.example.com"},{"input":"http://@pple.com"},{"input":"http::b@www.example.com"},{"input":"http:/:b@www.example.com"},{"input":"http://:b@www.example.com"},{"input":"http:/:@/www.example.com","failure":true},{"input":"http://user@/www.example.com","failure":true},{"input":"http:@/www.example.com","failure":true},{"input":"http:/@/www.example.com","failure":true},{"input":"http://@/www.example.com","failure":true},{"input":"https:@/www.example.com","failure":true},{"input":"http:a:b@/www.example.com","failure":true},{"input":"http:/a:b@/www.example.com","failure":true},{"input":"http://a:b@/www.example.com","failure":true},{"input":"http::@/www.example.com","failure":true},{"input":"http:a:@www.example.com"},{"input":"http:/a:@www.example.com"},{"input":"http://a:@www.example.com"},{"input":"http://www.@pple.com"},{"input":"http:@:www.example.com","failure":true},{"input":"http:/@:www.example.com","failure":true},{"input":"http://@:www.example.com","failure":true},{"input":"http://:@www.example.com"},{"input":"\u0000\u001b\u0004\u0012 http://example.com/\u001f \r "},{"input":"https://�","failure":true},{"input":"https://%EF%BF%BD","failure":true},{"input":"https://x/�?�#�"},{"input":"http://a.b.c.xn--pokxncvks","failure":true},{"input":"http://10.0.0.xn--pokxncvks","failure":true},{"input":"https://faß.ExAmPlE/"},{"input":"sc://faß.ExAmPlE/"},{"input":"https://x x:12","failure":true},{"input":"http://./"},{"input":"http://../"},{"input":"http://0..0x300/"},{"input":"http://[www.google.com]/","failure":true},{"input":"http://host/?'"},{"input":"notspecial://host/?'"},{"input":"about:/../"},{"input":"data:/../"},{"input":"javascript:/../"},{"input":"mailto:/../"},{"input":"sc://ñ.test/"},{"input":"sc://\u0000/","failure":true},{"input":"sc:// /","failure":true},{"input":"sc://%/"},{"input":"sc://@/","failure":true},{"input":"sc://te@s:t@/","failure":true},{"input":"sc://:/","failure":true},{"input":"sc://:12/","failure":true},{"input":"sc://[/","failure":true},{"input":"sc://\\/","failure":true},{"input":"sc://]/","failure":true},{"input":"sc:\\../"},{"input":"sc::a@example.net"},{"input":"wow:%NBD"},{"input":"wow:%1G"},{"input":"wow:￿"},{"input":"http://example.com/\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿?\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿"},{"input":"http://a<b","failure":true},{"input":"http://a>b","failure":true},{"input":"http://a^b","failure":true},{"input":"non-special://a<b","failure":true},{"input":"non-special://a>b","failure":true},{"input":"non-special://a^b","failure":true},{"input":"foo://ho\u0000st/","failure":true},{"input":"foo://ho|st/","failure":true},{"input":"foo://ho\tst/"},{"input":"foo://ho\nst/"},{"input":"foo://ho\rst/"},{"input":"http://ho%00st/","failure":true},{"input":"http://ho%09st/","failure":true},{"input":"http://ho%0Ast/","failure":true},{"input":"http://ho%0Dst/","failure":true},{"input":"http://ho%20st/","failure":true},{"input":"http://ho%23st/","failure":true},{"input":"http://ho%2Fst/","failure":true},{"input":"http://ho%3Ast/","failure":true},{"input":"http://ho%3Cst/","failure":true},{"input":"http://ho%3Est/","failure":true},{"input":"http://ho%3Fst/","failure":true},{"input":"http://ho%40st/","failure":true},{"input":"http://ho%5Bst/","failure":true},{"input":"http://ho%5Cst/","failure":true},{"input":"http://ho%5Dst/","failure":true},{"input":"http://ho%7Cst/","failure":true},{"input":"http://\u001f!\"$&'()*+,-.;=_`{}~/"},{"input":"sc://\u001f!\"$&'()*+,-.;=_`{}~/"},{"input":"ftp://example.com%80/","failure":true},{"input":"ftp://example.com%A0/","failure":true},{"input":"https://example.com%80/","failure":true},{"input":"https://example.com%A0/","failure":true},{"input":"ftp://%e2%98%83"},{"input":"https://%e2%98%83"},{"input":"http://127.0.0.1:10100/relative_import.html"},{"input":"http://facebook.com/?foo=%7B%22abc%22"},{"input":"https://localhost:3000/jqueryui@1.2.3"},{"input":"h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg"},{"input":"http://foo.bar/baz?qux#foo\bbar"},{"input":"http://foo.bar/baz?qux#foo\"bar"},{"input":"http://foo.bar/baz?qux#foo<bar"},{"input":"http://foo.bar/baz?qux#foo>bar"},{"input":"http://foo.bar/baz?qux#foo`bar"},{"input":"https://0x.0x.0"},{"input":"https://0x100000000/test","failure":true},{"input":"https://256.0.0.1/test","failure":true},{"input":"file:///C%3A/"},{"input":"file:///C%7C/"},{"input":"file://%43%3A","failure":true},{"input":"file://%43%7C","failure":true},{"input":"file://%43|","failure":true},{"input":"file://C%7C","failure":true},{"input":"file://%43%7C/","failure":true},{"input":"https://%43%7C/","failure":true},{"input":"asdf://%43|/","failure":true},{"input":"asdf://%43%7C/"},{"input":"file:\\\\//"},{"input":"file:\\\\\\\\"},{"input":"file:\\\\\\\\?fox"},{"input":"file:\\\\\\\\#guppy"},{"input":"file://spider///"},{"input":"file:\\\\localhost//"},{"input":"file:///localhost//cat"},{"input":"file://\\/localhost//cat"},{"input":"file://localhost//a//../..//"},{"input":"file://example.net/C:/"},{"input":"file://1.2.3.4/C:/"},{"input":"file://[1::8]/C:/"},{"input":"file:/C|/"},{"input":"file://C|/"},{"input":"file:"},{"input":"file:?q=v"},{"input":"file:#frag"},{"input":"file:///Y:"},{"input":"file:///Y:/"},{"input":"file:///./Y"},{"input":"file:///./Y:"},{"input":"\\\\\\.\\Y:","failure":true},{"input":"file:///y:"},{"input":"file:///y:/"},{"input":"file:///./y"},{"input":"file:///./y:"},{"input":"\\\\\\.\\y:","failure":true},{"input":"file://localhost//a//../..//foo"},{"input":"file://localhost////foo"},{"input":"file:////foo"},{"input":"file:.//p"},{"input":"file:/.//p"},{"input":"https://[0::0::0]","failure":true},{"input":"https://[0:.0]","failure":true},{"input":"https://[0:0:]","failure":true},{"input":"https://[0:1:2:3:4:5:6:7.0.0.0.1]","failure":true},{"input":"https://[0:1.00.0.0.0]","failure":true},{"input":"https://[0:1.290.0.0.0]","failure":true},{"input":"https://[0:1.23.23]","failure":true},{"input":"http://?","failure":true},{"input":"http://#","failure":true},{"input":"sc://ñ"},{"input":"sc://ñ?x"},{"input":"sc://ñ#x"},{"input":"sc://?"},{"input":"sc://#"},{"input":"tftp://foobar.com/someconfig;mode=netascii"},{"input":"telnet://user:pass@foobar.com:23/"},{"input":"ut2004://10.10.10.10:7777/Index.ut2"},{"input":"redis://foo:bar@somehost:6379/0?baz=bam&qux=baz"},{"input":"rsync://foo@host:911/sup"},{"input":"git://github.com/foo/bar.git"},{"input":"irc://myserver.com:6999/channel?passwd"},{"input":"dns://fw.example.org:9999/foo.bar.org?type=TXT"},{"input":"ldap://localhost:389/ou=People,o=JNDITutorial"},{"input":"git+https://github.com/foo/bar"},{"input":"urn:ietf:rfc:2648"},{"input":"tag:joe@example.org,2001:foo/bar"},{"input":"non-spec:/.//"},{"input":"non-spec:/..//"},{"input":"non-spec:/a/..//"},{"input":"non-spec:/.//path"},{"input":"non-spec:/..//path"},{"input":"non-spec:/a/..//path"},{"input":"non-special://%E2%80%A0/"},{"input":"non-special://H%4fSt/path"},{"input":"non-special://[1:2:0:0:5:0:0:0]/"},{"input":"non-special://[1:2:0:0:0:0:0:3]/"},{"input":"non-special://[1:2::3]:80/"},{"input":"non-special://[:80/","failure":true},{"input":"blob:https://example.com:443/"},{"input":"blob:d3958f5c-0777-0845-9dcf-2cb28783acaf"},{"input":"http://0177.0.0.0189"},{"input":"http://0x7f.0.0.0x7g"},{"input":"http://0X7F.0.0.0X7G"},{"input":"http://[::127.0.0.0.1]","failure":true},{"input":"http://[0:1:0:1:0:1:0:1]"},{"input":"http://[1:0:1:0:1:0:1:0]"},{"input":"http://example.org/test?\""},{"input":"http://example.org/test?#"},{"input":"http://example.org/test?<"},{"input":"http://example.org/test?>"},{"input":"http://example.org/test?⌣"},{"input":"http://example.org/test?%23%23"},{"input":"http://example.org/test?%GH"},{"input":"http://example.org/test?a#%EF"},{"input":"http://example.org/test?a#%GH"},{"input":"a","failure":true},{"input":"a/","failure":true},{"input":"a//","failure":true},{"input":"http://example.org/test?a#b\u0000c"},{"input":"non-spec://example.org/test?a#b\u0000c"},{"input":"non-spec:/test?a#b\u0000c"},{"input":"file://a­b/p"},{"input":"file://a%C2%ADb/p"},{"input":"file://­/p","failure":true},{"input":"file://%C2%AD/p","failure":true},{"input":"file://xn--/p","failure":true},{"input":"non-special:cannot-be-a-base-url-\u0000\u0001\u001f\u001e~€"},{"input":"https://www.example.com/path{path.html?query'=query#fragment<fragment"},{"input":"foo:// !\"$%&'()*+,-.;<=>@[\\]^_`{|}~@host/"},{"input":"wss:// !\"$%&'()*+,-.;<=>@[]^_`{|}~@host/"},{"input":"foo://joe: !\"$%&'()*+,-.:;<=>@[\\]^_`{|}~@host/"},{"input":"wss://joe: !\"$%&'()*+,-.:;<=>@[]^_`{|}~@host/"},{"input":"foo://!\"$%&'()*+,-.;=_`{}~/"},{"input":"wss://!\"$&'()*+,-.;=_`{}~/"},{"input":"foo://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~"},{"input":"wss://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~"},{"input":"foo://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~"},{"input":"wss://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~"},{"input":"foo://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"},{"input":"wss://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"}]
package/src/test/index.js CHANGED
@@ -30,6 +30,7 @@ import {
30
30
  cleanForSlug,
31
31
  getQueryArgs,
32
32
  getFilename,
33
+ normalizePath,
33
34
  } from '../';
34
35
  import wptData from './fixtures/wpt-data';
35
36
 
@@ -985,3 +986,26 @@ describe( 'cleanForSlug', () => {
985
986
  expect( cleanForSlug( null ) ).toBe( '' );
986
987
  } );
987
988
  } );
989
+
990
+ describe( 'normalizePath', () => {
991
+ it( 'returns same value if no query parameters', () => {
992
+ const path = '/foo/bar';
993
+
994
+ expect( normalizePath( path ) ).toBe( path );
995
+ } );
996
+
997
+ it( 'returns a stable path', () => {
998
+ const abc = normalizePath( '/foo/bar?a=5&b=1&c=2' );
999
+ const bca = normalizePath( '/foo/bar?b=1&c=2&a=5' );
1000
+ const bac = normalizePath( '/foo/bar?b=1&a=5&c=2' );
1001
+ const acb = normalizePath( '/foo/bar?a=5&c=2&b=1' );
1002
+ const cba = normalizePath( '/foo/bar?c=2&b=1&a=5' );
1003
+ const cab = normalizePath( '/foo/bar?c=2&a=5&b=1' );
1004
+
1005
+ expect( abc ).toBe( bca );
1006
+ expect( bca ).toBe( bac );
1007
+ expect( bac ).toBe( acb );
1008
+ expect( acb ).toBe( cba );
1009
+ expect( cba ).toBe( cab );
1010
+ } );
1011
+ } );
@@ -35,6 +35,18 @@ jest.mock( './fixtures/wpt-data.json', () => {
35
35
  'file://­/p',
36
36
  'file://%C2%AD/p',
37
37
  'file://xn--/p',
38
+ 'http://a.b.c.xn--pokxncvks',
39
+ 'http://10.0.0.xn--pokxncvks',
40
+ 'foo://ho|st/',
41
+ 'http://ho%3Cst/',
42
+ 'http://ho%3Est/',
43
+ 'http://ho%7Cst/',
44
+ 'file://%43%7C',
45
+ 'file://%43|',
46
+ 'file://C%7C',
47
+ 'file://%43%7C/',
48
+ 'https://%43%7C/',
49
+ 'asdf://%43|/',
38
50
  ];
39
51
 
40
52
  return data.filter( ( { input } ) => ! URL_EXCEPTIONS.includes( input ) );
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","./src/get-query-string.js","./src/get-query-arg.js","./src/get-query-args.js","./src/build-query-string.js","./src/add-query-args.js","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","./src/clean-for-slug.js","./src/filter-url-for-display.js","./src/get-authority.js","./src/get-filename.js","./src/get-fragment.js","./src/is-url.js","./src/is-email.js","./src/get-protocol.js","./src/is-valid-protocol.js","./src/is-valid-authority.js","./src/get-path.js","./src/is-valid-path.js","./src/is-valid-query-string.js","./src/is-valid-fragment.js","./src/has-query-arg.js","./src/remove-query-args.js","./src/prepend-http.js","./src/safe-decode-uri.js","./src/safe-decode-uri-component.js","./src/index.js","./src/get-path-and-query-string.js"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"3d13e8d35928df6913cc508baea9212eeaf77ac6b8bcdeea6ef81417bd1ab796","93c18f1428bac34102b0df1c2b41dc3d12ce391e03c8a46d38c417479575a20e","c1707eb8fe5c7af9446740e91d599de82da8e8c5a478b20ad19e3a18a0691feb","7661a5ede28fb0d92e17e5336aba72b46117d6fa195dffe472a7a6c2bb63a882","d6918668a7ce2b5035cfc82a08fad8112030f7215046051d92777dd394428398","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"542de8a8716fbaecd313ee04aee251b94f4c4afe615c96ba84d3e138ae33a4df","96f041f6981479953955c224fcfc85fc3d7498b28f76259c62070cdc715d1fab","e17e8f3a2d2b70b82111a7caba0bd0469c15d54b7f5182249c11e86ec91d48c4","3b87fc45c25693533e915e1fedbfd81d1df691590507d34f1c0bfdb1fb8fdb4f","934bb323f6db147579270f1814fefb892cd740b41b3a502f0fc1fdea89c8bbdf","2e53b021189ff0a38763fa8b475e9e52b2f8ad5afb824b1bdd0ac4e75c672915","76c0f81779074a0f71553c9e64b24ed34a0eab70e2baeab19910924103714b29","45cf018e474510e7c5d1609f31f26aee0c8313123c667eebe6274a70359ac61b","63f54074d98d3460d320df957eb1a81370309dc146f4e75db5c41af8eaafb6f3","e21699f5f16e21f013325d7c2e3055e51a0ffd3905f70f2c9943146c537740c7","a3d241b40520c871a2abd8d1efa83a0ce5bada7c2cb8c2d47a0af5d6a01d7950","675f074197cc4af2fec6fdd2d402c4b79796bac84be27abe4a2fdf83f178bdfc","50445b9c70447cc93ebe21e8e84041687b477771bebc3335a437684d25e714fa","af42fd7aa201d45b2366759c7f5ef74df0be5a9175b29ae28eea3823c1726e4c","334aeb1ce0fc76ca31b758e041e232c0554278de6a3d84540822bab39d07b5e6","b4ff7cd115b5f5e1ed08311d65e8e8816c0ec3a71260ed2ddc5bddfc08c59f38","f73f85026d30aaa6d4c348ba9e4458482016ebe29956c99195e6434f8e81f5a4","7854cef32e2726edf5332d119686c31940e6ee63369f6e3fbb6add61a112f51b","7adb044d7fb892c86a142b1ecf264086e6c49593f31c72d1cb88d5541b14c362","cbe2a1d4db2f61f2fa78a2354a74d638654eab9f451ab97c9e896b7254560cee","5addef1234c8ad001752aa6d2ebb3008a5d2dd98635a82e9df171788b0203996"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[50,52,53,54,55,56,57,58,59,60,61,62],[50,51,53,54,55,56,57,58,59,60,61,62],[51,52,53,54,55,56,57,58,59,60,61,62],[50,51,52,54,55,56,57,58,59,60,61,62],[50,51,52,53,55,56,57,58,59,60,61,62],[50,51,52,53,54,56,57,58,59,60,61,62],[50,51,52,53,54,55,57,58,59,60,61,62],[50,51,52,53,54,55,56,58,59,60,61,62],[50,51,52,53,54,55,56,57,59,60,61,62],[50,51,52,53,54,55,56,57,58,60,61,62],[50,51,52,53,54,55,56,57,58,59,61,62],[50,51,52,53,54,55,56,57,58,59,60,62],[50,51,52,53,54,55,56,57,58,59,60,61],[47,48],[62],[82],[47],[45,46],[46],[45,46,47,48,49,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83],[69]],"referencedMap":[[51,1],[52,2],[50,3],[53,4],[54,5],[55,6],[56,7],[57,8],[58,9],[59,10],[60,11],[61,12],[62,13],[49,14],[63,15],[83,16],[46,17],[47,18],[77,19],[82,20],[79,21],[78,14]],"exportedModulesMap":[[51,1],[52,2],[50,3],[53,4],[54,5],[55,6],[56,7],[57,8],[58,9],[59,10],[60,11],[61,12],[62,13],[49,14],[63,15],[83,16],[46,17],[47,18],[77,19],[82,20],[79,21],[78,14]],"semanticDiagnosticsPerFile":[51,52,50,53,54,55,56,57,58,59,60,61,62,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,49,48,63,64,65,66,67,83,73,70,46,47,45,77,82,69,68,72,76,74,71,75,79,78,81,80]},"version":"4.4.2"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","./src/get-query-string.js","./src/get-query-arg.js","./src/get-query-args.js","./src/build-query-string.js","./src/add-query-args.js","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","./src/clean-for-slug.js","./src/filter-url-for-display.js","./src/get-authority.js","./src/get-filename.js","./src/get-fragment.js","./src/is-url.js","./src/is-email.js","./src/get-protocol.js","./src/is-valid-protocol.js","./src/is-valid-authority.js","./src/get-path.js","./src/is-valid-path.js","./src/is-valid-query-string.js","./src/is-valid-fragment.js","./src/has-query-arg.js","./src/remove-query-args.js","./src/prepend-http.js","./src/safe-decode-uri.js","./src/safe-decode-uri-component.js","./src/normalize-path.js","./src/index.js","./src/get-path-and-query-string.js"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"3d13e8d35928df6913cc508baea9212eeaf77ac6b8bcdeea6ef81417bd1ab796","93c18f1428bac34102b0df1c2b41dc3d12ce391e03c8a46d38c417479575a20e","c1707eb8fe5c7af9446740e91d599de82da8e8c5a478b20ad19e3a18a0691feb","7661a5ede28fb0d92e17e5336aba72b46117d6fa195dffe472a7a6c2bb63a882","d6918668a7ce2b5035cfc82a08fad8112030f7215046051d92777dd394428398","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"542de8a8716fbaecd313ee04aee251b94f4c4afe615c96ba84d3e138ae33a4df","96f041f6981479953955c224fcfc85fc3d7498b28f76259c62070cdc715d1fab","e17e8f3a2d2b70b82111a7caba0bd0469c15d54b7f5182249c11e86ec91d48c4","3b87fc45c25693533e915e1fedbfd81d1df691590507d34f1c0bfdb1fb8fdb4f","934bb323f6db147579270f1814fefb892cd740b41b3a502f0fc1fdea89c8bbdf","2e53b021189ff0a38763fa8b475e9e52b2f8ad5afb824b1bdd0ac4e75c672915","76c0f81779074a0f71553c9e64b24ed34a0eab70e2baeab19910924103714b29","45cf018e474510e7c5d1609f31f26aee0c8313123c667eebe6274a70359ac61b","63f54074d98d3460d320df957eb1a81370309dc146f4e75db5c41af8eaafb6f3","e21699f5f16e21f013325d7c2e3055e51a0ffd3905f70f2c9943146c537740c7","a3d241b40520c871a2abd8d1efa83a0ce5bada7c2cb8c2d47a0af5d6a01d7950","675f074197cc4af2fec6fdd2d402c4b79796bac84be27abe4a2fdf83f178bdfc","50445b9c70447cc93ebe21e8e84041687b477771bebc3335a437684d25e714fa","af42fd7aa201d45b2366759c7f5ef74df0be5a9175b29ae28eea3823c1726e4c","334aeb1ce0fc76ca31b758e041e232c0554278de6a3d84540822bab39d07b5e6","b4ff7cd115b5f5e1ed08311d65e8e8816c0ec3a71260ed2ddc5bddfc08c59f38","f73f85026d30aaa6d4c348ba9e4458482016ebe29956c99195e6434f8e81f5a4","7854cef32e2726edf5332d119686c31940e6ee63369f6e3fbb6add61a112f51b","7adb044d7fb892c86a142b1ecf264086e6c49593f31c72d1cb88d5541b14c362","e6b09c6c5b1738d2e5e9825e24891fe9805ddc6c1ac68c4318af6038c7ca8e67","ee18fcd416bb49a7f03891a21290308ba54dae7895ab2b9837f29b4ff1d1c59f","5addef1234c8ad001752aa6d2ebb3008a5d2dd98635a82e9df171788b0203996"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[50,52,53,54,55,56,57,58,59,60,61,62],[50,51,53,54,55,56,57,58,59,60,61,62],[51,52,53,54,55,56,57,58,59,60,61,62],[50,51,52,54,55,56,57,58,59,60,61,62],[50,51,52,53,55,56,57,58,59,60,61,62],[50,51,52,53,54,56,57,58,59,60,61,62],[50,51,52,53,54,55,57,58,59,60,61,62],[50,51,52,53,54,55,56,58,59,60,61,62],[50,51,52,53,54,55,56,57,59,60,61,62],[50,51,52,53,54,55,56,57,58,60,61,62],[50,51,52,53,54,55,56,57,58,59,61,62],[50,51,52,53,54,55,56,57,58,59,60,62],[50,51,52,53,54,55,56,57,58,59,60,61],[47,48],[62],[83],[47],[45,46],[46],[45,46,47,48,49,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,84],[69]],"referencedMap":[[51,1],[52,2],[50,3],[53,4],[54,5],[55,6],[56,7],[57,8],[58,9],[59,10],[60,11],[61,12],[62,13],[49,14],[63,15],[84,16],[46,17],[47,18],[77,19],[83,20],[79,21],[78,14]],"exportedModulesMap":[[51,1],[52,2],[50,3],[53,4],[54,5],[55,6],[56,7],[57,8],[58,9],[59,10],[60,11],[61,12],[62,13],[49,14],[63,15],[84,16],[46,17],[47,18],[77,19],[83,20],[79,21],[78,14]],"semanticDiagnosticsPerFile":[51,52,50,53,54,55,56,57,58,59,60,61,62,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,49,48,63,64,65,66,67,84,73,70,46,47,45,77,83,69,68,72,76,74,71,75,82,79,78,81,80]},"version":"4.4.2"}