jimp
Version:
An image processing library written entirely in JavaScript (i.e. zero external or native dependencies)
95 lines (75 loc) • 2.11 kB
text/typescript
import * as Jimp from 'jimp';
const jimpInst: Jimp = new Jimp('test');
// Main Jimp export should already have all of these already applied
// $ExpectError
jimpInst.read('Test');
jimpInst.displace(jimpInst, 2);
jimpInst.resize(40, 40);
jimpInst.displace(jimpInst, 2);
jimpInst.shadow((err, val, coords) => {});
jimpInst.fishEye({r: 12});
jimpInst.circle({radius: 12, x: 12, y: 12});
// $ExpectError
jimpInst.PNG_FILTER_NONE;
// $ExpectError
jimpInst.test;
// $ExpectError
jimpInst.func();
// Main Jimp export should already have all of these already applied
Jimp.read('Test');
// $ExpectType 0
Jimp.PNG_FILTER_NONE;
// $ExpectError
Jimp.test;
// $ExpectError
Jimp.func();
test('can clone properly', async () => {
const baseImage = await Jimp.read('filename');
const cloneBaseImage = baseImage.clone();
// $ExpectType number
cloneBaseImage._deflateLevel;
test('can handle `this` returns on the core type properly', () => {
// $ExpectType number
cloneBaseImage.posterize(3)._quality
});
test('can handle `this` returns properly', () => {
cloneBaseImage
.resize(1, 1)
.crop(0, 0, 0, 0)
.mask(cloneBaseImage, 2, 2)
.print('a' as any, 2, 2, 'a' as any)
.resize(1, 1)
.quality(1)
.deflateLevel(2)
._filterType;
});
test('can handle imageCallbacks `this` properly', () => {
cloneBaseImage.rgba(false, (_, jimpCBIn) => {
// $ExpectError
jimpCBIn.read('Test');
jimpCBIn.displace(jimpInst, 2);
jimpCBIn.resize(40, 40);
// $ExpectType number
jimpCBIn._filterType;
// $ExpectError
jimpCBIn.test;
// $ExpectError
jimpCBIn.func();
})
})
});
test('Can handle callback with constructor', () => {
const myBmpBuffer: Buffer = {} as any;
Jimp.read(myBmpBuffer, (err, cbJimpInst) => {
// $ExpectError
cbJimpInst.read('Test');
cbJimpInst.displace(jimpInst, 2);
cbJimpInst.resize(40, 40);
// $ExpectType number
cbJimpInst._filterType;
// $ExpectError
cbJimpInst.test;
// $ExpectError
cbJimpInst.func();
});
});