@rudderstack/integrations-lib
Version:
A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.
25 lines • 3 kB
JavaScript
;
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=