ump-plugin-permissions
v0.0.1
Published
UMP Permissions Plugin - Unified permission API (web navigator.permissions shape)
Readme
ump-plugin-permissions
UMP Permissions Plugin — unified permission API in the web navigator.permissions
shape, with an extra request() helper for mobile prompts.
Install
npm install ump-plugin-permissions --save
Usage
import { Permissions, permissionsPlugin } from 'ump-plugin-permissions';
pm.register(permissionsPlugin());
// Web-spec style: const status = await Permissions.query({ name: 'camera' }); // status.state: 'granted' | 'denied' | 'prompt' status.onchange = () => console.log('camera ->', status.state);
// UMP extension — explicit prompt for mobile: const next = await Permissions.request({ name: 'microphone' }); if (next.state === 'granted') { // start recording }
Supported PermissionName values include: camera, microphone,
geolocation, notifications, persistent-storage, push,
clipboard-read, clipboard-write, background-sync, bluetooth,
contacts, calendar.
The plugin maps onto: Android ContextCompat.checkSelfPermission, iOS
AVCaptureDevice / CLLocationManager / etc., Harmony
abilityAccessCtrl. All host bindings are optional; missing ones degrade
to a 'prompt' state.
See src/index.ts for the full API.
Plugin authoring
This is a UMP plugin. See docs/superpowers/specs/plugin-authoring-guide.md for the plugin model.
