@dereekb/util 9.3.1 → 9.4.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 +17 -0
- package/package.json +1 -1
- package/src/lib/value/bound.d.ts +1 -0
- package/src/lib/value/bound.js +7 -3
- package/src/lib/value/bound.js.map +1 -1
- package/src/lib/value/point.d.ts +48 -4
- package/src/lib/value/point.js +63 -5
- package/src/lib/value/point.js.map +1 -1
- package/src/lib/value/vector.js +6 -6
- 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,23 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [9.4.0](https://github.com/dereekb/dbx-components/compare/v9.3.3-dev...v9.4.0) (2022-08-24)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.3.3](https://github.com/dereekb/dbx-components/compare/v9.3.2-dev...v9.3.3) (2022-08-23)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* fixed DbxMapboxMapDirective init issue ([789e368](https://github.com/dereekb/dbx-components/commit/789e3688819168e358f14904fec55b012fbbd969))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [9.3.2](https://github.com/dereekb/dbx-components/compare/v9.3.1-dev...v9.3.2) (2022-08-22)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
5
22
|
## [9.3.1](https://github.com/dereekb/dbx-components/compare/v9.3.0-dev...v9.3.1) (2022-08-21)
|
|
6
23
|
|
|
7
24
|
|
package/package.json
CHANGED
package/src/lib/value/bound.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export interface LatLngBound {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function isLatLngBound(input: LatLngBound | unknown): input is LatLngBound;
|
|
10
10
|
export declare function isSameLatLngBound(a: LatLngBound, b: LatLngBound): boolean;
|
|
11
|
+
export declare function diffLatLngBoundPoints(bounds: LatLngBound): LatLngPoint;
|
|
11
12
|
/**
|
|
12
13
|
* Returns true if the input LatLngBound wrap across the wrapped longitudinal edge of a map.
|
|
13
14
|
*
|
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.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.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,6 +11,10 @@ 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);
|
|
16
|
+
}
|
|
17
|
+
exports.diffLatLngBoundPoints = diffLatLngBoundPoints;
|
|
14
18
|
/**
|
|
15
19
|
* Returns true if the input LatLngBound wrap across the wrapped longitudinal edge of a map.
|
|
16
20
|
*
|
|
@@ -39,8 +43,8 @@ function latLngBoundSouthWestPoint(bound) {
|
|
|
39
43
|
exports.latLngBoundSouthWestPoint = latLngBoundSouthWestPoint;
|
|
40
44
|
function latLngBoundCenterPoint(bound) {
|
|
41
45
|
const { sw, ne } = bound;
|
|
42
|
-
const lat = (sw.
|
|
43
|
-
const lng = (sw.
|
|
46
|
+
const lat = (sw.lat + ne.lat) / 2;
|
|
47
|
+
const lng = (sw.lng + ne.lng) / 2;
|
|
44
48
|
return { lat, lng };
|
|
45
49
|
}
|
|
46
50
|
exports.latLngBoundCenterPoint = latLngBoundCenterPoint;
|
|
@@ -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
|
@@ -10,14 +10,30 @@ export declare type Latitude = number;
|
|
|
10
10
|
export declare type Longitude = number;
|
|
11
11
|
export declare const MIN_LATITUDE_VALUE = -90;
|
|
12
12
|
export declare const MAX_LATITUDE_VALUE = 90;
|
|
13
|
+
export declare const TOTAL_LATITUDE_RANGE: number;
|
|
13
14
|
export declare const MIN_LONGITUDE_VALUE = -180;
|
|
14
15
|
export declare const MAX_LONGITUDE_VALUE = 180;
|
|
16
|
+
export declare const TOTAL_LONGITUDE_RANGE: number;
|
|
15
17
|
export interface LatLngPoint {
|
|
16
18
|
lat: Latitude;
|
|
17
19
|
lng: Longitude;
|
|
18
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* A point decorated as LonLat.
|
|
23
|
+
*
|
|
24
|
+
* NOTE: This library prefers the use of LatLngPoint over LonLatPoint. This is only provided as compatability for libraries (like Mapbox) that have LonLat-like points
|
|
25
|
+
*/
|
|
26
|
+
export interface LonLatPoint {
|
|
27
|
+
lat: Latitude;
|
|
28
|
+
lon: Longitude;
|
|
29
|
+
}
|
|
19
30
|
export declare function isLatLngPoint(input: LatLngPoint | unknown): input is LatLngPoint;
|
|
20
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;
|
|
34
|
+
export declare function wrapLatLngPoint(a: LatLngPoint): LatLngPoint;
|
|
35
|
+
export declare function capLatValue(a: number): Latitude;
|
|
36
|
+
export declare function wrapLngValue(a: number): Longitude;
|
|
21
37
|
export declare function isValidLatitude(lat: Latitude): boolean;
|
|
22
38
|
export declare function isValidLongitude(lat: Longitude): boolean;
|
|
23
39
|
export declare function defaultLatLngPoint(): LatLngPoint;
|
|
@@ -28,12 +44,34 @@ export declare function defaultLatLngPoint(): LatLngPoint;
|
|
|
28
44
|
* @returns
|
|
29
45
|
*/
|
|
30
46
|
export declare function isValidLatLngPoint(input: LatLngPoint): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Latitude, Longitude tuple, representative.
|
|
49
|
+
*/
|
|
31
50
|
export declare type LatLngTuple = [Latitude, Longitude];
|
|
51
|
+
/**
|
|
52
|
+
* Longitude, Latitude tuple. This is more analogous of x,y coordinates.
|
|
53
|
+
*/
|
|
54
|
+
export declare type LonLatTuple = [Longitude, Latitude];
|
|
55
|
+
/**
|
|
56
|
+
* Converts the input to a LatLngTuple.
|
|
57
|
+
*
|
|
58
|
+
* @param lat
|
|
59
|
+
* @param lng
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
32
62
|
export declare function latLngTuple(lat: LatLngPointInput, lng?: Longitude): LatLngTuple;
|
|
63
|
+
/**
|
|
64
|
+
* Converts the input to a LonLatTuple.
|
|
65
|
+
*
|
|
66
|
+
* @param lat
|
|
67
|
+
* @param lng
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
export declare function lonLatTuple(lat: LatLngPointInput, lng?: Longitude): LonLatTuple;
|
|
33
71
|
/**
|
|
34
72
|
* Converts the input to a LatLngString
|
|
35
73
|
*/
|
|
36
|
-
export declare type LatLngTupleFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngTuple) & ((latLng: string | LatLngTuple) => LatLngTuple) & ((latLng: LatLngPoint) => LatLngTuple) & ((lat: Latitude, lng?: Longitude) => LatLngTuple);
|
|
74
|
+
export declare type LatLngTupleFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngTuple) & ((latLng: string | LatLngTuple) => LatLngTuple) & ((latLng: LatLngPoint | LonLatPoint) => LatLngTuple) & ((lat: Latitude, lng?: Longitude) => LatLngTuple);
|
|
37
75
|
export declare type LatLngTupleFunctionConfig = LatLngPointFunctionConfig;
|
|
38
76
|
/**
|
|
39
77
|
* Creates a LatLngTupleFunction
|
|
@@ -46,7 +84,7 @@ export declare function latLngTupleFunction(config?: LatLngTupleFunctionConfig):
|
|
|
46
84
|
* A lat,lng encoded value.
|
|
47
85
|
*/
|
|
48
86
|
export declare type LatLngString = `${Latitude},${Longitude}`;
|
|
49
|
-
export declare type LatLngPointInput = Latitude | LatLngPoint | LatLngString | LatLngTuple | string;
|
|
87
|
+
export declare type LatLngPointInput = Latitude | LatLngPoint | LonLatPoint | LatLngString | LatLngTuple | string;
|
|
50
88
|
export declare type LatLngPrecision = NumberPrecision;
|
|
51
89
|
/**
|
|
52
90
|
* Creates a LatLngString from the input.
|
|
@@ -124,7 +162,7 @@ export declare function latLngPointPrecisionFunction(precision: LatLngPrecision)
|
|
|
124
162
|
/**
|
|
125
163
|
* Converts the input to a LatLngString
|
|
126
164
|
*/
|
|
127
|
-
export declare type LatLngStringFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngString) & ((latLng: string | LatLngString) => LatLngString) & ((latLng: LatLngPoint) => LatLngString) & ((lat: Latitude, lng?: Longitude) => LatLngString);
|
|
165
|
+
export declare type LatLngStringFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngString) & ((latLng: string | LatLngString) => LatLngString) & ((latLng: LatLngPoint | LonLatPoint) => LatLngString) & ((lat: Latitude, lng?: Longitude) => LatLngString);
|
|
128
166
|
export declare type LatLngStringFunctionConfig = LatLngPointFunctionConfig;
|
|
129
167
|
/**
|
|
130
168
|
* Creates a LatLngStringFunction
|
|
@@ -136,7 +174,7 @@ export declare function latLngStringFunction(config?: LatLngStringFunctionConfig
|
|
|
136
174
|
/**
|
|
137
175
|
* Converts the input to a LatLngPoint
|
|
138
176
|
*/
|
|
139
|
-
export declare type LatLngPointFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngPoint) & ((latLng: string | LatLngString) => LatLngPoint) & ((latLng: LatLngPoint) => LatLngPoint) & ((lat: Latitude, lng: Longitude) => LatLngPoint);
|
|
177
|
+
export declare type LatLngPointFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngPoint) & ((latLng: string | LatLngString) => LatLngPoint) & ((latLng: LatLngPoint | LonLatPoint) => LatLngPoint) & ((lat: Latitude, lng: Longitude) => LatLngPoint);
|
|
140
178
|
export interface LatLngPointFunctionConfig {
|
|
141
179
|
/**
|
|
142
180
|
* LatLngPrecision to use
|
|
@@ -152,6 +190,12 @@ export interface LatLngPointFunctionConfig {
|
|
|
152
190
|
* The default LatLngPoint to return.
|
|
153
191
|
*/
|
|
154
192
|
default?: Factory<LatLngPoint>;
|
|
193
|
+
/**
|
|
194
|
+
* Treat tuples as LonLat instead of LatLng.
|
|
195
|
+
*
|
|
196
|
+
* False by default
|
|
197
|
+
*/
|
|
198
|
+
readLonLatTuples?: boolean;
|
|
155
199
|
}
|
|
156
200
|
/**
|
|
157
201
|
* Creates a LatLngPoint. Uses latLngPointFunction() internally.
|
package/src/lib/value/point.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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.latLngTuple = exports.isValidLatLngPoint = exports.defaultLatLngPoint = exports.isValidLongitude = exports.isValidLatitude = exports.isSameLatLngPoint = exports.isLatLngPoint = exports.MAX_LONGITUDE_VALUE = exports.MIN_LONGITUDE_VALUE = exports.MAX_LATITUDE_VALUE = exports.MIN_LATITUDE_VALUE = void 0;
|
|
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.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 round_1 = require("../number/round");
|
|
5
5
|
exports.MIN_LATITUDE_VALUE = -90.0;
|
|
6
6
|
exports.MAX_LATITUDE_VALUE = 90.0;
|
|
7
|
+
exports.TOTAL_LATITUDE_RANGE = exports.MAX_LATITUDE_VALUE - exports.MIN_LATITUDE_VALUE;
|
|
7
8
|
exports.MIN_LONGITUDE_VALUE = -180.0;
|
|
8
9
|
exports.MAX_LONGITUDE_VALUE = 180.0;
|
|
10
|
+
exports.TOTAL_LONGITUDE_RANGE = exports.MAX_LONGITUDE_VALUE - exports.MIN_LONGITUDE_VALUE;
|
|
9
11
|
function isLatLngPoint(input) {
|
|
10
12
|
return typeof input === 'object' && input.lat != null && input.lng != null;
|
|
11
13
|
}
|
|
@@ -14,6 +16,37 @@ function isSameLatLngPoint(a, b) {
|
|
|
14
16
|
return a.lat === b.lat && a.lng === b.lng;
|
|
15
17
|
}
|
|
16
18
|
exports.isSameLatLngPoint = isSameLatLngPoint;
|
|
19
|
+
function diffLatLngPoints(a, b) {
|
|
20
|
+
return wrapLatLngPoint({ lat: a.lat - b.lat, lng: a.lng - b.lng });
|
|
21
|
+
}
|
|
22
|
+
exports.diffLatLngPoints = diffLatLngPoints;
|
|
23
|
+
function addLatLngPoints(a, b) {
|
|
24
|
+
return wrapLatLngPoint({ lat: a.lat + b.lat, lng: a.lng + b.lng });
|
|
25
|
+
}
|
|
26
|
+
exports.addLatLngPoints = addLatLngPoints;
|
|
27
|
+
function wrapLatLngPoint(a) {
|
|
28
|
+
return { lat: capLatValue(a.lat), lng: wrapLngValue(a.lng) };
|
|
29
|
+
}
|
|
30
|
+
exports.wrapLatLngPoint = wrapLatLngPoint;
|
|
31
|
+
function capLatValue(a) {
|
|
32
|
+
return Math.max(Math.min(a, exports.MAX_LATITUDE_VALUE), exports.MIN_LATITUDE_VALUE);
|
|
33
|
+
}
|
|
34
|
+
exports.capLatValue = capLatValue;
|
|
35
|
+
function wrapLngValue(a) {
|
|
36
|
+
if (Math.abs(a) > exports.MAX_LONGITUDE_VALUE) {
|
|
37
|
+
const normal = a % 180;
|
|
38
|
+
if (a > 0) {
|
|
39
|
+
return normal + exports.MIN_LONGITUDE_VALUE;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return normal + exports.MAX_LONGITUDE_VALUE;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return a;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.wrapLngValue = wrapLngValue;
|
|
17
50
|
function isValidLatitude(lat) {
|
|
18
51
|
return lat >= exports.MIN_LATITUDE_VALUE && lat <= exports.MAX_LATITUDE_VALUE;
|
|
19
52
|
}
|
|
@@ -36,10 +69,28 @@ function isValidLatLngPoint(input) {
|
|
|
36
69
|
return isValidLatitude(input.lat) && isValidLongitude(input.lng);
|
|
37
70
|
}
|
|
38
71
|
exports.isValidLatLngPoint = isValidLatLngPoint;
|
|
72
|
+
/**
|
|
73
|
+
* Converts the input to a LatLngTuple.
|
|
74
|
+
*
|
|
75
|
+
* @param lat
|
|
76
|
+
* @param lng
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
39
79
|
function latLngTuple(lat, lng) {
|
|
40
80
|
return latLngTupleFunction()(lat, lng);
|
|
41
81
|
}
|
|
42
82
|
exports.latLngTuple = latLngTuple;
|
|
83
|
+
/**
|
|
84
|
+
* Converts the input to a LonLatTuple.
|
|
85
|
+
*
|
|
86
|
+
* @param lat
|
|
87
|
+
* @param lng
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
90
|
+
function lonLatTuple(lat, lng) {
|
|
91
|
+
return latLngTupleFunction({ readLonLatTuples: true })(lat, lng).reverse();
|
|
92
|
+
}
|
|
93
|
+
exports.lonLatTuple = lonLatTuple;
|
|
43
94
|
/**
|
|
44
95
|
* Creates a LatLngTupleFunction
|
|
45
96
|
*
|
|
@@ -162,22 +213,29 @@ exports.latLngPoint = latLngPoint;
|
|
|
162
213
|
* @returns
|
|
163
214
|
*/
|
|
164
215
|
function latLngPointFunction(config) {
|
|
165
|
-
const { validate, default: defaultValue, precision = exports.LAT_LONG_1MM_PRECISION } = config !== null && config !== void 0 ? config : {};
|
|
216
|
+
const { validate, default: defaultValue, precision = exports.LAT_LONG_1MM_PRECISION, readLonLatTuples } = config !== null && config !== void 0 ? config : {};
|
|
166
217
|
const precisionFunction = latLngPointPrecisionFunction(precision);
|
|
167
218
|
const validateFunction = validLatLngPointFunction(defaultValue);
|
|
168
219
|
const mapFn = validate !== false ? (input) => precisionFunction(validateFunction(input)) : precisionFunction;
|
|
169
220
|
return (lat, lng) => {
|
|
221
|
+
var _a;
|
|
170
222
|
let latLng;
|
|
171
223
|
const latType = typeof lat;
|
|
172
224
|
if (latType === 'string') {
|
|
173
225
|
latLng = latLngPointFromString(lat);
|
|
174
226
|
}
|
|
175
227
|
else if (Array.isArray(lat)) {
|
|
176
|
-
|
|
177
|
-
|
|
228
|
+
if (readLonLatTuples) {
|
|
229
|
+
const tuple = lat;
|
|
230
|
+
latLng = { lat: tuple[1], lng: tuple[0] };
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
const tuple = lat;
|
|
234
|
+
latLng = { lat: tuple[0], lng: tuple[1] };
|
|
235
|
+
}
|
|
178
236
|
}
|
|
179
237
|
else if (latType === 'object') {
|
|
180
|
-
latLng = lat;
|
|
238
|
+
latLng = { lat: lat.lat, lng: (_a = lat.lng) !== null && _a !== void 0 ? _a : lat.lon };
|
|
181
239
|
}
|
|
182
240
|
else if (lng != null) {
|
|
183
241
|
latLng = { lat: lat, lng };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/point.ts"],"names":[],"mappings":";;;AACA,2CAA+E;AAalE,QAAA,kBAAkB,GAAG,CAAC,IAAI,CAAC;AAC3B,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAC1B,QAAA,mBAAmB,GAAG,CAAC,KAAK,CAAC;AAC7B,QAAA,mBAAmB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/point.ts"],"names":[],"mappings":"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"}
|
package/src/lib/value/vector.js
CHANGED
|
@@ -25,19 +25,19 @@ function rectangleOverlapsRectangle(a, b) {
|
|
|
25
25
|
}
|
|
26
26
|
exports.rectangleOverlapsRectangle = rectangleOverlapsRectangle;
|
|
27
27
|
function getOverlappingRectangle(a, b) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
const xl = Math.max(a.bl.x, b.bl.x);
|
|
29
|
+
const yl = Math.max(a.bl.y, b.bl.y);
|
|
30
|
+
const xr = Math.min(a.tr.x, b.tr.x);
|
|
31
|
+
const yr = Math.min(a.tr.y, b.tr.y);
|
|
32
32
|
// does not intersect
|
|
33
33
|
if (xl > xr || yl > yr) {
|
|
34
34
|
return undefined;
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
const topRight = {
|
|
37
37
|
x: xr,
|
|
38
38
|
y: yr
|
|
39
39
|
};
|
|
40
|
-
|
|
40
|
+
const bottomLeft = {
|
|
41
41
|
x: xl,
|
|
42
42
|
y: yl
|
|
43
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/vector.ts"],"names":[],"mappings":";;;AAsBA;;;;;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,
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/vector.ts"],"names":[],"mappings":";;;AAsBA;;;;;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.4.0](https://github.com/dereekb/dbx-components/compare/v9.3.3-dev...v9.4.0) (2022-08-24)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.3.3](https://github.com/dereekb/dbx-components/compare/v9.3.2-dev...v9.3.3) (2022-08-23)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [9.3.2](https://github.com/dereekb/dbx-components/compare/v9.3.1-dev...v9.3.2) (2022-08-22)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
## [9.3.1](https://github.com/dereekb/dbx-components/compare/v9.3.0-dev...v9.3.1) (2022-08-21)
|
|
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.4.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.4.0",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"ts-essentials": "^9.1.2",
|