@flighthq/geolocation 0.5.1-next.731.0ae0aa4 → 0.5.1-next.799.62ef0c7
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/README.md +2 -2
- package/dist/geolocation.d.ts.map +1 -1
- package/dist/geolocation.js +9 -8
- package/dist/geolocation.js.map +1 -1
- package/package.json +3 -2
- package/src/geolocation.test.ts +8 -4
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/geolocation`. The `@
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/geolocation@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/geolocation@0.5.1-next.799.62ef0c7](https://github.com/flighthq/flight/tree/62ef0c74f09f24177aac3695b2487b2d743d4fe6/packages/geolocation)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/62ef0c74f09f24177aac3695b2487b2d743d4fe6/LICENSE.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geolocation.d.ts","sourceRoot":"","sources":["../src/geolocation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"geolocation.d.ts","sourceRoot":"","sources":["../src/geolocation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAGV,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAY/C;AAKD,wBAAgB,2BAA2B,IAAI,kBAAkB,CAsFhE;AAED,wBAAgB,yBAAyB,IAAI,kBAAkB,CAa9D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAEhH;AAED,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAErH;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,CAE1D;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAM/E;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAKxF;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAKrD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE9E;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,EAClD,OAAO,CAAC,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAC7C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,GACjD,MAAM,CAER"}
|
package/dist/geolocation.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { createEntity } from '@flighthq/entity/contract';
|
|
1
2
|
export function clearGeolocationWatch(id) {
|
|
2
3
|
getGeolocationBackend().clearWatch(id);
|
|
3
4
|
}
|
|
4
5
|
export function createGeoPosition() {
|
|
5
|
-
return {
|
|
6
|
+
return createEntity({
|
|
6
7
|
accuracy: 0,
|
|
7
8
|
altitude: 0,
|
|
8
9
|
altitudeAccuracy: 0,
|
|
@@ -12,13 +13,13 @@ export function createGeoPosition() {
|
|
|
12
13
|
longitude: 0,
|
|
13
14
|
speed: 0,
|
|
14
15
|
timestamp: 0,
|
|
15
|
-
};
|
|
16
|
+
});
|
|
16
17
|
}
|
|
17
18
|
// Builds the default web backend over navigator.geolocation. Position reads resolve to null and
|
|
18
19
|
// permission requests resolve to false when the API is absent (insecure context, jsdom) or the user
|
|
19
20
|
// denies access — location access is not guaranteed.
|
|
20
21
|
export function createWebGeolocationBackend() {
|
|
21
|
-
return {
|
|
22
|
+
return createEntity({
|
|
22
23
|
clearWatch(id) {
|
|
23
24
|
const geo = getWebGeolocation();
|
|
24
25
|
if (geo === null || typeof geo.clearWatch !== 'function')
|
|
@@ -95,7 +96,7 @@ export function createWebGeolocationBackend() {
|
|
|
95
96
|
return -1;
|
|
96
97
|
}
|
|
97
98
|
},
|
|
98
|
-
};
|
|
99
|
+
});
|
|
99
100
|
}
|
|
100
101
|
export function explainGeolocationBackend() {
|
|
101
102
|
if (_custom !== null) {
|
|
@@ -154,7 +155,7 @@ let _host = null;
|
|
|
154
155
|
let _hostConflict = false;
|
|
155
156
|
let _hostObservation = null;
|
|
156
157
|
const _emptyOptions = {};
|
|
157
|
-
const _sentinel = {
|
|
158
|
+
const _sentinel = createEntity({
|
|
158
159
|
clearWatch() { },
|
|
159
160
|
getCurrentPosition() {
|
|
160
161
|
return Promise.resolve(null);
|
|
@@ -171,7 +172,7 @@ const _sentinel = {
|
|
|
171
172
|
watchPosition() {
|
|
172
173
|
return -1;
|
|
173
174
|
},
|
|
174
|
-
};
|
|
175
|
+
});
|
|
175
176
|
function getWebGeolocation() {
|
|
176
177
|
if (typeof navigator === 'undefined')
|
|
177
178
|
return null;
|
|
@@ -179,7 +180,7 @@ function getWebGeolocation() {
|
|
|
179
180
|
}
|
|
180
181
|
function mapWebPosition(position) {
|
|
181
182
|
const coords = position.coords;
|
|
182
|
-
return {
|
|
183
|
+
return createEntity({
|
|
183
184
|
accuracy: coords.accuracy,
|
|
184
185
|
altitude: coords.altitude ?? 0,
|
|
185
186
|
altitudeAccuracy: coords.altitudeAccuracy ?? 0,
|
|
@@ -191,7 +192,7 @@ function mapWebPosition(position) {
|
|
|
191
192
|
longitude: coords.longitude,
|
|
192
193
|
speed: coords.speed ?? 0,
|
|
193
194
|
timestamp: position.timestamp,
|
|
194
|
-
};
|
|
195
|
+
});
|
|
195
196
|
}
|
|
196
197
|
function mapWebAccessError(error) {
|
|
197
198
|
switch (error.code) {
|
package/dist/geolocation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geolocation.js","sourceRoot":"","sources":["../src/geolocation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"geolocation.js","sourceRoot":"","sources":["../src/geolocation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/geolocation",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.799.62ef0c7",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/
|
|
41
|
+
"@flighthq/entity": "0.5.1-next.799.62ef0c7",
|
|
42
|
+
"@flighthq/types": "0.5.1-next.799.62ef0c7"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
45
|
"typescript": "^5.3.0"
|
package/src/geolocation.test.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createEntity } from '@flighthq/entity/contract';
|
|
2
|
+
import type { Entity, GeolocationBackend, GeolocationErrorReason, GeoPosition } from '@flighthq/types/contract';
|
|
3
|
+
import { EntityRuntimeKey } from '@flighthq/types/contract';
|
|
2
4
|
|
|
3
5
|
import {
|
|
4
6
|
clearGeolocationWatch,
|
|
@@ -17,7 +19,7 @@ import {
|
|
|
17
19
|
} from './geolocation';
|
|
18
20
|
|
|
19
21
|
function fakeBackend(available: boolean = true): GeolocationBackend & { cleared: number[]; lastWatch: number } {
|
|
20
|
-
return {
|
|
22
|
+
return createEntity<Omit<GeolocationBackend & { cleared: number[]; lastWatch: number }, keyof Entity>>({
|
|
21
23
|
cleared: [],
|
|
22
24
|
lastWatch: 0,
|
|
23
25
|
promptForAccess: () => Promise.resolve({ reason: 'granted' as const }),
|
|
@@ -46,7 +48,7 @@ function fakeBackend(available: boolean = true): GeolocationBackend & { cleared:
|
|
|
46
48
|
if (onError) onError('denied');
|
|
47
49
|
return ++this.lastWatch;
|
|
48
50
|
},
|
|
49
|
-
};
|
|
51
|
+
});
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
afterEach(() => {
|
|
@@ -69,7 +71,9 @@ describe('clearGeolocationWatch', () => {
|
|
|
69
71
|
|
|
70
72
|
describe('createGeoPosition', () => {
|
|
71
73
|
it('allocates a zeroed position', () => {
|
|
72
|
-
|
|
74
|
+
const position = createGeoPosition();
|
|
75
|
+
expect(Object.hasOwn(position, EntityRuntimeKey)).toBe(true);
|
|
76
|
+
expect(position).toMatchObject({
|
|
73
77
|
accuracy: 0,
|
|
74
78
|
altitude: 0,
|
|
75
79
|
altitudeAccuracy: 0,
|