@dereekb/util 9.17.2 → 9.18.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.
- package/CHANGELOG.md +20 -0
- package/fetch/CHANGELOG.md +13 -0
- package/fetch/package.json +3 -3
- package/fetch/src/lib/fetch.d.ts +4 -1
- package/fetch/src/lib/fetch.js +61 -7
- package/fetch/src/lib/fetch.js.map +1 -1
- package/fetch/src/lib/json.d.ts +22 -3
- package/fetch/src/lib/json.js +42 -22
- package/fetch/src/lib/json.js.map +1 -1
- package/package.json +8 -5
- package/src/lib/array/array.number.js +9 -2
- package/src/lib/array/array.number.js.map +1 -1
- package/src/lib/boolean.d.ts +29 -0
- package/src/lib/boolean.js +24 -1
- package/src/lib/boolean.js.map +1 -1
- package/src/lib/date/week.d.ts +30 -0
- package/src/lib/date/week.js +75 -2
- package/src/lib/date/week.js.map +1 -1
- package/src/lib/map/map.d.ts +23 -2
- package/src/lib/map/map.js +39 -2
- package/src/lib/map/map.js.map +1 -1
- package/src/lib/map/map.key.d.ts +3 -0
- package/src/lib/map/map.key.js +6 -0
- package/src/lib/map/map.key.js.map +1 -1
- package/src/lib/model/model.js +1 -1
- package/src/lib/model/model.js.map +1 -1
- package/src/lib/number/dollar.d.ts +32 -0
- package/src/lib/number/dollar.js +32 -0
- package/src/lib/number/dollar.js.map +1 -0
- package/src/lib/number/index.d.ts +1 -0
- package/src/lib/number/index.js +1 -0
- package/src/lib/number/index.js.map +1 -1
- package/src/lib/number/number.d.ts +3 -0
- package/src/lib/number/number.js +8 -1
- package/src/lib/number/number.js.map +1 -1
- package/src/lib/set/set.d.ts +28 -2
- package/src/lib/set/set.js +55 -6
- package/src/lib/set/set.js.map +1 -1
- package/src/lib/set/set.selection.js.map +1 -1
- package/src/lib/sort.d.ts +17 -0
- package/src/lib/sort.js +31 -1
- package/src/lib/sort.js.map +1 -1
- package/test/CHANGELOG.md +8 -0
- package/test/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [9.18.0](https://github.com/dereekb/dbx-components/compare/v9.17.3-dev...v9.18.0) (2022-12-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* fixed typescript import issue introduced in 4.7 ([168c8b9](https://github.com/dereekb/dbx-components/commit/168c8b96077f4bf091a12415f3174b20687de22d))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* added dateScheduleDateFilter() ([ab0e381](https://github.com/dereekb/dbx-components/commit/ab0e3810f3fc74695dc558a27e9c9d6d45302e1f))
|
|
16
|
+
* added dateScheduleRangeField() ([#22](https://github.com/dereekb/dbx-components/issues/22)) ([1979f3b](https://github.com/dereekb/dbx-components/commit/1979f3b4573315ff4a2b289cc2e645718f33a29c))
|
|
17
|
+
* added IsDateWithinDateBlockRangeFunction ([994c6b1](https://github.com/dereekb/dbx-components/commit/994c6b1a018bfb81801775b2901c565aab1d52c8))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## [9.17.3](https://github.com/dereekb/dbx-components/compare/v9.17.2-dev...v9.17.3) (2022-12-01)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
5
25
|
## [9.17.2](https://github.com/dereekb/dbx-components/compare/v9.17.1-dev...v9.17.2) (2022-11-28)
|
|
6
26
|
|
|
7
27
|
|
package/fetch/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [9.18.0](https://github.com/dereekb/dbx-components/compare/v9.17.3-dev...v9.18.0) (2022-12-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added dateScheduleRangeField() ([#22](https://github.com/dereekb/dbx-components/issues/22)) ([1979f3b](https://github.com/dereekb/dbx-components/commit/1979f3b4573315ff4a2b289cc2e645718f33a29c))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [9.17.3](https://github.com/dereekb/dbx-components/compare/v9.17.2-dev...v9.17.3) (2022-12-01)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
5
18
|
## [9.17.2](https://github.com/dereekb/dbx-components/compare/v9.17.1-dev...v9.17.2) (2022-11-28)
|
|
6
19
|
|
|
7
20
|
|
package/fetch/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/fetch",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.18.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
|
-
"
|
|
5
|
+
"types": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/util": "9.
|
|
8
|
+
"@dereekb/util": "9.18.0",
|
|
9
9
|
"lodash.isequal": "^4.5.0",
|
|
10
10
|
"make-error": "^1.3.0",
|
|
11
11
|
"class-validator": "^0.13.2",
|
package/fetch/src/lib/fetch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Factory, MapFunction, WebsiteUrl } from '@dereekb/util';
|
|
1
|
+
import { Factory, MapFunction, Maybe, WebsiteUrl } from '@dereekb/util';
|
|
2
2
|
import { ConfiguredFetchWithTimeout, RequestInitWithTimeout } from './fetch.type';
|
|
3
3
|
/**
|
|
4
4
|
* Interface used for creating fetch related resource factories.
|
|
@@ -82,4 +82,7 @@ export declare type FetchRequestInitFactory = (currRequest: Request, init?: Requ
|
|
|
82
82
|
export declare type FetchRequestFactory = (input: RequestInfo | URL, init?: RequestInit | undefined) => Request;
|
|
83
83
|
export declare type AbortControllerFactory = Factory<AbortController>;
|
|
84
84
|
export declare function fetchRequestFactory(config: FetchRequestFactoryInput): FetchRequestFactory;
|
|
85
|
+
export declare function mergeRequestInits<T extends RequestInit>(base: T, requestInit?: T | undefined): T;
|
|
86
|
+
export declare function mergeRequestHeaders(inputHeadersArray: Maybe<HeadersInit>[]): [string, string][];
|
|
87
|
+
export declare function headersToHeadersTuple(headers: HeadersInit): [string, string][];
|
|
85
88
|
export declare function isFetchRequest(input: unknown): input is Request;
|
package/fetch/src/lib/fetch.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFetchRequest = exports.fetchRequestFactory = exports.configureFetch = exports.fetchService = void 0;
|
|
3
|
+
exports.isFetchRequest = exports.headersToHeadersTuple = exports.mergeRequestHeaders = exports.mergeRequestInits = exports.fetchRequestFactory = exports.configureFetch = exports.fetchService = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
5
|
const error_1 = require("./error");
|
|
6
6
|
const timeout_1 = require("./timeout");
|
|
@@ -50,7 +50,7 @@ exports.configureFetch = configureFetch;
|
|
|
50
50
|
function fetchRequestFactory(config) {
|
|
51
51
|
const { makeRequest = (input, init) => new Request(input, init), baseUrl: inputBaseUrl, baseRequest: inputBaseRequest, timeout, requestInitFactory, useBaseUrlForConfiguredFetchRequests = false } = config;
|
|
52
52
|
const baseUrl = inputBaseUrl ? new URL((0, util_1.removeTrailingSlashes)(inputBaseUrl)) : undefined;
|
|
53
|
-
const baseRequest = timeout ? Object.assign(Object.assign({}, inputBaseRequest), { timeout }) : inputBaseRequest;
|
|
53
|
+
const baseRequest = (timeout ? Object.assign(Object.assign({}, inputBaseRequest), { timeout }) : inputBaseRequest);
|
|
54
54
|
const buildUrl = baseUrl
|
|
55
55
|
? (url) => {
|
|
56
56
|
// retain the origin and any pathname from the base url
|
|
@@ -95,11 +95,18 @@ function fetchRequestFactory(config) {
|
|
|
95
95
|
}
|
|
96
96
|
: asFetchRequest;
|
|
97
97
|
let buildRequestInit;
|
|
98
|
-
if (baseRequest
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
if (baseRequest) {
|
|
99
|
+
function combineRequestInits(request, requestInit) {
|
|
100
|
+
const merged = mergeRequestInits(baseRequest, requestInit);
|
|
101
|
+
const timeout = merged.timeout === undefined ? request.timeout : merged.timeout;
|
|
102
|
+
return Object.assign(Object.assign({}, merged), { timeout });
|
|
103
|
+
}
|
|
104
|
+
if (requestInitFactory) {
|
|
105
|
+
buildRequestInit = (req, x) => requestInitFactory(req, combineRequestInits(req, x));
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
buildRequestInit = (req, x) => combineRequestInits(req, x);
|
|
109
|
+
}
|
|
103
110
|
}
|
|
104
111
|
else if (requestInitFactory) {
|
|
105
112
|
buildRequestInit = requestInitFactory;
|
|
@@ -116,6 +123,53 @@ function fetchRequestFactory(config) {
|
|
|
116
123
|
};
|
|
117
124
|
}
|
|
118
125
|
exports.fetchRequestFactory = fetchRequestFactory;
|
|
126
|
+
function mergeRequestInits(base, requestInit) {
|
|
127
|
+
if (requestInit) {
|
|
128
|
+
const headers = mergeRequestHeaders([base.headers, requestInit === null || requestInit === void 0 ? void 0 : requestInit.headers]);
|
|
129
|
+
return Object.assign(Object.assign(Object.assign({}, base), requestInit), { headers });
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return base;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.mergeRequestInits = mergeRequestInits;
|
|
136
|
+
function mergeRequestHeaders(inputHeadersArray) {
|
|
137
|
+
const headersMap = (0, util_1.multiValueMapBuilder)();
|
|
138
|
+
(0, util_1.filterMaybeValues)(inputHeadersArray).forEach((headers, i) => {
|
|
139
|
+
const tuples = headersToHeadersTuple(headers);
|
|
140
|
+
const visitedKeysSet = new Set();
|
|
141
|
+
tuples.forEach(([key, value]) => {
|
|
142
|
+
if (!visitedKeysSet.has(key)) {
|
|
143
|
+
headersMap.delete(key); // delete all existing values to "override" them
|
|
144
|
+
visitedKeysSet.add(key);
|
|
145
|
+
}
|
|
146
|
+
if (value) {
|
|
147
|
+
headersMap.add(key, value);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
return headersMap.tuples();
|
|
152
|
+
}
|
|
153
|
+
exports.mergeRequestHeaders = mergeRequestHeaders;
|
|
154
|
+
function headersToHeadersTuple(headers) {
|
|
155
|
+
let tuples = [];
|
|
156
|
+
if (Array.isArray(headers)) {
|
|
157
|
+
// use as tuples
|
|
158
|
+
tuples = headers;
|
|
159
|
+
}
|
|
160
|
+
else if (typeof headers.forEach === 'function') {
|
|
161
|
+
// use as a headers object
|
|
162
|
+
headers.forEach((value, key) => {
|
|
163
|
+
tuples.push([key, value]);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
else if (typeof headers === 'object') {
|
|
167
|
+
// use as a normal object
|
|
168
|
+
tuples = (0, util_1.objectToTuples)(headers);
|
|
169
|
+
}
|
|
170
|
+
return tuples;
|
|
171
|
+
}
|
|
172
|
+
exports.headersToHeadersTuple = headersToHeadersTuple;
|
|
119
173
|
function isFetchRequest(input) {
|
|
120
174
|
return Boolean(input.url);
|
|
121
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/fetch.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/fetch.ts"],"names":[],"mappings":"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"}
|
package/fetch/src/lib/json.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MapSameFunction } from '@dereekb/util';
|
|
1
2
|
import { FetchMethod, ConfiguredFetch } from './fetch.type';
|
|
2
3
|
import { FetchURLInput } from './url';
|
|
3
4
|
export declare type FetchJsonBody = string | object;
|
|
@@ -14,8 +15,9 @@ export declare class JsonResponseParseError extends Error {
|
|
|
14
15
|
export declare function fetchJsonBodyString(body: FetchJsonBody | undefined): string | undefined;
|
|
15
16
|
export interface FetchJsonInput extends Omit<RequestInit, 'body'> {
|
|
16
17
|
method: FetchMethod;
|
|
17
|
-
body?: FetchJsonBody;
|
|
18
|
+
body?: FetchJsonBody | undefined;
|
|
18
19
|
}
|
|
20
|
+
export declare type FetchJsonInputMapFunction = MapSameFunction<FetchJsonInput>;
|
|
19
21
|
export declare type FetchJsonGetFunction = <R>(url: FetchURLInput) => Promise<R>;
|
|
20
22
|
export declare type FetchJsonMethodAndBodyFunction = <R>(url: FetchURLInput, method: string, body?: FetchJsonBody) => Promise<R>;
|
|
21
23
|
export declare type FetchJsonWithInputFunction = <R>(url: FetchURLInput, input: FetchJsonInput) => Promise<R>;
|
|
@@ -26,8 +28,25 @@ export declare type FetchJsonFunction = FetchJsonGetFunction & FetchJsonMethodAn
|
|
|
26
28
|
export declare type HandleFetchJsonParseErrorFunction = (response: Response) => string | null | never;
|
|
27
29
|
export declare const throwJsonResponseParseErrorFunction: HandleFetchJsonParseErrorFunction;
|
|
28
30
|
export declare const returnNullHandleFetchJsonParseErrorFunction: HandleFetchJsonParseErrorFunction;
|
|
31
|
+
export interface FetchJsonFunctionConfig extends FetchJsonRequestInitFunctionConfig {
|
|
32
|
+
handleFetchJsonParseErrorFunction?: HandleFetchJsonParseErrorFunction;
|
|
33
|
+
}
|
|
29
34
|
/**
|
|
30
35
|
* Creates a FetchJsonFunction from the input ConfiguredFetch.
|
|
31
36
|
*/
|
|
32
|
-
export declare function fetchJsonFunction(fetch: ConfiguredFetch,
|
|
33
|
-
export
|
|
37
|
+
export declare function fetchJsonFunction(fetch: ConfiguredFetch, inputConfig?: FetchJsonFunctionConfig | HandleFetchJsonParseErrorFunction): FetchJsonFunction;
|
|
38
|
+
export interface FetchJsonRequestInitFunctionConfig {
|
|
39
|
+
/**
|
|
40
|
+
* Default request method.
|
|
41
|
+
*
|
|
42
|
+
* Defaults to GET
|
|
43
|
+
*/
|
|
44
|
+
defaultMethod?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Optional map function to modify the FetchJsonInput before it is finalized into a RequestInit value.
|
|
47
|
+
*/
|
|
48
|
+
mapFetchJsonInput?: FetchJsonInputMapFunction;
|
|
49
|
+
}
|
|
50
|
+
export declare type FetchJsonRequestInitFunction = (methodOrInput?: string | FetchJsonInput | undefined, body?: FetchJsonBody) => RequestInit;
|
|
51
|
+
export declare function fetchJsonRequestInitFunction(config?: FetchJsonRequestInitFunctionConfig): FetchJsonRequestInitFunction;
|
|
52
|
+
export declare const fetchJsonRequestInit: FetchJsonRequestInitFunction;
|
package/fetch/src/lib/json.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchJsonRequestInit = exports.fetchJsonFunction = exports.returnNullHandleFetchJsonParseErrorFunction = exports.throwJsonResponseParseErrorFunction = exports.fetchJsonBodyString = exports.JsonResponseParseError = void 0;
|
|
3
|
+
exports.fetchJsonRequestInit = exports.fetchJsonRequestInitFunction = exports.fetchJsonFunction = exports.returnNullHandleFetchJsonParseErrorFunction = exports.throwJsonResponseParseErrorFunction = exports.fetchJsonBodyString = exports.JsonResponseParseError = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
4
5
|
const url_1 = require("./url");
|
|
5
6
|
class JsonResponseParseError extends Error {
|
|
6
7
|
constructor(response) {
|
|
@@ -28,33 +29,52 @@ exports.returnNullHandleFetchJsonParseErrorFunction = returnNullHandleFetchJsonP
|
|
|
28
29
|
/**
|
|
29
30
|
* Creates a FetchJsonFunction from the input ConfiguredFetch.
|
|
30
31
|
*/
|
|
31
|
-
function fetchJsonFunction(fetch,
|
|
32
|
+
function fetchJsonFunction(fetch, inputConfig) {
|
|
33
|
+
var _a;
|
|
34
|
+
let config;
|
|
35
|
+
if (typeof inputConfig === 'function') {
|
|
36
|
+
config = {
|
|
37
|
+
handleFetchJsonParseErrorFunction: inputConfig
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
config = inputConfig !== null && inputConfig !== void 0 ? inputConfig : {};
|
|
42
|
+
}
|
|
43
|
+
config = Object.assign(Object.assign({}, config), { handleFetchJsonParseErrorFunction: (_a = config.handleFetchJsonParseErrorFunction) !== null && _a !== void 0 ? _a : exports.throwJsonResponseParseErrorFunction });
|
|
44
|
+
const { handleFetchJsonParseErrorFunction } = config;
|
|
45
|
+
const configuredFetchJsonRequestInit = fetchJsonRequestInitFunction(config);
|
|
32
46
|
return (url, methodOrInput, body) => {
|
|
33
47
|
const requestUrl = (0, url_1.fetchURL)(url);
|
|
34
|
-
const requestInit =
|
|
48
|
+
const requestInit = configuredFetchJsonRequestInit(methodOrInput, body);
|
|
35
49
|
const response = fetch(requestUrl, requestInit);
|
|
36
50
|
return response.then((x) => x.json().catch(handleFetchJsonParseErrorFunction));
|
|
37
51
|
};
|
|
38
52
|
}
|
|
39
53
|
exports.fetchJsonFunction = fetchJsonFunction;
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
function fetchJsonRequestInitFunction(config = {}) {
|
|
55
|
+
const { defaultMethod = 'GET', mapFetchJsonInput = (0, util_1.mapIdentityFunction)() } = config;
|
|
56
|
+
return (methodOrInput = defaultMethod, body) => {
|
|
57
|
+
var _a;
|
|
58
|
+
let config;
|
|
59
|
+
if (methodOrInput === null) {
|
|
60
|
+
config = {
|
|
61
|
+
method: defaultMethod
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
else if (typeof methodOrInput === 'string') {
|
|
65
|
+
config = {
|
|
66
|
+
method: methodOrInput,
|
|
67
|
+
body
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
config = methodOrInput;
|
|
72
|
+
}
|
|
73
|
+
config = mapFetchJsonInput(config);
|
|
74
|
+
const requestInit = Object.assign(Object.assign({}, config), { method: (_a = config.method) !== null && _a !== void 0 ? _a : defaultMethod, body: fetchJsonBodyString(config.body) });
|
|
75
|
+
return requestInit;
|
|
76
|
+
};
|
|
58
77
|
}
|
|
59
|
-
exports.
|
|
78
|
+
exports.fetchJsonRequestInitFunction = fetchJsonRequestInitFunction;
|
|
79
|
+
exports.fetchJsonRequestInit = fetchJsonRequestInitFunction();
|
|
60
80
|
//# sourceMappingURL=json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/json.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../packages/util/fetch/src/lib/json.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.18.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
|
-
"main": "./src/index.js",
|
|
8
7
|
"types": "./src/index.d.ts",
|
|
8
|
+
"main": "./src/index.js",
|
|
9
|
+
"require": "./src/index.js",
|
|
9
10
|
"default": "./src/index.js"
|
|
10
11
|
},
|
|
11
12
|
"./test": {
|
|
12
|
-
"main": "./test/src/index.js",
|
|
13
13
|
"types": "./test/src/index.d.ts",
|
|
14
|
+
"main": "./test/src/index.js",
|
|
15
|
+
"require": "./test/src/index.js",
|
|
14
16
|
"default": "./test/src/index.js"
|
|
15
17
|
},
|
|
16
18
|
"./fetch": {
|
|
17
|
-
"main": "./fetch/src/index.js",
|
|
18
19
|
"types": "./fetch/src/index.d.ts",
|
|
20
|
+
"main": "./fetch/src/index.js",
|
|
21
|
+
"require": "./fetch/src/index.js",
|
|
19
22
|
"default": "./fetch/src/index.js"
|
|
20
23
|
}
|
|
21
24
|
},
|
|
@@ -28,6 +31,6 @@
|
|
|
28
31
|
"tslib": "^2.0.0"
|
|
29
32
|
},
|
|
30
33
|
"main": "./src/index.js",
|
|
31
|
-
"
|
|
34
|
+
"types": "./src/index.d.ts",
|
|
32
35
|
"dependencies": {}
|
|
33
36
|
}
|
|
@@ -66,8 +66,15 @@ function range(input, inputEnd) {
|
|
|
66
66
|
start = (_a = input.start) !== null && _a !== void 0 ? _a : 0;
|
|
67
67
|
end = input.end;
|
|
68
68
|
}
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
if (end >= start) {
|
|
70
|
+
for (let i = start; i < end; i += 1) {
|
|
71
|
+
range.push(i);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
for (let i = start; i > end; i -= 1) {
|
|
76
|
+
range.push(i);
|
|
77
|
+
}
|
|
71
78
|
}
|
|
72
79
|
return range;
|
|
73
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.number.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAwB;IAC5E,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAwB;IAC7D,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAwB;IAC5E,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAwB;IAC7D,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAe,GAAG,CAAC;IACvE,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,sBAAsB,CAAC,eAAe,GAAG,CAAC;IACxD,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;AAC3D,CAAC;AAFD,wDAEC;AAED,SAAgB,aAAa,CAAC,QAA0C,EAAE,KAAe,EAAE,eAAwB;IACjH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,eAAe,CAAC;KACxB;SAAM;QACL,OAAO,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;KAC1D;AACH,CAAC;AAND,sCAMC;AAID,SAAgB,eAAe,CAAmB,QAA0C,EAAE,eAAmB;IAC/G,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAC5E,CAAC;AAHD,0CAGC;AAOD;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,KAAiB,EAAE,QAAiB;;IACxD,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,IAAI,KAAa,CAAC;IAClB,IAAI,GAAW,CAAC;IAEhB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,KAAK,GAAG,KAAK,CAAC;YACd,GAAG,GAAG,QAAQ,CAAC;SAChB;aAAM;YACL,KAAK,GAAG,CAAC,CAAC;YACV,GAAG,GAAG,KAAK,CAAC;SACb;KACF;SAAM;QACL,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,CAAC,CAAC;QACzB,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;KACjB;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"array.number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/array/array.number.ts"],"names":[],"mappings":"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"}
|
package/src/lib/boolean.d.ts
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
|
+
import { Factory } from './getter/getter';
|
|
1
2
|
export declare function reduceBooleansWithAnd(array: boolean[], emptyArrayValue?: boolean): boolean;
|
|
2
3
|
export declare function reduceBooleansWithOr(array: boolean[], emptyArrayValue?: boolean): boolean;
|
|
3
4
|
export declare function reduceBooleansWithAndFn(emptyArrayValue?: boolean): (array: boolean[]) => boolean;
|
|
4
5
|
export declare function reduceBooleansWithOrFn(emptyArrayValue?: boolean): (array: boolean[]) => boolean;
|
|
5
6
|
export declare function reduceBooleansFn(reduceFn: (a: boolean, b: boolean) => boolean, emptyArrayValue?: boolean): (array: boolean[]) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Factory that generates boolean values.
|
|
9
|
+
*/
|
|
10
|
+
export declare type BooleanFactory = Factory<boolean>;
|
|
11
|
+
/**
|
|
12
|
+
* Number from 0.0 to 100.0 used for the chance to return true.
|
|
13
|
+
*/
|
|
14
|
+
export declare type BooleanChance = number;
|
|
15
|
+
export interface BooleanFactoryConfig {
|
|
16
|
+
/**
|
|
17
|
+
* Chance of returning true.
|
|
18
|
+
*/
|
|
19
|
+
chance: BooleanChance;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates a new BooleanFactory.
|
|
23
|
+
*
|
|
24
|
+
* @param config
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
export declare function booleanFactory(config: BooleanFactoryConfig): () => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Returns a random boolean.
|
|
30
|
+
*
|
|
31
|
+
* @param chance
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
export declare function randomBoolean(chance?: BooleanChance): boolean;
|
package/src/lib/boolean.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.reduceBooleansFn = exports.reduceBooleansWithOrFn = exports.reduceBooleansWithAndFn = exports.reduceBooleansWithOr = exports.reduceBooleansWithAnd = void 0;
|
|
3
|
+
exports.randomBoolean = exports.booleanFactory = exports.reduceBooleansFn = exports.reduceBooleansWithOrFn = exports.reduceBooleansWithAndFn = exports.reduceBooleansWithOr = exports.reduceBooleansWithAnd = void 0;
|
|
4
|
+
// MARK: Reduce
|
|
4
5
|
function reduceBooleansWithAnd(array, emptyArrayValue) {
|
|
5
6
|
return reduceBooleansWithAndFn(emptyArrayValue)(array);
|
|
6
7
|
}
|
|
@@ -27,4 +28,26 @@ function reduceBooleansFn(reduceFn, emptyArrayValue) {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
exports.reduceBooleansFn = reduceBooleansFn;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new BooleanFactory.
|
|
33
|
+
*
|
|
34
|
+
* @param config
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
function booleanFactory(config) {
|
|
38
|
+
const { chance: inputChance } = config;
|
|
39
|
+
const chance = inputChance / 100;
|
|
40
|
+
return () => Math.random() >= chance;
|
|
41
|
+
}
|
|
42
|
+
exports.booleanFactory = booleanFactory;
|
|
43
|
+
/**
|
|
44
|
+
* Returns a random boolean.
|
|
45
|
+
*
|
|
46
|
+
* @param chance
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
function randomBoolean(chance = 50) {
|
|
50
|
+
return booleanFactory({ chance })();
|
|
51
|
+
}
|
|
52
|
+
exports.randomBoolean = randomBoolean;
|
|
30
53
|
//# sourceMappingURL=boolean.js.map
|
package/src/lib/boolean.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/boolean.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../../packages/util/src/lib/boolean.ts"],"names":[],"mappings":";;;AAEA,eAAe;AACf,SAAgB,qBAAqB,CAAC,KAAgB,EAAE,eAAyB;IAC/E,OAAO,uBAAuB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAFD,sDAEC;AAED,SAAgB,oBAAoB,CAAC,KAAgB,EAAE,eAAyB;IAC9E,OAAO,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,SAAgB,uBAAuB,CAAC,eAAyB;IAC/D,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAC7D,CAAC;AAFD,0DAEC;AAED,SAAgB,sBAAsB,CAAC,eAAyB;IAC9D,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAC7D,CAAC;AAFD,wDAEC;AAED,SAAgB,gBAAgB,CAAC,QAA6C,EAAE,eAAyB;IACvG,MAAM,GAAG,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElE,IAAI,eAAe,IAAI,IAAI,EAAE;QAC3B,OAAO,CAAC,KAAgB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;KAC5E;SAAM;QACL,OAAO,GAAG,CAAC;KACZ;AACH,CAAC;AARD,4CAQC;AAoBD;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAA4B;IACzD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IACvC,MAAM,MAAM,GAAG,WAAW,GAAG,GAAG,CAAC;IACjC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC;AACvC,CAAC;AAJD,wCAIC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,SAAwB,EAAE;IACtD,OAAO,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACtC,CAAC;AAFD,sCAEC"}
|
package/src/lib/date/week.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Maybe } from '../value';
|
|
1
2
|
export declare type Sunday = 0;
|
|
2
3
|
export declare type Monday = 1;
|
|
3
4
|
export declare type Tuesday = 2;
|
|
@@ -9,6 +10,15 @@ export declare type Saturday = 6;
|
|
|
9
10
|
* Values that correspond to each day of the week.
|
|
10
11
|
*/
|
|
11
12
|
export declare type DayOfWeek = Sunday | Monday | Tuesday | Wednesday | Thusrsday | Friday | Saturday | Sunday;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the day of the week for the input day.
|
|
15
|
+
*
|
|
16
|
+
* Equivalent to date.getDay()
|
|
17
|
+
*
|
|
18
|
+
* @param date
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
export declare function dayOfWeek(date: Date): DayOfWeek;
|
|
12
22
|
/**
|
|
13
23
|
* Enum for the days of the week.
|
|
14
24
|
*/
|
|
@@ -21,6 +31,26 @@ export declare enum Day {
|
|
|
21
31
|
FRIDAY = 5,
|
|
22
32
|
SATURDAY = 6
|
|
23
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Object containing the name of every day and whether they're true/false.
|
|
36
|
+
*/
|
|
37
|
+
export interface EnabledDays {
|
|
38
|
+
sunday: boolean;
|
|
39
|
+
monday: boolean;
|
|
40
|
+
tuesday: boolean;
|
|
41
|
+
wednesday: boolean;
|
|
42
|
+
thursday: boolean;
|
|
43
|
+
friday: boolean;
|
|
44
|
+
saturday: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare function enabledDaysFromDaysOfWeek(input: Maybe<Iterable<Day>>): EnabledDays;
|
|
47
|
+
export declare function daysOfWeekFromEnabledDays(input: Maybe<EnabledDays>): Day[];
|
|
48
|
+
/**
|
|
49
|
+
* Returns an array of strinsg with each day of the week named.
|
|
50
|
+
*
|
|
51
|
+
* @returns
|
|
52
|
+
*/
|
|
53
|
+
export declare function getDaysOfWeekNames(sundayFirst?: boolean): string[];
|
|
24
54
|
export declare function getDayTomorrow(day: DayOfWeek): DayOfWeek;
|
|
25
55
|
export declare function getDayYesterday(day: DayOfWeek): DayOfWeek;
|
|
26
56
|
export declare function getDayOffset(day: DayOfWeek, days: number): DayOfWeek;
|
package/src/lib/date/week.js
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNextDay = exports.getPreviousDay = exports.getDayOffset = exports.getDayYesterday = exports.getDayTomorrow = exports.Day = void 0;
|
|
3
|
+
exports.getNextDay = exports.getPreviousDay = exports.getDayOffset = exports.getDayYesterday = exports.getDayTomorrow = exports.getDaysOfWeekNames = exports.daysOfWeekFromEnabledDays = exports.enabledDaysFromDaysOfWeek = exports.Day = exports.dayOfWeek = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Returns the day of the week for the input day.
|
|
6
|
+
*
|
|
7
|
+
* Equivalent to date.getDay()
|
|
8
|
+
*
|
|
9
|
+
* @param date
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function dayOfWeek(date) {
|
|
13
|
+
return date.getDay();
|
|
14
|
+
}
|
|
15
|
+
exports.dayOfWeek = dayOfWeek;
|
|
4
16
|
/**
|
|
5
17
|
* Enum for the days of the week.
|
|
6
18
|
*/
|
|
@@ -14,6 +26,63 @@ var Day;
|
|
|
14
26
|
Day[Day["FRIDAY"] = 5] = "FRIDAY";
|
|
15
27
|
Day[Day["SATURDAY"] = 6] = "SATURDAY";
|
|
16
28
|
})(Day = exports.Day || (exports.Day = {}));
|
|
29
|
+
function enabledDaysFromDaysOfWeek(input) {
|
|
30
|
+
const set = new Set(input);
|
|
31
|
+
return {
|
|
32
|
+
sunday: set.has(Day.SUNDAY),
|
|
33
|
+
monday: set.has(Day.MONDAY),
|
|
34
|
+
tuesday: set.has(Day.TUESDAY),
|
|
35
|
+
wednesday: set.has(Day.WEDNESDAY),
|
|
36
|
+
thursday: set.has(Day.THURSDAY),
|
|
37
|
+
friday: set.has(Day.FRIDAY),
|
|
38
|
+
saturday: set.has(Day.SATURDAY)
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
exports.enabledDaysFromDaysOfWeek = enabledDaysFromDaysOfWeek;
|
|
42
|
+
function daysOfWeekFromEnabledDays(input) {
|
|
43
|
+
const daysOfWeek = [];
|
|
44
|
+
if (input) {
|
|
45
|
+
if (input.sunday) {
|
|
46
|
+
daysOfWeek.push(Day.SUNDAY);
|
|
47
|
+
}
|
|
48
|
+
if (input.monday) {
|
|
49
|
+
daysOfWeek.push(Day.MONDAY);
|
|
50
|
+
}
|
|
51
|
+
if (input.tuesday) {
|
|
52
|
+
daysOfWeek.push(Day.TUESDAY);
|
|
53
|
+
}
|
|
54
|
+
if (input.wednesday) {
|
|
55
|
+
daysOfWeek.push(Day.WEDNESDAY);
|
|
56
|
+
}
|
|
57
|
+
if (input.thursday) {
|
|
58
|
+
daysOfWeek.push(Day.THURSDAY);
|
|
59
|
+
}
|
|
60
|
+
if (input.friday) {
|
|
61
|
+
daysOfWeek.push(Day.FRIDAY);
|
|
62
|
+
}
|
|
63
|
+
if (input.saturday) {
|
|
64
|
+
daysOfWeek.push(Day.SATURDAY);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return daysOfWeek;
|
|
68
|
+
}
|
|
69
|
+
exports.daysOfWeekFromEnabledDays = daysOfWeekFromEnabledDays;
|
|
70
|
+
/**
|
|
71
|
+
* Returns an array of strinsg with each day of the week named.
|
|
72
|
+
*
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
function getDaysOfWeekNames(sundayFirst = true) {
|
|
76
|
+
const days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
77
|
+
const sunday = 'Sunday';
|
|
78
|
+
if (sundayFirst) {
|
|
79
|
+
return [sunday, ...days];
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return [...days, sunday];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.getDaysOfWeekNames = getDaysOfWeekNames;
|
|
17
86
|
function getDayTomorrow(day) {
|
|
18
87
|
return getNextDay(day, 1);
|
|
19
88
|
}
|
|
@@ -41,7 +110,11 @@ function getPreviousDay(day, days = 1) {
|
|
|
41
110
|
}
|
|
42
111
|
exports.getPreviousDay = getPreviousDay;
|
|
43
112
|
function getNextDay(day, days = 1) {
|
|
44
|
-
|
|
113
|
+
let result = ((day + days) % 7);
|
|
114
|
+
if (result < 0) {
|
|
115
|
+
result = (7 + result);
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
45
118
|
}
|
|
46
119
|
exports.getNextDay = getNextDay;
|
|
47
120
|
//# sourceMappingURL=week.js.map
|
package/src/lib/date/week.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"week.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/date/week.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"week.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/date/week.ts"],"names":[],"mappings":"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"}
|