UNPKG

@rudderstack/integrations-lib

Version:

A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.

25 lines 3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FeatureFlagProviderFactory = void 0; const local_1 = require("./local"); const flagsmith_1 = require("./flagsmith"); const config_1 = require("../core/config"); class FeatureFlagProviderFactory { constructor(registry) { this.registry = registry; } create(config) { switch (config.provider) { case 'local': return new local_1.LocalFeatureFlagProvider(this.registry); case 'flagsmith': // Initialize Flagsmith SDK before creating provider config_1.ConfigResolver.initializeFlagsmithSDK(config); return new flagsmith_1.FlagsmithFeatureFlagProvider(this.registry); default: throw new Error(`Unsupported provider: ${config.provider}`); } } } exports.FeatureFlagProviderFactory = FeatureFlagProviderFactory; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mZWF0dXJlLWZsYWdzL3Byb3ZpZGVycy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLG1DQUFtRDtBQUNuRCwyQ0FBMkQ7QUFDM0QsMkNBQWdEO0FBRWhELE1BQWEsMEJBQTBCO0lBQ3JDLFlBQW9CLFFBQThCO1FBQTlCLGFBQVEsR0FBUixRQUFRLENBQXNCO0lBQUcsQ0FBQztJQUV0RCxNQUFNLENBQUMsTUFBaUM7UUFDdEMsUUFBUSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sSUFBSSxnQ0FBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsS0FBSyxXQUFXO2dCQUNkLG9EQUFvRDtnQkFDcEQsdUJBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUMsT0FBTyxJQUFJLHdDQUE0QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBZkQsZ0VBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJlc29sdmVkRmVhdHVyZUZsYWdDb25maWcsXG4gIElGZWF0dXJlRmxhZ1JlZ2lzdHJ5LFxuICBJRmVhdHVyZUZsYWdQcm92aWRlcixcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgTG9jYWxGZWF0dXJlRmxhZ1Byb3ZpZGVyIH0gZnJvbSAnLi9sb2NhbCc7XG5pbXBvcnQgeyBGbGFnc21pdGhGZWF0dXJlRmxhZ1Byb3ZpZGVyIH0gZnJvbSAnLi9mbGFnc21pdGgnO1xuaW1wb3J0IHsgQ29uZmlnUmVzb2x2ZXIgfSBmcm9tICcuLi9jb3JlL2NvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBGZWF0dXJlRmxhZ1Byb3ZpZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVnaXN0cnk6IElGZWF0dXJlRmxhZ1JlZ2lzdHJ5KSB7fVxuXG4gIGNyZWF0ZShjb25maWc6IFJlc29sdmVkRmVhdHVyZUZsYWdDb25maWcpOiBJRmVhdHVyZUZsYWdQcm92aWRlciB7XG4gICAgc3dpdGNoIChjb25maWcucHJvdmlkZXIpIHtcbiAgICAgIGNhc2UgJ2xvY2FsJzpcbiAgICAgICAgcmV0dXJuIG5ldyBMb2NhbEZlYXR1cmVGbGFnUHJvdmlkZXIodGhpcy5yZWdpc3RyeSk7XG4gICAgICBjYXNlICdmbGFnc21pdGgnOlxuICAgICAgICAvLyBJbml0aWFsaXplIEZsYWdzbWl0aCBTREsgYmVmb3JlIGNyZWF0aW5nIHByb3ZpZGVyXG4gICAgICAgIENvbmZpZ1Jlc29sdmVyLmluaXRpYWxpemVGbGFnc21pdGhTREsoY29uZmlnKTtcbiAgICAgICAgcmV0dXJuIG5ldyBGbGFnc21pdGhGZWF0dXJlRmxhZ1Byb3ZpZGVyKHRoaXMucmVnaXN0cnkpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBwcm92aWRlcjogJHtjb25maWcucHJvdmlkZXJ9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=