UNPKG

nativescript-taptic-engine

Version:

Taptic Engine, the subtle iPhone vibration engine. Available since iPhone 6s (Plus).

83 lines (82 loc) 2.75 kB
"use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); __export(require("./taptic-engine.common")); const taptic_engine_common_1 = require("./taptic-engine.common"); class TapticEngine { notification(arg) { return new Promise((resolve, reject) => { const generator = UINotificationFeedbackGenerator.new(); if (generator === null) { reject("Unsupported Operating System"); return; } let feedbackType = 0; if (arg) { if (arg.type === taptic_engine_common_1.TapticEngineNotificationType.WARNING) { feedbackType = 1; } else if (arg.type === taptic_engine_common_1.TapticEngineNotificationType.ERROR) { feedbackType = 2; } } generator.notificationOccurred(feedbackType); resolve(); }); } impact(arg) { return new Promise((resolve, reject) => { let feedbackStyle = 1; if (arg) { if (arg.style === taptic_engine_common_1.TapticEngineImpactStyle.LIGHT) { feedbackStyle = 0; } else if (arg.style === taptic_engine_common_1.TapticEngineImpactStyle.HEAVY) { feedbackStyle = 2; } } const generator = UIImpactFeedbackGenerator.alloc().initWithStyle(feedbackStyle); if (generator === null) { reject("Unsupported Operating System"); return; } generator.impactOccurred(); resolve(); }); } selection() { return new Promise((resolve, reject) => { const generator = UISelectionFeedbackGenerator.new(); if (generator === null) { reject("Unsupported Operating System"); return; } generator.selectionChanged(); resolve(); }); } } exports.TapticEngine = TapticEngine; class TapticEngineUnofficial { weakBoom() { return new Promise((resolve, reject) => { AudioServicesPlaySystemSound(1519); resolve(); }); } strongBoom() { return new Promise((resolve, reject) => { AudioServicesPlaySystemSound(1520); resolve(); }); } burst() { return new Promise((resolve, reject) => { AudioServicesPlaySystemSound(1521); resolve(); }); } } exports.TapticEngineUnofficial = TapticEngineUnofficial;