@nativescript/core
Version:
A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.
26 lines • 1.1 kB
JavaScript
import { Observable } from '../data/observable';
export class SharedA11YObservable extends Observable {
}
export const AccessibilityServiceEnabledPropName = 'accessibilityServiceEnabled';
export class CommonA11YServiceEnabledObservable extends SharedA11YObservable {
constructor(sharedA11YObservable) {
super();
const ref = new WeakRef(this);
let lastValue;
function callback() {
const self = ref?.get();
if (!self) {
sharedA11YObservable.off(Observable.propertyChangeEvent, callback);
return;
}
const newValue = !!sharedA11YObservable.accessibilityServiceEnabled;
if (newValue !== lastValue) {
self.set(AccessibilityServiceEnabledPropName, newValue);
lastValue = newValue;
}
}
sharedA11YObservable.on(Observable.propertyChangeEvent, callback);
this.set(AccessibilityServiceEnabledPropName, !!sharedA11YObservable.accessibilityServiceEnabled);
}
}
//# sourceMappingURL=accessibility-service-common.js.map