@memberjunction/react-runtime
Version:
Platform-agnostic React component runtime for MemberJunction. Provides core compilation, registry, and execution capabilities for React components in any JavaScript environment.
67 lines • 2.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStandardLibraries = exports.StandardLibraryManager = void 0;
const DEFAULT_LIBRARY_CONFIG = {
libraries: [],
metadata: {
version: '1.0.0',
lastUpdated: new Date().toISOString(),
description: 'Empty default configuration - libraries should be configured at runtime'
}
};
class StandardLibraryManager {
static setConfiguration(config) {
this.configuration = config;
}
static getConfiguration() {
return this.configuration;
}
static getEnabledLibraries() {
return this.configuration.libraries.filter(lib => lib.isEnabled);
}
static getLibrariesByCategory(category) {
return this.configuration.libraries.filter(lib => lib.category === category && lib.isEnabled);
}
static getCoreLibraries() {
return this.configuration.libraries.filter(lib => lib.isCore && lib.isEnabled);
}
static getComponentLibraries() {
return this.configuration.libraries.filter(lib => !lib.isRuntimeOnly && lib.isEnabled);
}
static getLibraryById(id) {
return this.configuration.libraries.find(lib => lib.id === id);
}
static getLibraryUrls() {
const urls = {};
this.configuration.libraries
.filter(lib => lib.isEnabled)
.forEach(lib => {
const key = lib.id.replace(/-/g, '_').toUpperCase();
urls[key] = lib.cdnUrl;
if (lib.cdnCssUrl) {
urls[`${key}_CSS`] = lib.cdnCssUrl;
}
});
return urls;
}
static resetToDefault() {
this.configuration = DEFAULT_LIBRARY_CONFIG;
}
}
exports.StandardLibraryManager = StandardLibraryManager;
StandardLibraryManager.configuration = DEFAULT_LIBRARY_CONFIG;
function createStandardLibraries() {
if (typeof window === 'undefined') {
return {};
}
const libs = {};
StandardLibraryManager.getComponentLibraries().forEach(lib => {
const globalValue = window[lib.globalVariable];
if (globalValue !== undefined) {
libs[lib.globalVariable] = globalValue;
}
});
return libs;
}
exports.createStandardLibraries = createStandardLibraries;
//# sourceMappingURL=standard-libraries.js.map