@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.
Files changed (68) hide show
  1. package/README.md +60 -32
  2. package/build/angular/index.d.ts +1 -0
  3. package/build/angular/index.js +3 -3
  4. package/build/angular/services/location-permissions.service.d.ts +12 -0
  5. package/build/angular/services/location-permissions.service.js +104 -0
  6. package/build/core/geolocation-polyfill.d.ts +2 -0
  7. package/build/core/geolocation-polyfill.js +52 -0
  8. package/build/core/index.d.ts +1 -0
  9. package/build/core/index.js +1 -0
  10. package/build/core/location-permission-api.d.ts +13 -0
  11. package/build/core/location-permission-api.js +15 -0
  12. package/build/core/location.d.ts +0 -3
  13. package/build/core/location.js +1 -13
  14. package/build/core/native-module.d.ts +1 -0
  15. package/build/react/index.d.ts +2 -0
  16. package/build/react/index.js +2 -0
  17. package/build/react/use-location-permissions.d.ts +11 -0
  18. package/build/react/use-location-permissions.js +6 -0
  19. package/build/solid/index.d.ts +2 -0
  20. package/build/solid/index.js +2 -0
  21. package/build/solid/use-location-permissions.d.ts +12 -0
  22. package/build/solid/use-location-permissions.js +6 -0
  23. package/build/svelte/index.d.ts +2 -0
  24. package/build/svelte/index.js +2 -0
  25. package/build/svelte/use-location-permissions.svelte.d.ts +11 -0
  26. package/build/svelte/use-location-permissions.svelte.js +6 -0
  27. package/build/vue/index.d.ts +2 -0
  28. package/build/vue/index.js +2 -0
  29. package/build/vue/use-location-permissions.d.ts +12 -0
  30. package/build/vue/use-location-permissions.js +6 -0
  31. package/build-ngc/angular/index.d.ts +1 -0
  32. package/build-ngc/angular/index.js +3 -3
  33. package/build-ngc/angular/index.js.map +1 -1
  34. package/build-ngc/angular/services/location-permissions.service.d.ts +19 -0
  35. package/build-ngc/angular/services/location-permissions.service.js +39 -0
  36. package/build-ngc/angular/services/location-permissions.service.js.map +1 -0
  37. package/build-ngc/core/geolocation-polyfill.d.ts +2 -0
  38. package/build-ngc/core/geolocation-polyfill.js +53 -0
  39. package/build-ngc/core/geolocation-polyfill.js.map +1 -0
  40. package/build-ngc/core/index.d.ts +1 -0
  41. package/build-ngc/core/index.js +1 -0
  42. package/build-ngc/core/index.js.map +1 -1
  43. package/build-ngc/core/location-permission-api.d.ts +13 -0
  44. package/build-ngc/core/location-permission-api.js +16 -0
  45. package/build-ngc/core/location-permission-api.js.map +1 -0
  46. package/build-ngc/core/location.d.ts +0 -3
  47. package/build-ngc/core/location.js +1 -13
  48. package/build-ngc/core/location.js.map +1 -1
  49. package/build-ngc/core/native-module.d.ts +1 -0
  50. package/build-ngc/core/native-module.js.map +1 -1
  51. package/package.json +23 -23
  52. package/src/angular/index.ts +7 -3
  53. package/src/angular/services/location-permissions.service.ts +40 -0
  54. package/src/core/geolocation-polyfill.ts +82 -0
  55. package/src/core/index.ts +1 -0
  56. package/src/core/location-permission-api.ts +26 -0
  57. package/src/core/location.ts +1 -16
  58. package/src/core/native-module.ts +1 -0
  59. package/src/react/index.ts +6 -0
  60. package/src/react/use-location-permissions.ts +25 -0
  61. package/src/solid/index.ts +6 -0
  62. package/src/solid/use-location-permissions.ts +26 -0
  63. package/src/svelte/index.ts +6 -0
  64. package/src/svelte/svelte-ambient.d.ts +3 -0
  65. package/src/svelte/svelte-compile.test-helper.ts +7 -0
  66. package/src/svelte/use-location-permissions.svelte.ts +25 -0
  67. package/src/vue/index.ts +6 -0
  68. 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,6 @@
1
+ export * from '../core';
2
+ export {
3
+ useForegroundPermissions,
4
+ useBackgroundPermissions,
5
+ useMotionActivityPermissions,
6
+ } from './use-location-permissions';
@@ -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,6 @@
1
+ export * from '../core';
2
+ export {
3
+ useForegroundPermissions,
4
+ useBackgroundPermissions,
5
+ useMotionActivityPermissions,
6
+ } from './use-location-permissions.svelte';
@@ -0,0 +1,3 @@
1
+ // Pulls svelte's ambient globals ($state/$effect/...) into this package's tsc program,
2
+ // same fix as `packages/navigation/src/svelte/svelte-ambient.d.ts`
3
+ /// <reference types="svelte" />
@@ -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);
@@ -0,0 +1,6 @@
1
+ export * from '../core';
2
+ export {
3
+ useForegroundPermissions,
4
+ useBackgroundPermissions,
5
+ useMotionActivityPermissions,
6
+ } from './use-location-permissions';
@@ -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);