@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
94 lines • 2.15 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Config = void 0;
exports.newConfig = newConfig;
/**
* Config entity that aggregates all configuration components
* Matches the golang version structure
*/
class Config {
constructor(configSourceFs, provider, root, dir, module, service, language, taxonomy) {
this.configSourceFs = configSourceFs;
this.provider = provider;
this.root = root;
this.dir = dir;
this.module = module;
this.service = service;
this.language = language;
this.taxonomy = taxonomy;
}
fs() {
return this.configSourceFs;
}
getProvider() {
return this.provider;
}
theme() {
return this.root.defaultTheme();
}
getDir() {
return this.dir;
}
/**
* Get Root entity
*/
getRoot() {
return this.root;
}
/**
* Get Module entity
*/
getModule() {
return this.module;
}
/**
* Get Service entity
*/
getService() {
return this.service;
}
/**
* Get Language entity (optional)
*/
getLanguage() {
return this.language;
}
/**
* Get Taxonomy entity (optional)
*/
getTaxonomy() {
return this.taxonomy;
}
/**
* Set Language entity
*/
setLanguage(language) {
this.language = language;
}
/**
* Set Taxonomy entity
*/
setTaxonomy(taxonomy) {
this.taxonomy = taxonomy;
}
/**
* Validate the configuration
*/
validate() {
let valid = true;
// Validate language if present
if (this.language) {
valid = valid && this.language.validate();
}
// Add other validation logic as needed
return valid;
}
}
exports.Config = Config;
/**
* Creates a new Config instance
*/
function newConfig(configSourceFs, provider, root, dir, module, service, language, taxonomy) {
return new Config(configSourceFs, provider, root, dir, module, service, language, taxonomy);
}
//# sourceMappingURL=config.js.map