UNPKG

grind-assets

Version:
69 lines (52 loc) 4.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Asset = void 0; class Asset { constructor(path, compiler) { this.compiler = null; this.path = null; this.path = path; this.compiler = compiler; } compile(context = null, req = null) { return this.compiler.compile(this.path, context, req); } lastModified(newest = 0) { return this.compiler.lastModified(this.path, newest); } compareKind(other) { const delta = this.kindPriority - other.kindPriority; if (delta !== 0) { return delta < 0 ? -1 : 1; } return Math.min(1, Math.max(-1, this.path.localeCompare(other.path))); } get mime() { return this.compiler.mime(this); } get type() { return this.compiler.type(this); } get extension() { return this.compiler.extension(this); } get kind() { return this.compiler.kind; } get kindPriority() { switch (this.compiler.kind) { case 'script': return -1; case 'style': return 5; case 'raw': return 10; default: return 0; } } } exports.Asset = Asset; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Bc3NldC5qcyJdLCJuYW1lcyI6WyJBc3NldCIsImNvbnN0cnVjdG9yIiwicGF0aCIsImNvbXBpbGVyIiwiY29tcGlsZSIsImNvbnRleHQiLCJyZXEiLCJsYXN0TW9kaWZpZWQiLCJuZXdlc3QiLCJjb21wYXJlS2luZCIsIm90aGVyIiwiZGVsdGEiLCJraW5kUHJpb3JpdHkiLCJNYXRoIiwibWluIiwibWF4IiwibG9jYWxlQ29tcGFyZSIsIm1pbWUiLCJ0eXBlIiwiZXh0ZW5zaW9uIiwia2luZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFPLE1BQU1BLEtBQU4sQ0FBWTtBQUlsQkMsRUFBQUEsV0FBVyxDQUFDQyxJQUFELEVBQU9DLFFBQVAsRUFBaUI7QUFBQSxTQUg1QkEsUUFHNEIsR0FIakIsSUFHaUI7QUFBQSxTQUY1QkQsSUFFNEIsR0FGckIsSUFFcUI7QUFDM0IsU0FBS0EsSUFBTCxHQUFZQSxJQUFaO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQkEsUUFBaEI7QUFDQTs7QUFFREMsRUFBQUEsT0FBTyxDQUFDQyxPQUFPLEdBQUcsSUFBWCxFQUFpQkMsR0FBRyxHQUFHLElBQXZCLEVBQTZCO0FBQ25DLFdBQU8sS0FBS0gsUUFBTCxDQUFjQyxPQUFkLENBQXNCLEtBQUtGLElBQTNCLEVBQWlDRyxPQUFqQyxFQUEwQ0MsR0FBMUMsQ0FBUDtBQUNBOztBQUVEQyxFQUFBQSxZQUFZLENBQUNDLE1BQU0sR0FBRyxDQUFWLEVBQWE7QUFDeEIsV0FBTyxLQUFLTCxRQUFMLENBQWNJLFlBQWQsQ0FBMkIsS0FBS0wsSUFBaEMsRUFBc0NNLE1BQXRDLENBQVA7QUFDQTs7QUFFREMsRUFBQUEsV0FBVyxDQUFDQyxLQUFELEVBQVE7QUFDbEIsVUFBTUMsS0FBSyxHQUFHLEtBQUtDLFlBQUwsR0FBb0JGLEtBQUssQ0FBQ0UsWUFBeEM7O0FBRUEsUUFBSUQsS0FBSyxLQUFLLENBQWQsRUFBaUI7QUFDaEIsYUFBT0EsS0FBSyxHQUFHLENBQVIsR0FBWSxDQUFDLENBQWIsR0FBaUIsQ0FBeEI7QUFDQTs7QUFFRCxXQUFPRSxJQUFJLENBQUNDLEdBQUwsQ0FBUyxDQUFULEVBQVlELElBQUksQ0FBQ0UsR0FBTCxDQUFTLENBQUMsQ0FBVixFQUFhLEtBQUtiLElBQUwsQ0FBVWMsYUFBVixDQUF3Qk4sS0FBSyxDQUFDUixJQUE5QixDQUFiLENBQVosQ0FBUDtBQUNBOztBQUVPLE1BQUplLElBQUksR0FBRztBQUNWLFdBQU8sS0FBS2QsUUFBTCxDQUFjYyxJQUFkLENBQW1CLElBQW5CLENBQVA7QUFDQTs7QUFFTyxNQUFKQyxJQUFJLEdBQUc7QUFDVixXQUFPLEtBQUtmLFFBQUwsQ0FBY2UsSUFBZCxDQUFtQixJQUFuQixDQUFQO0FBQ0E7O0FBRVksTUFBVEMsU0FBUyxHQUFHO0FBQ2YsV0FBTyxLQUFLaEIsUUFBTCxDQUFjZ0IsU0FBZCxDQUF3QixJQUF4QixDQUFQO0FBQ0E7O0FBRU8sTUFBSkMsSUFBSSxHQUFHO0FBQ1YsV0FBTyxLQUFLakIsUUFBTCxDQUFjaUIsSUFBckI7QUFDQTs7QUFFZSxNQUFaUixZQUFZLEdBQUc7QUFDbEIsWUFBUSxLQUFLVCxRQUFMLENBQWNpQixJQUF0QjtBQUNDLFdBQUssUUFBTDtBQUNDLGVBQU8sQ0FBQyxDQUFSOztBQUNELFdBQUssT0FBTDtBQUNDLGVBQU8sQ0FBUDs7QUFDRCxXQUFLLEtBQUw7QUFDQyxlQUFPLEVBQVA7O0FBQ0Q7QUFDQyxlQUFPLENBQVA7QUFSRjtBQVVBOztBQXREaUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXNzZXQge1xuXHRjb21waWxlciA9IG51bGxcblx0cGF0aCA9IG51bGxcblxuXHRjb25zdHJ1Y3RvcihwYXRoLCBjb21waWxlcikge1xuXHRcdHRoaXMucGF0aCA9IHBhdGhcblx0XHR0aGlzLmNvbXBpbGVyID0gY29tcGlsZXJcblx0fVxuXG5cdGNvbXBpbGUoY29udGV4dCA9IG51bGwsIHJlcSA9IG51bGwpIHtcblx0XHRyZXR1cm4gdGhpcy5jb21waWxlci5jb21waWxlKHRoaXMucGF0aCwgY29udGV4dCwgcmVxKVxuXHR9XG5cblx0bGFzdE1vZGlmaWVkKG5ld2VzdCA9IDApIHtcblx0XHRyZXR1cm4gdGhpcy5jb21waWxlci5sYXN0TW9kaWZpZWQodGhpcy5wYXRoLCBuZXdlc3QpXG5cdH1cblxuXHRjb21wYXJlS2luZChvdGhlcikge1xuXHRcdGNvbnN0IGRlbHRhID0gdGhpcy5raW5kUHJpb3JpdHkgLSBvdGhlci5raW5kUHJpb3JpdHlcblxuXHRcdGlmIChkZWx0YSAhPT0gMCkge1xuXHRcdFx0cmV0dXJuIGRlbHRhIDwgMCA/IC0xIDogMVxuXHRcdH1cblxuXHRcdHJldHVybiBNYXRoLm1pbigxLCBNYXRoLm1heCgtMSwgdGhpcy5wYXRoLmxvY2FsZUNvbXBhcmUob3RoZXIucGF0aCkpKVxuXHR9XG5cblx0Z2V0IG1pbWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY29tcGlsZXIubWltZSh0aGlzKVxuXHR9XG5cblx0Z2V0IHR5cGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY29tcGlsZXIudHlwZSh0aGlzKVxuXHR9XG5cblx0Z2V0IGV4dGVuc2lvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5jb21waWxlci5leHRlbnNpb24odGhpcylcblx0fVxuXG5cdGdldCBraW5kKCkge1xuXHRcdHJldHVybiB0aGlzLmNvbXBpbGVyLmtpbmRcblx0fVxuXG5cdGdldCBraW5kUHJpb3JpdHkoKSB7XG5cdFx0c3dpdGNoICh0aGlzLmNvbXBpbGVyLmtpbmQpIHtcblx0XHRcdGNhc2UgJ3NjcmlwdCc6XG5cdFx0XHRcdHJldHVybiAtMVxuXHRcdFx0Y2FzZSAnc3R5bGUnOlxuXHRcdFx0XHRyZXR1cm4gNVxuXHRcdFx0Y2FzZSAncmF3Jzpcblx0XHRcdFx0cmV0dXJuIDEwXG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gMFxuXHRcdH1cblx0fVxufVxuIl19