mirror of
https://github.com/koush/scrypted.git
synced 2026-03-20 16:40:24 +00:00
snapshot: avoid internal api
This commit is contained in:
4
plugins/snapshot/package-lock.json
generated
4
plugins/snapshot/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@scrypted/snapshot",
|
||||
"version": "0.2.42",
|
||||
"version": "0.2.43",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@scrypted/snapshot",
|
||||
"version": "0.2.42",
|
||||
"version": "0.2.43",
|
||||
"dependencies": {
|
||||
"@types/node": "^20.10.6",
|
||||
"sharp": "^0.33.1",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@scrypted/snapshot",
|
||||
"version": "0.2.42",
|
||||
"version": "0.2.43",
|
||||
"description": "Snapshot Plugin for Scrypted",
|
||||
"scripts": {
|
||||
"scrypted-setup-project": "scrypted-setup-project",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import sdk, { BufferConverter, Image, ImageOptions, MediaObject, MediaObjectOptions, ScryptedDeviceBase, ScryptedMimeTypes } from "@scrypted/sdk";
|
||||
import type sharp from 'sharp';
|
||||
import type { KernelEnum } from "sharp";
|
||||
|
||||
let hasLoadedSharp = false;
|
||||
let sharpInstance: typeof sharp;
|
||||
@@ -8,8 +9,6 @@ export function loadSharp() {
|
||||
hasLoadedSharp = true;
|
||||
try {
|
||||
sharpInstance = require('sharp');
|
||||
// not exposed by sharp but it exists.
|
||||
(sharpInstance.kernel as any).linear = 'linear';
|
||||
console.log('sharp loaded');
|
||||
}
|
||||
catch (e) {
|
||||
@@ -60,11 +59,8 @@ export class VipsImage implements Image {
|
||||
});
|
||||
}
|
||||
if (options?.resize) {
|
||||
let kernel: string;
|
||||
let kernel: keyof KernelEnum;
|
||||
switch (options?.resize.filter) {
|
||||
case 'bilinear':
|
||||
kernel = 'linear';
|
||||
break;
|
||||
case 'lanczos':
|
||||
kernel = 'lanczos2';
|
||||
break;
|
||||
@@ -75,12 +71,12 @@ export class VipsImage implements Image {
|
||||
kernel = 'nearest';
|
||||
break;
|
||||
default:
|
||||
kernel = 'linear';
|
||||
kernel = 'cubic';
|
||||
break
|
||||
}
|
||||
transformed.resize(typeof options.resize.width === 'number' ? Math.floor(options.resize.width) : undefined, typeof options.resize.height === 'number' ? Math.floor(options.resize.height) : undefined, {
|
||||
fit: "cover",
|
||||
kernel: kernel as any,
|
||||
kernel: kernel,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user