@symbiote-native/location 0.1.2 → 0.1.3
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 +60 -32
- package/build/angular/index.d.ts +1 -0
- package/build/angular/index.js +3 -3
- package/build/angular/services/location-permissions.service.d.ts +12 -0
- package/build/angular/services/location-permissions.service.js +104 -0
- package/build/core/geolocation-polyfill.d.ts +2 -0
- package/build/core/geolocation-polyfill.js +52 -0
- package/build/core/index.d.ts +1 -0
- package/build/core/index.js +1 -0
- package/build/core/location-permission-api.d.ts +13 -0
- package/build/core/location-permission-api.js +15 -0
- package/build/core/location.d.ts +0 -3
- package/build/core/location.js +1 -13
- package/build/core/native-module.d.ts +1 -0
- package/build/react/index.d.ts +2 -0
- package/build/react/index.js +2 -0
- package/build/react/use-location-permissions.d.ts +11 -0
- package/build/react/use-location-permissions.js +6 -0
- package/build/solid/index.d.ts +2 -0
- package/build/solid/index.js +2 -0
- package/build/solid/use-location-permissions.d.ts +12 -0
- package/build/solid/use-location-permissions.js +6 -0
- package/build/svelte/index.d.ts +2 -0
- package/build/svelte/index.js +2 -0
- package/build/svelte/use-location-permissions.svelte.d.ts +11 -0
- package/build/svelte/use-location-permissions.svelte.js +6 -0
- package/build/vue/index.d.ts +2 -0
- package/build/vue/index.js +2 -0
- package/build/vue/use-location-permissions.d.ts +12 -0
- package/build/vue/use-location-permissions.js +6 -0
- package/build-ngc/angular/index.d.ts +1 -0
- package/build-ngc/angular/index.js +3 -3
- package/build-ngc/angular/index.js.map +1 -1
- package/build-ngc/angular/services/location-permissions.service.d.ts +19 -0
- package/build-ngc/angular/services/location-permissions.service.js +39 -0
- package/build-ngc/angular/services/location-permissions.service.js.map +1 -0
- package/build-ngc/core/geolocation-polyfill.d.ts +2 -0
- package/build-ngc/core/geolocation-polyfill.js +53 -0
- package/build-ngc/core/geolocation-polyfill.js.map +1 -0
- package/build-ngc/core/index.d.ts +1 -0
- package/build-ngc/core/index.js +1 -0
- package/build-ngc/core/index.js.map +1 -1
- package/build-ngc/core/location-permission-api.d.ts +13 -0
- package/build-ngc/core/location-permission-api.js +16 -0
- package/build-ngc/core/location-permission-api.js.map +1 -0
- package/build-ngc/core/location.d.ts +0 -3
- package/build-ngc/core/location.js +1 -13
- package/build-ngc/core/location.js.map +1 -1
- package/build-ngc/core/native-module.d.ts +1 -0
- package/build-ngc/core/native-module.js.map +1 -1
- package/package.json +23 -23
- package/src/angular/index.ts +7 -3
- package/src/angular/services/location-permissions.service.ts +40 -0
- package/src/core/geolocation-polyfill.ts +82 -0
- package/src/core/index.ts +1 -0
- package/src/core/location-permission-api.ts +26 -0
- package/src/core/location.ts +1 -16
- package/src/core/native-module.ts +1 -0
- package/src/react/index.ts +6 -0
- package/src/react/use-location-permissions.ts +25 -0
- package/src/solid/index.ts +6 -0
- package/src/solid/use-location-permissions.ts +26 -0
- package/src/svelte/index.ts +6 -0
- package/src/svelte/svelte-ambient.d.ts +3 -0
- package/src/svelte/svelte-compile.test-helper.ts +7 -0
- package/src/svelte/use-location-permissions.svelte.ts +25 -0
- package/src/vue/index.ts +6 -0
- package/src/vue/use-location-permissions.ts +26 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createPermissionHook } from '@symbiote-native/react';
|
|
2
|
+
import {
|
|
3
|
+
backgroundPermissionMethods,
|
|
4
|
+
foregroundPermissionMethods,
|
|
5
|
+
motionActivityPermissionMethods,
|
|
6
|
+
} from '../core/location-permission-api';
|
|
7
|
+
import type { ILocationPermissionResponse } from '../core';
|
|
8
|
+
import type { IPermissionHookBehavior } from '@symbiote-native/engine';
|
|
9
|
+
import type { PermissionResponse } from 'expo-modules-core';
|
|
10
|
+
|
|
11
|
+
export type IUseLocationPermissionsHook<TPermission> = (
|
|
12
|
+
options?: IPermissionHookBehavior,
|
|
13
|
+
) => [
|
|
14
|
+
TPermission | null,
|
|
15
|
+
() => Promise<TPermission>,
|
|
16
|
+
() => Promise<TPermission>,
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
// React twin of `expo-location`'s permission hooks
|
|
20
|
+
export const useForegroundPermissions: IUseLocationPermissionsHook<ILocationPermissionResponse> =
|
|
21
|
+
createPermissionHook(foregroundPermissionMethods);
|
|
22
|
+
export const useBackgroundPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
23
|
+
createPermissionHook(backgroundPermissionMethods);
|
|
24
|
+
export const useMotionActivityPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
25
|
+
createPermissionHook(motionActivityPermissionMethods);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createPermissionHook } from '@symbiote-native/solid';
|
|
2
|
+
import {
|
|
3
|
+
backgroundPermissionMethods,
|
|
4
|
+
foregroundPermissionMethods,
|
|
5
|
+
motionActivityPermissionMethods,
|
|
6
|
+
} from '../core/location-permission-api';
|
|
7
|
+
import type { ILocationPermissionResponse } from '../core';
|
|
8
|
+
import type { IPermissionHookBehavior } from '@symbiote-native/engine';
|
|
9
|
+
import type { PermissionResponse } from 'expo-modules-core';
|
|
10
|
+
import type { Accessor } from 'solid-js';
|
|
11
|
+
|
|
12
|
+
export type IUseLocationPermissionsHook<TPermission> = (
|
|
13
|
+
options?: IPermissionHookBehavior,
|
|
14
|
+
) => [
|
|
15
|
+
Accessor<TPermission | null>,
|
|
16
|
+
() => Promise<TPermission>,
|
|
17
|
+
() => Promise<TPermission>,
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
// Solid twin of `../react`'s location permission hooks
|
|
21
|
+
export const useForegroundPermissions: IUseLocationPermissionsHook<ILocationPermissionResponse> =
|
|
22
|
+
createPermissionHook(foregroundPermissionMethods);
|
|
23
|
+
export const useBackgroundPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
24
|
+
createPermissionHook(backgroundPermissionMethods);
|
|
25
|
+
export const useMotionActivityPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
26
|
+
createPermissionHook(motionActivityPermissionMethods);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Re-exports the existing harness instead of a third copy (packages/sqlite and
|
|
2
|
+
// packages/navigation already carry one, not part of either package's public exports)
|
|
3
|
+
export {
|
|
4
|
+
createSvelteHarness,
|
|
5
|
+
loadComponent,
|
|
6
|
+
type ISvelteHarness,
|
|
7
|
+
} from '../../../sqlite/src/svelte/svelte-compile.test-helper';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createPermissionHook } from '@symbiote-native/svelte/runes/create-permission-hook';
|
|
2
|
+
import {
|
|
3
|
+
backgroundPermissionMethods,
|
|
4
|
+
foregroundPermissionMethods,
|
|
5
|
+
motionActivityPermissionMethods,
|
|
6
|
+
} from '../core/location-permission-api';
|
|
7
|
+
import type { ILocationPermissionResponse } from '../core';
|
|
8
|
+
import type { IPermissionHookBehavior } from '@symbiote-native/engine';
|
|
9
|
+
import type { PermissionResponse } from 'expo-modules-core';
|
|
10
|
+
|
|
11
|
+
export type IUseLocationPermissionsHook<TPermission> = (
|
|
12
|
+
options?: IPermissionHookBehavior,
|
|
13
|
+
) => {
|
|
14
|
+
readonly status: TPermission | null;
|
|
15
|
+
requestPermission: () => Promise<TPermission>;
|
|
16
|
+
getPermission: () => Promise<TPermission>;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Svelte twin of `../react`'s location permission hooks
|
|
20
|
+
export const useForegroundPermissions: IUseLocationPermissionsHook<ILocationPermissionResponse> =
|
|
21
|
+
createPermissionHook(foregroundPermissionMethods);
|
|
22
|
+
export const useBackgroundPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
23
|
+
createPermissionHook(backgroundPermissionMethods);
|
|
24
|
+
export const useMotionActivityPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
25
|
+
createPermissionHook(motionActivityPermissionMethods);
|
package/src/vue/index.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createPermissionHook } from '@symbiote-native/vue';
|
|
2
|
+
import {
|
|
3
|
+
backgroundPermissionMethods,
|
|
4
|
+
foregroundPermissionMethods,
|
|
5
|
+
motionActivityPermissionMethods,
|
|
6
|
+
} from '../core/location-permission-api';
|
|
7
|
+
import type { ILocationPermissionResponse } from '../core';
|
|
8
|
+
import type { IPermissionHookBehavior } from '@symbiote-native/engine';
|
|
9
|
+
import type { PermissionResponse } from 'expo-modules-core';
|
|
10
|
+
import type { Ref } from '@vue/runtime-core';
|
|
11
|
+
|
|
12
|
+
export type IUseLocationPermissionsHook<TPermission> = (
|
|
13
|
+
options?: IPermissionHookBehavior,
|
|
14
|
+
) => [
|
|
15
|
+
Ref<TPermission | null>,
|
|
16
|
+
() => Promise<TPermission>,
|
|
17
|
+
() => Promise<TPermission>,
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
// Vue twin of `../react`'s location permission hooks
|
|
21
|
+
export const useForegroundPermissions: IUseLocationPermissionsHook<ILocationPermissionResponse> =
|
|
22
|
+
createPermissionHook(foregroundPermissionMethods);
|
|
23
|
+
export const useBackgroundPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
24
|
+
createPermissionHook(backgroundPermissionMethods);
|
|
25
|
+
export const useMotionActivityPermissions: IUseLocationPermissionsHook<PermissionResponse> =
|
|
26
|
+
createPermissionHook(motionActivityPermissionMethods);
|