@loadmill/universal 0.3.28 → 0.3.32
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/dist/uri-utils.d.ts +1 -0
- package/dist/uri-utils.js +18 -10
- package/dist/uri-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/cron-utils.ts +1 -1
- package/src/errors/json-schema-error.ts +1 -1
- package/src/uri-utils.ts +18 -7
- package/test/array-utils.spec.js +11 -0
package/dist/uri-utils.d.ts
CHANGED
|
@@ -6,3 +6,4 @@ export declare function stripProtocol(urlish: string): string;
|
|
|
6
6
|
export declare function encodePart(urlPart: string): string;
|
|
7
7
|
export declare function decodePart(urlPart: string): string;
|
|
8
8
|
export declare function isVerified(domain: string, verifiedDomains: string[]): boolean;
|
|
9
|
+
export declare function getFullUrl(url: string): string;
|
package/dist/uri-utils.js
CHANGED
|
@@ -3,10 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isVerified = exports.decodePart = exports.encodePart = exports.stripProtocol = exports.normalizeDomain = exports.getDomain = exports.parseQuery = exports.withProtocol = void 0;
|
|
6
|
+
exports.getFullUrl = exports.isVerified = exports.decodePart = exports.encodePart = exports.stripProtocol = exports.normalizeDomain = exports.getDomain = exports.parseQuery = exports.withProtocol = void 0;
|
|
7
7
|
var urijs_1 = __importDefault(require("urijs"));
|
|
8
|
+
var SUPPORTED_PROTOCOLS = ['http', 'https', 'ws', 'wss'];
|
|
9
|
+
var isUrlStartsWithSupportedProtocol = function (url, delimiter) {
|
|
10
|
+
if (delimiter === void 0) { delimiter = ':'; }
|
|
11
|
+
return SUPPORTED_PROTOCOLS.some(function (protocol) {
|
|
12
|
+
return url.startsWith(protocol + delimiter);
|
|
13
|
+
});
|
|
14
|
+
};
|
|
8
15
|
function withProtocol(url) {
|
|
9
|
-
if (url && !
|
|
16
|
+
if (url && !isUrlStartsWithSupportedProtocol(url)) {
|
|
10
17
|
url = 'http://' + url;
|
|
11
18
|
}
|
|
12
19
|
return url;
|
|
@@ -29,15 +36,12 @@ function normalizeDomain(domain) {
|
|
|
29
36
|
}
|
|
30
37
|
exports.normalizeDomain = normalizeDomain;
|
|
31
38
|
function stripProtocol(urlish) {
|
|
32
|
-
if (urlish
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return urlish.substring(8, urlish.length);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return urlish;
|
|
39
|
+
if (isUrlStartsWithSupportedProtocol(urlish, '://')) {
|
|
40
|
+
var url = new urijs_1.default(urlish);
|
|
41
|
+
var protocolLength = url.protocol().length;
|
|
42
|
+
return urlish.substring(protocolLength, urlish.length);
|
|
40
43
|
}
|
|
44
|
+
return urlish;
|
|
41
45
|
}
|
|
42
46
|
exports.stripProtocol = stripProtocol;
|
|
43
47
|
function encodePart(urlPart) {
|
|
@@ -54,6 +58,10 @@ function isVerified(domain, verifiedDomains) {
|
|
|
54
58
|
});
|
|
55
59
|
}
|
|
56
60
|
exports.isVerified = isVerified;
|
|
61
|
+
function getFullUrl(url) {
|
|
62
|
+
return new URL(withProtocol(url)).href;
|
|
63
|
+
}
|
|
64
|
+
exports.getFullUrl = getFullUrl;
|
|
57
65
|
/**
|
|
58
66
|
* Assumes both domains are properly normalized.
|
|
59
67
|
*
|
package/dist/uri-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uri-utils.js","sourceRoot":"","sources":["../src/uri-utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,
|
|
1
|
+
{"version":3,"file":"uri-utils.js","sourceRoot":"","sources":["../src/uri-utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,IAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAE3D,IAAM,gCAAgC,GAAG,UAAC,GAAW,EAAE,SAAe;IAAf,0BAAA,EAAA,eAAe;IACpE,OAAA,mBAAmB,CAAC,IAAI,CAAC,UAAA,QAAQ;QAC/B,OAAA,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;IAApC,CAAoC,CACrC;AAFD,CAEC,CAAC;AAEJ,SAAgB,YAAY,CAAC,GAAW;IACtC,IAAI,GAAG,IAAI,CAAC,gCAAgC,CAAC,GAAG,CAAC,EAAE;QACjD,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC;KACvB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AALD,oCAKC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,eAAG,CAAC,UAAU,CAAC,KAAK,CAAQ,CAAC;AACtC,CAAC;AAFD,gCAEC;AAED,SAAgB,SAAS,CAAC,GAAG;IAC3B,IAAM,SAAS,GAAG,IAAI,eAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAHD,8BAGC;AAED,SAAgB,eAAe,CAAC,MAAe;IAC7C,OAAO,CACL,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;SACxB,WAAW,EAAE;QACd,mBAAmB;SAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,CAAC;AACJ,CAAC;AAPD,0CAOC;AAED,SAAgB,aAAa,CAAC,MAAc;IAC1C,IAAI,gCAAgC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QACnD,IAAM,GAAG,GAAG,IAAI,eAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;QAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;KACxD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,sCAQC;AAED,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,eAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAFD,gCAEC;AAED,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,eAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAFD,gCAEC;AAED,SAAgB,UAAU,CAAC,MAAc,EAAE,eAAyB;IAClE,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAC,cAAc;QAC3C,OAAA,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;IAAnC,CAAmC,CACpC,CAAC;AACJ,CAAC;AAJD,gCAIC;AAED,SAAgB,UAAU,CAAE,GAAW;IACrC,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,OAAe,EAAE,OAAe;IACnD,OAAO,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;AAChE,CAAC"}
|
package/package.json
CHANGED
package/src/cron-utils.ts
CHANGED
|
@@ -48,6 +48,6 @@ export const VALID_DAYS = {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
export const VALID_HOURS = [
|
|
51
|
-
'00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00', '07:00', '08:00', '09:00', '10:00', '11:00',
|
|
51
|
+
'00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00', '07:00', '08:00', '09:00', '10:00', '11:00',
|
|
52
52
|
'12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00', '23:00'
|
|
53
53
|
];
|
|
@@ -3,7 +3,7 @@ import PresentableError from './presentable-error';
|
|
|
3
3
|
export default class JSONSchemaAssertionError extends PresentableError {
|
|
4
4
|
constructor(public readonly prettyMessage) {
|
|
5
5
|
super(prettyMessage);
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
// Workaround suggested in: https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
8
8
|
Object.setPrototypeOf(this, JSONSchemaAssertionError.prototype);
|
|
9
9
|
}
|
package/src/uri-utils.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import URI from 'urijs';
|
|
2
2
|
|
|
3
|
+
const SUPPORTED_PROTOCOLS = ['http', 'https', 'ws', 'wss'];
|
|
4
|
+
|
|
5
|
+
const isUrlStartsWithSupportedProtocol = (url: string, delimiter = ':') =>
|
|
6
|
+
SUPPORTED_PROTOCOLS.some(protocol =>
|
|
7
|
+
url.startsWith(protocol + delimiter)
|
|
8
|
+
);
|
|
9
|
+
|
|
3
10
|
export function withProtocol(url: string) {
|
|
4
|
-
if (url && !
|
|
11
|
+
if (url && !isUrlStartsWithSupportedProtocol(url)) {
|
|
5
12
|
url = 'http://' + url;
|
|
6
13
|
}
|
|
7
14
|
return url;
|
|
@@ -26,13 +33,13 @@ export function normalizeDomain(domain?: string) {
|
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
export function stripProtocol(urlish: string) {
|
|
29
|
-
if (urlish
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return urlish.substring(
|
|
33
|
-
} else {
|
|
34
|
-
return urlish;
|
|
36
|
+
if (isUrlStartsWithSupportedProtocol(urlish, '://')) {
|
|
37
|
+
const url = new URI(urlish);
|
|
38
|
+
const protocolLength = url.protocol().length;
|
|
39
|
+
return urlish.substring(protocolLength, urlish.length);
|
|
35
40
|
}
|
|
41
|
+
|
|
42
|
+
return urlish;
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
export function encodePart(urlPart: string) {
|
|
@@ -49,6 +56,10 @@ export function isVerified(domain: string, verifiedDomains: string[]) {
|
|
|
49
56
|
);
|
|
50
57
|
}
|
|
51
58
|
|
|
59
|
+
export function getFullUrl (url: string) {
|
|
60
|
+
return new URL(withProtocol(url)).href;
|
|
61
|
+
}
|
|
62
|
+
|
|
52
63
|
/**
|
|
53
64
|
* Assumes both domains are properly normalized.
|
|
54
65
|
*
|
package/test/array-utils.spec.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
const { expect } = require('chai');
|
|
2
|
+
const { describe, it } = require('mocha');
|
|
3
|
+
const { parameterUtils } = require('../../core/dist/parameters');
|
|
2
4
|
const arrayUtils = require('../dist/array-utils');
|
|
3
5
|
|
|
4
6
|
describe('array-utils', () => {
|
|
@@ -20,5 +22,14 @@ describe('array-utils', () => {
|
|
|
20
22
|
arrayUtils.swap(arr3, 3, 0);
|
|
21
23
|
expect(arr3).deep.equal([{ order: 3 }, { order: 0 }, { order: 1 }, { order: 2 }]);
|
|
22
24
|
});
|
|
25
|
+
|
|
26
|
+
it('uniqByKeepLast function', () => {
|
|
27
|
+
let params = [{ a: 1 }, { a: 2 }, { a: 3 }];
|
|
28
|
+
expect(arrayUtils.uniqByKeepLast(params, parameterUtils.getParameterName)).to.eql([{ a: 3 }]);
|
|
29
|
+
params = [{ a: 1 }, { b: 2 }];
|
|
30
|
+
expect(arrayUtils.uniqByKeepLast(params, parameterUtils.getParameterName)).to.eql([{ a: 1 }, { b:2 }]);
|
|
31
|
+
params = [{ a: 1 }, { b: 2 }, { a: 4 }];
|
|
32
|
+
expect(arrayUtils.uniqByKeepLast(params, parameterUtils.getParameterName)).to.eql([{ b:2 }, { a:4 }]);
|
|
33
|
+
});
|
|
23
34
|
});
|
|
24
35
|
});
|