nativescript-taptic-engine
Version:
Taptic Engine, the subtle iPhone vibration engine. Available since iPhone 6s (Plus).
83 lines (82 loc) • 2.75 kB
JavaScript
;
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;