Sha256: 660ac89c92d858ea0504b2966932663c2245bece3de9137569d2cb2f65ecf666

Contents?: true

Size: 1.1 KB

Versions: 5

Compression:

Stored size: 1.1 KB

Contents

const NamespaceCache = require('../namespaceCache/NamespaceCache')
const AbstractHandler = require('./AbstractHandler')

class EnableNamespaceHandler extends AbstractHandler {
    constructor() {
        super()
        this.requiredParametersCount = 1
    }

    process(command) {
        try {
            if (command.payload.length < this.requiredParametersCount) {
                throw new Error(this.constructor.name + ' parameters mismatch')
            }
            const namespace_cache = new NamespaceCache()

            for (let payload of command.payload) {
                if (typeof payload === 'string') {
                    namespace_cache.cacheNamespace(payload)
                }
                if (Array.isArray(payload)) {
                    for (let namespace_to_enable of payload) {
                        namespace_cache.cacheNamespace(namespace_to_enable)
                    }
                }
            }
            return 0
        } catch (error) {
            throw this.process_stack_trace(error, this.constructor.name)
        }
    }
}

module.exports = new EnableNamespaceHandler()

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/EnableNamespaceHandler.js
javonet-ruby-sdk-2.5.12 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/EnableNamespaceHandler.js
javonet-ruby-sdk-2.5.11 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/EnableNamespaceHandler.js
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/EnableNamespaceHandler.js
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/EnableNamespaceHandler.js