UNPKG

hastily

Version:

express middleware to simulate fastly cdn

202 lines 12.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.runMapperWithParams = exports.mockParams = void 0; const stream_1 = require("stream"); const url_1 = require("url"); const fastly_params_1 = __importDefault(require("../fastly-params")); class MockSharp extends stream_1.Duplex { constructor() { super(...arguments); this.calls = []; } removeAlpha() { throw new Error('Method not implemented.'); } ensureAlpha() { throw new Error('Method not implemented.'); } extractChannel(..._) { throw new Error('Method not implemented.'); } joinChannel(..._) { throw new Error('Method not implemented.'); } bandbool(..._) { throw new Error('Method not implemented.'); } tint(..._) { throw new Error('Method not implemented.'); } greyscale(..._) { throw new Error('Method not implemented.'); } grayscale(..._) { throw new Error('Method not implemented.'); } toColourspace(..._) { throw new Error('Method not implemented.'); } toColorspace(..._) { throw new Error('Method not implemented.'); } composite(..._) { throw new Error('Method not implemented.'); } clone() { throw new Error('Method not implemented.'); } metadata(..._) { throw new Error('Method not implemented.'); } stats(..._) { throw new Error('Method not implemented.'); } limitInputPixels(..._) { throw new Error('Method not implemented.'); } sequentialRead(..._) { throw new Error('Method not implemented.'); } rotate(_angle, _options) { return this.track('rotate', arguments); } flip(_flip) { return this.track('flip', arguments); } flop(_flop) { return this.track('flop', arguments); } sharpen(_sigma, _flat, _jagged) { return this.track('sharpen', arguments); } median(_size) { return this.track('median', arguments); } blur(_sigma) { return this.track('blur', arguments); } flatten(_flatten) { return this.track('flatten', arguments); } gamma(_gamma) { return this.track('gamma', arguments); } negate(_negate) { return this.track('negate', arguments); } normalise(_normalise) { return this.track('normalise', arguments); } normalize(_normalize) { return this.track('normalize', arguments); } convolve(_kernel) { return this.track('convolve', arguments); } threshold(_threshold, _options) { return this.track('threshold', arguments); } boolean(_operand, _operator, _options) { return this.track('boolean', arguments); } linear(_a, _b) { return this.track('linear', arguments); } recomb(_matrix) { return this.track('recomb', arguments); } // public recomb( // _inputMatrix: [ // [number, number, number], // [number, number, number], // [number, number, number] // ] // ) { // return this.track('recomb', arguments); // } modulate(..._) { throw new Error('Method not implemented.'); } toFile(..._) { throw new Error('Method not implemented.'); } toBuffer(options) { if (typeof options === 'function') { setImmediate(() => options(new Error(), Buffer.from([]), {})); return this; } if (options === undefined) { return Promise.resolve(Buffer.from([])); } const resolved = { data: Buffer.from([]), info: { channels: 2, format: 'nothing', height: 10, premultiplied: false, size: 10, width: 10, }, }; return Promise.resolve(resolved); } withMetadata(..._) { throw new Error('Method not implemented.'); } jpeg(..._) { throw new Error('Method not implemented.'); } png(..._) { throw new Error('Method not implemented.'); } webp(..._) { throw new Error('Method not implemented.'); } tiff(..._) { throw new Error('Method not implemented.'); } raw() { throw new Error('Method not implemented.'); } toFormat(_format, _options) { return this.track('toFormat', arguments); } tile(_tile) { return this.track('tile', arguments); } resize(_width, _height, _options) { return this.track('resize', arguments); } extend(_extend) { return this.track('extend', arguments); } extract(_region) { return this.track('extract', arguments); } trim(_threshold) { return this.track('threshold', arguments); } track(name, args) { this.calls.push([name, [...args]]); return this; } } function mockParams(query) { return new fastly_params_1.default(new Map(new url_1.URLSearchParams(query).entries()), {}, {}); } exports.mockParams = mockParams; function runMapperWithParams(mapper, query) { const mock = new MockSharp(); const params = mockParams(query); return { mapped: mapper(mock, params), mock, warnings: params.getWarnings(), }; } exports.runMapperWithParams = runMapperWithParams; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX190ZXN0aGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbWFwcGVycy9fX3Rlc3RoZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLG1DQUFnQztBQUNoQyw2QkFBc0M7QUFDdEMscUVBQTRDO0FBYzVDLE1BQU0sU0FBVSxTQUFRLGVBQU07SUFBOUI7O1FBQ1MsVUFBSyxHQUFnQixFQUFFLENBQUM7SUFxT2pDLENBQUM7SUFwT1EsV0FBVztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNNLFdBQVc7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDTSxjQUFjLENBQUMsR0FBRyxDQUFRO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ00sV0FBVyxDQUFDLEdBQUcsQ0FBUTtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNNLFFBQVEsQ0FBQyxHQUFHLENBQVE7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDTSxJQUFJLENBQUMsR0FBRyxDQUFRO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ00sU0FBUyxDQUFDLEdBQUcsQ0FBUTtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNNLFNBQVMsQ0FBQyxHQUFHLENBQVE7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDTSxhQUFhLENBQUMsR0FBRyxDQUFRO1FBQzlCLE1BQU0sSUFBSSxLQUFL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