UNPKG

react-native-star-io10

Version:

react-native-star-io10 is a library for supporting application development for Star Micronics devices.

41 lines (31 loc) 1.07 kB
import { Lock } from './Lock'; export abstract class NativeObject { _nativeObject?: string; private _lock: Lock = new Lock(); protected abstract _initNativeObjectImpl(): Promise<string>; protected abstract _disposeNativeObjectImpl(nativeObject: string): Promise<void>; protected async _initNativeObject(): Promise<void> { await this._lock.lock(); if (this._nativeObject == null) { this._nativeObject = await this._initNativeObjectImpl(); } this._lock.unlock(); } protected async _disposeNativeObject(): Promise<void> { await this._lock.lock(); if (this._nativeObject != null) { await this._disposeNativeObjectImpl(this._nativeObject); this._nativeObject = undefined; } this._lock.unlock(); } protected static _getEventParams(params: any): any { var result; if (params instanceof Array) { result = params[0]; } else { result = params; } return result } }