Sha256: 3bcd5a75c8c160076f60c884f95cae4cffa24a27544df5222916a7fdf6d01dd5

Contents?: true

Size: 1.03 KB

Versions: 6

Compression:

Stored size: 1.03 KB

Contents

const AbstractHandler = require("./AbstractHandler");

class InvokeGlobalMethodHandler extends AbstractHandler {
    constructor() {
        super()
    }

    requiredParametersCount = 1

    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

6 entries across 3 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.1.10 lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeGlobalMethodHandler.js
javonet-ruby-sdk-2.1.10 lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeGlobalMethodHandler.js
javonet-ruby-sdk-2.1.9 lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeGlobalMethodHandler.js
javonet-ruby-sdk-2.1.9 lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeGlobalMethodHandler.js
javonet-ruby-sdk-2.1.8 lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/InvokeGlobalMethodHandler.js
javonet-ruby-sdk-2.1.8 lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/InvokeGlobalMethodHandler.js