UNPKG

5.55 kBSource Map (JSON)View Raw
1{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../src/lib/output/utils/resources.ts"],"names":[],"mappings":"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","sourcesContent":["import * as FS from 'fs';\nimport * as Path from 'path';\nimport * as Util from 'util';\n\nimport { Theme } from '../theme';\nimport { HelperStack } from './resources/helpers';\nimport { TemplateStack, PartialStack } from './resources/templates';\nimport { Renderer } from '../renderer';\n\nexport class Resources {\n templates: TemplateStack;\n\n layouts: TemplateStack;\n\n partials: PartialStack;\n\n helpers: HelperStack;\n\n private theme: Theme;\n\n private isActive = false;\n\n constructor(theme: Theme) {\n this.theme = theme;\n this.templates = new TemplateStack();\n this.layouts = new TemplateStack();\n this.partials = new PartialStack();\n this.helpers = new HelperStack();\n\n this.addDirectory('default', Renderer.getDefaultTheme());\n this.addDirectory('theme', theme.basePath);\n }\n\n activate(): boolean {\n if (this.isActive) {\n return false;\n }\n this.isActive = true;\n\n this.partials.activate();\n this.helpers.activate();\n return true;\n }\n\n deactivate(): boolean {\n if (!this.isActive) {\n return false;\n }\n this.isActive = false;\n\n this.partials.deactivate();\n this.helpers.deactivate();\n return true;\n }\n\n getTheme(): Theme {\n return this.theme;\n }\n\n addDirectory(name: string, path: string) {\n if (this.isActive) {\n throw new Error('Cannot add directories while the resource is active.');\n }\n\n path = Path.resolve(path);\n if (!FS.existsSync(path)) {\n throw new Error(Util.format('The theme path `%s` does not exist.', path));\n }\n\n if (!FS.statSync(path).isDirectory()) {\n throw new Error(Util.format('The theme path `%s` is not a directory.', path));\n }\n\n this.templates.addOrigin(name, Path.join(path, 'templates'), true);\n this.layouts.addOrigin(name, Path.join(path, 'layouts'), true);\n this.partials.addOrigin(name, Path.join(path, 'partials'), true);\n this.helpers.addOrigin(name, Path.join(path, 'helpers'), true);\n }\n\n removeDirectory(name: string) {\n if (this.isActive) {\n throw new Error('Cannot remove directories while the resource is active.');\n }\n\n this.templates.removeOrigin(name);\n this.layouts.removeOrigin(name);\n this.partials.removeOrigin(name);\n this.helpers.removeOrigin(name);\n }\n\n removeAllDirectories() {\n if (this.isActive) {\n throw new Error('Cannot remove directories while the resource is active.');\n }\n\n this.templates.removeAllOrigins();\n this.layouts.removeAllOrigins();\n this.partials.removeAllOrigins();\n this.helpers.removeAllOrigins();\n }\n}\n"]}
\No newline at end of file