@tamagui/react-native-web-lite
Version:
React Native for Web
73 lines (72 loc) • 3.51 kB
JavaScript
import { Platform, invariant } from "@tamagui/react-native-web-internals";
import RCTDeviceEventEmitter from "./RCTDeviceEventEmitter.native.js";
function _class_call_check(instance, Constructor) {
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _create_class(Constructor, protoProps, staticProps) {
return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
}
function _define_property(obj, key, value) {
return key in obj ? Object.defineProperty(obj, key, {
value,
enumerable: !0,
configurable: !0,
writable: !0
}) : obj[key] = value, obj;
}
var NativeEventEmitter = /* @__PURE__ */function () {
function NativeEventEmitter2(nativeModule) {
_class_call_check(this, NativeEventEmitter2), _define_property(this, "_nativeModule", void 0), Platform.OS === "ios" && (invariant(nativeModule != null, "`new NativeEventEmitter()` requires a non-null argument."), this._nativeModule = nativeModule);
}
return _create_class(NativeEventEmitter2, [{
key: "addListener",
value: function (eventType, listener, context) {
var _this = this,
_this__nativeModule;
(_this__nativeModule = this._nativeModule) === null || _this__nativeModule === void 0 || _this__nativeModule.addListener(eventType);
var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);
return {
remove: function () {
if (subscription != null) {
var _this__nativeModule2;
(_this__nativeModule2 = _this._nativeModule) === null || _this__nativeModule2 === void 0 || _this__nativeModule2.removeListeners(1), subscription.remove(), subscription = null;
}
}
};
}
}, {
/**
* @deprecated Use `remove` on the EventSubscription from `addListener`.
*/
key: "removeListener",
value: function (eventType, listener) {
var _this__nativeModule;
(_this__nativeModule = this._nativeModule) === null || _this__nativeModule === void 0 || _this__nativeModule.removeListeners(1), RCTDeviceEventEmitter.removeListener(eventType, listener);
}
}, {
key: "emit",
value: function (eventType) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) args[_key - 1] = arguments[_key];
RCTDeviceEventEmitter.emit(eventType, ...args);
}
}, {
key: "removeAllListeners",
value: function (eventType) {
var _this__nativeModule;
invariant(eventType != null, "`NativeEventEmitter.removeAllListener()` requires a non-null argument."), (_this__nativeModule = this._nativeModule) === null || _this__nativeModule === void 0 || _this__nativeModule.removeListeners(this.listenerCount(eventType)), RCTDeviceEventEmitter.removeAllListeners(eventType);
}
}, {
key: "listenerCount",
value: function (eventType) {
return RCTDeviceEventEmitter.listenerCount(eventType);
}
}]), NativeEventEmitter2;
}();
export { NativeEventEmitter as default };
//# sourceMappingURL=NativeEventEmitter.native.js.map