feat rpc
- architecture tweaks for scalability - added option for global debug logs - added option for cef debug mode to run in browser only
This commit is contained in:
		
							parent
							
								
									640adae8a5
								
							
						
					
					
						commit
						e2e58e100a
					
				@ -1,9 +1,20 @@
 | 
				
			|||||||
import { Wrapper } from './wrapper'
 | 
					import { Wrapper } from './wrapper'
 | 
				
			||||||
import { Environment, Events, RPCEventType, RPCState, Utils } from './utils'
 | 
					import {
 | 
				
			||||||
 | 
					    Environment,
 | 
				
			||||||
 | 
					    Events,
 | 
				
			||||||
 | 
					    RPCEventType,
 | 
				
			||||||
 | 
					    RPCState,
 | 
				
			||||||
 | 
					    RpcWrapperConfig,
 | 
				
			||||||
 | 
					    Utils,
 | 
				
			||||||
 | 
					} from './utils'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Browser extends Wrapper {
 | 
					export class Browser extends Wrapper {
 | 
				
			||||||
    constructor() {
 | 
					    constructor(
 | 
				
			||||||
        super()
 | 
					        options: RpcWrapperConfig = {
 | 
				
			||||||
 | 
					            forceBrowserDevMode: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        super(options)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public _resolveEmitDestination(dataRaw: string) {
 | 
					    public _resolveEmitDestination(dataRaw: string) {
 | 
				
			||||||
@ -65,6 +76,3 @@ class Browser extends Wrapper {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
const browser = new Browser()
 | 
					 | 
				
			||||||
export { browser }
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -5,14 +5,19 @@ import {
 | 
				
			|||||||
    Events,
 | 
					    Events,
 | 
				
			||||||
    RPCEventType,
 | 
					    RPCEventType,
 | 
				
			||||||
    RPCState,
 | 
					    RPCState,
 | 
				
			||||||
 | 
					    RpcWrapperConfig,
 | 
				
			||||||
    Utils,
 | 
					    Utils,
 | 
				
			||||||
} from './utils'
 | 
					} from './utils'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Client extends Wrapper {
 | 
					export class Client extends Wrapper {
 | 
				
			||||||
    private _browser: any = null
 | 
					    private _browser: any = null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constructor() {
 | 
					    constructor(
 | 
				
			||||||
        super()
 | 
					        options: RpcWrapperConfig = {
 | 
				
			||||||
 | 
					            forceBrowserDevMode: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        super(options)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    set browser(browser: any) {
 | 
					    set browser(browser: any) {
 | 
				
			||||||
@ -154,6 +159,3 @@ class Client extends Wrapper {
 | 
				
			|||||||
        if (!this._browser) throw new Error(Errors.NO_BROWSER)
 | 
					        if (!this._browser) throw new Error(Errors.NO_BROWSER)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
const client = new Client()
 | 
					 | 
				
			||||||
export { client }
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -5,19 +5,36 @@ import {
 | 
				
			|||||||
    Events,
 | 
					    Events,
 | 
				
			||||||
    nativeClientEvents,
 | 
					    nativeClientEvents,
 | 
				
			||||||
    nativeServerEvents,
 | 
					    nativeServerEvents,
 | 
				
			||||||
 | 
					    type PlayerMp,
 | 
				
			||||||
 | 
					    RpcConfig,
 | 
				
			||||||
    RPCEventType,
 | 
					    RPCEventType,
 | 
				
			||||||
    RPCState,
 | 
					    RPCState,
 | 
				
			||||||
    Utils,
 | 
					    Utils,
 | 
				
			||||||
    type PlayerMp,
 | 
					 | 
				
			||||||
} from './utils'
 | 
					} from './utils'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { server } from './server'
 | 
					import { Server } from './server'
 | 
				
			||||||
import { client } from './client'
 | 
					import { Client } from './client'
 | 
				
			||||||
import { browser } from './browser'
 | 
					import { Browser } from './browser'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Rpc extends Wrapper {
 | 
					class Rpc extends Wrapper {
 | 
				
			||||||
    constructor() {
 | 
					    private _server: Server
 | 
				
			||||||
        super()
 | 
					    private _client: Client
 | 
				
			||||||
 | 
					    private _browser: Browser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    constructor(
 | 
				
			||||||
 | 
					        options: RpcConfig = {
 | 
				
			||||||
 | 
					            forceBrowserDevMode: false,
 | 
				
			||||||
 | 
					            debugLogs: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        super(options)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this._server = new Server(options)
 | 
				
			||||||
 | 
					        this._client = new Client(options)
 | 
				
			||||||
 | 
					        this._browser = new Browser(options)
 | 
				
			||||||
 | 
					        this.debug_ = !!options.debugLogs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (options.forceBrowserDevMode) return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (this.environment_ === Environment.UNKNOWN)
 | 
					        if (this.environment_ === Environment.UNKNOWN)
 | 
				
			||||||
            throw new Error(Errors.UNKNOWN_ENVIRONMENT)
 | 
					            throw new Error(Errors.UNKNOWN_ENVIRONMENT)
 | 
				
			||||||
@ -27,7 +44,7 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
            async (player: PlayerMp | string, dataRaw: string) => {
 | 
					            async (player: PlayerMp | string, dataRaw: string) => {
 | 
				
			||||||
                switch (this.environment_) {
 | 
					                switch (this.environment_) {
 | 
				
			||||||
                    case Environment.SERVER:
 | 
					                    case Environment.SERVER:
 | 
				
			||||||
                        server._resolveEmitDestination(
 | 
					                        this._server._resolveEmitDestination(
 | 
				
			||||||
                            player as PlayerMp,
 | 
					                            player as PlayerMp,
 | 
				
			||||||
                            dataRaw,
 | 
					                            dataRaw,
 | 
				
			||||||
                        )
 | 
					                        )
 | 
				
			||||||
@ -35,12 +52,12 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    case Environment.CLIENT:
 | 
					                    case Environment.CLIENT:
 | 
				
			||||||
                        dataRaw = player as string
 | 
					                        dataRaw = player as string
 | 
				
			||||||
                        client._resolveEmitDestination(dataRaw)
 | 
					                        this._client._resolveEmitDestination(dataRaw)
 | 
				
			||||||
                        break
 | 
					                        break
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    case Environment.BROWSER:
 | 
					                    case Environment.BROWSER:
 | 
				
			||||||
                        dataRaw = player as string
 | 
					                        dataRaw = player as string
 | 
				
			||||||
                        browser._resolveEmitDestination(dataRaw)
 | 
					                        this._browser._resolveEmitDestination(dataRaw)
 | 
				
			||||||
                        break
 | 
					                        break
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    default:
 | 
					                    default:
 | 
				
			||||||
@ -51,6 +68,10 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    set browser(browser: any) {
 | 
				
			||||||
 | 
					        this._client.browser = browser
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public register<
 | 
					    public register<
 | 
				
			||||||
        CallbackArguments extends unknown[] = unknown[],
 | 
					        CallbackArguments extends unknown[] = unknown[],
 | 
				
			||||||
        CallbackReturn extends unknown = unknown,
 | 
					        CallbackReturn extends unknown = unknown,
 | 
				
			||||||
@ -59,6 +80,8 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
        eventName: EventName,
 | 
					        eventName: EventName,
 | 
				
			||||||
        cb: (...args: CallbackArguments) => CallbackReturn,
 | 
					        cb: (...args: CallbackArguments) => CallbackReturn,
 | 
				
			||||||
    ): void {
 | 
					    ): void {
 | 
				
			||||||
 | 
					        this.log('register', eventName, cb)
 | 
				
			||||||
 | 
					        if (this.forceBrowserDevMode_) return
 | 
				
			||||||
        Utils.errorUnknownEnvironment(this.environment_)
 | 
					        Utils.errorUnknownEnvironment(this.environment_)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (
 | 
					        if (
 | 
				
			||||||
@ -76,6 +99,8 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
    public unregister<EventName extends string = string>(
 | 
					    public unregister<EventName extends string = string>(
 | 
				
			||||||
        eventName: EventName,
 | 
					        eventName: EventName,
 | 
				
			||||||
    ): void {
 | 
					    ): void {
 | 
				
			||||||
 | 
					        this.log('unregister', eventName)
 | 
				
			||||||
 | 
					        if (this.forceBrowserDevMode_) return
 | 
				
			||||||
        Utils.errorUnknownEnvironment(this.environment_)
 | 
					        Utils.errorUnknownEnvironment(this.environment_)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        delete this.state_[eventName]
 | 
					        delete this.state_[eventName]
 | 
				
			||||||
@ -96,6 +121,20 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
        eventNameOrArgs?: string | unknown[],
 | 
					        eventNameOrArgs?: string | unknown[],
 | 
				
			||||||
        args?: unknown[],
 | 
					        args?: unknown[],
 | 
				
			||||||
    ) {
 | 
					    ) {
 | 
				
			||||||
 | 
					        _is1StParamPlayer(playerOrEventName)
 | 
				
			||||||
 | 
					            ? this.log(
 | 
				
			||||||
 | 
					                  'callClient',
 | 
				
			||||||
 | 
					                  eventNameOrArgs as string,
 | 
				
			||||||
 | 
					                  playerOrEventName,
 | 
				
			||||||
 | 
					                  eventNameOrArgs,
 | 
				
			||||||
 | 
					                  args,
 | 
				
			||||||
 | 
					              )
 | 
				
			||||||
 | 
					            : this.log(
 | 
				
			||||||
 | 
					                  'callClient',
 | 
				
			||||||
 | 
					                  playerOrEventName as string,
 | 
				
			||||||
 | 
					                  eventNameOrArgs,
 | 
				
			||||||
 | 
					              )
 | 
				
			||||||
 | 
					        if (this.forceBrowserDevMode_) return
 | 
				
			||||||
        Utils.errorUnknownEnvironment(this.environment_)
 | 
					        Utils.errorUnknownEnvironment(this.environment_)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        function _is1StParamPlayer(x: unknown): x is PlayerMp {
 | 
					        function _is1StParamPlayer(x: unknown): x is PlayerMp {
 | 
				
			||||||
@ -105,8 +144,8 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
            return typeof x === 'string'
 | 
					            return typeof x === 'string'
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // client
 | 
					 | 
				
			||||||
        if (this.environment_ === Environment.CLIENT) {
 | 
					        if (this.environment_ === Environment.CLIENT) {
 | 
				
			||||||
 | 
					            // client
 | 
				
			||||||
            return await this.call(
 | 
					            return await this.call(
 | 
				
			||||||
                playerOrEventName as string,
 | 
					                playerOrEventName as string,
 | 
				
			||||||
                args as unknown[],
 | 
					                args as unknown[],
 | 
				
			||||||
@ -163,6 +202,9 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
        EventName extends string = string,
 | 
					        EventName extends string = string,
 | 
				
			||||||
        Return extends unknown = unknown,
 | 
					        Return extends unknown = unknown,
 | 
				
			||||||
    >(eventName: EventName, args?: Arguments): Promise<Return> {
 | 
					    >(eventName: EventName, args?: Arguments): Promise<Return> {
 | 
				
			||||||
 | 
					        this.log('callServer', eventName, args)
 | 
				
			||||||
 | 
					        if (this.forceBrowserDevMode_)
 | 
				
			||||||
 | 
					            return undefined as unknown as Promise<Return>
 | 
				
			||||||
        Utils.errorUnknownEnvironment(this.environment_)
 | 
					        Utils.errorUnknownEnvironment(this.environment_)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const state: RPCState = {
 | 
					        const state: RPCState = {
 | 
				
			||||||
@ -208,6 +250,20 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
        eventNameOrArgs?: string | unknown[],
 | 
					        eventNameOrArgs?: string | unknown[],
 | 
				
			||||||
        args?: unknown[],
 | 
					        args?: unknown[],
 | 
				
			||||||
    ) {
 | 
					    ) {
 | 
				
			||||||
 | 
					        _is1StParamPlayer(playerOrEventName)
 | 
				
			||||||
 | 
					            ? this.log(
 | 
				
			||||||
 | 
					                  'DEV callClient',
 | 
				
			||||||
 | 
					                  eventNameOrArgs as string,
 | 
				
			||||||
 | 
					                  playerOrEventName,
 | 
				
			||||||
 | 
					                  eventNameOrArgs,
 | 
				
			||||||
 | 
					                  args,
 | 
				
			||||||
 | 
					              )
 | 
				
			||||||
 | 
					            : this.log(
 | 
				
			||||||
 | 
					                  'DEV callClient',
 | 
				
			||||||
 | 
					                  playerOrEventName as string,
 | 
				
			||||||
 | 
					                  eventNameOrArgs,
 | 
				
			||||||
 | 
					              )
 | 
				
			||||||
 | 
					        if (this.forceBrowserDevMode_) return
 | 
				
			||||||
        Utils.errorUnknownEnvironment(this.environment_)
 | 
					        Utils.errorUnknownEnvironment(this.environment_)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        function _is1StParamPlayer(x: unknown): x is PlayerMp {
 | 
					        function _is1StParamPlayer(x: unknown): x is PlayerMp {
 | 
				
			||||||
@ -257,6 +313,9 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
        EventName extends string = string,
 | 
					        EventName extends string = string,
 | 
				
			||||||
        Return extends unknown = unknown,
 | 
					        Return extends unknown = unknown,
 | 
				
			||||||
    >(eventName: EventName, args?: Arguments): Promise<Return> {
 | 
					    >(eventName: EventName, args?: Arguments): Promise<Return> {
 | 
				
			||||||
 | 
					        this.log('call', eventName, args)
 | 
				
			||||||
 | 
					        if (this.forceBrowserDevMode_)
 | 
				
			||||||
 | 
					            return undefined as unknown as Promise<Return>
 | 
				
			||||||
        Utils.errorUnknownEnvironment(this.environment_)
 | 
					        Utils.errorUnknownEnvironment(this.environment_)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let state: RPCState = {
 | 
					        let state: RPCState = {
 | 
				
			||||||
@ -332,6 +391,4 @@ class Rpc extends Wrapper {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					export { Rpc }
 | 
				
			||||||
const rpc = new Rpc()
 | 
					 | 
				
			||||||
export { rpc, client }
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -5,12 +5,19 @@ import {
 | 
				
			|||||||
    type PlayerMp,
 | 
					    type PlayerMp,
 | 
				
			||||||
    RPCEventType,
 | 
					    RPCEventType,
 | 
				
			||||||
    RPCState,
 | 
					    RPCState,
 | 
				
			||||||
 | 
					    RpcWrapperConfig,
 | 
				
			||||||
    Utils,
 | 
					    Utils,
 | 
				
			||||||
} from './utils'
 | 
					} from './utils'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Server extends Wrapper {
 | 
					export class Server extends Wrapper {
 | 
				
			||||||
    constructor() {
 | 
					    constructor(
 | 
				
			||||||
        super()
 | 
					        options: RpcWrapperConfig = {
 | 
				
			||||||
 | 
					            forceBrowserDevMode: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        super(options)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!!options.forceBrowserDevMode) return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mp.events.add(
 | 
					        mp.events.add(
 | 
				
			||||||
            Events.SERVER_EVENT_LISTENER,
 | 
					            Events.SERVER_EVENT_LISTENER,
 | 
				
			||||||
@ -84,6 +91,3 @@ class Server extends Wrapper {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
const server = new Server()
 | 
					 | 
				
			||||||
export { server }
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -18,6 +18,28 @@ export enum Errors {
 | 
				
			|||||||
    EVENT_RESPONSE_TIMEOUT = 'Response was timed out after 10s of inactivity',
 | 
					    EVENT_RESPONSE_TIMEOUT = 'Response was timed out after 10s of inactivity',
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export type RPCState = {
 | 
				
			||||||
 | 
					    eventName: string
 | 
				
			||||||
 | 
					    uuid: string
 | 
				
			||||||
 | 
					    calledFrom: Environment
 | 
				
			||||||
 | 
					    calledTo: Environment
 | 
				
			||||||
 | 
					    knownError?: string
 | 
				
			||||||
 | 
					    data?: any
 | 
				
			||||||
 | 
					    type: RPCEventType
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export type PlayerMp = {
 | 
				
			||||||
 | 
					    call: (event: string, args?: unknown[]) => void
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface RpcWrapperConfig {
 | 
				
			||||||
 | 
					    forceBrowserDevMode?: boolean
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface RpcConfig extends RpcWrapperConfig {
 | 
				
			||||||
 | 
					    debugLogs?: boolean
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class Utils {
 | 
					export class Utils {
 | 
				
			||||||
    public static getEnvironment(): Environment {
 | 
					    public static getEnvironment(): Environment {
 | 
				
			||||||
        if ('joaat' in mp) return Environment.SERVER
 | 
					        if ('joaat' in mp) return Environment.SERVER
 | 
				
			||||||
@ -67,25 +89,11 @@ export class Utils {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export type RPCState = {
 | 
					 | 
				
			||||||
    eventName: string
 | 
					 | 
				
			||||||
    uuid: string
 | 
					 | 
				
			||||||
    calledFrom: Environment
 | 
					 | 
				
			||||||
    calledTo: Environment
 | 
					 | 
				
			||||||
    knownError?: string
 | 
					 | 
				
			||||||
    data?: any
 | 
					 | 
				
			||||||
    type: RPCEventType
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export enum RPCEventType {
 | 
					export enum RPCEventType {
 | 
				
			||||||
    EVENT = 'event',
 | 
					    EVENT = 'event',
 | 
				
			||||||
    RESPONSE = 'response',
 | 
					    RESPONSE = 'response',
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export type PlayerMp = {
 | 
					 | 
				
			||||||
    call: (event: string, args?: unknown[]) => void
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export const nativeClientEvents = new Set([
 | 
					export const nativeClientEvents = new Set([
 | 
				
			||||||
    'browserCreated',
 | 
					    'browserCreated',
 | 
				
			||||||
    'browserDomReady',
 | 
					    'browserDomReady',
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,31 @@
 | 
				
			|||||||
import { Environment, Errors, RPCState, Utils } from './utils'
 | 
					import { Environment, Errors, RPCState, RpcWrapperConfig, Utils } from './utils'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class Wrapper {
 | 
					export class Wrapper {
 | 
				
			||||||
    protected environment_ = Utils.getEnvironment()
 | 
					    protected environment_ = Environment.UNKNOWN
 | 
				
			||||||
    protected state_ =
 | 
					    protected state_: any
 | 
				
			||||||
        this.environment_ === Environment.BROWSER ? window : global
 | 
					    protected console_ =
 | 
				
			||||||
 | 
					        this.environment_ === Environment.CLIENT
 | 
				
			||||||
 | 
					            ? mp.console.logInfo
 | 
				
			||||||
 | 
					            : console.log
 | 
				
			||||||
 | 
					    protected debug_ = false
 | 
				
			||||||
 | 
					    protected forceBrowserDevMode_ = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    constructor(
 | 
				
			||||||
 | 
					        options: RpcWrapperConfig = {
 | 
				
			||||||
 | 
					            forceBrowserDevMode: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    ) {
 | 
				
			||||||
 | 
					        if (options.forceBrowserDevMode) {
 | 
				
			||||||
 | 
					            this.environment_ = Environment.UNKNOWN
 | 
				
			||||||
 | 
					            this.state_ = window
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            this.environment_ = Utils.getEnvironment()
 | 
				
			||||||
 | 
					            this.state_ =
 | 
				
			||||||
 | 
					                this.environment_ === Environment.BROWSER ? window : global
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.forceBrowserDevMode_ = !!options.forceBrowserDevMode
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected verifyEvent_(data: string | RPCState): RPCState {
 | 
					    protected verifyEvent_(data: string | RPCState): RPCState {
 | 
				
			||||||
        let rpcData =
 | 
					        let rpcData =
 | 
				
			||||||
@ -30,4 +52,9 @@ export class Wrapper {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        throw new Error(errorMessage.join('\n | '))
 | 
					        throw new Error(errorMessage.join('\n | '))
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    protected log(method: string, eventName: string, ...args: unknown[]): void {
 | 
				
			||||||
 | 
					        if (this.debug_)
 | 
				
			||||||
 | 
					            this.console_('RPC | [' + method + '] ' + eventName + ':', ...args)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user