Sha256: 6af67ec9a42dc5cedbc715305cdc942ee7495a2d60150f5fa812ee63448a2d77

Contents?: true

Size: 1.35 KB

Versions: 5

Compression:

Stored size: 1.35 KB

Contents

const AbstractHandler = require('./AbstractHandler')

class SetGlobalStaticFieldHandler extends AbstractHandler {
    requiredParametersCount = 2

    constructor() {
        super()
    }

    process(command) {
        try {
            if (command.payload.length < this.requiredParametersCount) {
                throw new Error('Set gloabal static field parameters mismatch')
            }
            const { payload } = command
            const splitted = payload[0].split('.')
            const value = payload[1]
            let fieldToSet

            for (let i = 0; i < splitted.length; i++) {
                if (typeof (fieldToSet ? fieldToSet[splitted[i]] : global[splitted[i]]) === 'undefined') {
                    let fields = Object.keys(fieldToSet ? fieldToSet : global)
                    let message = `Field ${splitted[i]} not found in object. Available fields:\n`
                    fields.forEach((fieldIter) => {
                        message += `${fieldIter}\n`
                    })
                    throw new Error(message)
                }
                fieldToSet = !fieldToSet ? global[splitted[i]] : fieldToSet[splitted[i]]
            }
            fieldToSet = value
        } catch (error) {
            throw this.process_stack_trace(error, this.constructor.name)
        }
    }
}

module.exports = new SetGlobalStaticFieldHandler()

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.5.13 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js
javonet-ruby-sdk-2.5.12 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js
javonet-ruby-sdk-2.5.11 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js