hastily
Version:
express middleware to simulate fastly cdn
202 lines • 12.9 kB
JavaScript
;
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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