Sha256: afa0b5ac9a1dbe97f6fa8d53626ca8b8ca0b4c13beb4a87874fa11ccf9bb3365

Contents?: true

Size: 1.36 KB

Versions: 29

Compression:

Stored size: 1.36 KB

Contents

const reserved = require("reserved-words");
const AbstractGeneratorHandler = require("../AbstractGeneratorHandler");

class SharedMethodNameHandler extends AbstractGeneratorHandler {

    generate_code(existing_string_builder, common_command, used_object, handlers) {

        if (used_object.includes('#')) {
            used_object = used_object.replace("#", "");
        }

        if (used_object.includes('-')) {
            used_object = used_object.replace("-", "_");
        }

        if (this.is_numeric_char(used_object[0])) {
            let pos = 0;
            for (const [index, element] of used_object.entries()) {
                if (this.is_numeric_char(element)) {
                    pos = index
                }
                break
            }
            const new_str = used_object.slice(pos);
            used_object = new_str
        }

        if (used_object[0] === used_object[0].toUpperCase()) {
            used_object = used_object[0].toLowerCase() + used_object.slice(1)
        }

        if (!reserved.check(used_object)) {
            existing_string_builder.append(used_object)
        } else {
            throw ("SharedMethodNameHandlerError: Given name is not valid: " + used_object)
        }

    }

    is_numeric_char(c) {
        return /\d/.test(c);
    }
}

module.exports = SharedMethodNameHandler

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.4.10 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.9 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.8 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.7 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.6 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.5 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.4 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.3 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.4.2 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.3.0 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.2.0 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.14 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.13 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.12 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.11 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.10 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.9 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.8 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.7 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js
javonet-ruby-sdk-2.1.6 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/generator/handler/shared/SharedMethodNameHandler.js