@wordpress/url 3.40.0 → 3.41.1
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.
- package/CHANGELOG.md +2 -0
- package/build/add-query-args.js +4 -8
- package/build/add-query-args.js.map +1 -1
- package/build/build-query-string.js +5 -9
- package/build/build-query-string.js.map +1 -1
- package/build/clean-for-slug.js +10 -9
- package/build/clean-for-slug.js.map +1 -1
- package/build/filter-url-for-display.js +6 -9
- package/build/filter-url-for-display.js.map +1 -1
- package/build/get-authority.js +0 -2
- package/build/get-authority.js.map +1 -1
- package/build/get-filename.js +0 -3
- package/build/get-filename.js.map +1 -1
- package/build/get-fragment.js +0 -2
- package/build/get-fragment.js.map +1 -1
- package/build/get-path-and-query-string.js +0 -2
- package/build/get-path-and-query-string.js.map +1 -1
- package/build/get-path.js +0 -2
- package/build/get-path.js.map +1 -1
- package/build/get-protocol.js +0 -2
- package/build/get-protocol.js.map +1 -1
- package/build/get-query-arg.js +0 -2
- package/build/get-query-arg.js.map +1 -1
- package/build/get-query-args.js +15 -19
- package/build/get-query-args.js.map +1 -1
- package/build/get-query-string.js +0 -3
- package/build/get-query-string.js.map +1 -1
- package/build/has-query-arg.js +0 -2
- package/build/has-query-arg.js.map +1 -1
- package/build/index.js +0 -27
- package/build/index.js.map +1 -1
- package/build/is-email.js +1 -1
- package/build/is-email.js.map +1 -1
- package/build/is-url.js +0 -1
- package/build/is-url.js.map +1 -1
- package/build/is-valid-authority.js +0 -2
- package/build/is-valid-authority.js.map +1 -1
- package/build/is-valid-fragment.js +0 -2
- package/build/is-valid-fragment.js.map +1 -1
- package/build/is-valid-path.js +0 -2
- package/build/is-valid-path.js.map +1 -1
- package/build/is-valid-protocol.js +0 -2
- package/build/is-valid-protocol.js.map +1 -1
- package/build/is-valid-query-string.js +0 -2
- package/build/is-valid-query-string.js.map +1 -1
- package/build/normalize-path.js +16 -11
- package/build/normalize-path.js.map +1 -1
- package/build/prepend-http.js +2 -6
- package/build/prepend-http.js.map +1 -1
- package/build/prepend-https.js +2 -5
- package/build/prepend-https.js.map +1 -1
- package/build/remove-query-args.js +0 -5
- package/build/remove-query-args.js.map +1 -1
- package/build/safe-decode-uri-component.js +0 -1
- package/build/safe-decode-uri-component.js.map +1 -1
- package/build/safe-decode-uri.js +0 -1
- package/build/safe-decode-uri.js.map +1 -1
- package/build-module/add-query-args.js +5 -6
- package/build-module/add-query-args.js.map +1 -1
- package/build-module/build-query-string.js +5 -8
- package/build-module/build-query-string.js.map +1 -1
- package/build-module/clean-for-slug.js +11 -7
- package/build-module/clean-for-slug.js.map +1 -1
- package/build-module/filter-url-for-display.js +6 -8
- package/build-module/filter-url-for-display.js.map +1 -1
- package/build-module/get-authority.js +0 -1
- package/build-module/get-authority.js.map +1 -1
- package/build-module/get-filename.js +0 -2
- package/build-module/get-filename.js.map +1 -1
- package/build-module/get-fragment.js +0 -1
- package/build-module/get-fragment.js.map +1 -1
- package/build-module/get-path-and-query-string.js +1 -1
- package/build-module/get-path-and-query-string.js.map +1 -1
- package/build-module/get-path.js +0 -1
- package/build-module/get-path.js.map +1 -1
- package/build-module/get-protocol.js +0 -1
- package/build-module/get-protocol.js.map +1 -1
- package/build-module/get-query-arg.js +1 -1
- package/build-module/get-query-arg.js.map +1 -1
- package/build-module/get-query-args.js +16 -17
- package/build-module/get-query-args.js.map +1 -1
- package/build-module/get-query-string.js +0 -2
- package/build-module/get-query-string.js.map +1 -1
- package/build-module/has-query-arg.js +1 -1
- package/build-module/has-query-arg.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/is-email.js +1 -1
- package/build-module/is-email.js.map +1 -1
- package/build-module/is-url.js.map +1 -1
- package/build-module/is-valid-authority.js +0 -1
- package/build-module/is-valid-authority.js.map +1 -1
- package/build-module/is-valid-fragment.js +0 -1
- package/build-module/is-valid-fragment.js.map +1 -1
- package/build-module/is-valid-path.js +0 -1
- package/build-module/is-valid-path.js.map +1 -1
- package/build-module/is-valid-protocol.js +0 -1
- package/build-module/is-valid-protocol.js.map +1 -1
- package/build-module/is-valid-query-string.js +0 -1
- package/build-module/is-valid-query-string.js.map +1 -1
- package/build-module/normalize-path.js +16 -10
- package/build-module/normalize-path.js.map +1 -1
- package/build-module/prepend-http.js +1 -4
- package/build-module/prepend-http.js.map +1 -1
- package/build-module/prepend-https.js +3 -4
- package/build-module/prepend-https.js.map +1 -1
- package/build-module/remove-query-args.js +1 -3
- package/build-module/remove-query-args.js.map +1 -1
- package/build-module/safe-decode-uri-component.js.map +1 -1
- package/build-module/safe-decode-uri.js.map +1 -1
- package/package.json +3 -3
- package/src/test/fixtures/wpt-data.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/build/index.js
CHANGED
|
@@ -165,58 +165,31 @@ Object.defineProperty(exports, "safeDecodeURIComponent", {
|
|
|
165
165
|
return _safeDecodeUriComponent.safeDecodeURIComponent;
|
|
166
166
|
}
|
|
167
167
|
});
|
|
168
|
-
|
|
169
168
|
var _isUrl = require("./is-url");
|
|
170
|
-
|
|
171
169
|
var _isEmail = require("./is-email");
|
|
172
|
-
|
|
173
170
|
var _getProtocol = require("./get-protocol");
|
|
174
|
-
|
|
175
171
|
var _isValidProtocol = require("./is-valid-protocol");
|
|
176
|
-
|
|
177
172
|
var _getAuthority = require("./get-authority");
|
|
178
|
-
|
|
179
173
|
var _isValidAuthority = require("./is-valid-authority");
|
|
180
|
-
|
|
181
174
|
var _getPath = require("./get-path");
|
|
182
|
-
|
|
183
175
|
var _isValidPath = require("./is-valid-path");
|
|
184
|
-
|
|
185
176
|
var _getQueryString = require("./get-query-string");
|
|
186
|
-
|
|
187
177
|
var _buildQueryString = require("./build-query-string");
|
|
188
|
-
|
|
189
178
|
var _isValidQueryString = require("./is-valid-query-string");
|
|
190
|
-
|
|
191
179
|
var _getPathAndQueryString = require("./get-path-and-query-string");
|
|
192
|
-
|
|
193
180
|
var _getFragment = require("./get-fragment");
|
|
194
|
-
|
|
195
181
|
var _isValidFragment = require("./is-valid-fragment");
|
|
196
|
-
|
|
197
182
|
var _addQueryArgs = require("./add-query-args");
|
|
198
|
-
|
|
199
183
|
var _getQueryArg = require("./get-query-arg");
|
|
200
|
-
|
|
201
184
|
var _getQueryArgs = require("./get-query-args");
|
|
202
|
-
|
|
203
185
|
var _hasQueryArg = require("./has-query-arg");
|
|
204
|
-
|
|
205
186
|
var _removeQueryArgs = require("./remove-query-args");
|
|
206
|
-
|
|
207
187
|
var _prependHttp = require("./prepend-http");
|
|
208
|
-
|
|
209
188
|
var _safeDecodeUri = require("./safe-decode-uri");
|
|
210
|
-
|
|
211
189
|
var _safeDecodeUriComponent = require("./safe-decode-uri-component");
|
|
212
|
-
|
|
213
190
|
var _filterUrlForDisplay = require("./filter-url-for-display");
|
|
214
|
-
|
|
215
191
|
var _cleanForSlug = require("./clean-for-slug");
|
|
216
|
-
|
|
217
192
|
var _getFilename = require("./get-filename");
|
|
218
|
-
|
|
219
193
|
var _normalizePath = require("./normalize-path");
|
|
220
|
-
|
|
221
194
|
var _prependHttps = require("./prepend-https");
|
|
222
195
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/url/src/index.js"],"
|
|
1
|
+
{"version":3,"names":["_isUrl","require","_isEmail","_getProtocol","_isValidProtocol","_getAuthority","_isValidAuthority","_getPath","_isValidPath","_getQueryString","_buildQueryString","_isValidQueryString","_getPathAndQueryString","_getFragment","_isValidFragment","_addQueryArgs","_getQueryArg","_getQueryArgs","_hasQueryArg","_removeQueryArgs","_prependHttp","_safeDecodeUri","_safeDecodeUriComponent","_filterUrlForDisplay","_cleanForSlug","_getFilename","_normalizePath","_prependHttps"],"sources":["@wordpress/url/src/index.js"],"sourcesContent":["export { isURL } from './is-url';\nexport { isEmail } from './is-email';\nexport { getProtocol } from './get-protocol';\nexport { isValidProtocol } from './is-valid-protocol';\nexport { getAuthority } from './get-authority';\nexport { isValidAuthority } from './is-valid-authority';\nexport { getPath } from './get-path';\nexport { isValidPath } from './is-valid-path';\nexport { getQueryString } from './get-query-string';\nexport { buildQueryString } from './build-query-string';\nexport { isValidQueryString } from './is-valid-query-string';\nexport { getPathAndQueryString } from './get-path-and-query-string';\nexport { getFragment } from './get-fragment';\nexport { isValidFragment } from './is-valid-fragment';\nexport { addQueryArgs } from './add-query-args';\nexport { getQueryArg } from './get-query-arg';\nexport { getQueryArgs } from './get-query-args';\nexport { hasQueryArg } from './has-query-arg';\nexport { removeQueryArgs } from './remove-query-args';\nexport { prependHTTP } from './prepend-http';\nexport { safeDecodeURI } from './safe-decode-uri';\nexport { safeDecodeURIComponent } from './safe-decode-uri-component';\nexport { filterURLForDisplay } from './filter-url-for-display';\nexport { cleanForSlug } from './clean-for-slug';\nexport { getFilename } from './get-filename';\nexport { normalizePath } from './normalize-path';\nexport { prependHTTPS } from './prepend-https';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,mBAAA,GAAAV,OAAA;AACA,IAAAW,sBAAA,GAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,aAAA,GAAAhB,OAAA;AACA,IAAAiB,YAAA,GAAAjB,OAAA;AACA,IAAAkB,gBAAA,GAAAlB,OAAA;AACA,IAAAmB,YAAA,GAAAnB,OAAA;AACA,IAAAoB,cAAA,GAAApB,OAAA;AACA,IAAAqB,uBAAA,GAAArB,OAAA;AACA,IAAAsB,oBAAA,GAAAtB,OAAA;AACA,IAAAuB,aAAA,GAAAvB,OAAA;AACA,IAAAwB,YAAA,GAAAxB,OAAA;AACA,IAAAyB,cAAA,GAAAzB,OAAA;AACA,IAAA0B,aAAA,GAAA1B,OAAA"}
|
package/build/is-email.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.isEmail = isEmail;
|
|
7
7
|
const EMAIL_REGEXP = /^(mailto:)?[a-z0-9._%+-]+@[a-z0-9][a-z0-9.-]*\.[a-z]{2,63}$/i;
|
|
8
|
+
|
|
8
9
|
/**
|
|
9
10
|
* Determines whether the given string looks like an email.
|
|
10
11
|
*
|
|
@@ -17,7 +18,6 @@ const EMAIL_REGEXP = /^(mailto:)?[a-z0-9._%+-]+@[a-z0-9][a-z0-9.-]*\.[a-z]{2,63}
|
|
|
17
18
|
*
|
|
18
19
|
* @return {boolean} Whether or not it looks like an email.
|
|
19
20
|
*/
|
|
20
|
-
|
|
21
21
|
function isEmail(email) {
|
|
22
22
|
return EMAIL_REGEXP.test(email);
|
|
23
23
|
}
|
package/build/is-email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["EMAIL_REGEXP","isEmail","email","test"],"sources":["@wordpress/url/src/is-email.js"],"sourcesContent":["const EMAIL_REGEXP =\n\t/^(mailto:)?[a-z0-9._%+-]+@[a-z0-9][a-z0-9.-]*\\.[a-z]{2,63}$/i;\n\n/**\n * Determines whether the given string looks like an email.\n *\n * @param {string} email The string to scrutinise.\n *\n * @example\n * ```js\n * const isEmail = isEmail( 'hello@wordpress.org' ); // true\n * ```\n *\n * @return {boolean} Whether or not it looks like an email.\n */\nexport function isEmail( email ) {\n\treturn EMAIL_REGEXP.test( email );\n}\n"],"mappings":";;;;;;AAAA,MAAMA,YAAY,GACjB,8DAA8D;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAOA,CAAEC,KAAK,EAAG;EAChC,OAAOF,YAAY,CAACG,IAAI,CAAED,KAAM,CAAC;AAClC"}
|
package/build/is-url.js
CHANGED
package/build/is-url.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["isURL","url","URL"],"sources":["@wordpress/url/src/is-url.js"],"sourcesContent":["/**\n * Determines whether the given string looks like a URL.\n *\n * @param {string} url The string to scrutinise.\n *\n * @example\n * ```js\n * const isURL = isURL( 'https://wordpress.org' ); // true\n * ```\n *\n * @see https://url.spec.whatwg.org/\n * @see https://url.spec.whatwg.org/#valid-url-string\n *\n * @return {boolean} Whether or not it looks like a URL.\n */\nexport function isURL( url ) {\n\t// A URL can be considered value if the `URL` constructor is able to parse\n\t// it. The constructor throws an error for an invalid URL.\n\ttry {\n\t\tnew URL( url );\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,KAAKA,CAAEC,GAAG,EAAG;EAC5B;EACA;EACA,IAAI;IACH,IAAIC,GAAG,CAAED,GAAI,CAAC;IACd,OAAO,IAAI;EACZ,CAAC,CAAC,MAAM;IACP,OAAO,KAAK;EACb;AACD"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isValidAuthority = isValidAuthority;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Checks for invalid characters within the provided authority.
|
|
10
9
|
*
|
|
@@ -22,7 +21,6 @@ function isValidAuthority(authority) {
|
|
|
22
21
|
if (!authority) {
|
|
23
22
|
return false;
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
return /^[^\s#?]+$/.test(authority);
|
|
27
25
|
}
|
|
28
26
|
//# sourceMappingURL=is-valid-authority.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["isValidAuthority","authority","test"],"sources":["@wordpress/url/src/is-valid-authority.js"],"sourcesContent":["/**\n * Checks for invalid characters within the provided authority.\n *\n * @param {string} authority A string containing the URL authority.\n *\n * @example\n * ```js\n * const isValid = isValidAuthority( 'wordpress.org' ); // true\n * const isNotValid = isValidAuthority( 'wordpress#org' ); // false\n * ```\n *\n * @return {boolean} True if the argument contains a valid authority.\n */\nexport function isValidAuthority( authority ) {\n\tif ( ! authority ) {\n\t\treturn false;\n\t}\n\treturn /^[^\\s#?]+$/.test( authority );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,gBAAgBA,CAAEC,SAAS,EAAG;EAC7C,IAAK,CAAEA,SAAS,EAAG;IAClB,OAAO,KAAK;EACb;EACA,OAAO,YAAY,CAACC,IAAI,CAAED,SAAU,CAAC;AACtC"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isValidFragment = isValidFragment;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Checks for invalid characters within the provided fragment.
|
|
10
9
|
*
|
|
@@ -22,7 +21,6 @@ function isValidFragment(fragment) {
|
|
|
22
21
|
if (!fragment) {
|
|
23
22
|
return false;
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
return /^#[^\s#?\/]*$/.test(fragment);
|
|
27
25
|
}
|
|
28
26
|
//# sourceMappingURL=is-valid-fragment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["isValidFragment","fragment","test"],"sources":["@wordpress/url/src/is-valid-fragment.js"],"sourcesContent":["/**\n * Checks for invalid characters within the provided fragment.\n *\n * @param {string} fragment The url fragment.\n *\n * @example\n * ```js\n * const isValid = isValidFragment( '#valid-fragment' ); // true\n * const isNotValid = isValidFragment( '#invalid-#fragment' ); // false\n * ```\n *\n * @return {boolean} True if the argument contains a valid fragment.\n */\nexport function isValidFragment( fragment ) {\n\tif ( ! fragment ) {\n\t\treturn false;\n\t}\n\treturn /^#[^\\s#?\\/]*$/.test( fragment );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAeA,CAAEC,QAAQ,EAAG;EAC3C,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,KAAK;EACb;EACA,OAAO,eAAe,CAACC,IAAI,CAAED,QAAS,CAAC;AACxC"}
|
package/build/is-valid-path.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isValidPath = isValidPath;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Checks for invalid characters within the provided path.
|
|
10
9
|
*
|
|
@@ -22,7 +21,6 @@ function isValidPath(path) {
|
|
|
22
21
|
if (!path) {
|
|
23
22
|
return false;
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
return /^[^\s#?]+$/.test(path);
|
|
27
25
|
}
|
|
28
26
|
//# sourceMappingURL=is-valid-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["isValidPath","path","test"],"sources":["@wordpress/url/src/is-valid-path.js"],"sourcesContent":["/**\n * Checks for invalid characters within the provided path.\n *\n * @param {string} path The URL path.\n *\n * @example\n * ```js\n * const isValid = isValidPath( 'test/path/' ); // true\n * const isNotValid = isValidPath( '/invalid?test/path/' ); // false\n * ```\n *\n * @return {boolean} True if the argument contains a valid path\n */\nexport function isValidPath( path ) {\n\tif ( ! path ) {\n\t\treturn false;\n\t}\n\treturn /^[^\\s#?]+$/.test( path );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,WAAWA,CAAEC,IAAI,EAAG;EACnC,IAAK,CAAEA,IAAI,EAAG;IACb,OAAO,KAAK;EACb;EACA,OAAO,YAAY,CAACC,IAAI,CAAED,IAAK,CAAC;AACjC"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isValidProtocol = isValidProtocol;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Tests if a url protocol is valid.
|
|
10
9
|
*
|
|
@@ -22,7 +21,6 @@ function isValidProtocol(protocol) {
|
|
|
22
21
|
if (!protocol) {
|
|
23
22
|
return false;
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
return /^[a-z\-.\+]+[0-9]*:$/i.test(protocol);
|
|
27
25
|
}
|
|
28
26
|
//# sourceMappingURL=is-valid-protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["isValidProtocol","protocol","test"],"sources":["@wordpress/url/src/is-valid-protocol.js"],"sourcesContent":["/**\n * Tests if a url protocol is valid.\n *\n * @param {string} protocol The url protocol.\n *\n * @example\n * ```js\n * const isValid = isValidProtocol( 'https:' ); // true\n * const isNotValid = isValidProtocol( 'https :' ); // false\n * ```\n *\n * @return {boolean} True if the argument is a valid protocol (e.g. http:, tel:).\n */\nexport function isValidProtocol( protocol ) {\n\tif ( ! protocol ) {\n\t\treturn false;\n\t}\n\treturn /^[a-z\\-.\\+]+[0-9]*:$/i.test( protocol );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAeA,CAAEC,QAAQ,EAAG;EAC3C,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,KAAK;EACb;EACA,OAAO,uBAAuB,CAACC,IAAI,CAAED,QAAS,CAAC;AAChD"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isValidQueryString = isValidQueryString;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Checks for invalid characters within the provided query string.
|
|
10
9
|
*
|
|
@@ -22,7 +21,6 @@ function isValidQueryString(queryString) {
|
|
|
22
21
|
if (!queryString) {
|
|
23
22
|
return false;
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
return /^[^\s#?\/]+$/.test(queryString);
|
|
27
25
|
}
|
|
28
26
|
//# sourceMappingURL=is-valid-query-string.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/url/src/is-valid-query-string.js"],"
|
|
1
|
+
{"version":3,"names":["isValidQueryString","queryString","test"],"sources":["@wordpress/url/src/is-valid-query-string.js"],"sourcesContent":["/**\n * Checks for invalid characters within the provided query string.\n *\n * @param {string} queryString The query string.\n *\n * @example\n * ```js\n * const isValid = isValidQueryString( 'query=true&another=false' ); // true\n * const isNotValid = isValidQueryString( 'query=true?another=false' ); // false\n * ```\n *\n * @return {boolean} True if the argument contains a valid query string.\n */\nexport function isValidQueryString( queryString ) {\n\tif ( ! queryString ) {\n\t\treturn false;\n\t}\n\treturn /^[^\\s#?\\/]+$/.test( queryString );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAkBA,CAAEC,WAAW,EAAG;EACjD,IAAK,CAAEA,WAAW,EAAG;IACpB,OAAO,KAAK;EACb;EACA,OAAO,cAAc,CAACC,IAAI,CAAED,WAAY,CAAC;AAC1C"}
|
package/build/normalize-path.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.normalizePath = normalizePath;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Given a path, returns a normalized path where equal query parameter values
|
|
10
9
|
* will be treated as identical, regardless of order they appear in the original
|
|
@@ -18,19 +17,25 @@ function normalizePath(path) {
|
|
|
18
17
|
const splitted = path.split('?');
|
|
19
18
|
const query = splitted[1];
|
|
20
19
|
const base = splitted[0];
|
|
21
|
-
|
|
22
20
|
if (!query) {
|
|
23
21
|
return base;
|
|
24
|
-
}
|
|
25
|
-
|
|
22
|
+
}
|
|
26
23
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
.
|
|
31
|
-
|
|
32
|
-
.map(
|
|
33
|
-
|
|
24
|
+
// 'b=1%2C2&c=2&a=5'
|
|
25
|
+
return base + '?' + query
|
|
26
|
+
// [ 'b=1%2C2', 'c=2', 'a=5' ]
|
|
27
|
+
.split('&')
|
|
28
|
+
// [ [ 'b, '1%2C2' ], [ 'c', '2' ], [ 'a', '5' ] ]
|
|
29
|
+
.map(entry => entry.split('='))
|
|
30
|
+
// [ [ 'b', '1,2' ], [ 'c', '2' ], [ 'a', '5' ] ]
|
|
31
|
+
.map(pair => pair.map(decodeURIComponent))
|
|
32
|
+
// [ [ 'a', '5' ], [ 'b, '1,2' ], [ 'c', '2' ] ]
|
|
33
|
+
.sort((a, b) => a[0].localeCompare(b[0]))
|
|
34
|
+
// [ [ 'a', '5' ], [ 'b, '1%2C2' ], [ 'c', '2' ] ]
|
|
35
|
+
.map(pair => pair.map(encodeURIComponent))
|
|
36
|
+
// [ 'a=5', 'b=1%2C2', 'c=2' ]
|
|
37
|
+
.map(pair => pair.join('='))
|
|
38
|
+
// 'a=5&b=1%2C2&c=2'
|
|
34
39
|
.join('&');
|
|
35
40
|
}
|
|
36
41
|
//# sourceMappingURL=normalize-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["normalizePath","path","splitted","split","query","base","map","entry","pair","decodeURIComponent","sort","a","b","localeCompare","encodeURIComponent","join"],"sources":["@wordpress/url/src/normalize-path.js"],"sourcesContent":["/**\n * Given a path, returns a normalized path where equal query parameter values\n * will be treated as identical, regardless of order they appear in the original\n * text.\n *\n * @param {string} path Original path.\n *\n * @return {string} Normalized path.\n */\nexport function normalizePath( path ) {\n\tconst splitted = path.split( '?' );\n\tconst query = splitted[ 1 ];\n\tconst base = splitted[ 0 ];\n\tif ( ! query ) {\n\t\treturn base;\n\t}\n\n\t// 'b=1%2C2&c=2&a=5'\n\treturn (\n\t\tbase +\n\t\t'?' +\n\t\tquery\n\t\t\t// [ 'b=1%2C2', 'c=2', 'a=5' ]\n\t\t\t.split( '&' )\n\t\t\t// [ [ 'b, '1%2C2' ], [ 'c', '2' ], [ 'a', '5' ] ]\n\t\t\t.map( ( entry ) => entry.split( '=' ) )\n\t\t\t// [ [ 'b', '1,2' ], [ 'c', '2' ], [ 'a', '5' ] ]\n\t\t\t.map( ( pair ) => pair.map( decodeURIComponent ) )\n\t\t\t// [ [ 'a', '5' ], [ 'b, '1,2' ], [ 'c', '2' ] ]\n\t\t\t.sort( ( a, b ) => a[ 0 ].localeCompare( b[ 0 ] ) )\n\t\t\t// [ [ 'a', '5' ], [ 'b, '1%2C2' ], [ 'c', '2' ] ]\n\t\t\t.map( ( pair ) => pair.map( encodeURIComponent ) )\n\t\t\t// [ 'a=5', 'b=1%2C2', 'c=2' ]\n\t\t\t.map( ( pair ) => pair.join( '=' ) )\n\t\t\t// 'a=5&b=1%2C2&c=2'\n\t\t\t.join( '&' )\n\t);\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,aAAaA,CAAEC,IAAI,EAAG;EACrC,MAAMC,QAAQ,GAAGD,IAAI,CAACE,KAAK,CAAE,GAAI,CAAC;EAClC,MAAMC,KAAK,GAAGF,QAAQ,CAAE,CAAC,CAAE;EAC3B,MAAMG,IAAI,GAAGH,QAAQ,CAAE,CAAC,CAAE;EAC1B,IAAK,CAAEE,KAAK,EAAG;IACd,OAAOC,IAAI;EACZ;;EAEA;EACA,OACCA,IAAI,GACJ,GAAG,GACHD;EACC;EAAA,CACCD,KAAK,CAAE,GAAI;EACZ;EAAA,CACCG,GAAG,CAAIC,KAAK,IAAMA,KAAK,CAACJ,KAAK,CAAE,GAAI,CAAE;EACtC;EAAA,CACCG,GAAG,CAAIE,IAAI,IAAMA,IAAI,CAACF,GAAG,CAAEG,kBAAmB,CAAE;EACjD;EAAA,CACCC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAAE,CAAC,CAAE,CAACE,aAAa,CAAED,CAAC,CAAE,CAAC,CAAG,CAAE;EAClD;EAAA,CACCN,GAAG,CAAIE,IAAI,IAAMA,IAAI,CAACF,GAAG,CAAEQ,kBAAmB,CAAE;EACjD;EAAA,CACCR,GAAG,CAAIE,IAAI,IAAMA,IAAI,CAACO,IAAI,CAAE,GAAI,CAAE;EACnC;EAAA,CACCA,IAAI,CAAE,GAAI,CAAC;AAEf"}
|
package/build/prepend-http.js
CHANGED
|
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.prependHTTP = prependHTTP;
|
|
7
|
-
|
|
8
7
|
var _isEmail = require("./is-email");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* Internal dependencies
|
|
12
10
|
*/
|
|
11
|
+
|
|
13
12
|
const USABLE_HREF_REGEXP = /^(?:[a-z]+:|#|\?|\.|\/)/i;
|
|
13
|
+
|
|
14
14
|
/**
|
|
15
15
|
* Prepends "http://" to a url, if it looks like something that is meant to be a TLD.
|
|
16
16
|
*
|
|
@@ -23,18 +23,14 @@ const USABLE_HREF_REGEXP = /^(?:[a-z]+:|#|\?|\.|\/)/i;
|
|
|
23
23
|
*
|
|
24
24
|
* @return {string} The updated URL.
|
|
25
25
|
*/
|
|
26
|
-
|
|
27
26
|
function prependHTTP(url) {
|
|
28
27
|
if (!url) {
|
|
29
28
|
return url;
|
|
30
29
|
}
|
|
31
|
-
|
|
32
30
|
url = url.trim();
|
|
33
|
-
|
|
34
31
|
if (!USABLE_HREF_REGEXP.test(url) && !(0, _isEmail.isEmail)(url)) {
|
|
35
32
|
return 'http://' + url;
|
|
36
33
|
}
|
|
37
|
-
|
|
38
34
|
return url;
|
|
39
35
|
}
|
|
40
36
|
//# sourceMappingURL=prepend-http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_isEmail","require","USABLE_HREF_REGEXP","prependHTTP","url","trim","test","isEmail"],"sources":["@wordpress/url/src/prepend-http.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { isEmail } from './is-email';\n\nconst USABLE_HREF_REGEXP = /^(?:[a-z]+:|#|\\?|\\.|\\/)/i;\n\n/**\n * Prepends \"http://\" to a url, if it looks like something that is meant to be a TLD.\n *\n * @param {string} url The URL to test.\n *\n * @example\n * ```js\n * const actualURL = prependHTTP( 'wordpress.org' ); // http://wordpress.org\n * ```\n *\n * @return {string} The updated URL.\n */\nexport function prependHTTP( url ) {\n\tif ( ! url ) {\n\t\treturn url;\n\t}\n\n\turl = url.trim();\n\tif ( ! USABLE_HREF_REGEXP.test( url ) && ! isEmail( url ) ) {\n\t\treturn 'http://' + url;\n\t}\n\n\treturn url;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,kBAAkB,GAAG,0BAA0B;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,WAAWA,CAAEC,GAAG,EAAG;EAClC,IAAK,CAAEA,GAAG,EAAG;IACZ,OAAOA,GAAG;EACX;EAEAA,GAAG,GAAGA,GAAG,CAACC,IAAI,CAAC,CAAC;EAChB,IAAK,CAAEH,kBAAkB,CAACI,IAAI,CAAEF,GAAI,CAAC,IAAI,CAAE,IAAAG,gBAAO,EAAEH,GAAI,CAAC,EAAG;IAC3D,OAAO,SAAS,GAAGA,GAAG;EACvB;EAEA,OAAOA,GAAG;AACX"}
|
package/build/prepend-https.js
CHANGED
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.prependHTTPS = prependHTTPS;
|
|
7
|
-
|
|
8
7
|
var _prependHttp = require("./prepend-http");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* Internal dependencies
|
|
12
10
|
*/
|
|
@@ -28,13 +26,12 @@ var _prependHttp = require("./prepend-http");
|
|
|
28
26
|
function prependHTTPS(url) {
|
|
29
27
|
if (!url) {
|
|
30
28
|
return url;
|
|
31
|
-
}
|
|
32
|
-
|
|
29
|
+
}
|
|
33
30
|
|
|
31
|
+
// If url starts with http://, return it as is.
|
|
34
32
|
if (url.startsWith('http://')) {
|
|
35
33
|
return url;
|
|
36
34
|
}
|
|
37
|
-
|
|
38
35
|
url = (0, _prependHttp.prependHTTP)(url);
|
|
39
36
|
return url.replace(/^http:/, 'https:');
|
|
40
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_prependHttp","require","prependHTTPS","url","startsWith","prependHTTP","replace"],"sources":["@wordpress/url/src/prepend-https.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { prependHTTP } from './prepend-http';\n\n/**\n * Prepends \"https://\" to a url, if it looks like something that is meant to be a TLD.\n *\n * Note: this will not replace \"http://\" with \"https://\".\n *\n * @param {string} url The URL to test.\n *\n * @example\n * ```js\n * const actualURL = prependHTTPS( 'wordpress.org' ); // https://wordpress.org\n * ```\n *\n * @return {string} The updated URL.\n */\nexport function prependHTTPS( url ) {\n\tif ( ! url ) {\n\t\treturn url;\n\t}\n\n\t// If url starts with http://, return it as is.\n\tif ( url.startsWith( 'http://' ) ) {\n\t\treturn url;\n\t}\n\n\turl = prependHTTP( url );\n\n\treturn url.replace( /^http:/, 'https:' );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,YAAYA,CAAEC,GAAG,EAAG;EACnC,IAAK,CAAEA,GAAG,EAAG;IACZ,OAAOA,GAAG;EACX;;EAEA;EACA,IAAKA,GAAG,CAACC,UAAU,CAAE,SAAU,CAAC,EAAG;IAClC,OAAOD,GAAG;EACX;EAEAA,GAAG,GAAG,IAAAE,wBAAW,EAAEF,GAAI,CAAC;EAExB,OAAOA,GAAG,CAACG,OAAO,CAAE,QAAQ,EAAE,QAAS,CAAC;AACzC"}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.removeQueryArgs = removeQueryArgs;
|
|
7
|
-
|
|
8
7
|
var _getQueryArgs = require("./get-query-args");
|
|
9
|
-
|
|
10
8
|
var _buildQueryString = require("./build-query-string");
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Internal dependencies
|
|
14
11
|
*/
|
|
@@ -28,11 +25,9 @@ var _buildQueryString = require("./build-query-string");
|
|
|
28
25
|
*/
|
|
29
26
|
function removeQueryArgs(url, ...args) {
|
|
30
27
|
const queryStringIndex = url.indexOf('?');
|
|
31
|
-
|
|
32
28
|
if (queryStringIndex === -1) {
|
|
33
29
|
return url;
|
|
34
30
|
}
|
|
35
|
-
|
|
36
31
|
const query = (0, _getQueryArgs.getQueryArgs)(url);
|
|
37
32
|
const baseURL = url.substr(0, queryStringIndex);
|
|
38
33
|
args.forEach(arg => delete query[arg]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["_getQueryArgs","require","_buildQueryString","removeQueryArgs","url","args","queryStringIndex","indexOf","query","getQueryArgs","baseURL","substr","forEach","arg","queryString","buildQueryString"],"sources":["@wordpress/url/src/remove-query-args.js"],"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"],"mappings":";;;;;;AAGA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAAEC,GAAG,EAAE,GAAGC,IAAI,EAAG;EAC/C,MAAMC,gBAAgB,GAAGF,GAAG,CAACG,OAAO,CAAE,GAAI,CAAC;EAC3C,IAAKD,gBAAgB,KAAK,CAAC,CAAC,EAAG;IAC9B,OAAOF,GAAG;EACX;EAEA,MAAMI,KAAK,GAAG,IAAAC,0BAAY,EAAEL,GAAI,CAAC;EACjC,MAAMM,OAAO,GAAGN,GAAG,CAACO,MAAM,CAAE,CAAC,EAAEL,gBAAiB,CAAC;EACjDD,IAAI,CAACO,OAAO,CAAIC,GAAG,IAAM,OAAOL,KAAK,CAAEK,GAAG,CAAG,CAAC;EAC9C,MAAMC,WAAW,GAAG,IAAAC,kCAAgB,EAAEP,KAAM,CAAC;EAC7C,OAAOM,WAAW,GAAGJ,OAAO,GAAG,GAAG,GAAGI,WAAW,GAAGJ,OAAO;AAC3D"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.safeDecodeURIComponent = safeDecodeURIComponent;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Safely decodes a URI component with `decodeURIComponent`. Returns the URI component unmodified if
|
|
10
9
|
* `decodeURIComponent` throws an error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["safeDecodeURIComponent","uriComponent","decodeURIComponent","uriComponentError"],"sources":["@wordpress/url/src/safe-decode-uri-component.js"],"sourcesContent":["/**\n * Safely decodes a URI component with `decodeURIComponent`. Returns the URI component unmodified if\n * `decodeURIComponent` throws an error.\n *\n * @param {string} uriComponent URI component to decode.\n *\n * @return {string} Decoded URI component if possible.\n */\nexport function safeDecodeURIComponent( uriComponent ) {\n\ttry {\n\t\treturn decodeURIComponent( uriComponent );\n\t} catch ( uriComponentError ) {\n\t\treturn uriComponent;\n\t}\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,sBAAsBA,CAAEC,YAAY,EAAG;EACtD,IAAI;IACH,OAAOC,kBAAkB,CAAED,YAAa,CAAC;EAC1C,CAAC,CAAC,OAAQE,iBAAiB,EAAG;IAC7B,OAAOF,YAAY;EACpB;AACD"}
|
package/build/safe-decode-uri.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["safeDecodeURI","uri","decodeURI","uriError"],"sources":["@wordpress/url/src/safe-decode-uri.js"],"sourcesContent":["/**\n * Safely decodes a URI with `decodeURI`. Returns the URI unmodified if\n * `decodeURI` throws an error.\n *\n * @param {string} uri URI to decode.\n *\n * @example\n * ```js\n * const badUri = safeDecodeURI( '%z' ); // does not throw an Error, simply returns '%z'\n * ```\n *\n * @return {string} Decoded URI if possible.\n */\nexport function safeDecodeURI( uri ) {\n\ttry {\n\t\treturn decodeURI( uri );\n\t} catch ( uriError ) {\n\t\treturn uri;\n\t}\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,aAAaA,CAAEC,GAAG,EAAG;EACpC,IAAI;IACH,OAAOC,SAAS,CAAED,GAAI,CAAC;EACxB,CAAC,CAAC,OAAQE,QAAQ,EAAG;IACpB,OAAOF,GAAG;EACX;AACD"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { getQueryArgs } from './get-query-args';
|
|
5
5
|
import { buildQueryString } from './build-query-string';
|
|
6
|
+
|
|
6
7
|
/**
|
|
7
8
|
* Appends arguments as querystring to the provided URL. If the URL already
|
|
8
9
|
* includes query arguments, the arguments are merged with (and take precedent
|
|
@@ -19,24 +20,22 @@ import { buildQueryString } from './build-query-string';
|
|
|
19
20
|
*
|
|
20
21
|
* @return {string} URL with arguments applied.
|
|
21
22
|
*/
|
|
22
|
-
|
|
23
23
|
export function addQueryArgs(url = '', args) {
|
|
24
24
|
// If no arguments are to be appended, return original URL.
|
|
25
25
|
if (!args || !Object.keys(args).length) {
|
|
26
26
|
return url;
|
|
27
27
|
}
|
|
28
|
+
let baseUrl = url;
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
// Determine whether URL already had query arguments.
|
|
31
31
|
const queryStringIndex = url.indexOf('?');
|
|
32
|
-
|
|
33
32
|
if (queryStringIndex !== -1) {
|
|
34
33
|
// Merge into existing query arguments.
|
|
35
|
-
args = Object.assign(getQueryArgs(url), args);
|
|
34
|
+
args = Object.assign(getQueryArgs(url), args);
|
|
36
35
|
|
|
36
|
+
// Change working base URL to omit previous query arguments.
|
|
37
37
|
baseUrl = baseUrl.substr(0, queryStringIndex);
|
|
38
38
|
}
|
|
39
|
-
|
|
40
39
|
return baseUrl + '?' + buildQueryString(args);
|
|
41
40
|
}
|
|
42
41
|
//# sourceMappingURL=add-query-args.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["getQueryArgs","buildQueryString","addQueryArgs","url","args","Object","keys","length","baseUrl","queryStringIndex","indexOf","assign","substr"],"sources":["@wordpress/url/src/add-query-args.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { getQueryArgs } from './get-query-args';\nimport { buildQueryString } from './build-query-string';\n\n/**\n * Appends arguments as querystring to the provided URL. If the URL already\n * includes query arguments, the arguments are merged with (and take precedent\n * over) the existing set.\n *\n * @param {string} [url=''] URL to which arguments should be appended. If omitted,\n * only the resulting querystring is returned.\n * @param {Object} [args] Query arguments to apply to URL.\n *\n * @example\n * ```js\n * const newURL = addQueryArgs( 'https://google.com', { q: 'test' } ); // https://google.com/?q=test\n * ```\n *\n * @return {string} URL with arguments applied.\n */\nexport function addQueryArgs( url = '', args ) {\n\t// If no arguments are to be appended, return original URL.\n\tif ( ! args || ! Object.keys( args ).length ) {\n\t\treturn url;\n\t}\n\n\tlet baseUrl = url;\n\n\t// Determine whether URL already had query arguments.\n\tconst queryStringIndex = url.indexOf( '?' );\n\tif ( queryStringIndex !== -1 ) {\n\t\t// Merge into existing query arguments.\n\t\targs = Object.assign( getQueryArgs( url ), args );\n\n\t\t// Change working base URL to omit previous query arguments.\n\t\tbaseUrl = baseUrl.substr( 0, queryStringIndex );\n\t}\n\n\treturn baseUrl + '?' + buildQueryString( args );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,gBAAgB,QAAQ,sBAAsB;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAEC,GAAG,GAAG,EAAE,EAAEC,IAAI,EAAG;EAC9C;EACA,IAAK,CAAEA,IAAI,IAAI,CAAEC,MAAM,CAACC,IAAI,CAAEF,IAAK,CAAC,CAACG,MAAM,EAAG;IAC7C,OAAOJ,GAAG;EACX;EAEA,IAAIK,OAAO,GAAGL,GAAG;;EAEjB;EACA,MAAMM,gBAAgB,GAAGN,GAAG,CAACO,OAAO,CAAE,GAAI,CAAC;EAC3C,IAAKD,gBAAgB,KAAK,CAAC,CAAC,EAAG;IAC9B;IACAL,IAAI,GAAGC,MAAM,CAACM,MAAM,CAAEX,YAAY,CAAEG,GAAI,CAAC,EAAEC,IAAK,CAAC;;IAEjD;IACAI,OAAO,GAAGA,OAAO,CAACI,MAAM,CAAE,CAAC,EAAEH,gBAAiB,CAAC;EAChD;EAEA,OAAOD,OAAO,GAAG,GAAG,GAAGP,gBAAgB,CAAEG,IAAK,CAAC;AAChD"}
|
|
@@ -26,18 +26,16 @@ export function buildQueryString(data) {
|
|
|
26
26
|
let string = '';
|
|
27
27
|
const stack = Object.entries(data);
|
|
28
28
|
let pair;
|
|
29
|
-
|
|
30
29
|
while (pair = stack.shift()) {
|
|
31
|
-
let [key, value] = pair;
|
|
30
|
+
let [key, value] = pair;
|
|
32
31
|
|
|
32
|
+
// Support building deeply nested data, from array or object values.
|
|
33
33
|
const hasNestedData = Array.isArray(value) || value && value.constructor === Object;
|
|
34
|
-
|
|
35
34
|
if (hasNestedData) {
|
|
36
35
|
// Push array or object values onto the stack as composed of their
|
|
37
36
|
// original key and nested index or key, retaining order by a
|
|
38
37
|
// combination of Array#reverse and Array#unshift onto the stack.
|
|
39
38
|
const valuePairs = Object.entries(value).reverse();
|
|
40
|
-
|
|
41
39
|
for (const [member, memberValue] of valuePairs) {
|
|
42
40
|
stack.unshift([`${key}[${member}]`, memberValue]);
|
|
43
41
|
}
|
|
@@ -46,14 +44,13 @@ export function buildQueryString(data) {
|
|
|
46
44
|
if (value === null) {
|
|
47
45
|
value = '';
|
|
48
46
|
}
|
|
49
|
-
|
|
50
47
|
string += '&' + [key, value].map(encodeURIComponent).join('=');
|
|
51
48
|
}
|
|
52
|
-
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Loop will concatenate with leading `&`, but it's only expected for all
|
|
53
52
|
// but the first query parameter. This strips the leading `&`, while still
|
|
54
53
|
// accounting for the case that the string may in-fact be empty.
|
|
55
|
-
|
|
56
|
-
|
|
57
54
|
return string.substr(1);
|
|
58
55
|
}
|
|
59
56
|
//# sourceMappingURL=build-query-string.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["buildQueryString","data","string","stack","Object","entries","pair","shift","key","value","hasNestedData","Array","isArray","constructor","valuePairs","reverse","member","memberValue","unshift","undefined","map","encodeURIComponent","join","substr"],"sources":["@wordpress/url/src/build-query-string.js"],"sourcesContent":["/**\n * Generates URL-encoded query string using input query data.\n *\n * It is intended to behave equivalent as PHP's `http_build_query`, configured\n * with encoding type PHP_QUERY_RFC3986 (spaces as `%20`).\n *\n * @example\n * ```js\n * const queryString = buildQueryString( {\n * simple: 'is ok',\n * arrays: [ 'are', 'fine', 'too' ],\n * objects: {\n * evenNested: {\n * ok: 'yes',\n * },\n * },\n * } );\n * // \"simple=is%20ok&arrays%5B0%5D=are&arrays%5B1%5D=fine&arrays%5B2%5D=too&objects%5BevenNested%5D%5Bok%5D=yes\"\n * ```\n *\n * @param {Record<string,*>} data Data to encode.\n *\n * @return {string} Query string.\n */\nexport function buildQueryString( data ) {\n\tlet string = '';\n\n\tconst stack = Object.entries( data );\n\n\tlet pair;\n\twhile ( ( pair = stack.shift() ) ) {\n\t\tlet [ key, value ] = pair;\n\n\t\t// Support building deeply nested data, from array or object values.\n\t\tconst hasNestedData =\n\t\t\tArray.isArray( value ) || ( value && value.constructor === Object );\n\n\t\tif ( hasNestedData ) {\n\t\t\t// Push array or object values onto the stack as composed of their\n\t\t\t// original key and nested index or key, retaining order by a\n\t\t\t// combination of Array#reverse and Array#unshift onto the stack.\n\t\t\tconst valuePairs = Object.entries( value ).reverse();\n\t\t\tfor ( const [ member, memberValue ] of valuePairs ) {\n\t\t\t\tstack.unshift( [ `${ key }[${ member }]`, memberValue ] );\n\t\t\t}\n\t\t} else if ( value !== undefined ) {\n\t\t\t// Null is treated as special case, equivalent to empty string.\n\t\t\tif ( value === null ) {\n\t\t\t\tvalue = '';\n\t\t\t}\n\n\t\t\tstring +=\n\t\t\t\t'&' + [ key, value ].map( encodeURIComponent ).join( '=' );\n\t\t}\n\t}\n\n\t// Loop will concatenate with leading `&`, but it's only expected for all\n\t// but the first query parameter. This strips the leading `&`, while still\n\t// accounting for the case that the string may in-fact be empty.\n\treturn string.substr( 1 );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,gBAAgBA,CAAEC,IAAI,EAAG;EACxC,IAAIC,MAAM,GAAG,EAAE;EAEf,MAAMC,KAAK,GAAGC,MAAM,CAACC,OAAO,CAAEJ,IAAK,CAAC;EAEpC,IAAIK,IAAI;EACR,OAAUA,IAAI,GAAGH,KAAK,CAACI,KAAK,CAAC,CAAC,EAAK;IAClC,IAAI,CAAEC,GAAG,EAAEC,KAAK,CAAE,GAAGH,IAAI;;IAEzB;IACA,MAAMI,aAAa,GAClBC,KAAK,CAACC,OAAO,CAAEH,KAAM,CAAC,IAAMA,KAAK,IAAIA,KAAK,CAACI,WAAW,KAAKT,MAAQ;IAEpE,IAAKM,aAAa,EAAG;MACpB;MACA;MACA;MACA,MAAMI,UAAU,GAAGV,MAAM,CAACC,OAAO,CAAEI,KAAM,CAAC,CAACM,OAAO,CAAC,CAAC;MACpD,KAAM,MAAM,CAAEC,MAAM,EAAEC,WAAW,CAAE,IAAIH,UAAU,EAAG;QACnDX,KAAK,CAACe,OAAO,CAAE,CAAG,GAAGV,GAAK,IAAIQ,MAAQ,GAAE,EAAEC,WAAW,CAAG,CAAC;MAC1D;IACD,CAAC,MAAM,IAAKR,KAAK,KAAKU,SAAS,EAAG;MACjC;MACA,IAAKV,KAAK,KAAK,IAAI,EAAG;QACrBA,KAAK,GAAG,EAAE;MACX;MAEAP,MAAM,IACL,GAAG,GAAG,CAAEM,GAAG,EAAEC,KAAK,CAAE,CAACW,GAAG,CAAEC,kBAAmB,CAAC,CAACC,IAAI,CAAE,GAAI,CAAC;IAC5D;EACD;;EAEA;EACA;EACA;EACA,OAAOpB,MAAM,CAACqB,MAAM,CAAE,CAAE,CAAC;AAC1B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import removeAccents from 'remove-accents';
|
|
5
|
+
|
|
5
6
|
/**
|
|
6
7
|
* Performs some basic cleanup of a string for use as a post slug.
|
|
7
8
|
*
|
|
@@ -18,17 +19,20 @@ import removeAccents from 'remove-accents';
|
|
|
18
19
|
*
|
|
19
20
|
* @return {string} Processed string.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
22
|
export function cleanForSlug(string) {
|
|
23
23
|
if (!string) {
|
|
24
24
|
return '';
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.replace(/[\s\./]+/g, '-')
|
|
29
|
-
|
|
30
|
-
.
|
|
31
|
-
|
|
26
|
+
return removeAccents(string)
|
|
27
|
+
// Convert each group of whitespace, periods, and forward slashes to a hyphen.
|
|
28
|
+
.replace(/[\s\./]+/g, '-')
|
|
29
|
+
// Remove anything that's not a letter, number, underscore or hyphen.
|
|
30
|
+
.replace(/[^\p{L}\p{N}_-]+/gu, '')
|
|
31
|
+
// Convert to lowercase
|
|
32
|
+
.toLowerCase()
|
|
33
|
+
// Replace multiple hyphens with a single one.
|
|
34
|
+
.replace(/-+/g, '-')
|
|
35
|
+
// Remove any remaining leading or trailing hyphens.
|
|
32
36
|
.replace(/(^-+)|(-+$)/g, '');
|
|
33
37
|
}
|
|
34
38
|
//# sourceMappingURL=clean-for-slug.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["removeAccents","cleanForSlug","string","replace","toLowerCase"],"sources":["@wordpress/url/src/clean-for-slug.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Performs some basic cleanup of a string for use as a post slug.\n *\n * This replicates some of what `sanitize_title()` does in WordPress core, but\n * is only designed to approximate what the slug will be.\n *\n * Converts Latin-1 Supplement and Latin Extended-A letters to basic Latin\n * letters. Removes combining diacritical marks. Converts whitespace, periods,\n * and forward slashes to hyphens. Removes any remaining non-word characters\n * except hyphens. Converts remaining string to lowercase. It does not account\n * for octets, HTML entities, or other encoded characters.\n *\n * @param {string} string Title or slug to be processed.\n *\n * @return {string} Processed string.\n */\nexport function cleanForSlug( string ) {\n\tif ( ! string ) {\n\t\treturn '';\n\t}\n\treturn (\n\t\tremoveAccents( string )\n\t\t\t// Convert each group of whitespace, periods, and forward slashes to a hyphen.\n\t\t\t.replace( /[\\s\\./]+/g, '-' )\n\t\t\t// Remove anything that's not a letter, number, underscore or hyphen.\n\t\t\t.replace( /[^\\p{L}\\p{N}_-]+/gu, '' )\n\t\t\t// Convert to lowercase\n\t\t\t.toLowerCase()\n\t\t\t// Replace multiple hyphens with a single one.\n\t\t\t.replace( /-+/g, '-' )\n\t\t\t// Remove any remaining leading or trailing hyphens.\n\t\t\t.replace( /(^-+)|(-+$)/g, '' )\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,aAAa,MAAM,gBAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAEC,MAAM,EAAG;EACtC,IAAK,CAAEA,MAAM,EAAG;IACf,OAAO,EAAE;EACV;EACA,OACCF,aAAa,CAAEE,MAAO;EACrB;EAAA,CACCC,OAAO,CAAE,WAAW,EAAE,GAAI;EAC3B;EAAA,CACCA,OAAO,CAAE,oBAAoB,EAAE,EAAG;EACnC;EAAA,CACCC,WAAW,CAAC;EACb;EAAA,CACCD,OAAO,CAAE,KAAK,EAAE,GAAI;EACrB;EAAA,CACCA,OAAO,CAAE,cAAc,EAAE,EAAG,CAAC;AAEjC"}
|