@dereekb/util 9.24.27 → 9.24.28
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 +4 -0
- package/fetch/CHANGELOG.md +4 -0
- package/fetch/package.json +2 -2
- package/package.json +1 -1
- package/src/lib/string/url.d.ts +21 -0
- package/src/lib/string/url.js +33 -1
- package/src/lib/string/url.js.map +1 -1
- package/test/CHANGELOG.md +4 -0
- package/test/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.24.28](https://github.com/dereekb/dbx-components/compare/v9.24.27-dev...v9.24.28) (2023-08-15)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.24.27](https://github.com/dereekb/dbx-components/compare/v9.24.26-dev...v9.24.27) (2023-08-15)
|
|
6
10
|
|
|
7
11
|
|
package/fetch/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.24.28](https://github.com/dereekb/dbx-components/compare/v9.24.27-dev...v9.24.28) (2023-08-15)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.24.27](https://github.com/dereekb/dbx-components/compare/v9.24.26-dev...v9.24.27) (2023-08-15)
|
|
6
10
|
|
|
7
11
|
|
package/fetch/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/fetch",
|
|
3
|
-
"version": "9.24.
|
|
3
|
+
"version": "9.24.28",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/util": "9.24.
|
|
8
|
+
"@dereekb/util": "9.24.28",
|
|
9
9
|
"lodash.isequal": "^4.5.0",
|
|
10
10
|
"make-error": "^1.3.0",
|
|
11
11
|
"class-validator": "^0.13.2",
|
package/package.json
CHANGED
package/src/lib/string/url.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ArrayOrValue } from '../array/array';
|
|
1
2
|
import { EmailAddress } from '../contact/email';
|
|
2
3
|
import { E164PhoneNumberExtensionPair, E164PhoneNumberWithOptionalExtension, PhoneNumber } from '../contact/phone';
|
|
3
4
|
import { IndexRangeInput } from './../value/indexed';
|
|
@@ -39,8 +40,21 @@ export declare const WEBSITE_DOMAIN_NAME_REGEX: RegExp;
|
|
|
39
40
|
export declare function hasWebsiteDomain(input: string): input is WebsiteDomain;
|
|
40
41
|
/**
|
|
41
42
|
* A website url that starts with http:// or https://
|
|
43
|
+
*
|
|
44
|
+
* May or may not end with a slash.
|
|
42
45
|
*/
|
|
43
46
|
export declare type BaseWebsiteUrl<D extends WebsiteDomain = WebsiteDomain> = `http://${D}` | `https://${D}`;
|
|
47
|
+
/**
|
|
48
|
+
* Input for baseWebsiteUrl()
|
|
49
|
+
*/
|
|
50
|
+
export declare type BaseWebsiteUrlInput = string | WebsiteUrl | WebsiteDomain;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a base website url from the input domain or url.
|
|
53
|
+
*
|
|
54
|
+
* @param input
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
export declare function baseWebsiteUrl(input: BaseWebsiteUrlInput, defaultTld?: string): BaseWebsiteUrl;
|
|
44
58
|
/**
|
|
45
59
|
* A website url. Is at minimum a domain.
|
|
46
60
|
*
|
|
@@ -69,6 +83,13 @@ export declare type WebsiteDomainAndPath = string;
|
|
|
69
83
|
* - /doc/home?test=true
|
|
70
84
|
*/
|
|
71
85
|
export declare type WebsitePath = `/${string}`;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a WebsiteUrl from the input
|
|
88
|
+
* @param basePath
|
|
89
|
+
* @param paths
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
export declare function websiteUrlFromPaths(basePath: BaseWebsiteUrlInput, paths: ArrayOrValue<Maybe<WebsitePath>>): WebsiteUrl;
|
|
72
93
|
/**
|
|
73
94
|
* Any query parameters that follow the path.
|
|
74
95
|
*/
|
package/src/lib/string/url.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.telUrlStringForE164PhoneNumberPair = exports.telUrlString = exports.mailToUrlString = exports.hasHttpPrefix = exports.removeHttpFromUrl = exports.addHttpToUrl = exports.removeWebProtocolPrefix = exports.setWebProtocolPrefix = exports.WEB_PROTOCOL_PREFIX_REGEX = exports.HTTP_OR_HTTPS_REGEX = exports.websiteDomainAndPathPair = exports.websitePathFromWebsiteDomainAndPath = exports.websiteDomainAndPathPairFromWebsiteUrl = exports.websitePathFromWebsiteUrl = exports.fixExtraQueryParameters = exports.websitePathAndQueryPair = exports.isolateWebsitePathFunction = exports.hasWebsiteDomain = exports.WEBSITE_DOMAIN_NAME_REGEX = void 0;
|
|
3
|
+
exports.telUrlStringForE164PhoneNumberPair = exports.telUrlString = exports.mailToUrlString = exports.hasHttpPrefix = exports.removeHttpFromUrl = exports.addHttpToUrl = exports.removeWebProtocolPrefix = exports.setWebProtocolPrefix = exports.WEB_PROTOCOL_PREFIX_REGEX = exports.HTTP_OR_HTTPS_REGEX = exports.websiteDomainAndPathPair = exports.websitePathFromWebsiteDomainAndPath = exports.websiteDomainAndPathPairFromWebsiteUrl = exports.websitePathFromWebsiteUrl = exports.fixExtraQueryParameters = exports.websitePathAndQueryPair = exports.isolateWebsitePathFunction = exports.websiteUrlFromPaths = exports.baseWebsiteUrl = exports.hasWebsiteDomain = exports.WEBSITE_DOMAIN_NAME_REGEX = void 0;
|
|
4
|
+
const array_1 = require("../array/array");
|
|
4
5
|
const phone_1 = require("../contact/phone");
|
|
5
6
|
const path_1 = require("../path/path");
|
|
6
7
|
const map_1 = require("../value/map");
|
|
@@ -27,6 +28,37 @@ function hasWebsiteDomain(input) {
|
|
|
27
28
|
return exports.WEBSITE_DOMAIN_NAME_REGEX.test(input);
|
|
28
29
|
}
|
|
29
30
|
exports.hasWebsiteDomain = hasWebsiteDomain;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a base website url from the input domain or url.
|
|
33
|
+
*
|
|
34
|
+
* @param input
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
function baseWebsiteUrl(input, defaultTld = 'com') {
|
|
38
|
+
let base;
|
|
39
|
+
if (hasHttpPrefix(input)) {
|
|
40
|
+
base = input;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
base = addHttpToUrl(input);
|
|
44
|
+
}
|
|
45
|
+
if (!hasWebsiteDomain(base)) {
|
|
46
|
+
base = `${base}.${defaultTld || 'com'}`;
|
|
47
|
+
}
|
|
48
|
+
return base;
|
|
49
|
+
}
|
|
50
|
+
exports.baseWebsiteUrl = baseWebsiteUrl;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a WebsiteUrl from the input
|
|
53
|
+
* @param basePath
|
|
54
|
+
* @param paths
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
function websiteUrlFromPaths(basePath, paths) {
|
|
58
|
+
const basePathWithoutHttp = removeHttpFromUrl(baseWebsiteUrl(basePath));
|
|
59
|
+
return addHttpToUrl((0, path_1.mergeSlashPaths)([basePathWithoutHttp, ...(0, array_1.asArray)(paths)]));
|
|
60
|
+
}
|
|
61
|
+
exports.websiteUrlFromPaths = websiteUrlFromPaths;
|
|
30
62
|
/**
|
|
31
63
|
* Creates a new ExcludeBaseWebsitePathFunction that excludes the base path from the input website path if it exists.
|
|
32
64
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/string/url.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/string/url.ts"],"names":[],"mappings":"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"}
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.24.28](https://github.com/dereekb/dbx-components/compare/v9.24.27-dev...v9.24.28) (2023-08-15)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.24.27](https://github.com/dereekb/dbx-components/compare/v9.24.26-dev...v9.24.27) (2023-08-15)
|
|
6
10
|
|
|
7
11
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.24.
|
|
3
|
+
"version": "9.24.28",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/util": "9.24.
|
|
9
|
+
"@dereekb/util": "9.24.28",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"class-validator": "^0.13.2",
|