UNPKG

noodl-loader

Version:

Loader for noodl applications

101 lines 3.86 kB
"use strict"; var _NoodlCadlEndpoint_config; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const invariant_1 = tslib_1.__importDefault(require("invariant")); const key_value_cache_1 = tslib_1.__importDefault(require("./cache/key-value-cache")); const format_1 = require("./utils/format"); const replace_1 = require("./utils/replace"); const yml_1 = require("./utils/yml"); class NoodlCadlEndpoint extends key_value_cache_1.default { [(_NoodlCadlEndpoint_config = new WeakMap(), Symbol.for('nodejs.util.inspect.custom'))]() { return this.toJSON(); } constructor(config) { super(); _NoodlCadlEndpoint_config.set(this, null); this.setConfig(config || null); } get assetsUrl() { return (this.get('assetsUrl') || ''); } set assetsUrl(assetsUrl) { this.set('assetsUrl', assetsUrl); } get baseUrl() { return (this.get('baseUrl') || ''); } set baseUrl(baseUrl) { this.set('baseUrl', baseUrl); } get startPage() { return (this.get('startPage') || ''); } createAssetURL(filename) { return (0, format_1.endpoint)(this.assetsUrl, filename); } preloadExists(value) { if (value.endsWith('_en')) value = value.substring(0, value.length - 3); if (value.endsWith('.yml')) value = value.substring(0, value.length - 4); return this.getPreload().some((name) => value.includes(name)); } pageExists(value) { if (value.endsWith('_en')) value = value.substring(0, value.length - 3); if (value.endsWith('.yml')) value = value.substring(0, value.length - 4); return this.getPages().some((name) => value.includes(name)); } getPreload() { if (!this.has('preload')) this.set('preload', []); return this.get('preload'); } getPages() { if (!this.has('page')) this.set('page', []); return this.get('page'); } getURL(name) { var _a, _b; const isPreload = this.preloadExists(name); const isPage = this.pageExists(name); let url = name; if (isPreload || isPage) { name = (0, format_1.ensureSuffix)('.yml', name); if (isPage) { let baseUrl = this.baseUrl; (0, invariant_1.default)(!!baseUrl, `baseUrl cannot be empty`); baseUrl = (0, replace_1.replacePlaceholders)(baseUrl, (_a = tslib_1.__classPrivateFieldGet(this, _NoodlCadlEndpoint_config, "f")) === null || _a === void 0 ? void 0 : _a.toJSON()); url = `${baseUrl}${name}`; } else { let assetsUrl = this.assetsUrl; (0, invariant_1.default)(!!assetsUrl, `assetsUrl cannot be empty`); url = `${assetsUrl}${name}`; } } else { let baseUrl = this.baseUrl; (0, invariant_1.default)(!!baseUrl, `baseUrl cannot be empty`); baseUrl = (0, replace_1.replacePlaceholders)(baseUrl, (_b = tslib_1.__classPrivateFieldGet(this, _NoodlCadlEndpoint_config, "f")) === null || _b === void 0 ? void 0 : _b.toJSON()); url = `${baseUrl}cadlEndpoint.yml`; } console.log(`[cadlEndpoint] Returning url via getURL: ${url}`); return url; } setConfig(config) { tslib_1.__classPrivateFieldSet(this, _NoodlCadlEndpoint_config, config, "f"); return this; } toJSON() { return this.get(); } toString() { return (0, yml_1.stringify)(this.toJSON()); } } exports.default = NoodlCadlEndpoint; //# sourceMappingURL=cadlendpoint.js.map