@dereekb/util 9.1.2 → 9.3.1
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 +24 -0
- package/package.json +1 -1
- package/src/lib/value/bound.d.ts +87 -0
- package/src/lib/value/bound.js +207 -0
- package/src/lib/value/bound.js.map +1 -0
- package/src/lib/value/index.d.ts +1 -0
- package/src/lib/value/index.js +1 -0
- package/src/lib/value/index.js.map +1 -1
- package/src/lib/value/point.d.ts +35 -6
- package/src/lib/value/point.js +47 -9
- package/src/lib/value/point.js.map +1 -1
- package/src/lib/value/vector.d.ts +26 -0
- package/src/lib/value/vector.js +47 -0
- package/src/lib/value/vector.js.map +1 -0
- package/test/CHANGELOG.md +12 -0
- package/test/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.3.1](https://github.com/dereekb/dbx-components/compare/v9.3.0-dev...v9.3.1) (2022-08-21)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [9.3.0](https://github.com/dereekb/dbx-components/compare/v9.2.0-dev...v9.3.0) (2022-08-20)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* added DbxMapboxMapStore ([9397b9a](https://github.com/dereekb/dbx-components/commit/9397b9a5951abe909d4539176d266c2934189034))
|
|
15
|
+
* added IsWithinLatLngBoundFunction() ([c986e5b](https://github.com/dereekb/dbx-components/commit/c986e5bfe1742319526f0d1ec62e3c3a09c47d2d))
|
|
16
|
+
* added Mapbox functions to DbxMapboxStore ([9a9f5f4](https://github.com/dereekb/dbx-components/commit/9a9f5f4a22088be4a5c170dffe6cc2eb9f66731b))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# [9.2.0](https://github.com/dereekb/dbx-components/compare/v9.1.2-dev...v9.2.0) (2022-08-18)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* added DbxFormMapboxLatLngFieldComponent ([5ce4fbb](https://github.com/dereekb/dbx-components/commit/5ce4fbb470b056c5a92da119cc29fd867ca7fe60))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
5
29
|
## [9.1.2](https://github.com/dereekb/dbx-components/compare/v9.1.1-dev...v9.1.2) (2022-08-16)
|
|
6
30
|
|
|
7
31
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Rectangle } from './vector';
|
|
2
|
+
import { LatLngPoint, LatLngPointInput, LatLngPrecision, LatLngPointFunction } from './point';
|
|
3
|
+
export declare type LatLngBoundSouthWestPoint = LatLngPoint;
|
|
4
|
+
export declare type LatLngBoundNothEastPoint = LatLngPoint;
|
|
5
|
+
export interface LatLngBound {
|
|
6
|
+
sw: LatLngBoundSouthWestPoint;
|
|
7
|
+
ne: LatLngBoundNothEastPoint;
|
|
8
|
+
}
|
|
9
|
+
export declare function isLatLngBound(input: LatLngBound | unknown): input is LatLngBound;
|
|
10
|
+
export declare function isSameLatLngBound(a: LatLngBound, b: LatLngBound): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Returns true if the input LatLngBound wrap across the wrapped longitudinal edge of a map.
|
|
13
|
+
*
|
|
14
|
+
* @param bound
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function latLngBoundWrapsMap(bound: LatLngBound): boolean;
|
|
18
|
+
export declare function latLngBoundNorthEastPoint(bound: LatLngBound): LatLngPoint;
|
|
19
|
+
export declare function latLngBoundNorthWestPoint(bound: LatLngBound): LatLngPoint;
|
|
20
|
+
export declare function latLngBoundSouthEastPoint(bound: LatLngBound): LatLngPoint;
|
|
21
|
+
export declare function latLngBoundSouthWestPoint(bound: LatLngBound): LatLngPoint;
|
|
22
|
+
export declare function latLngBoundCenterPoint(bound: LatLngBound): LatLngPoint;
|
|
23
|
+
export declare function latLngBoundNorthBound(bound: LatLngBound): number;
|
|
24
|
+
export declare function latLngBoundSouthBound(bound: LatLngBound): number;
|
|
25
|
+
export declare function latLngBoundEastBound(bound: LatLngBound): number;
|
|
26
|
+
export declare function latLngBoundWestBound(bound: LatLngBound): number;
|
|
27
|
+
/**
|
|
28
|
+
* Tuple of the sw corner and the north east point.
|
|
29
|
+
*/
|
|
30
|
+
export declare type LatLngBoundTuple = [LatLngBoundSouthWestPoint | LatLngPointInput, LatLngBoundNothEastPoint | LatLngPointInput];
|
|
31
|
+
export declare type LatLngBoundTuplePoints = [LatLngPointInput, LatLngPointInput, LatLngPointInput, LatLngPointInput];
|
|
32
|
+
export declare type LatLngBoundInput = LatLngBound | LatLngBoundTuple | LatLngBoundTuplePoints;
|
|
33
|
+
export declare function latLngBoundTuple(input: LatLngBoundSouthWestPoint | LatLngBoundInput, inputNe?: LatLngBoundNothEastPoint): LatLngBoundTuple;
|
|
34
|
+
/**
|
|
35
|
+
* Converts the input to a LatLngString
|
|
36
|
+
*/
|
|
37
|
+
export declare type LatLngBoundTupleFunction = ((input: LatLngBoundSouthWestPoint | LatLngBoundInput, inputNe?: LatLngBoundNothEastPoint) => LatLngBoundTuple) & ((sw: LatLngBoundSouthWestPoint, ne: LatLngBoundNothEastPoint) => LatLngBoundTuple) & ((bound: LatLngBoundInput) => LatLngBoundTuple);
|
|
38
|
+
export declare type LatLngBoundTupleFunctionConfig = LatLngBoundFunctionConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Creates a LatLngBoundTupleFunction
|
|
41
|
+
*
|
|
42
|
+
* @param precision
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
export declare function latLngBoundTupleFunction(config?: LatLngBoundTupleFunctionConfig): LatLngBoundTupleFunction;
|
|
46
|
+
export declare function latLngBound(input: LatLngBoundSouthWestPoint | LatLngBoundInput, inputNe?: LatLngBoundNothEastPoint): LatLngBound;
|
|
47
|
+
/**
|
|
48
|
+
* Converts the input to a LatLngBound
|
|
49
|
+
*/
|
|
50
|
+
export declare type LatLngBoundFunction = ((input: LatLngBoundSouthWestPoint | LatLngBoundInput, inputNe?: LatLngBoundNothEastPoint) => LatLngBound) & ((sw: LatLngBoundSouthWestPoint, ne: LatLngBoundNothEastPoint) => LatLngBound) & ((bound: LatLngBoundInput) => LatLngBound);
|
|
51
|
+
export interface LatLngBoundFunctionConfig {
|
|
52
|
+
/**
|
|
53
|
+
* Point function to use for calculations.
|
|
54
|
+
*/
|
|
55
|
+
pointFunction?: LatLngPointFunction;
|
|
56
|
+
/**
|
|
57
|
+
* LatLngPrecision to use if pointFunction is not provided.
|
|
58
|
+
*/
|
|
59
|
+
precision?: LatLngPrecision;
|
|
60
|
+
}
|
|
61
|
+
export declare function latLngBoundFunction(config?: LatLngBoundFunctionConfig): LatLngBoundFunction;
|
|
62
|
+
/**
|
|
63
|
+
* Function that returns true if the input is entirely within the context's bound.
|
|
64
|
+
*/
|
|
65
|
+
export declare type IsWithinLatLngBoundFunction = ((boundOrPoint: LatLngBound | LatLngPoint) => boolean) & {
|
|
66
|
+
readonly _bound: LatLngBound;
|
|
67
|
+
};
|
|
68
|
+
export declare function isWithinLatLngBoundFunction(bound: LatLngBound): IsWithinLatLngBoundFunction;
|
|
69
|
+
export declare function isLatLngBoundWithinLatLngBound(bound: LatLngBound, within: LatLngBound): boolean;
|
|
70
|
+
export declare function isLatLngPointWithinLatLngBound(point: LatLngPoint, within: LatLngBound): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Function that returns true if the input overlaps the context's bound.
|
|
73
|
+
*/
|
|
74
|
+
export declare type OverlapsLatLngBoundFunction = ((boundOrPoint: LatLngBound | LatLngPoint) => boolean) & {
|
|
75
|
+
readonly _bound: LatLngBound;
|
|
76
|
+
};
|
|
77
|
+
export declare function latLngBoundOverlapsLatLngBound(a: LatLngBound, b: LatLngBound): boolean;
|
|
78
|
+
export declare function overlapsLatLngBoundFunction(bound: LatLngBound): OverlapsLatLngBoundFunction;
|
|
79
|
+
export declare const TOTAL_SPAN_OF_LONGITUDE = 360;
|
|
80
|
+
/**
|
|
81
|
+
* "normalizes" the space so that the left -180 longitudinal bound will begin at 360.
|
|
82
|
+
*
|
|
83
|
+
* This turns the latitude/longitude into two rectangles in an arbitrary space that can be safely compared without worrying about wrapping.
|
|
84
|
+
*
|
|
85
|
+
* @param bound
|
|
86
|
+
*/
|
|
87
|
+
export declare function boundToRectangle(bound: LatLngBound): Rectangle;
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
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;
|
|
4
|
+
const vector_1 = require("./vector");
|
|
5
|
+
const point_1 = require("./point");
|
|
6
|
+
function isLatLngBound(input) {
|
|
7
|
+
return typeof input === 'object' && input.sw !== null && input.ne !== null;
|
|
8
|
+
}
|
|
9
|
+
exports.isLatLngBound = isLatLngBound;
|
|
10
|
+
function isSameLatLngBound(a, b) {
|
|
11
|
+
return (0, point_1.isSameLatLngPoint)(a.sw, b.sw) && (0, point_1.isSameLatLngPoint)(a.ne, b.ne);
|
|
12
|
+
}
|
|
13
|
+
exports.isSameLatLngBound = isSameLatLngBound;
|
|
14
|
+
/**
|
|
15
|
+
* Returns true if the input LatLngBound wrap across the wrapped longitudinal edge of a map.
|
|
16
|
+
*
|
|
17
|
+
* @param bound
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
function latLngBoundWrapsMap(bound) {
|
|
21
|
+
return bound.sw.lng > bound.ne.lng;
|
|
22
|
+
}
|
|
23
|
+
exports.latLngBoundWrapsMap = latLngBoundWrapsMap;
|
|
24
|
+
function latLngBoundNorthEastPoint(bound) {
|
|
25
|
+
return bound.ne;
|
|
26
|
+
}
|
|
27
|
+
exports.latLngBoundNorthEastPoint = latLngBoundNorthEastPoint;
|
|
28
|
+
function latLngBoundNorthWestPoint(bound) {
|
|
29
|
+
return { lat: bound.ne.lat, lng: bound.sw.lng };
|
|
30
|
+
}
|
|
31
|
+
exports.latLngBoundNorthWestPoint = latLngBoundNorthWestPoint;
|
|
32
|
+
function latLngBoundSouthEastPoint(bound) {
|
|
33
|
+
return { lat: bound.sw.lat, lng: bound.ne.lng };
|
|
34
|
+
}
|
|
35
|
+
exports.latLngBoundSouthEastPoint = latLngBoundSouthEastPoint;
|
|
36
|
+
function latLngBoundSouthWestPoint(bound) {
|
|
37
|
+
return bound.sw;
|
|
38
|
+
}
|
|
39
|
+
exports.latLngBoundSouthWestPoint = latLngBoundSouthWestPoint;
|
|
40
|
+
function latLngBoundCenterPoint(bound) {
|
|
41
|
+
const { sw, ne } = bound;
|
|
42
|
+
const lat = (sw.lng + ne.lng) / 2;
|
|
43
|
+
const lng = (sw.lat + ne.lat) / 2;
|
|
44
|
+
return { lat, lng };
|
|
45
|
+
}
|
|
46
|
+
exports.latLngBoundCenterPoint = latLngBoundCenterPoint;
|
|
47
|
+
function latLngBoundNorthBound(bound) {
|
|
48
|
+
return bound.ne.lat;
|
|
49
|
+
}
|
|
50
|
+
exports.latLngBoundNorthBound = latLngBoundNorthBound;
|
|
51
|
+
function latLngBoundSouthBound(bound) {
|
|
52
|
+
return bound.sw.lat;
|
|
53
|
+
}
|
|
54
|
+
exports.latLngBoundSouthBound = latLngBoundSouthBound;
|
|
55
|
+
function latLngBoundEastBound(bound) {
|
|
56
|
+
return bound.ne.lng;
|
|
57
|
+
}
|
|
58
|
+
exports.latLngBoundEastBound = latLngBoundEastBound;
|
|
59
|
+
function latLngBoundWestBound(bound) {
|
|
60
|
+
return bound.sw.lng;
|
|
61
|
+
}
|
|
62
|
+
exports.latLngBoundWestBound = latLngBoundWestBound;
|
|
63
|
+
// MARK: BoundTuple
|
|
64
|
+
function latLngBoundTuple(input, inputNe) {
|
|
65
|
+
return latLngBoundTupleFunction()(input, inputNe);
|
|
66
|
+
}
|
|
67
|
+
exports.latLngBoundTuple = latLngBoundTuple;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a LatLngBoundTupleFunction
|
|
70
|
+
*
|
|
71
|
+
* @param precision
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
function latLngBoundTupleFunction(config) {
|
|
75
|
+
const fn = latLngBoundFunction(config);
|
|
76
|
+
return (input, inputNe) => {
|
|
77
|
+
const latLngBound = fn(input, inputNe);
|
|
78
|
+
return [latLngBound.sw, latLngBound.ne];
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
exports.latLngBoundTupleFunction = latLngBoundTupleFunction;
|
|
82
|
+
// MARK: Bound
|
|
83
|
+
function latLngBound(input, inputNe) {
|
|
84
|
+
return latLngBoundFunction()(input, inputNe);
|
|
85
|
+
}
|
|
86
|
+
exports.latLngBound = latLngBound;
|
|
87
|
+
function latLngBoundFunction(config) {
|
|
88
|
+
const { pointFunction, precision } = config !== null && config !== void 0 ? config : {};
|
|
89
|
+
const latLngPoint = pointFunction !== null && pointFunction !== void 0 ? pointFunction : (0, point_1.latLngPointFunction)({ precision });
|
|
90
|
+
return (input, inputNe) => {
|
|
91
|
+
let bound;
|
|
92
|
+
if (Array.isArray(input)) {
|
|
93
|
+
if (input.length === 2) {
|
|
94
|
+
const [sw, ne] = input;
|
|
95
|
+
bound = {
|
|
96
|
+
sw: latLngPoint(sw),
|
|
97
|
+
ne: latLngPoint(ne)
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
else if (input.length === 4) {
|
|
101
|
+
const points = input.map(latLngPoint);
|
|
102
|
+
const lats = points.map((x) => x.lat);
|
|
103
|
+
const lngs = points.map((x) => x.lng);
|
|
104
|
+
const minLat = Math.min(...lats);
|
|
105
|
+
const maxLat = Math.max(...lats);
|
|
106
|
+
const minLng = Math.min(...lngs);
|
|
107
|
+
const maxLng = Math.max(...lngs);
|
|
108
|
+
bound = {
|
|
109
|
+
sw: latLngPoint([minLat, minLng]),
|
|
110
|
+
ne: latLngPoint([maxLat, maxLng])
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else if (input && inputNe) {
|
|
115
|
+
bound = { sw: input, ne: inputNe };
|
|
116
|
+
}
|
|
117
|
+
else if (input.sw && input.ne) {
|
|
118
|
+
bound = input;
|
|
119
|
+
}
|
|
120
|
+
if (!bound) {
|
|
121
|
+
throw new Error(`Invalid latLngBound input "${input}" + "${inputNe}"`);
|
|
122
|
+
}
|
|
123
|
+
return bound;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
exports.latLngBoundFunction = latLngBoundFunction;
|
|
127
|
+
function isWithinLatLngBoundFunction(bound) {
|
|
128
|
+
const fn = ((boundOrPoint) => {
|
|
129
|
+
if ((0, point_1.isLatLngPoint)(boundOrPoint)) {
|
|
130
|
+
return isLatLngPointWithinLatLngBound(boundOrPoint, bound);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
return isLatLngBoundWithinLatLngBound(boundOrPoint, bound);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
fn._bound = bound;
|
|
137
|
+
return fn;
|
|
138
|
+
}
|
|
139
|
+
exports.isWithinLatLngBoundFunction = isWithinLatLngBoundFunction;
|
|
140
|
+
function isLatLngBoundWithinLatLngBound(bound, within) {
|
|
141
|
+
return isLatLngPointWithinLatLngBound(bound.sw, within) && isLatLngPointWithinLatLngBound(bound.ne, within);
|
|
142
|
+
}
|
|
143
|
+
exports.isLatLngBoundWithinLatLngBound = isLatLngBoundWithinLatLngBound;
|
|
144
|
+
function isLatLngPointWithinLatLngBound(point, within) {
|
|
145
|
+
const { sw, ne } = within;
|
|
146
|
+
const latIsBounded = sw.lat <= point.lat && ne.lat <= point.lat;
|
|
147
|
+
if (latIsBounded) {
|
|
148
|
+
if (latLngBoundWrapsMap(within)) {
|
|
149
|
+
// test for map wrapping
|
|
150
|
+
return sw.lng >= point.lng && ne.lat >= point.lng;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
return sw.lng <= point.lng && ne.lat <= point.lng;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
exports.isLatLngPointWithinLatLngBound = isLatLngPointWithinLatLngBound;
|
|
159
|
+
function latLngBoundOverlapsLatLngBound(a, b) {
|
|
160
|
+
return overlapsLatLngBoundFunction(a)(b);
|
|
161
|
+
}
|
|
162
|
+
exports.latLngBoundOverlapsLatLngBound = latLngBoundOverlapsLatLngBound;
|
|
163
|
+
function overlapsLatLngBoundFunction(bound) {
|
|
164
|
+
const a = boundToRectangle(bound);
|
|
165
|
+
const fn = ((boundOrPoint) => {
|
|
166
|
+
if ((0, point_1.isLatLngPoint)(boundOrPoint)) {
|
|
167
|
+
console.log('x', boundOrPoint);
|
|
168
|
+
return isLatLngPointWithinLatLngBound(boundOrPoint, bound);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
return (0, vector_1.rectangleOverlapsRectangle)(a, boundToRectangle(boundOrPoint));
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
fn._bound = bound;
|
|
175
|
+
return fn;
|
|
176
|
+
}
|
|
177
|
+
exports.overlapsLatLngBoundFunction = overlapsLatLngBoundFunction;
|
|
178
|
+
exports.TOTAL_SPAN_OF_LONGITUDE = 360;
|
|
179
|
+
/**
|
|
180
|
+
* "normalizes" the space so that the left -180 longitudinal bound will begin at 360.
|
|
181
|
+
*
|
|
182
|
+
* This turns the latitude/longitude into two rectangles in an arbitrary space that can be safely compared without worrying about wrapping.
|
|
183
|
+
*
|
|
184
|
+
* @param bound
|
|
185
|
+
*/
|
|
186
|
+
function boundToRectangle(bound) {
|
|
187
|
+
function pointToVector(point, lngOffset = 0) {
|
|
188
|
+
return { x: point.lng + exports.TOTAL_SPAN_OF_LONGITUDE + lngOffset, y: point.lat };
|
|
189
|
+
}
|
|
190
|
+
let tr;
|
|
191
|
+
let bl;
|
|
192
|
+
if (latLngBoundWrapsMap(bound)) {
|
|
193
|
+
// compute the NE/TR corner first
|
|
194
|
+
tr = pointToVector(bound.ne);
|
|
195
|
+
const swDistanceToBound = bound.sw.lng - 180;
|
|
196
|
+
const neDistanceToBound = bound.ne.lng + 180;
|
|
197
|
+
const totalOffset = neDistanceToBound - swDistanceToBound;
|
|
198
|
+
bl = { x: tr.x - totalOffset, y: bound.sw.lat };
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
tr = pointToVector(bound.ne);
|
|
202
|
+
bl = pointToVector(bound.sw);
|
|
203
|
+
}
|
|
204
|
+
return { bl, tr };
|
|
205
|
+
}
|
|
206
|
+
exports.boundToRectangle = boundToRectangle;
|
|
207
|
+
//# sourceMappingURL=bound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/index.d.ts
CHANGED
package/src/lib/value/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./bound"), exports);
|
|
4
5
|
tslib_1.__exportStar(require("./build"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./decision"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./equal"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,qDAA2B;AAC3B,kDAAwB;AACxB,oDAA0B;AAC1B,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB;AACxB,qDAA2B;AAC3B,gDAAsB;AACtB,gDAAsB;AACtB,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,kDAAwB;AACxB,qDAA2B;AAC3B,kDAAwB;AACxB,oDAA0B;AAC1B,gDAAsB;AACtB,uDAA6B;AAC7B,kDAAwB;AACxB,qDAA2B;AAC3B,gDAAsB;AACtB,gDAAsB;AACtB,kDAAwB"}
|
package/src/lib/value/point.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ export interface LatLngPoint {
|
|
|
16
16
|
lat: Latitude;
|
|
17
17
|
lng: Longitude;
|
|
18
18
|
}
|
|
19
|
-
export declare function
|
|
19
|
+
export declare function isLatLngPoint(input: LatLngPoint | unknown): input is LatLngPoint;
|
|
20
|
+
export declare function isSameLatLngPoint(a: LatLngPoint, b: LatLngPoint): boolean;
|
|
20
21
|
export declare function isValidLatitude(lat: Latitude): boolean;
|
|
21
22
|
export declare function isValidLongitude(lat: Longitude): boolean;
|
|
22
23
|
export declare function defaultLatLngPoint(): LatLngPoint;
|
|
@@ -27,10 +28,25 @@ export declare function defaultLatLngPoint(): LatLngPoint;
|
|
|
27
28
|
* @returns
|
|
28
29
|
*/
|
|
29
30
|
export declare function isValidLatLngPoint(input: LatLngPoint): boolean;
|
|
31
|
+
export declare type LatLngTuple = [Latitude, Longitude];
|
|
32
|
+
export declare function latLngTuple(lat: LatLngPointInput, lng?: Longitude): LatLngTuple;
|
|
33
|
+
/**
|
|
34
|
+
* Converts the input to a LatLngString
|
|
35
|
+
*/
|
|
36
|
+
export declare type LatLngTupleFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngTuple) & ((latLng: string | LatLngTuple) => LatLngTuple) & ((latLng: LatLngPoint) => LatLngTuple) & ((lat: Latitude, lng?: Longitude) => LatLngTuple);
|
|
37
|
+
export declare type LatLngTupleFunctionConfig = LatLngPointFunctionConfig;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a LatLngTupleFunction
|
|
40
|
+
*
|
|
41
|
+
* @param precision
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
export declare function latLngTupleFunction(config?: LatLngTupleFunctionConfig): LatLngTupleFunction;
|
|
30
45
|
/**
|
|
31
46
|
* A lat,lng encoded value.
|
|
32
47
|
*/
|
|
33
48
|
export declare type LatLngString = `${Latitude},${Longitude}`;
|
|
49
|
+
export declare type LatLngPointInput = Latitude | LatLngPoint | LatLngString | LatLngTuple | string;
|
|
34
50
|
export declare type LatLngPrecision = NumberPrecision;
|
|
35
51
|
/**
|
|
36
52
|
* Creates a LatLngString from the input.
|
|
@@ -41,12 +57,13 @@ export declare type LatLngPrecision = NumberPrecision;
|
|
|
41
57
|
export declare function latLngString(lat: Latitude, lng?: Longitude): LatLngString;
|
|
42
58
|
export declare function latLngString(latLng: LatLngPoint): LatLngString;
|
|
43
59
|
export declare function latLngString(latLng: LatLngString): LatLngString;
|
|
60
|
+
export declare const LAT_LNG_PATTERN_MAX_PRECISION = 15;
|
|
44
61
|
/**
|
|
45
62
|
* A lat/lng regex with capture groups for lat and lng.
|
|
46
63
|
*
|
|
47
|
-
* Has a max precision of 10, which is easily precise enough for all GPS cases.
|
|
48
|
-
*
|
|
49
64
|
* https://stackoverflow.com/questions/3518504/regular-expression-for-matching-latitude-longitude-coordinates
|
|
65
|
+
*
|
|
66
|
+
* Has a max precision of 15 because Google Maps returns a 15 decimal places when copying a position.
|
|
50
67
|
*/
|
|
51
68
|
export declare const LAT_LNG_PATTERN: RegExp;
|
|
52
69
|
/**
|
|
@@ -88,7 +105,7 @@ export declare const LAT_LONG_10CM_PRECISION = 6;
|
|
|
88
105
|
*/
|
|
89
106
|
export declare const LAT_LONG_1CM_PRECISION = 7;
|
|
90
107
|
/**
|
|
91
|
-
* 001.11
|
|
108
|
+
* 001.11 millimeter precision, 8 decimal places
|
|
92
109
|
*/
|
|
93
110
|
export declare const LAT_LONG_1MM_PRECISION = 8;
|
|
94
111
|
/**
|
|
@@ -107,7 +124,7 @@ export declare function latLngPointPrecisionFunction(precision: LatLngPrecision)
|
|
|
107
124
|
/**
|
|
108
125
|
* Converts the input to a LatLngString
|
|
109
126
|
*/
|
|
110
|
-
export declare type LatLngStringFunction = ((lat:
|
|
127
|
+
export declare type LatLngStringFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngString) & ((latLng: string | LatLngString) => LatLngString) & ((latLng: LatLngPoint) => LatLngString) & ((lat: Latitude, lng?: Longitude) => LatLngString);
|
|
111
128
|
export declare type LatLngStringFunctionConfig = LatLngPointFunctionConfig;
|
|
112
129
|
/**
|
|
113
130
|
* Creates a LatLngStringFunction
|
|
@@ -119,7 +136,7 @@ export declare function latLngStringFunction(config?: LatLngStringFunctionConfig
|
|
|
119
136
|
/**
|
|
120
137
|
* Converts the input to a LatLngPoint
|
|
121
138
|
*/
|
|
122
|
-
export declare type LatLngPointFunction = ((lat:
|
|
139
|
+
export declare type LatLngPointFunction = ((lat: LatLngPointInput, lng?: Longitude) => LatLngPoint) & ((latLng: string | LatLngString) => LatLngPoint) & ((latLng: LatLngPoint) => LatLngPoint) & ((lat: Latitude, lng: Longitude) => LatLngPoint);
|
|
123
140
|
export interface LatLngPointFunctionConfig {
|
|
124
141
|
/**
|
|
125
142
|
* LatLngPrecision to use
|
|
@@ -136,6 +153,14 @@ export interface LatLngPointFunctionConfig {
|
|
|
136
153
|
*/
|
|
137
154
|
default?: Factory<LatLngPoint>;
|
|
138
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Creates a LatLngPoint. Uses latLngPointFunction() internally.
|
|
158
|
+
*
|
|
159
|
+
* @param lat
|
|
160
|
+
* @param lng
|
|
161
|
+
* @returns
|
|
162
|
+
*/
|
|
163
|
+
export declare function latLngPoint(lat: LatLngPointInput, lng?: Longitude): LatLngPoint;
|
|
139
164
|
/**
|
|
140
165
|
* Creates a LatLngPointFunction
|
|
141
166
|
*
|
|
@@ -190,3 +215,7 @@ export declare type LatLngDataPointFunction<T extends LatLngRef> = (data: T) =>
|
|
|
190
215
|
* @returns
|
|
191
216
|
*/
|
|
192
217
|
export declare function latLngDataPointFunction<T extends LatLngRef>(config?: LatLngPointFunctionConfig): LatLngDataPointFunction<T>;
|
|
218
|
+
/**
|
|
219
|
+
* @deprecated use LatLngPointInput
|
|
220
|
+
*/
|
|
221
|
+
export declare type LatLngInput = LatLngPointInput;
|
package/src/lib/value/point.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.latLngDataPointFunction = exports.validLatLngPointFunction = exports.validLatLngPoint = exports.latLngPointFromString = exports.latLngPointFunction = 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.latLngString = exports.isValidLatLngPoint = exports.defaultLatLngPoint = exports.isValidLongitude = exports.isValidLatitude = exports.
|
|
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;
|
|
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
7
|
exports.MIN_LONGITUDE_VALUE = -180.0;
|
|
8
8
|
exports.MAX_LONGITUDE_VALUE = 180.0;
|
|
9
|
-
function
|
|
10
|
-
return
|
|
9
|
+
function isLatLngPoint(input) {
|
|
10
|
+
return typeof input === 'object' && input.lat != null && input.lng != null;
|
|
11
11
|
}
|
|
12
|
-
exports.
|
|
12
|
+
exports.isLatLngPoint = isLatLngPoint;
|
|
13
|
+
function isSameLatLngPoint(a, b) {
|
|
14
|
+
return a.lat === b.lat && a.lng === b.lng;
|
|
15
|
+
}
|
|
16
|
+
exports.isSameLatLngPoint = isSameLatLngPoint;
|
|
13
17
|
function isValidLatitude(lat) {
|
|
14
18
|
return lat >= exports.MIN_LATITUDE_VALUE && lat <= exports.MAX_LATITUDE_VALUE;
|
|
15
19
|
}
|
|
@@ -32,18 +36,37 @@ function isValidLatLngPoint(input) {
|
|
|
32
36
|
return isValidLatitude(input.lat) && isValidLongitude(input.lng);
|
|
33
37
|
}
|
|
34
38
|
exports.isValidLatLngPoint = isValidLatLngPoint;
|
|
39
|
+
function latLngTuple(lat, lng) {
|
|
40
|
+
return latLngTupleFunction()(lat, lng);
|
|
41
|
+
}
|
|
42
|
+
exports.latLngTuple = latLngTuple;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a LatLngTupleFunction
|
|
45
|
+
*
|
|
46
|
+
* @param precision
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
function latLngTupleFunction(config) {
|
|
50
|
+
const fn = latLngPointFunction(config);
|
|
51
|
+
return (lat, lng) => {
|
|
52
|
+
const latLng = fn(lat, lng);
|
|
53
|
+
return [latLng.lat, latLng.lng];
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
exports.latLngTupleFunction = latLngTupleFunction;
|
|
35
57
|
function latLngString(lat, lng) {
|
|
36
58
|
return latLngStringFunction()(lat, lng);
|
|
37
59
|
}
|
|
38
60
|
exports.latLngString = latLngString;
|
|
61
|
+
exports.LAT_LNG_PATTERN_MAX_PRECISION = 15;
|
|
39
62
|
/**
|
|
40
63
|
* A lat/lng regex with capture groups for lat and lng.
|
|
41
64
|
*
|
|
42
|
-
* Has a max precision of 10, which is easily precise enough for all GPS cases.
|
|
43
|
-
*
|
|
44
65
|
* https://stackoverflow.com/questions/3518504/regular-expression-for-matching-latitude-longitude-coordinates
|
|
66
|
+
*
|
|
67
|
+
* Has a max precision of 15 because Google Maps returns a 15 decimal places when copying a position.
|
|
45
68
|
*/
|
|
46
|
-
exports.LAT_LNG_PATTERN = /(?<lat>^[-+]?(?:[1-8]?\d(?:\.\d{0,
|
|
69
|
+
exports.LAT_LNG_PATTERN = /(?<lat>^[-+]?(?:[1-8]?\d(?:\.\d{0,15})?|90(?:\.0{0,15})?))\s*,\s*(?<lng>[-+]?(?:180(?:\.0{0,15})?|(?:1[0-7]\d|[1-9]?\d)(?:\.\d{0,15})?))$/;
|
|
47
70
|
/**
|
|
48
71
|
* Checks whether or not the input has the expected pattern.
|
|
49
72
|
*
|
|
@@ -86,7 +109,7 @@ exports.LAT_LONG_10CM_PRECISION = 6;
|
|
|
86
109
|
*/
|
|
87
110
|
exports.LAT_LONG_1CM_PRECISION = 7;
|
|
88
111
|
/**
|
|
89
|
-
* 001.11
|
|
112
|
+
* 001.11 millimeter precision, 8 decimal places
|
|
90
113
|
*/
|
|
91
114
|
exports.LAT_LONG_1MM_PRECISION = 8;
|
|
92
115
|
/**
|
|
@@ -121,6 +144,17 @@ function latLngStringFunction(config) {
|
|
|
121
144
|
};
|
|
122
145
|
}
|
|
123
146
|
exports.latLngStringFunction = latLngStringFunction;
|
|
147
|
+
/**
|
|
148
|
+
* Creates a LatLngPoint. Uses latLngPointFunction() internally.
|
|
149
|
+
*
|
|
150
|
+
* @param lat
|
|
151
|
+
* @param lng
|
|
152
|
+
* @returns
|
|
153
|
+
*/
|
|
154
|
+
function latLngPoint(lat, lng) {
|
|
155
|
+
return latLngPointFunction()(lat, lng);
|
|
156
|
+
}
|
|
157
|
+
exports.latLngPoint = latLngPoint;
|
|
124
158
|
/**
|
|
125
159
|
* Creates a LatLngPointFunction
|
|
126
160
|
*
|
|
@@ -138,11 +172,15 @@ function latLngPointFunction(config) {
|
|
|
138
172
|
if (latType === 'string') {
|
|
139
173
|
latLng = latLngPointFromString(lat);
|
|
140
174
|
}
|
|
175
|
+
else if (Array.isArray(lat)) {
|
|
176
|
+
const tuple = lat;
|
|
177
|
+
latLng = { lat: tuple[0], lng: tuple[1] };
|
|
178
|
+
}
|
|
141
179
|
else if (latType === 'object') {
|
|
142
180
|
latLng = lat;
|
|
143
181
|
}
|
|
144
182
|
else if (lng != null) {
|
|
145
|
-
latLng =
|
|
183
|
+
latLng = { lat: lat, lng };
|
|
146
184
|
}
|
|
147
185
|
else {
|
|
148
186
|
throw new Error(`Invalid lat/lng input "${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;AAOzC,SAAgB,
|
|
1
|
+
{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../../../../packages/util/src/lib/value/point.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Maybe } from './maybe.type';
|
|
2
|
+
export interface Vector {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
export declare type RectangleOrigin = Vector;
|
|
7
|
+
export declare type TopRightCorner = Vector;
|
|
8
|
+
export declare type BottomLeftCorner = Vector;
|
|
9
|
+
export interface Rectangle {
|
|
10
|
+
/**
|
|
11
|
+
* Upper-Right/North-East corner.
|
|
12
|
+
*/
|
|
13
|
+
tr: TopRightCorner;
|
|
14
|
+
/**
|
|
15
|
+
* Bottom-Left/South-West corner.
|
|
16
|
+
*/
|
|
17
|
+
bl: BottomLeftCorner;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Returns true if the input vector overlaps another.
|
|
21
|
+
*
|
|
22
|
+
* @param a
|
|
23
|
+
* @param b
|
|
24
|
+
*/
|
|
25
|
+
export declare function rectangleOverlapsRectangle(a: Rectangle, b: Rectangle): boolean;
|
|
26
|
+
export declare function getOverlappingRectangle(a: Rectangle, b: Rectangle): Maybe<Rectangle>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOverlappingRectangle = exports.rectangleOverlapsRectangle = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Returns true if the input vector overlaps another.
|
|
6
|
+
*
|
|
7
|
+
* @param a
|
|
8
|
+
* @param b
|
|
9
|
+
*/
|
|
10
|
+
function rectangleOverlapsRectangle(a, b) {
|
|
11
|
+
const { tr: r1, bl: l1 } = a;
|
|
12
|
+
const { tr: r2, bl: l2 } = b;
|
|
13
|
+
let doesNotOverlap = true;
|
|
14
|
+
// corners only touch
|
|
15
|
+
if (l1.x == r1.x || l1.y == r1.y || r2.x == l2.x || l2.y == r2.y) {
|
|
16
|
+
doesNotOverlap = false;
|
|
17
|
+
}
|
|
18
|
+
else if (l1.x > r2.x || l2.x > r1.x) {
|
|
19
|
+
doesNotOverlap = false;
|
|
20
|
+
}
|
|
21
|
+
else if (r1.y < l2.y || r2.y < l1.y) {
|
|
22
|
+
doesNotOverlap = false;
|
|
23
|
+
}
|
|
24
|
+
return doesNotOverlap;
|
|
25
|
+
}
|
|
26
|
+
exports.rectangleOverlapsRectangle = rectangleOverlapsRectangle;
|
|
27
|
+
function getOverlappingRectangle(a, b) {
|
|
28
|
+
var xl = Math.max(a.bl.x, b.bl.x);
|
|
29
|
+
var yl = Math.max(a.bl.y, b.bl.y);
|
|
30
|
+
var xr = Math.min(a.tr.x, b.tr.x);
|
|
31
|
+
var yr = Math.min(a.tr.y, b.tr.y);
|
|
32
|
+
// does not intersect
|
|
33
|
+
if (xl > xr || yl > yr) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
let topRight = {
|
|
37
|
+
x: xr,
|
|
38
|
+
y: yr
|
|
39
|
+
};
|
|
40
|
+
let bottomLeft = {
|
|
41
|
+
x: xl,
|
|
42
|
+
y: yl
|
|
43
|
+
};
|
|
44
|
+
return { tr: topRight, bl: bottomLeft };
|
|
45
|
+
}
|
|
46
|
+
exports.getOverlappingRectangle = getOverlappingRectangle;
|
|
47
|
+
//# sourceMappingURL=vector.js.map
|
|
@@ -0,0 +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,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAElC,qBAAqB;IACrB,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACtB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,QAAQ,GAAmB;QAC7B,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;KACN,CAAC;IAEF,IAAI,UAAU,GAAqB;QACjC,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.3.1](https://github.com/dereekb/dbx-components/compare/v9.3.0-dev...v9.3.1) (2022-08-21)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [9.3.0](https://github.com/dereekb/dbx-components/compare/v9.2.0-dev...v9.3.0) (2022-08-20)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# [9.2.0](https://github.com/dereekb/dbx-components/compare/v9.1.2-dev...v9.2.0) (2022-08-18)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
## [9.1.2](https://github.com/dereekb/dbx-components/compare/v9.1.1-dev...v9.1.2) (2022-08-16)
|
|
6
18
|
|
|
7
19
|
|
package/test/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/util/test",
|
|
3
|
-
"version": "9.1
|
|
3
|
+
"version": "9.3.1",
|
|
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.1
|
|
9
|
+
"@dereekb/util": "9.3.1",
|
|
10
10
|
"lodash.isequal": "^4.5.0",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"ts-essentials": "^9.1.2",
|