@capgo/capacitor-accelerometer 7.0.0 → 7.1.2

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 CHANGED
@@ -2,8 +2,8 @@
2
2
  <a href="https://capgo.app/"><img src='https://raw.githubusercontent.com/Cap-go/capgo/main/assets/capgo_banner.png' alt='Capgo - Instant updates for capacitor'/></a>
3
3
 
4
4
  <div align="center">
5
- <h2><a href="https://capgo.app/?ref=plugin"> ➡️ Get Instant updates for your App with Capgo</a></h2>
6
- <h2><a href="https://capgo.app/consulting/?ref=plugin"> Missing a feature? We’ll build the plugin for you 💪</a></h2>
5
+ <h2><a href="https://capgo.app/?ref=plugin_accelerometer"> ➡️ Get Instant updates for your App with Capgo</a></h2>
6
+ <h2><a href="https://capgo.app/consulting/?ref=plugin_accelerometer"> Missing a feature? We’ll build the plugin for you 💪</a></h2>
7
7
  </div>
8
8
 
9
9
 
@@ -34,6 +34,7 @@ npx cap sync
34
34
  * [`requestPermissions()`](#requestpermissions)
35
35
  * [`addListener('measurement', ...)`](#addlistenermeasurement-)
36
36
  * [`removeAllListeners()`](#removealllisteners)
37
+ * [`getPluginVersion()`](#getpluginversion)
37
38
  * [Interfaces](#interfaces)
38
39
  * [Type Aliases](#type-aliases)
39
40
 
@@ -167,6 +168,21 @@ Remove all listeners that have been registered on the plugin.
167
168
  --------------------
168
169
 
169
170
 
171
+ ### getPluginVersion()
172
+
173
+ ```typescript
174
+ getPluginVersion() => Promise<{ version: string; }>
175
+ ```
176
+
177
+ Get the native Capacitor plugin version.
178
+
179
+ **Returns:** <code>Promise&lt;{ version: string; }&gt;</code>
180
+
181
+ **Since:** 1.0.0
182
+
183
+ --------------------
184
+
185
+
170
186
  ### Interfaces
171
187
 
172
188
 
@@ -15,6 +15,7 @@ import com.getcapacitor.annotation.CapacitorPlugin;
15
15
  @CapacitorPlugin(name = "CapacitorAccelerometer")
16
16
  public class CapacitorAccelerometerPlugin extends Plugin implements SensorEventListener {
17
17
 
18
+ private final String PLUGIN_VERSION = "7.1.2";
18
19
  private static final String PERMISSION_GRANTED = "granted";
19
20
  private static final String PERMISSION_DENIED = "denied";
20
21
 
@@ -157,4 +158,15 @@ public class CapacitorAccelerometerPlugin extends Plugin implements SensorEventL
157
158
  copy.put("z", lastMeasurement.optDouble("z", 0));
158
159
  return copy;
159
160
  }
161
+
162
+ @PluginMethod
163
+ public void getPluginVersion(final PluginCall call) {
164
+ try {
165
+ final JSObject ret = new JSObject();
166
+ ret.put("version", this.PLUGIN_VERSION);
167
+ call.resolve(ret);
168
+ } catch (final Exception e) {
169
+ call.reject("Could not get plugin version", e);
170
+ }
171
+ }
160
172
  }
package/dist/docs.json CHANGED
@@ -168,6 +168,25 @@
168
168
  "docs": "Remove all listeners that have been registered on the plugin.",
169
169
  "complexTypes": [],
170
170
  "slug": "removealllisteners"
171
+ },
172
+ {
173
+ "name": "getPluginVersion",
174
+ "signature": "() => Promise<{ version: string; }>",
175
+ "parameters": [],
176
+ "returns": "Promise<{ version: string; }>",
177
+ "tags": [
178
+ {
179
+ "name": "returns",
180
+ "text": "Promise that resolves with the plugin version"
181
+ },
182
+ {
183
+ "name": "since",
184
+ "text": "1.0.0"
185
+ }
186
+ ],
187
+ "docs": "Get the native Capacitor plugin version.",
188
+ "complexTypes": [],
189
+ "slug": "getpluginversion"
171
190
  }
172
191
  ],
173
192
  "properties": []
@@ -138,4 +138,13 @@ export interface CapacitorAccelerometerPlugin {
138
138
  * @since 1.0.0
139
139
  */
140
140
  removeAllListeners(): Promise<void>;
141
+ /**
142
+ * Get the native Capacitor plugin version.
143
+ *
144
+ * @returns Promise that resolves with the plugin version
145
+ * @since 1.0.0
146
+ */
147
+ getPluginVersion(): Promise<{
148
+ version: string;
149
+ }>;
141
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\n/**\n * The x, y and z axis acceleration values reported by the device motion sensors.\n *\n * @since 1.0.0\n */\nexport interface Measurement {\n /**\n * The acceleration on the x-axis in G's.\n *\n * @since 1.0.0\n */\n x: number;\n\n /**\n * The acceleration on the y-axis in G's.\n *\n * @since 1.0.0\n */\n y: number;\n\n /**\n * The acceleration on the z-axis in G's.\n *\n * @since 1.0.0\n */\n z: number;\n}\n\n/**\n * Result returned by {@link CapacitorAccelerometerPlugin.isAvailable}.\n *\n * @since 1.0.0\n */\nexport interface IsAvailableResult {\n /**\n * Whether an accelerometer sensor is available on the device.\n *\n * @since 1.0.0\n */\n isAvailable: boolean;\n}\n\n/**\n * Permission information returned by {@link CapacitorAccelerometerPlugin.checkPermissions}\n * and {@link CapacitorAccelerometerPlugin.requestPermissions}.\n *\n * @since 1.0.0\n */\nexport interface PermissionStatus {\n /**\n * The permission state for accessing motion data on the current platform.\n *\n * @since 1.0.0\n */\n accelerometer: AccelerometerPermissionState;\n}\n\n/**\n * Alias for the most recent measurement.\n *\n * @since 1.0.0\n */\nexport type GetMeasurementResult = Measurement;\n\n/**\n * Permission state union including `limited` for platforms that can throttle motion access.\n *\n * @since 1.0.0\n */\nexport type AccelerometerPermissionState = PermissionState | 'limited';\n\n/**\n * Platform permission states supported by Capacitor.\n *\n * @since 1.0.0\n */\nexport type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';\n\n/**\n * Event payload emitted when {@link CapacitorAccelerometerPlugin.startMeasurementUpdates}\n * is active.\n *\n * @since 1.0.0\n */\nexport type MeasurementEvent = Measurement;\n\n/**\n * Capacitor plugin contract for working with the device accelerometer.\n *\n * @since 1.0.0\n */\nexport interface CapacitorAccelerometerPlugin {\n /**\n * Get the most recent accelerometer sample that was recorded by the native layer.\n *\n * @returns The latest x, y and z axis values.\n * @since 1.0.0\n */\n getMeasurement(): Promise<GetMeasurementResult>;\n\n /**\n * Check if the current device includes an accelerometer sensor.\n *\n * @returns Whether an accelerometer is available.\n * @since 1.0.0\n */\n isAvailable(): Promise<IsAvailableResult>;\n\n /**\n * Begin streaming accelerometer updates to the JavaScript layer.\n *\n * Call {@link addListener} with the `measurement` event to receive the updates.\n *\n * @since 1.0.0\n */\n startMeasurementUpdates(): Promise<void>;\n\n /**\n * Stop streaming accelerometer updates started via {@link startMeasurementUpdates}.\n *\n * @since 1.0.0\n */\n stopMeasurementUpdates(): Promise<void>;\n\n /**\n * Return the current permission state for accessing motion data.\n *\n * On platforms without explicit permissions this resolves to `granted`.\n *\n * @since 1.0.0\n */\n checkPermissions(): Promise<PermissionStatus>;\n\n /**\n * Request permission to access motion data if supported by the platform.\n *\n * @since 1.0.0\n */\n requestPermissions(): Promise<PermissionStatus>;\n\n /**\n * Listen for measurement updates.\n *\n * @param eventName Only the `measurement` event is supported.\n * @param listenerFunc Callback invoked with each measurement.\n * @since 1.0.0\n */\n addListener(eventName: 'measurement', listenerFunc: (event: MeasurementEvent) => void): Promise<PluginListenerHandle>;\n\n /**\n * Remove all listeners that have been registered on the plugin.\n *\n * @since 1.0.0\n */\n removeAllListeners(): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\n/**\n * The x, y and z axis acceleration values reported by the device motion sensors.\n *\n * @since 1.0.0\n */\nexport interface Measurement {\n /**\n * The acceleration on the x-axis in G's.\n *\n * @since 1.0.0\n */\n x: number;\n\n /**\n * The acceleration on the y-axis in G's.\n *\n * @since 1.0.0\n */\n y: number;\n\n /**\n * The acceleration on the z-axis in G's.\n *\n * @since 1.0.0\n */\n z: number;\n}\n\n/**\n * Result returned by {@link CapacitorAccelerometerPlugin.isAvailable}.\n *\n * @since 1.0.0\n */\nexport interface IsAvailableResult {\n /**\n * Whether an accelerometer sensor is available on the device.\n *\n * @since 1.0.0\n */\n isAvailable: boolean;\n}\n\n/**\n * Permission information returned by {@link CapacitorAccelerometerPlugin.checkPermissions}\n * and {@link CapacitorAccelerometerPlugin.requestPermissions}.\n *\n * @since 1.0.0\n */\nexport interface PermissionStatus {\n /**\n * The permission state for accessing motion data on the current platform.\n *\n * @since 1.0.0\n */\n accelerometer: AccelerometerPermissionState;\n}\n\n/**\n * Alias for the most recent measurement.\n *\n * @since 1.0.0\n */\nexport type GetMeasurementResult = Measurement;\n\n/**\n * Permission state union including `limited` for platforms that can throttle motion access.\n *\n * @since 1.0.0\n */\nexport type AccelerometerPermissionState = PermissionState | 'limited';\n\n/**\n * Platform permission states supported by Capacitor.\n *\n * @since 1.0.0\n */\nexport type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';\n\n/**\n * Event payload emitted when {@link CapacitorAccelerometerPlugin.startMeasurementUpdates}\n * is active.\n *\n * @since 1.0.0\n */\nexport type MeasurementEvent = Measurement;\n\n/**\n * Capacitor plugin contract for working with the device accelerometer.\n *\n * @since 1.0.0\n */\nexport interface CapacitorAccelerometerPlugin {\n /**\n * Get the most recent accelerometer sample that was recorded by the native layer.\n *\n * @returns The latest x, y and z axis values.\n * @since 1.0.0\n */\n getMeasurement(): Promise<GetMeasurementResult>;\n\n /**\n * Check if the current device includes an accelerometer sensor.\n *\n * @returns Whether an accelerometer is available.\n * @since 1.0.0\n */\n isAvailable(): Promise<IsAvailableResult>;\n\n /**\n * Begin streaming accelerometer updates to the JavaScript layer.\n *\n * Call {@link addListener} with the `measurement` event to receive the updates.\n *\n * @since 1.0.0\n */\n startMeasurementUpdates(): Promise<void>;\n\n /**\n * Stop streaming accelerometer updates started via {@link startMeasurementUpdates}.\n *\n * @since 1.0.0\n */\n stopMeasurementUpdates(): Promise<void>;\n\n /**\n * Return the current permission state for accessing motion data.\n *\n * On platforms without explicit permissions this resolves to `granted`.\n *\n * @since 1.0.0\n */\n checkPermissions(): Promise<PermissionStatus>;\n\n /**\n * Request permission to access motion data if supported by the platform.\n *\n * @since 1.0.0\n */\n requestPermissions(): Promise<PermissionStatus>;\n\n /**\n * Listen for measurement updates.\n *\n * @param eventName Only the `measurement` event is supported.\n * @param listenerFunc Callback invoked with each measurement.\n * @since 1.0.0\n */\n addListener(eventName: 'measurement', listenerFunc: (event: MeasurementEvent) => void): Promise<PluginListenerHandle>;\n\n /**\n * Remove all listeners that have been registered on the plugin.\n *\n * @since 1.0.0\n */\n removeAllListeners(): Promise<void>;\n\n /**\n * Get the native Capacitor plugin version.\n *\n * @returns Promise that resolves with the plugin version\n * @since 1.0.0\n */\n getPluginVersion(): Promise<{ version: string }>;\n}\n"]}
package/dist/esm/web.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
+ import type { PluginListenerHandle } from '@capacitor/core';
2
3
  import type { CapacitorAccelerometerPlugin, GetMeasurementResult, IsAvailableResult, Measurement, PermissionStatus } from './definitions';
3
4
  export declare class CapacitorAccelerometerWeb extends WebPlugin implements CapacitorAccelerometerPlugin {
4
5
  private lastMeasurement;
@@ -13,7 +14,10 @@ export declare class CapacitorAccelerometerWeb extends WebPlugin implements Capa
13
14
  stopMeasurementUpdates(): Promise<void>;
14
15
  checkPermissions(): Promise<PermissionStatus>;
15
16
  requestPermissions(): Promise<PermissionStatus>;
16
- addListener(eventName: 'measurement', listenerFunc: (event: Measurement) => void): Promise<import("@capacitor/core").PluginListenerHandle>;
17
+ addListener(eventName: 'measurement', listenerFunc: (event: Measurement) => void): Promise<PluginListenerHandle>;
17
18
  removeAllListeners(): Promise<void>;
19
+ getPluginVersion(): Promise<{
20
+ version: string;
21
+ }>;
18
22
  private ensurePermission;
19
23
  }
package/dist/esm/web.js CHANGED
@@ -64,6 +64,9 @@ export class CapacitorAccelerometerWeb extends WebPlugin {
64
64
  async removeAllListeners() {
65
65
  await super.removeAllListeners();
66
66
  }
67
+ async getPluginVersion() {
68
+ return { version: 'web' };
69
+ }
67
70
  async ensurePermission(request) {
68
71
  if (!this.supportsDeviceMotion()) {
69
72
  this.permissionState = 'denied';
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n CapacitorAccelerometerPlugin,\n GetMeasurementResult,\n IsAvailableResult,\n Measurement,\n PermissionState,\n PermissionStatus,\n} from './definitions';\n\ntype DeviceMotionWithPermission = typeof DeviceMotionEvent & {\n requestPermission?: () => Promise<'granted' | 'denied'>;\n};\n\nconst DEFAULT_MEASUREMENT: Measurement = { x: 0, y: 0, z: 0 };\n\nexport class CapacitorAccelerometerWeb extends WebPlugin implements CapacitorAccelerometerPlugin {\n private lastMeasurement: Measurement = { ...DEFAULT_MEASUREMENT };\n private motionHandler: ((event: DeviceMotionEvent) => void) | null = null;\n private permissionState: PermissionState | 'limited' = 'prompt';\n\n private handleMotion = (event: DeviceMotionEvent) => {\n const accel = event.accelerationIncludingGravity ?? event.acceleration;\n if (!accel) {\n return;\n }\n\n this.lastMeasurement = {\n x: accel.x ?? 0,\n y: accel.y ?? 0,\n z: accel.z ?? 0,\n };\n\n this.notifyListeners('measurement', { ...this.lastMeasurement });\n };\n\n private supportsDeviceMotion(): boolean {\n return typeof window !== 'undefined' && typeof window.DeviceMotionEvent !== 'undefined';\n }\n\n private get motionEventConstructor(): DeviceMotionWithPermission | null {\n return this.supportsDeviceMotion() ? (window.DeviceMotionEvent as DeviceMotionWithPermission) : null;\n }\n\n async getMeasurement(): Promise<GetMeasurementResult> {\n return { ...this.lastMeasurement };\n }\n\n async isAvailable(): Promise<IsAvailableResult> {\n return { isAvailable: this.supportsDeviceMotion() };\n }\n\n async startMeasurementUpdates(): Promise<void> {\n await this.ensurePermission(true);\n if (!this.supportsDeviceMotion()) {\n throw this.unavailable('DeviceMotionEvent is not available in this browser.');\n }\n if (this.motionHandler) {\n return;\n }\n this.motionHandler = this.handleMotion;\n window.addEventListener('devicemotion', this.motionHandler);\n }\n\n async stopMeasurementUpdates(): Promise<void> {\n if (this.motionHandler && this.supportsDeviceMotion()) {\n window.removeEventListener('devicemotion', this.motionHandler);\n }\n this.motionHandler = null;\n }\n\n async checkPermissions(): Promise<PermissionStatus> {\n await this.ensurePermission(false);\n return { accelerometer: this.permissionState };\n }\n\n async requestPermissions(): Promise<PermissionStatus> {\n await this.ensurePermission(true);\n return { accelerometer: this.permissionState };\n }\n\n async addListener(eventName: 'measurement', listenerFunc: (event: Measurement) => void) {\n const handle = await super.addListener(eventName, listenerFunc);\n return handle;\n }\n\n async removeAllListeners(): Promise<void> {\n await super.removeAllListeners();\n }\n\n private async ensurePermission(request: boolean): Promise<void> {\n if (!this.supportsDeviceMotion()) {\n this.permissionState = 'denied';\n return;\n }\n\n const constructor = this.motionEventConstructor;\n if (!constructor?.requestPermission) {\n // Platforms without explicit permission prompts expose motion data if feature is available.\n this.permissionState = 'granted';\n return;\n }\n\n if (!request) {\n // We cannot probe state without prompting, assume prompt until user interacts.\n if (this.permissionState === 'prompt') {\n return;\n }\n return;\n }\n\n try {\n const status = await constructor.requestPermission();\n this.permissionState = status === 'granted' ? 'granted' : 'denied';\n } catch (error) {\n console.warn('CapacitorAccelerometer: permission request failed', error);\n this.permissionState = 'denied';\n }\n }\n}\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport type { PluginListenerHandle } from '@capacitor/core';\n\nimport type {\n CapacitorAccelerometerPlugin,\n GetMeasurementResult,\n IsAvailableResult,\n Measurement,\n PermissionState,\n PermissionStatus,\n} from './definitions';\n\ntype DeviceMotionWithPermission = typeof DeviceMotionEvent & {\n requestPermission?: () => Promise<'granted' | 'denied'>;\n};\n\nconst DEFAULT_MEASUREMENT: Measurement = { x: 0, y: 0, z: 0 };\n\nexport class CapacitorAccelerometerWeb extends WebPlugin implements CapacitorAccelerometerPlugin {\n private lastMeasurement: Measurement = { ...DEFAULT_MEASUREMENT };\n private motionHandler: ((event: DeviceMotionEvent) => void) | null = null;\n private permissionState: PermissionState | 'limited' = 'prompt';\n\n private handleMotion = (event: DeviceMotionEvent) => {\n const accel = event.accelerationIncludingGravity ?? event.acceleration;\n if (!accel) {\n return;\n }\n\n this.lastMeasurement = {\n x: accel.x ?? 0,\n y: accel.y ?? 0,\n z: accel.z ?? 0,\n };\n\n this.notifyListeners('measurement', { ...this.lastMeasurement });\n };\n\n private supportsDeviceMotion(): boolean {\n return typeof window !== 'undefined' && typeof window.DeviceMotionEvent !== 'undefined';\n }\n\n private get motionEventConstructor(): DeviceMotionWithPermission | null {\n return this.supportsDeviceMotion() ? (window.DeviceMotionEvent as DeviceMotionWithPermission) : null;\n }\n\n async getMeasurement(): Promise<GetMeasurementResult> {\n return { ...this.lastMeasurement };\n }\n\n async isAvailable(): Promise<IsAvailableResult> {\n return { isAvailable: this.supportsDeviceMotion() };\n }\n\n async startMeasurementUpdates(): Promise<void> {\n await this.ensurePermission(true);\n if (!this.supportsDeviceMotion()) {\n throw this.unavailable('DeviceMotionEvent is not available in this browser.');\n }\n if (this.motionHandler) {\n return;\n }\n this.motionHandler = this.handleMotion;\n window.addEventListener('devicemotion', this.motionHandler);\n }\n\n async stopMeasurementUpdates(): Promise<void> {\n if (this.motionHandler && this.supportsDeviceMotion()) {\n window.removeEventListener('devicemotion', this.motionHandler);\n }\n this.motionHandler = null;\n }\n\n async checkPermissions(): Promise<PermissionStatus> {\n await this.ensurePermission(false);\n return { accelerometer: this.permissionState };\n }\n\n async requestPermissions(): Promise<PermissionStatus> {\n await this.ensurePermission(true);\n return { accelerometer: this.permissionState };\n }\n\n async addListener(\n eventName: 'measurement',\n listenerFunc: (event: Measurement) => void,\n ): Promise<PluginListenerHandle> {\n const handle = await super.addListener(eventName, listenerFunc);\n return handle;\n }\n\n async removeAllListeners(): Promise<void> {\n await super.removeAllListeners();\n }\n\n async getPluginVersion(): Promise<{ version: string }> {\n return { version: 'web' };\n }\n\n private async ensurePermission(request: boolean): Promise<void> {\n if (!this.supportsDeviceMotion()) {\n this.permissionState = 'denied';\n return;\n }\n\n const constructor = this.motionEventConstructor;\n if (!constructor?.requestPermission) {\n // Platforms without explicit permission prompts expose motion data if feature is available.\n this.permissionState = 'granted';\n return;\n }\n\n if (!request) {\n // We cannot probe state without prompting, assume prompt until user interacts.\n if (this.permissionState === 'prompt') {\n return;\n }\n return;\n }\n\n try {\n const status = await constructor.requestPermission();\n this.permissionState = status === 'granted' ? 'granted' : 'denied';\n } catch (error) {\n console.warn('CapacitorAccelerometer: permission request failed', error);\n this.permissionState = 'denied';\n }\n }\n}\n"]}
@@ -71,6 +71,9 @@ class CapacitorAccelerometerWeb extends core.WebPlugin {
71
71
  async removeAllListeners() {
72
72
  await super.removeAllListeners();
73
73
  }
74
+ async getPluginVersion() {
75
+ return { version: 'web' };
76
+ }
74
77
  async ensurePermission(request) {
75
78
  if (!this.supportsDeviceMotion()) {
76
79
  this.permissionState = 'denied';
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst CapacitorAccelerometer = registerPlugin('CapacitorAccelerometer', {\n web: () => import('./web').then((m) => new m.CapacitorAccelerometerWeb()),\n});\nexport * from './definitions';\nexport { CapacitorAccelerometer };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nconst DEFAULT_MEASUREMENT = { x: 0, y: 0, z: 0 };\nexport class CapacitorAccelerometerWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.lastMeasurement = Object.assign({}, DEFAULT_MEASUREMENT);\n this.motionHandler = null;\n this.permissionState = 'prompt';\n this.handleMotion = (event) => {\n var _a, _b, _c, _d;\n const accel = (_a = event.accelerationIncludingGravity) !== null && _a !== void 0 ? _a : event.acceleration;\n if (!accel) {\n return;\n }\n this.lastMeasurement = {\n x: (_b = accel.x) !== null && _b !== void 0 ? _b : 0,\n y: (_c = accel.y) !== null && _c !== void 0 ? _c : 0,\n z: (_d = accel.z) !== null && _d !== void 0 ? _d : 0,\n };\n this.notifyListeners('measurement', Object.assign({}, this.lastMeasurement));\n };\n }\n supportsDeviceMotion() {\n return typeof window !== 'undefined' && typeof window.DeviceMotionEvent !== 'undefined';\n }\n get motionEventConstructor() {\n return this.supportsDeviceMotion() ? window.DeviceMotionEvent : null;\n }\n async getMeasurement() {\n return Object.assign({}, this.lastMeasurement);\n }\n async isAvailable() {\n return { isAvailable: this.supportsDeviceMotion() };\n }\n async startMeasurementUpdates() {\n await this.ensurePermission(true);\n if (!this.supportsDeviceMotion()) {\n throw this.unavailable('DeviceMotionEvent is not available in this browser.');\n }\n if (this.motionHandler) {\n return;\n }\n this.motionHandler = this.handleMotion;\n window.addEventListener('devicemotion', this.motionHandler);\n }\n async stopMeasurementUpdates() {\n if (this.motionHandler && this.supportsDeviceMotion()) {\n window.removeEventListener('devicemotion', this.motionHandler);\n }\n this.motionHandler = null;\n }\n async checkPermissions() {\n await this.ensurePermission(false);\n return { accelerometer: this.permissionState };\n }\n async requestPermissions() {\n await this.ensurePermission(true);\n return { accelerometer: this.permissionState };\n }\n async addListener(eventName, listenerFunc) {\n const handle = await super.addListener(eventName, listenerFunc);\n return handle;\n }\n async removeAllListeners() {\n await super.removeAllListeners();\n }\n async ensurePermission(request) {\n if (!this.supportsDeviceMotion()) {\n this.permissionState = 'denied';\n return;\n }\n const constructor = this.motionEventConstructor;\n if (!(constructor === null || constructor === void 0 ? void 0 : constructor.requestPermission)) {\n // Platforms without explicit permission prompts expose motion data if feature is available.\n this.permissionState = 'granted';\n return;\n }\n if (!request) {\n // We cannot probe state without prompting, assume prompt until user interacts.\n if (this.permissionState === 'prompt') {\n return;\n }\n return;\n }\n try {\n const status = await constructor.requestPermission();\n this.permissionState = status === 'granted' ? 'granted' : 'denied';\n }\n catch (error) {\n console.warn('CapacitorAccelerometer: permission request failed', error);\n this.permissionState = 'denied';\n }\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;AACK,MAAC,sBAAsB,GAAGA,mBAAc,CAAC,wBAAwB,EAAE;AACxE,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,yBAAyB,EAAE,CAAC;AAC7E,CAAC;;ACFD,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzC,MAAM,yBAAyB,SAASC,cAAS,CAAC;AACzD,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;AACrE,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ;AACvC,QAAQ,IAAI,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK;AACvC,YAAY,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAC9B,YAAY,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,4BAA4B,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY;AACvH,YAAY,IAAI,CAAC,KAAK,EAAE;AACxB,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,CAAC,eAAe,GAAG;AACnC,gBAAgB,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACpE,gBAAgB,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACpE,gBAAgB,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACpE,aAAa;AACb,YAAY,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACxF,QAAQ,CAAC;AACT,IAAI;AACJ,IAAI,oBAAoB,GAAG;AAC3B,QAAQ,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,WAAW;AAC/F,IAAI;AACJ,IAAI,IAAI,sBAAsB,GAAG;AACjC,QAAQ,OAAO,IAAI,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAAC,iBAAiB,GAAG,IAAI;AAC5E,IAAI;AACJ,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC;AACtD,IAAI;AACJ,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAC3D,IAAI;AACJ,IAAI,MAAM,uBAAuB,GAAG;AACpC,QAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACzC,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAC1C,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,qDAAqD,CAAC;AACzF,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY;AAC9C,QAAQ,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC;AACnE,IAAI;AACJ,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAC/D,YAAY,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC;AAC1E,QAAQ;AACR,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC,IAAI;AACJ,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC1C,QAAQ,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE;AACtD,IAAI;AACJ,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACzC,QAAQ,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE;AACtD,IAAI;AACJ,IAAI,MAAM,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE;AAC/C,QAAQ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC;AACvE,QAAQ,OAAO,MAAM;AACrB,IAAI;AACJ,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,MAAM,KAAK,CAAC,kBAAkB,EAAE;AACxC,IAAI;AACJ,IAAI,MAAM,gBAAgB,CAAC,OAAO,EAAE;AACpC,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAC1C,YAAY,IAAI,CAAC,eAAe,GAAG,QAAQ;AAC3C,YAAY;AACZ,QAAQ;AACR,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB;AACvD,QAAQ,IAAI,EAAE,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,EAAE;AACxG;AACA,YAAY,IAAI,CAAC,eAAe,GAAG,SAAS;AAC5C,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB;AACA,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;AACnD,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI;AACZ,YAAY,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE;AAChE,YAAY,IAAI,CAAC,eAAe,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,QAAQ;AAC9E,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,CAAC;AACpF,YAAY,IAAI,CAAC,eAAe,GAAG,QAAQ;AAC3C,QAAQ;AACR,IAAI;AACJ;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst CapacitorAccelerometer = registerPlugin('CapacitorAccelerometer', {\n web: () => import('./web').then((m) => new m.CapacitorAccelerometerWeb()),\n});\nexport * from './definitions';\nexport { CapacitorAccelerometer };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nconst DEFAULT_MEASUREMENT = { x: 0, y: 0, z: 0 };\nexport class CapacitorAccelerometerWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.lastMeasurement = Object.assign({}, DEFAULT_MEASUREMENT);\n this.motionHandler = null;\n this.permissionState = 'prompt';\n this.handleMotion = (event) => {\n var _a, _b, _c, _d;\n const accel = (_a = event.accelerationIncludingGravity) !== null && _a !== void 0 ? _a : event.acceleration;\n if (!accel) {\n return;\n }\n this.lastMeasurement = {\n x: (_b = accel.x) !== null && _b !== void 0 ? _b : 0,\n y: (_c = accel.y) !== null && _c !== void 0 ? _c : 0,\n z: (_d = accel.z) !== null && _d !== void 0 ? _d : 0,\n };\n this.notifyListeners('measurement', Object.assign({}, this.lastMeasurement));\n };\n }\n supportsDeviceMotion() {\n return typeof window !== 'undefined' && typeof window.DeviceMotionEvent !== 'undefined';\n }\n get motionEventConstructor() {\n return this.supportsDeviceMotion() ? window.DeviceMotionEvent : null;\n }\n async getMeasurement() {\n return Object.assign({}, this.lastMeasurement);\n }\n async isAvailable() {\n return { isAvailable: this.supportsDeviceMotion() };\n }\n async startMeasurementUpdates() {\n await this.ensurePermission(true);\n if (!this.supportsDeviceMotion()) {\n throw this.unavailable('DeviceMotionEvent is not available in this browser.');\n }\n if (this.motionHandler) {\n return;\n }\n this.motionHandler = this.handleMotion;\n window.addEventListener('devicemotion', this.motionHandler);\n }\n async stopMeasurementUpdates() {\n if (this.motionHandler && this.supportsDeviceMotion()) {\n window.removeEventListener('devicemotion', this.motionHandler);\n }\n this.motionHandler = null;\n }\n async checkPermissions() {\n await this.ensurePermission(false);\n return { accelerometer: this.permissionState };\n }\n async requestPermissions() {\n await this.ensurePermission(true);\n return { accelerometer: this.permissionState };\n }\n async addListener(eventName, listenerFunc) {\n const handle = await super.addListener(eventName, listenerFunc);\n return handle;\n }\n async removeAllListeners() {\n await super.removeAllListeners();\n }\n async getPluginVersion() {\n return { version: 'web' };\n }\n async ensurePermission(request) {\n if (!this.supportsDeviceMotion()) {\n this.permissionState = 'denied';\n return;\n }\n const constructor = this.motionEventConstructor;\n if (!(constructor === null || constructor === void 0 ? void 0 : constructor.requestPermission)) {\n // Platforms without explicit permission prompts expose motion data if feature is available.\n this.permissionState = 'granted';\n return;\n }\n if (!request) {\n // We cannot probe state without prompting, assume prompt until user interacts.\n if (this.permissionState === 'prompt') {\n return;\n }\n return;\n }\n try {\n const status = await constructor.requestPermission();\n this.permissionState = status === 'granted' ? 'granted' : 'denied';\n }\n catch (error) {\n console.warn('CapacitorAccelerometer: permission request failed', error);\n this.permissionState = 'denied';\n }\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -70,6 +70,9 @@ var capacitorCapacitorAccelerometer = (function (exports, core) {
70
70
  async removeAllListeners() {
71
71
  await super.removeAllListeners();
72
72
  }
73
+ async getPluginVersion() {
74
+ return { version: 'web' };
75
+ }
73
76
  async ensurePermission(request) {
74
77
  if (!this.supportsDeviceMotion()) {
75
78
  this.permissionState = 'denied';
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst CapacitorAccelerometer = registerPlugin('CapacitorAccelerometer', {\n web: () => import('./web').then((m) => new m.CapacitorAccelerometerWeb()),\n});\nexport * from './definitions';\nexport { CapacitorAccelerometer };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nconst DEFAULT_MEASUREMENT = { x: 0, y: 0, z: 0 };\nexport class CapacitorAccelerometerWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.lastMeasurement = Object.assign({}, DEFAULT_MEASUREMENT);\n this.motionHandler = null;\n this.permissionState = 'prompt';\n this.handleMotion = (event) => {\n var _a, _b, _c, _d;\n const accel = (_a = event.accelerationIncludingGravity) !== null && _a !== void 0 ? _a : event.acceleration;\n if (!accel) {\n return;\n }\n this.lastMeasurement = {\n x: (_b = accel.x) !== null && _b !== void 0 ? _b : 0,\n y: (_c = accel.y) !== null && _c !== void 0 ? _c : 0,\n z: (_d = accel.z) !== null && _d !== void 0 ? _d : 0,\n };\n this.notifyListeners('measurement', Object.assign({}, this.lastMeasurement));\n };\n }\n supportsDeviceMotion() {\n return typeof window !== 'undefined' && typeof window.DeviceMotionEvent !== 'undefined';\n }\n get motionEventConstructor() {\n return this.supportsDeviceMotion() ? window.DeviceMotionEvent : null;\n }\n async getMeasurement() {\n return Object.assign({}, this.lastMeasurement);\n }\n async isAvailable() {\n return { isAvailable: this.supportsDeviceMotion() };\n }\n async startMeasurementUpdates() {\n await this.ensurePermission(true);\n if (!this.supportsDeviceMotion()) {\n throw this.unavailable('DeviceMotionEvent is not available in this browser.');\n }\n if (this.motionHandler) {\n return;\n }\n this.motionHandler = this.handleMotion;\n window.addEventListener('devicemotion', this.motionHandler);\n }\n async stopMeasurementUpdates() {\n if (this.motionHandler && this.supportsDeviceMotion()) {\n window.removeEventListener('devicemotion', this.motionHandler);\n }\n this.motionHandler = null;\n }\n async checkPermissions() {\n await this.ensurePermission(false);\n return { accelerometer: this.permissionState };\n }\n async requestPermissions() {\n await this.ensurePermission(true);\n return { accelerometer: this.permissionState };\n }\n async addListener(eventName, listenerFunc) {\n const handle = await super.addListener(eventName, listenerFunc);\n return handle;\n }\n async removeAllListeners() {\n await super.removeAllListeners();\n }\n async ensurePermission(request) {\n if (!this.supportsDeviceMotion()) {\n this.permissionState = 'denied';\n return;\n }\n const constructor = this.motionEventConstructor;\n if (!(constructor === null || constructor === void 0 ? void 0 : constructor.requestPermission)) {\n // Platforms without explicit permission prompts expose motion data if feature is available.\n this.permissionState = 'granted';\n return;\n }\n if (!request) {\n // We cannot probe state without prompting, assume prompt until user interacts.\n if (this.permissionState === 'prompt') {\n return;\n }\n return;\n }\n try {\n const status = await constructor.requestPermission();\n this.permissionState = status === 'granted' ? 'granted' : 'denied';\n }\n catch (error) {\n console.warn('CapacitorAccelerometer: permission request failed', error);\n this.permissionState = 'denied';\n }\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,sBAAsB,GAAGA,mBAAc,CAAC,wBAAwB,EAAE;IACxE,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,yBAAyB,EAAE,CAAC;IAC7E,CAAC;;ICFD,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACzC,MAAM,yBAAyB,SAASC,cAAS,CAAC;IACzD,IAAI,WAAW,GAAG;IAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;IAC3B,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;IACrE,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;IACjC,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ;IACvC,QAAQ,IAAI,CAAC,YAAY,GAAG,CAAC,KAAK,KAAK;IACvC,YAAY,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9B,YAAY,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,4BAA4B,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY;IACvH,YAAY,IAAI,CAAC,KAAK,EAAE;IACxB,gBAAgB;IAChB,YAAY;IACZ,YAAY,IAAI,CAAC,eAAe,GAAG;IACnC,gBAAgB,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;IACpE,gBAAgB,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;IACpE,gBAAgB,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;IACpE,aAAa;IACb,YAAY,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACxF,QAAQ,CAAC;IACT,IAAI;IACJ,IAAI,oBAAoB,GAAG;IAC3B,QAAQ,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,WAAW;IAC/F,IAAI;IACJ,IAAI,IAAI,sBAAsB,GAAG;IACjC,QAAQ,OAAO,IAAI,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAAC,iBAAiB,GAAG,IAAI;IAC5E,IAAI;IACJ,IAAI,MAAM,cAAc,GAAG;IAC3B,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC;IACtD,IAAI;IACJ,IAAI,MAAM,WAAW,GAAG;IACxB,QAAQ,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE;IAC3D,IAAI;IACJ,IAAI,MAAM,uBAAuB,GAAG;IACpC,QAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACzC,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;IAC1C,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,qDAAqD,CAAC;IACzF,QAAQ;IACR,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;IAChC,YAAY;IACZ,QAAQ;IACR,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY;IAC9C,QAAQ,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC;IACnE,IAAI;IACJ,IAAI,MAAM,sBAAsB,GAAG;IACnC,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;IAC/D,YAAY,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC;IAC1E,QAAQ;IACR,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;IACjC,IAAI;IACJ,IAAI,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAC1C,QAAQ,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE;IACtD,IAAI;IACJ,IAAI,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACzC,QAAQ,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE;IACtD,IAAI;IACJ,IAAI,MAAM,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE;IAC/C,QAAQ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC;IACvE,QAAQ,OAAO,MAAM;IACrB,IAAI;IACJ,IAAI,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,MAAM,KAAK,CAAC,kBAAkB,EAAE;IACxC,IAAI;IACJ,IAAI,MAAM,gBAAgB,CAAC,OAAO,EAAE;IACpC,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;IAC1C,YAAY,IAAI,CAAC,eAAe,GAAG,QAAQ;IAC3C,YAAY;IACZ,QAAQ;IACR,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB;IACvD,QAAQ,IAAI,EAAE,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,EAAE;IACxG;IACA,YAAY,IAAI,CAAC,eAAe,GAAG,SAAS;IAC5C,YAAY;IACZ,QAAQ;IACR,QAAQ,IAAI,CAAC,OAAO,EAAE;IACtB;IACA,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;IACnD,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,QAAQ,IAAI;IACZ,YAAY,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE;IAChE,YAAY,IAAI,CAAC,eAAe,GAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,QAAQ;IAC9E,QAAQ;IACR,QAAQ,OAAO,KAAK,EAAE;IACtB,YAAY,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,CAAC;IACpF,YAAY,IAAI,CAAC,eAAe,GAAG,QAAQ;IAC3C,QAAQ;IACR,IAAI;IACJ;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst CapacitorAccelerometer = registerPlugin('CapacitorAccelerometer', {\n web: () => import('./web').then((m) => new m.CapacitorAccelerometerWeb()),\n});\nexport * from './definitions';\nexport { CapacitorAccelerometer };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nconst DEFAULT_MEASUREMENT = { x: 0, y: 0, z: 0 };\nexport class CapacitorAccelerometerWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.lastMeasurement = Object.assign({}, DEFAULT_MEASUREMENT);\n this.motionHandler = null;\n this.permissionState = 'prompt';\n this.handleMotion = (event) => {\n var _a, _b, _c, _d;\n const accel = (_a = event.accelerationIncludingGravity) !== null && _a !== void 0 ? _a : event.acceleration;\n if (!accel) {\n return;\n }\n this.lastMeasurement = {\n x: (_b = accel.x) !== null && _b !== void 0 ? _b : 0,\n y: (_c = accel.y) !== null && _c !== void 0 ? _c : 0,\n z: (_d = accel.z) !== null && _d !== void 0 ? _d : 0,\n };\n this.notifyListeners('measurement', Object.assign({}, this.lastMeasurement));\n };\n }\n supportsDeviceMotion() {\n return typeof window !== 'undefined' && typeof window.DeviceMotionEvent !== 'undefined';\n }\n get motionEventConstructor() {\n return this.supportsDeviceMotion() ? window.DeviceMotionEvent : null;\n }\n async getMeasurement() {\n return Object.assign({}, this.lastMeasurement);\n }\n async isAvailable() {\n return { isAvailable: this.supportsDeviceMotion() };\n }\n async startMeasurementUpdates() {\n await this.ensurePermission(true);\n if (!this.supportsDeviceMotion()) {\n throw this.unavailable('DeviceMotionEvent is not available in this browser.');\n }\n if (this.motionHandler) {\n return;\n }\n this.motionHandler = this.handleMotion;\n window.addEventListener('devicemotion', this.motionHandler);\n }\n async stopMeasurementUpdates() {\n if (this.motionHandler && this.supportsDeviceMotion()) {\n window.removeEventListener('devicemotion', this.motionHandler);\n }\n this.motionHandler = null;\n }\n async checkPermissions() {\n await this.ensurePermission(false);\n return { accelerometer: this.permissionState };\n }\n async requestPermissions() {\n await this.ensurePermission(true);\n return { accelerometer: this.permissionState };\n }\n async addListener(eventName, listenerFunc) {\n const handle = await super.addListener(eventName, listenerFunc);\n return handle;\n }\n async removeAllListeners() {\n await super.removeAllListeners();\n }\n async getPluginVersion() {\n return { version: 'web' };\n }\n async ensurePermission(request) {\n if (!this.supportsDeviceMotion()) {\n this.permissionState = 'denied';\n return;\n }\n const constructor = this.motionEventConstructor;\n if (!(constructor === null || constructor === void 0 ? void 0 : constructor.requestPermission)) {\n // Platforms without explicit permission prompts expose motion data if feature is available.\n this.permissionState = 'granted';\n return;\n }\n if (!request) {\n // We cannot probe state without prompting, assume prompt until user interacts.\n if (this.permissionState === 'prompt') {\n return;\n }\n return;\n }\n try {\n const status = await constructor.requestPermission();\n this.permissionState = status === 'granted' ? 'granted' : 'denied';\n }\n catch (error) {\n console.warn('CapacitorAccelerometer: permission request failed', error);\n this.permissionState = 'denied';\n }\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
@@ -4,6 +4,7 @@ import Foundation
4
4
 
5
5
  @objc(CapacitorAccelerometerPlugin)
6
6
  public class CapacitorAccelerometerPlugin: CAPPlugin, CAPBridgedPlugin {
7
+ private let PLUGIN_VERSION: String = "7.1.2"
7
8
  public let identifier = "CapacitorAccelerometerPlugin"
8
9
  public let jsName = "CapacitorAccelerometer"
9
10
  public let pluginMethods: [CAPPluginMethod] = [
@@ -13,14 +14,15 @@ public class CapacitorAccelerometerPlugin: CAPPlugin, CAPBridgedPlugin {
13
14
  CAPPluginMethod(name: "stopMeasurementUpdates", returnType: CAPPluginReturnPromise),
14
15
  CAPPluginMethod(name: "checkPermissions", returnType: CAPPluginReturnPromise),
15
16
  CAPPluginMethod(name: "requestPermissions", returnType: CAPPluginReturnPromise),
16
- CAPPluginMethod(name: "removeAllListeners", returnType: CAPPluginReturnPromise)
17
+ CAPPluginMethod(name: "removeAllListeners", returnType: CAPPluginReturnPromise),
18
+ CAPPluginMethod(name: "getPluginVersion", returnType: CAPPluginReturnPromise)
17
19
  ]
18
20
 
19
21
  private let motionManager = CMMotionManager()
20
22
  private let queue = OperationQueue()
21
23
  private var latestMeasurement: [String: Double] = ["x": 0, "y": 0, "z": 0]
22
24
 
23
- public override func load() {
25
+ override public func load() {
24
26
  super.load()
25
27
  queue.qualityOfService = .userInteractive
26
28
  motionManager.accelerometerUpdateInterval = 0.02
@@ -111,4 +113,8 @@ public class CapacitorAccelerometerPlugin: CAPPlugin, CAPBridgedPlugin {
111
113
 
112
114
  return "granted"
113
115
  }
116
+
117
+ @objc func getPluginVersion(_ call: CAPPluginCall) {
118
+ call.resolve(["version": self.PLUGIN_VERSION])
119
+ }
114
120
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/capacitor-accelerometer",
3
- "version": "7.0.0",
3
+ "version": "7.1.2",
4
4
  "description": "Read device accelerometer measurements with Capacitor",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",
@@ -40,7 +40,7 @@
40
40
  "verify:android": "cd android && ./gradlew clean build test && cd ..",
41
41
  "verify:web": "npm run build",
42
42
  "lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
43
- "fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --autocorrect --format",
43
+ "fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format",
44
44
  "eslint": "eslint . --ext .ts",
45
45
  "prettier": "prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java",
46
46
  "swiftlint": "node-swiftlint",