Sha256: 1ca1d63da2fec70db7a4ffff26ff9cbb5d4d03112a4d55c9acec23665e93ad82
Contents?: true
Size: 1.03 KB
Versions: 8
Compression:
Stored size: 1.03 KB
Contents
const AbstractHandler = require("./AbstractHandler"); class InvokeGlobalMethodHandler extends AbstractHandler { requiredParametersCount = 1 constructor() { super() } process(command) { try { if (command.payload.length < this.requiredParametersCount) { throw new Error("Invoke Global Method parameters mismatch") } const {payload} = command const splitted = payload[0].split(".") let methodToInvoke for (let i = 0; i < splitted.length; i++) { methodToInvoke = !methodToInvoke ? global[splitted[i]] : methodToInvoke[splitted[i]] } if (payload.length > 1) { const args = payload.slice(1) return methodToInvoke(args) } else { return methodToInvoke() } } catch (error) { throw this.process_stack_trace(error, this.constructor.name) } } } module.exports = new InvokeGlobalMethodHandler()
Version data entries
8 entries across 4 versions & 1 rubygems