@dereekb/util 9.6.3 → 9.7.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 +22 -0
- package/package.json +1 -1
- package/src/lib/number/bound.d.ts +1 -2
- package/src/lib/number/number.d.ts +11 -0
- package/src/lib/number/number.js +22 -1
- package/src/lib/number/number.js.map +1 -1
- package/src/lib/number/random.js.map +1 -1
- package/src/lib/number/round.d.ts +3 -3
- package/src/lib/number/round.js +2 -13
- package/src/lib/number/round.js.map +1 -1
- package/src/lib/number/transform.js +1 -1
- package/src/lib/number/transform.js.map +1 -1
- package/src/lib/value/bound.d.ts +19 -4
- package/src/lib/value/bound.js +30 -10
- package/src/lib/value/bound.js.map +1 -1
- package/src/lib/value/point.d.ts +21 -4
- package/src/lib/value/point.js +14 -6
- package/src/lib/value/point.js.map +1 -1
- package/src/lib/value/vector.d.ts +2 -0
- package/src/lib/value/vector.js +5 -1
- package/src/lib/value/vector.js.map +1 -1
- package/test/CHANGELOG.md +12 -0
- package/test/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [9.7.0](https://github.com/dereekb/dbx-components/compare/v9.6.5-dev...v9.7.0) (2022-09-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added filterByMapboxViewportBound() ([a6beb56](https://github.com/dereekb/dbx-components/commit/a6beb56abf9d546eb00de2e7601316f80ccb925e))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [9.6.5](https://github.com/dereekb/dbx-components/compare/v9.6.4-dev...v9.6.5) (2022-09-04)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* fixed isLatLngPointWithinLatLngBound() ([d57c369](https://github.com/dereekb/dbx-components/commit/d57c369393e337299fccd4fec64366d43fe3cd56))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## [9.6.4](https://github.com/dereekb/dbx-components/compare/v9.6.3-dev...v9.6.4) (2022-09-03)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
5
27
|
## [9.6.3](https://github.com/dereekb/dbx-components/compare/v9.6.2-dev...v9.6.3) (2022-09-02)
|
|
6
28
|
|
|
7
29
|
|
package/package.json
CHANGED
|
@@ -6,8 +6,7 @@ export interface NumberBound<T extends number = number> {
|
|
|
6
6
|
export declare function isValidNumberBound(bounds: NumberBound): boolean;
|
|
7
7
|
export declare type IsInNumberBoundFunction = (number: number) => boolean;
|
|
8
8
|
export declare function isInNumberBoundFunction(bounds: NumberBound): IsInNumberBoundFunction;
|
|
9
|
-
export
|
|
10
|
-
}
|
|
9
|
+
export declare type WrapNumberFunctionConfig<T extends number = number> = NumberBound<T>;
|
|
11
10
|
export declare type WrapNumberFunction<T extends number = number> = MapFunction<number, T> & {
|
|
12
11
|
readonly _wrap: WrapNumberFunctionConfig;
|
|
13
12
|
};
|
|
@@ -3,6 +3,17 @@ import { Maybe } from '../value/maybe.type';
|
|
|
3
3
|
* A string represented within a number.
|
|
4
4
|
*/
|
|
5
5
|
export declare type NumberString = string;
|
|
6
|
+
export declare type NumberOrNumberString = number | NumberString;
|
|
7
|
+
/**
|
|
8
|
+
* asNumber() input
|
|
9
|
+
*/
|
|
10
|
+
export declare type AsNumberInput = Maybe<NumberOrNumberString>;
|
|
11
|
+
/**
|
|
12
|
+
* Converts the input value to a number.
|
|
13
|
+
*
|
|
14
|
+
* @param input
|
|
15
|
+
*/
|
|
16
|
+
export declare function asNumber(input: AsNumberInput): number;
|
|
6
17
|
/**
|
|
7
18
|
* Returns true if the input value is divisible by the divisor.
|
|
8
19
|
*
|
package/src/lib/number/number.js
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isOddNumber = exports.isEvenNumber = exports.nearestDivisibleValues = exports.isNumberDivisibleBy = void 0;
|
|
3
|
+
exports.isOddNumber = exports.isEvenNumber = exports.nearestDivisibleValues = exports.isNumberDivisibleBy = exports.asNumber = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Converts the input value to a number.
|
|
6
|
+
*
|
|
7
|
+
* @param input
|
|
8
|
+
*/
|
|
9
|
+
function asNumber(input) {
|
|
10
|
+
let value;
|
|
11
|
+
switch (typeof input) {
|
|
12
|
+
case 'number':
|
|
13
|
+
value = input;
|
|
14
|
+
break;
|
|
15
|
+
case 'string':
|
|
16
|
+
value = Number(input);
|
|
17
|
+
break;
|
|
18
|
+
default:
|
|
19
|
+
value = 0;
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
exports.asNumber = asNumber;
|
|
4
25
|
/**
|
|
5
26
|
* Returns true if the input value is divisible by the divisor.
|
|
6
27
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/number.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/number.ts"],"names":[],"mappings":";;;AAcA;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,KAAoB;IAC3C,IAAI,KAAa,CAAC;IAElB,QAAQ,OAAO,KAAK,EAAE;QACpB,KAAK,QAAQ;YACX,KAAK,GAAG,KAAK,CAAC;YACd,MAAM;QACR,KAAK,QAAQ;YACX,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,MAAM;QACR;YACE,KAAK,GAAG,CAAC,CAAC;YACV,MAAM;KACT;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAhBD,4BAgBC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,KAAoB,EAAE,OAAe;IACvE,MAAM,SAAS,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,GAAG,OAAO,CAAC;IACzC,OAAO,SAAS,KAAK,CAAC,CAAC;AACzB,CAAC;AAHD,kDAGC;AASD;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,KAAa,EAAE,OAAe;IACnE,MAAM,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO;QACL,KAAK;QACL,OAAO;QACP,WAAW,EAAE,SAAS,GAAG,OAAO;QAChC,YAAY,EAAE,UAAU,GAAG,OAAO;KACnC,CAAC;AACJ,CAAC;AAXD,wDAWC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAFD,kCAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/random.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/random.ts"],"names":[],"mappings":";;;AACA,mCAA0D;AAkB1D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAmC,EAAE,aAA6B;IACpG,MAAM,MAAM,GAA8B,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,WAAW,CAAC;IAC3C,IAAI,EAAuB,CAAC;IAE5B,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;QACxB,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;KACxC;SAAM;QACL,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;KAChC;IAED,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE;QAC7B,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AApBD,kDAoBC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MapFunction } from '../value/map';
|
|
2
2
|
import { Maybe } from '../value/maybe.type';
|
|
3
|
-
import {
|
|
3
|
+
import { AsNumberInput } from './number';
|
|
4
4
|
export declare type NumberRounding = 'none' | 'floor' | 'ceil' | 'round';
|
|
5
5
|
export declare type RoundingFunction = MapFunction<number, number>;
|
|
6
6
|
export declare function roundingFunction(type: NumberRounding): RoundingFunction;
|
|
@@ -16,11 +16,11 @@ export declare type NumberPrecision = number;
|
|
|
16
16
|
* @param precision
|
|
17
17
|
* @returns
|
|
18
18
|
*/
|
|
19
|
-
export declare function cutValueToPrecision(input:
|
|
19
|
+
export declare function cutValueToPrecision(input: AsNumberInput, precision: NumberPrecision): number;
|
|
20
20
|
/**
|
|
21
21
|
* Rounds the input using cutToPrecision
|
|
22
22
|
*/
|
|
23
|
-
export declare type CutValueToPrecisionFunction = ((input:
|
|
23
|
+
export declare type CutValueToPrecisionFunction = ((input: AsNumberInput) => number) & {
|
|
24
24
|
readonly _precision: number;
|
|
25
25
|
};
|
|
26
26
|
/**
|
package/src/lib/number/round.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.roundNumberToStepFunction = exports.roundNumberUpToStep = exports.cutToPrecision = exports.roundToPrecision = exports.cutValueToPrecisionFunction = exports.cutValueToPrecision = exports.roundingFunction = void 0;
|
|
4
|
+
const number_1 = require("./number");
|
|
4
5
|
function roundingFunction(type) {
|
|
5
6
|
let fn;
|
|
6
7
|
switch (type) {
|
|
@@ -40,19 +41,7 @@ exports.cutValueToPrecision = cutValueToPrecision;
|
|
|
40
41
|
*/
|
|
41
42
|
function cutValueToPrecisionFunction(precision) {
|
|
42
43
|
const fn = ((input) => {
|
|
43
|
-
|
|
44
|
-
switch (typeof input) {
|
|
45
|
-
case 'number':
|
|
46
|
-
value = input;
|
|
47
|
-
break;
|
|
48
|
-
case 'string':
|
|
49
|
-
value = Number(input);
|
|
50
|
-
break;
|
|
51
|
-
default:
|
|
52
|
-
value = 0;
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
return cutToPrecision(value, precision);
|
|
44
|
+
return cutToPrecision((0, number_1.asNumber)(input), precision);
|
|
56
45
|
});
|
|
57
46
|
fn._precision = precision;
|
|
58
47
|
return fn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"round.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/round.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"round.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/round.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const map_1 = require("../value/map");
|
|
|
5
5
|
const bound_1 = require("./bound");
|
|
6
6
|
const round_1 = require("./round");
|
|
7
7
|
function transformNumberFunction(config) {
|
|
8
|
-
|
|
8
|
+
const transformFunctions = [config.transform];
|
|
9
9
|
if (config.roundToStep) {
|
|
10
10
|
transformFunctions.push((0, round_1.roundNumberToStepFunction)(config.roundToStep));
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/transform.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/number/transform.ts"],"names":[],"mappings":";;;AAAA,sCAAkE;AAElE,mCAAyE;AACzE,mCAAkI;AAuBlI,SAAgB,uBAAuB,CAA4B,MAAwC;IACzG,MAAM,kBAAkB,GAAwC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnF,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,kBAAkB,CAAC,IAAI,CAAC,IAAA,iCAAyB,EAAC,MAAM,CAAC,WAAW,CAA0C,CAAC,CAAC;KACjH;IAED,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,kBAAkB,CAAC,IAAI,CAAC,IAAA,mCAA2B,EAAC,MAAM,CAAC,SAAS,CAA0C,CAAC,CAAC;KACjH;IAED,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,kBAAkB,CAAC,IAAI,CAAC,IAAA,2BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7D;IAED,OAAO,IAAA,2BAAqB,EAAI,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAhBD,0DAgBC"}
|
package/src/lib/value/bound.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Rectangle } from './vector';
|
|
2
2
|
import { LatLngPoint, LatLngPointInput, LatLngPrecision, LatLngPointFunction } from './point';
|
|
3
|
+
import { DecisionFunction } from './decision';
|
|
3
4
|
export declare type LatLngBoundSouthWestPoint = LatLngPoint;
|
|
4
5
|
export declare type LatLngBoundNothEastPoint = LatLngPoint;
|
|
5
6
|
export interface LatLngBound {
|
|
@@ -8,14 +9,27 @@ export interface LatLngBound {
|
|
|
8
9
|
}
|
|
9
10
|
export declare function isLatLngBound(input: LatLngBound | unknown): input is LatLngBound;
|
|
10
11
|
export declare function isSameLatLngBound(a: LatLngBound, b: LatLngBound): boolean;
|
|
11
|
-
export declare function diffLatLngBoundPoints(bounds: LatLngBound): LatLngPoint;
|
|
12
|
+
export declare function diffLatLngBoundPoints(bounds: LatLngBound, wrap?: boolean): LatLngPoint;
|
|
12
13
|
/**
|
|
13
|
-
* Returns true if the input LatLngBound
|
|
14
|
+
* Returns true if the input LatLngBound either strictly wraps the map or fully wraps the map.
|
|
14
15
|
*
|
|
15
16
|
* @param bound
|
|
16
17
|
* @returns
|
|
17
18
|
*/
|
|
18
19
|
export declare function latLngBoundWrapsMap(bound: LatLngBound): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Returns true if the input LatLngBound's sw corner comes after the ne corner.
|
|
22
|
+
*
|
|
23
|
+
* @param bound
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
export declare function latLngBoundStrictlyWrapsMap(bound: LatLngBound): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Returns true if the LatLngBound's sw and ne longitudes's total distance is greater than the
|
|
29
|
+
* @param bound
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
export declare function latLngBoundFullyWrapsMap(bound: LatLngBound): boolean;
|
|
19
33
|
export declare function latLngBoundNorthEastPoint(bound: LatLngBound): LatLngPoint;
|
|
20
34
|
export declare function latLngBoundNorthWestPoint(bound: LatLngBound): LatLngPoint;
|
|
21
35
|
export declare function latLngBoundSouthEastPoint(bound: LatLngBound): LatLngPoint;
|
|
@@ -60,10 +74,11 @@ export interface LatLngBoundFunctionConfig {
|
|
|
60
74
|
precision?: LatLngPrecision;
|
|
61
75
|
}
|
|
62
76
|
export declare function latLngBoundFunction(config?: LatLngBoundFunctionConfig): LatLngBoundFunction;
|
|
77
|
+
export declare type LatLngBoundCheckFunction = DecisionFunction<LatLngBound | LatLngPoint>;
|
|
63
78
|
/**
|
|
64
79
|
* Function that returns true if the input is entirely within the context's bound.
|
|
65
80
|
*/
|
|
66
|
-
export declare type IsWithinLatLngBoundFunction =
|
|
81
|
+
export declare type IsWithinLatLngBoundFunction = LatLngBoundCheckFunction & {
|
|
67
82
|
readonly _bound: LatLngBound;
|
|
68
83
|
};
|
|
69
84
|
export declare function isWithinLatLngBoundFunction(bound: LatLngBound): IsWithinLatLngBoundFunction;
|
|
@@ -72,7 +87,7 @@ export declare function isLatLngPointWithinLatLngBound(point: LatLngPoint, withi
|
|
|
72
87
|
/**
|
|
73
88
|
* Function that returns true if the input overlaps the context's bound.
|
|
74
89
|
*/
|
|
75
|
-
export declare type OverlapsLatLngBoundFunction =
|
|
90
|
+
export declare type OverlapsLatLngBoundFunction = LatLngBoundCheckFunction & {
|
|
76
91
|
readonly _bound: LatLngBound;
|
|
77
92
|
};
|
|
78
93
|
export declare function latLngBoundOverlapsLatLngBound(a: LatLngBound, b: LatLngBound): boolean;
|
package/src/lib/value/bound.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.boundToRectangle = exports.TOTAL_SPAN_OF_LONGITUDE = exports.overlapsLatLngBoundFunction = exports.latLngBoundOverlapsLatLngBound = exports.isLatLngPointWithinLatLngBound = exports.isLatLngBoundWithinLatLngBound = exports.isWithinLatLngBoundFunction = exports.latLngBoundFunction = exports.latLngBound = exports.latLngBoundTupleFunction = exports.latLngBoundTuple = exports.latLngBoundWestBound = exports.latLngBoundEastBound = exports.latLngBoundSouthBound = exports.latLngBoundNorthBound = exports.latLngBoundCenterPoint = exports.latLngBoundSouthWestPoint = exports.latLngBoundSouthEastPoint = exports.latLngBoundNorthWestPoint = exports.latLngBoundNorthEastPoint = exports.latLngBoundWrapsMap = exports.diffLatLngBoundPoints = exports.isSameLatLngBound = exports.isLatLngBound = void 0;
|
|
3
|
+
exports.boundToRectangle = exports.TOTAL_SPAN_OF_LONGITUDE = exports.overlapsLatLngBoundFunction = exports.latLngBoundOverlapsLatLngBound = exports.isLatLngPointWithinLatLngBound = exports.isLatLngBoundWithinLatLngBound = exports.isWithinLatLngBoundFunction = exports.latLngBoundFunction = exports.latLngBound = exports.latLngBoundTupleFunction = exports.latLngBoundTuple = exports.latLngBoundWestBound = exports.latLngBoundEastBound = exports.latLngBoundSouthBound = exports.latLngBoundNorthBound = exports.latLngBoundCenterPoint = exports.latLngBoundSouthWestPoint = exports.latLngBoundSouthEastPoint = exports.latLngBoundNorthWestPoint = exports.latLngBoundNorthEastPoint = exports.latLngBoundFullyWrapsMap = exports.latLngBoundStrictlyWrapsMap = exports.latLngBoundWrapsMap = exports.diffLatLngBoundPoints = exports.isSameLatLngBound = exports.isLatLngBound = void 0;
|
|
4
4
|
const vector_1 = require("./vector");
|
|
5
5
|
const point_1 = require("./point");
|
|
6
6
|
function isLatLngBound(input) {
|
|
@@ -11,20 +11,39 @@ function isSameLatLngBound(a, b) {
|
|
|
11
11
|
return (0, point_1.isSameLatLngPoint)(a.sw, b.sw) && (0, point_1.isSameLatLngPoint)(a.ne, b.ne);
|
|
12
12
|
}
|
|
13
13
|
exports.isSameLatLngBound = isSameLatLngBound;
|
|
14
|
-
function diffLatLngBoundPoints(bounds) {
|
|
15
|
-
return (0, point_1.diffLatLngPoints)(bounds.ne, bounds.sw);
|
|
14
|
+
function diffLatLngBoundPoints(bounds, wrap = false) {
|
|
15
|
+
return (0, point_1.diffLatLngPoints)(bounds.ne, bounds.sw, wrap);
|
|
16
16
|
}
|
|
17
17
|
exports.diffLatLngBoundPoints = diffLatLngBoundPoints;
|
|
18
18
|
/**
|
|
19
|
-
* Returns true if the input LatLngBound
|
|
19
|
+
* Returns true if the input LatLngBound either strictly wraps the map or fully wraps the map.
|
|
20
20
|
*
|
|
21
21
|
* @param bound
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
24
|
function latLngBoundWrapsMap(bound) {
|
|
25
|
-
return bound
|
|
25
|
+
return latLngBoundStrictlyWrapsMap(bound) || latLngBoundFullyWrapsMap(bound);
|
|
26
26
|
}
|
|
27
27
|
exports.latLngBoundWrapsMap = latLngBoundWrapsMap;
|
|
28
|
+
/**
|
|
29
|
+
* Returns true if the input LatLngBound's sw corner comes after the ne corner.
|
|
30
|
+
*
|
|
31
|
+
* @param bound
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
function latLngBoundStrictlyWrapsMap(bound) {
|
|
35
|
+
return bound.sw.lng > bound.ne.lng;
|
|
36
|
+
}
|
|
37
|
+
exports.latLngBoundStrictlyWrapsMap = latLngBoundStrictlyWrapsMap;
|
|
38
|
+
/**
|
|
39
|
+
* Returns true if the LatLngBound's sw and ne longitudes's total distance is greater than the
|
|
40
|
+
* @param bound
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
function latLngBoundFullyWrapsMap(bound) {
|
|
44
|
+
return Math.abs(bound.ne.lng - bound.sw.lng) > point_1.TOTAL_LONGITUDE_RANGE;
|
|
45
|
+
}
|
|
46
|
+
exports.latLngBoundFullyWrapsMap = latLngBoundFullyWrapsMap;
|
|
28
47
|
function latLngBoundNorthEastPoint(bound) {
|
|
29
48
|
return bound.ne;
|
|
30
49
|
}
|
|
@@ -147,14 +166,15 @@ function isLatLngBoundWithinLatLngBound(bound, within) {
|
|
|
147
166
|
exports.isLatLngBoundWithinLatLngBound = isLatLngBoundWithinLatLngBound;
|
|
148
167
|
function isLatLngPointWithinLatLngBound(point, within) {
|
|
149
168
|
const { sw, ne } = within;
|
|
150
|
-
const
|
|
169
|
+
const { lat, lng } = point;
|
|
170
|
+
const latIsBounded = lat >= sw.lat && lat <= ne.lat;
|
|
151
171
|
if (latIsBounded) {
|
|
152
|
-
if (
|
|
153
|
-
//
|
|
154
|
-
return
|
|
172
|
+
if (latLngBoundStrictlyWrapsMap(within)) {
|
|
173
|
+
// included if between sw to the max possible value/bound (180), and ne to the min possible value/bound (-180)
|
|
174
|
+
return lng >= sw.lng || lng <= ne.lng;
|
|
155
175
|
}
|
|
156
176
|
else {
|
|
157
|
-
return
|
|
177
|
+
return lng >= sw.lng && lng <= ne.lng;
|
|
158
178
|
}
|
|
159
179
|
}
|
|
160
180
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/bound.ts"],"names":[],"mappings":";;;AAAA,qCAAyE;AAEzE,
|
|
1
|
+
{"version":3,"file":"bound.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/bound.ts"],"names":[],"mappings":"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"}
|
package/src/lib/value/point.d.ts
CHANGED
|
@@ -29,8 +29,8 @@ export interface LonLatPoint {
|
|
|
29
29
|
}
|
|
30
30
|
export declare function isLatLngPoint(input: LatLngPoint | unknown): input is LatLngPoint;
|
|
31
31
|
export declare function isSameLatLngPoint(a: LatLngPoint, b: LatLngPoint): boolean;
|
|
32
|
-
export declare function diffLatLngPoints(a: LatLngPoint, b: LatLngPoint): LatLngPoint;
|
|
33
|
-
export declare function addLatLngPoints(a: LatLngPoint, b: LatLngPoint): LatLngPoint;
|
|
32
|
+
export declare function diffLatLngPoints(a: LatLngPoint, b: LatLngPoint, wrap?: boolean): LatLngPoint;
|
|
33
|
+
export declare function addLatLngPoints(a: LatLngPoint, b: LatLngPoint, wrap?: boolean): LatLngPoint;
|
|
34
34
|
export declare function wrapLatLngPoint(a: LatLngPoint): LatLngPoint;
|
|
35
35
|
export declare const capLatValue: import("../number/bound").BoundNumberFunction<number>;
|
|
36
36
|
export declare const wrapLngValue: import("../number/bound").WrapNumberFunction<number>;
|
|
@@ -161,6 +161,11 @@ export declare const LAT_LONG_GRAINS_OF_SAND_PRECISION = 9;
|
|
|
161
161
|
* Rounds the input latLng value to a given precision.
|
|
162
162
|
*/
|
|
163
163
|
export declare type LatLngPointPrecisionFunction = (latLngPoint: LatLngPoint) => LatLngPoint;
|
|
164
|
+
/**
|
|
165
|
+
* Creates a LatLngPointPrecisionFunction
|
|
166
|
+
* @param precision
|
|
167
|
+
* @returns
|
|
168
|
+
*/
|
|
164
169
|
export declare function latLngPointPrecisionFunction(precision: LatLngPrecision): LatLngPointPrecisionFunction;
|
|
165
170
|
/**
|
|
166
171
|
* Converts the input to a LatLngString
|
|
@@ -182,7 +187,7 @@ export interface LatLngPointFunctionConfig {
|
|
|
182
187
|
/**
|
|
183
188
|
* LatLngPrecision to use
|
|
184
189
|
*/
|
|
185
|
-
precision?: LatLngPrecision;
|
|
190
|
+
precision?: LatLngPrecision | null;
|
|
186
191
|
/**
|
|
187
192
|
* Whether or not to wrap invalid LatLng values. If false, the values are validated and a default value is used instead.
|
|
188
193
|
*
|
|
@@ -239,6 +244,12 @@ export declare function validLatLngPointFunction(defaultValue?: Factory<LatLngPo
|
|
|
239
244
|
export declare type LatLngPointRef = {
|
|
240
245
|
readonly latLng: LatLngPoint;
|
|
241
246
|
};
|
|
247
|
+
/**
|
|
248
|
+
* References a latLng using a LatLngTuple
|
|
249
|
+
*/
|
|
250
|
+
export declare type LatLngTupleRef = {
|
|
251
|
+
readonly latLng: LatLngTuple;
|
|
252
|
+
};
|
|
242
253
|
/**
|
|
243
254
|
* References a latLng using a LatLngString
|
|
244
255
|
*/
|
|
@@ -248,7 +259,13 @@ export declare type LatLngStringRef = {
|
|
|
248
259
|
/**
|
|
249
260
|
* An object that references a latLng
|
|
250
261
|
*/
|
|
251
|
-
export declare type LatLngRef = LatLngPointRef | LatLngStringRef;
|
|
262
|
+
export declare type LatLngRef = LatLngPointRef | LatLngStringRef | LatLngTupleRef;
|
|
263
|
+
/**
|
|
264
|
+
* References a latLng using a LatLngPointInput.
|
|
265
|
+
*/
|
|
266
|
+
export declare type LatLngInputRef = {
|
|
267
|
+
readonly latLng: LatLngPointInput;
|
|
268
|
+
};
|
|
252
269
|
/**
|
|
253
270
|
* A LatLngPointRef with arbitrary data
|
|
254
271
|
*/
|
package/src/lib/value/point.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.latLngDataPointFunction = exports.validLatLngPointFunction = exports.validLatLngPoint = exports.latLngPointFromString = exports.latLngPointFunction = exports.latLngPoint = exports.latLngStringFunction = exports.latLngPointPrecisionFunction = exports.LAT_LONG_GRAINS_OF_SAND_PRECISION = exports.LAT_LONG_1MM_PRECISION = exports.LAT_LONG_1CM_PRECISION = exports.LAT_LONG_10CM_PRECISION = exports.LAT_LONG_1M_PRECISION = exports.LAT_LONG_10M_PRECISION = exports.LAT_LONG_100M_PRECISION = exports.LAT_LONG_1KM_PRECISION = exports.LAT_LONG_10KM_PRECISION = exports.LAT_LONG_100KM_PRECISION = exports.isLatLngString = exports.LAT_LNG_PATTERN = exports.LAT_LNG_PATTERN_MAX_PRECISION = exports.latLngString = exports.latLngTupleFunction = exports.lonLatTuple = exports.latLngTuple = exports.isValidLatLngPoint = exports.neMostLatLngPoint = exports.swMostLatLngPoint = exports.isDefaultLatLngPoint = exports.defaultLatLngPoint = exports.isValidLongitude = exports.isValidLatitude = exports.wrapLngValue = exports.capLatValue = exports.wrapLatLngPoint = exports.addLatLngPoints = exports.diffLatLngPoints = exports.isSameLatLngPoint = exports.isLatLngPoint = exports.TOTAL_LONGITUDE_RANGE = exports.MAX_LONGITUDE_VALUE = exports.MIN_LONGITUDE_VALUE = exports.TOTAL_LATITUDE_RANGE = exports.MAX_LATITUDE_VALUE = exports.MIN_LATITUDE_VALUE = void 0;
|
|
4
4
|
const bound_1 = require("../number/bound");
|
|
5
5
|
const round_1 = require("../number/round");
|
|
6
|
+
const map_1 = require("./map");
|
|
6
7
|
exports.MIN_LATITUDE_VALUE = -90.0;
|
|
7
8
|
exports.MAX_LATITUDE_VALUE = 90.0;
|
|
8
9
|
exports.TOTAL_LATITUDE_RANGE = exports.MAX_LATITUDE_VALUE - exports.MIN_LATITUDE_VALUE;
|
|
@@ -17,12 +18,14 @@ function isSameLatLngPoint(a, b) {
|
|
|
17
18
|
return a.lat === b.lat && a.lng === b.lng;
|
|
18
19
|
}
|
|
19
20
|
exports.isSameLatLngPoint = isSameLatLngPoint;
|
|
20
|
-
function diffLatLngPoints(a, b) {
|
|
21
|
-
|
|
21
|
+
function diffLatLngPoints(a, b, wrap = true) {
|
|
22
|
+
const point = { lat: a.lat - b.lat, lng: a.lng - b.lng };
|
|
23
|
+
return wrap ? wrapLatLngPoint(point) : point;
|
|
22
24
|
}
|
|
23
25
|
exports.diffLatLngPoints = diffLatLngPoints;
|
|
24
|
-
function addLatLngPoints(a, b) {
|
|
25
|
-
|
|
26
|
+
function addLatLngPoints(a, b, wrap = true) {
|
|
27
|
+
const point = { lat: a.lat + b.lat, lng: a.lng + b.lng };
|
|
28
|
+
return wrap ? wrapLatLngPoint(point) : point;
|
|
26
29
|
}
|
|
27
30
|
exports.addLatLngPoints = addLatLngPoints;
|
|
28
31
|
function wrapLatLngPoint(a) {
|
|
@@ -167,6 +170,11 @@ exports.LAT_LONG_1MM_PRECISION = 8;
|
|
|
167
170
|
* https://xkcd.com/2170/
|
|
168
171
|
*/
|
|
169
172
|
exports.LAT_LONG_GRAINS_OF_SAND_PRECISION = 9;
|
|
173
|
+
/**
|
|
174
|
+
* Creates a LatLngPointPrecisionFunction
|
|
175
|
+
* @param precision
|
|
176
|
+
* @returns
|
|
177
|
+
*/
|
|
170
178
|
function latLngPointPrecisionFunction(precision) {
|
|
171
179
|
const precisionFunction = (0, round_1.cutValueToPrecisionFunction)(precision);
|
|
172
180
|
return (latLng) => {
|
|
@@ -210,9 +218,9 @@ exports.latLngPoint = latLngPoint;
|
|
|
210
218
|
*/
|
|
211
219
|
function latLngPointFunction(config) {
|
|
212
220
|
const { validate, wrap, default: defaultValue, precision = exports.LAT_LONG_1MM_PRECISION, readLonLatTuples } = config !== null && config !== void 0 ? config : {};
|
|
213
|
-
const precisionFunction = latLngPointPrecisionFunction(precision);
|
|
221
|
+
const precisionFunction = precision != null ? latLngPointPrecisionFunction(precision) : (0, map_1.mapIdentityFunction)();
|
|
214
222
|
const wrapFunction = wrap !== false ? wrapLatLngPoint : validate !== false ? validLatLngPointFunction(defaultValue) : undefined;
|
|
215
|
-
const mapFn =
|
|
223
|
+
const mapFn = (0, map_1.chainMapSameFunctions)([wrapFunction, precisionFunction]);
|
|
216
224
|
return (lat, lng) => {
|
|
217
225
|
var _a;
|
|
218
226
|
let latLng;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/point.ts"],"names":[],"mappings":";;;AACA,2CAA0E;AAC1E,2CAA+E;
|
|
1
|
+
{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/point.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ export interface Vector {
|
|
|
3
3
|
x: number;
|
|
4
4
|
y: number;
|
|
5
5
|
}
|
|
6
|
+
export declare type VectorTuple = [number, number];
|
|
7
|
+
export declare function vectorsAreEqual(a: Vector, b: Vector): boolean;
|
|
6
8
|
export declare type RectangleOrigin = Vector;
|
|
7
9
|
export declare type TopRightCorner = Vector;
|
|
8
10
|
export declare type BottomLeftCorner = Vector;
|
package/src/lib/value/vector.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getOverlappingRectangle = exports.rectangleOverlapsRectangle = void 0;
|
|
3
|
+
exports.getOverlappingRectangle = exports.rectangleOverlapsRectangle = exports.vectorsAreEqual = void 0;
|
|
4
|
+
function vectorsAreEqual(a, b) {
|
|
5
|
+
return a.x === b.x && a.y === b.y;
|
|
6
|
+
}
|
|
7
|
+
exports.vectorsAreEqual = vectorsAreEqual;
|
|
4
8
|
/**
|
|
5
9
|
* Returns true if the input vector overlaps another.
|
|
6
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/vector.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/vector.ts"],"names":[],"mappings":";;;AASA,SAAgB,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAFD,0CAEC;AAiBD;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,CAAY,EAAE,CAAY;IACnE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,cAAc,GAAG,IAAI,CAAC;IAE1B,qBAAqB;IACrB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;QAChE,cAAc,GAAG,KAAK,CAAC;KACxB;SAAM,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;QACrC,cAAc,GAAG,KAAK,CAAC;KACxB;SAAM,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;QACrC,cAAc,GAAG,KAAK,CAAC;KACxB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAhBD,gEAgBC;AAED,SAAgB,uBAAuB,CAAC,CAAY,EAAE,CAAY;IAChE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpC,qBAAqB;IACrB,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACtB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,QAAQ,GAAmB;QAC/B,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;KACN,CAAC;IAEF,MAAM,UAAU,GAAqB;QACnC,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;KACN,CAAC;IAEF,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC;AAtBD,0DAsBC"}
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [9.7.0](https://github.com/dereekb/dbx-components/compare/v9.6.5-dev...v9.7.0) (2022-09-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.6.5](https://github.com/dereekb/dbx-components/compare/v9.6.4-dev...v9.6.5) (2022-09-04)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [9.6.4](https://github.com/dereekb/dbx-components/compare/v9.6.3-dev...v9.6.4) (2022-09-03)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
## [9.6.3](https://github.com/dereekb/dbx-components/compare/v9.6.2-dev...v9.6.3) (2022-09-02)
|
|
6
18
|
|
|
7
19
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.7.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"typings": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/util": "9.
|
|
9
|
+
"@dereekb/util": "9.7.0",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"ts-essentials": "^9.1.2",
|