Sha256: 1fd831c3cc4048be9db0fc988cdf4625afaa7758e73af52547fba58ab98f24ff

Contents?: true

Size: 891 Bytes

Versions: 5

Compression:

Stored size: 891 Bytes

Contents

class NamespaceCache {
    static _instance = null;
    namespaceCache = [];

    constructor() {
        if (NamespaceCache._instance === null) {
            NamespaceCache._instance = this;
        }
        return NamespaceCache._instance;
    }

    cacheNamespace(namespaceRegex) {
        this.namespaceCache.push(namespaceRegex);
    }

    isNamespaceCacheEmpty() {
        return this.namespaceCache.length === 0;
    }

    isTypeAllowed(typeToCheck) {
        for (let pattern of this.namespaceCache) {
            if (new RegExp(pattern).test(typeToCheck.constructor.name)) {
                return true;
            }
        }
        return false;
    }

    getCachedNamespaces() {
        return this.namespaceCache;
    }

    clearCache() {
        this.namespaceCache = [];
        return 0;
    }
}

module.exports = NamespaceCache;

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.4.10 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/namespaceCache/NamespaceCache.js
javonet-ruby-sdk-2.4.9 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/namespaceCache/NamespaceCache.js
javonet-ruby-sdk-2.4.8 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/namespaceCache/NamespaceCache.js
javonet-ruby-sdk-2.4.7 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/namespaceCache/NamespaceCache.js
javonet-ruby-sdk-2.4.6 lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/namespaceCache/NamespaceCache.js