@paroicms/server-image-cache-engine 1.22.4 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ddl/image-cache.ddl.sql +16 -15
- package/dist/compute-variant-size.d.ts +4 -9
- package/dist/compute-variant-size.js +28 -38
- package/dist/compute-variant-size.js.map +1 -1
- package/dist/constants.d.ts +3 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -1
- package/dist/db-init/ddl-migration.d.ts +1 -1
- package/dist/db-init/ddl-migration.js +1 -1
- package/dist/db-init/ddl-migration.js.map +1 -1
- package/dist/default-bo-favicon.js +2 -2
- package/dist/default-bo-favicon.js.map +1 -1
- package/dist/engine-types.d.ts +42 -19
- package/dist/image-cache-engine.d.ts +42 -36
- package/dist/image-cache-engine.js +107 -138
- package/dist/image-cache-engine.js.map +1 -1
- package/dist/image-utils.d.ts +6 -0
- package/dist/image-utils.js +12 -0
- package/dist/image-utils.js.map +1 -0
- package/dist/{api.d.ts → index.d.ts} +2 -1
- package/dist/{api.js → index.js} +3 -2
- package/dist/index.js.map +1 -0
- package/dist/internal/engine-context.d.ts +12 -6
- package/dist/internal/engine-context.js +1 -2
- package/dist/internal/engine-context.js.map +1 -1
- package/dist/internal/internal.types.d.ts +36 -16
- package/dist/internal/queries.d.ts +64 -38
- package/dist/internal/queries.js +246 -106
- package/dist/internal/queries.js.map +1 -1
- package/dist/internal/resizer.d.ts +6 -6
- package/dist/internal/resizer.js +9 -9
- package/dist/internal/resizer.js.map +1 -1
- package/dist/internal/task-processor.js +37 -34
- package/dist/internal/task-processor.js.map +1 -1
- package/dist/internal/utils.d.ts +16 -0
- package/dist/internal/utils.js +34 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/original-images-processing.d.ts +2 -2
- package/dist/original-images-processing.js +27 -14
- package/dist/original-images-processing.js.map +1 -1
- package/dist/owner-transaction/make-t-image-available.d.ts +7 -0
- package/dist/owner-transaction/make-t-image-available.js +122 -0
- package/dist/owner-transaction/make-t-image-available.js.map +1 -0
- package/dist/owner-transaction/owner-batch.d.ts +10 -0
- package/dist/owner-transaction/owner-batch.js +85 -0
- package/dist/owner-transaction/owner-batch.js.map +1 -0
- package/dist/owner-transaction/owner-image-manager.d.ts +11 -0
- package/dist/owner-transaction/owner-image-manager.js +44 -0
- package/dist/owner-transaction/owner-image-manager.js.map +1 -0
- package/dist/owner-transaction/owner-transaction-types.d.ts +12 -0
- package/dist/owner-transaction/owner-transaction-types.js +2 -0
- package/dist/owner-transaction/owner-transaction-types.js.map +1 -0
- package/dist/owner-transaction/owner-transaction.d.ts +13 -0
- package/dist/owner-transaction/owner-transaction.js +60 -0
- package/dist/owner-transaction/owner-transaction.js.map +1 -0
- package/dist/owner-transaction/owner-utils.d.ts +1 -0
- package/dist/owner-transaction/owner-utils.js +10 -0
- package/dist/owner-transaction/owner-utils.js.map +1 -0
- package/package.json +8 -8
- package/dist/api.js.map +0 -1
package/ddl/image-cache.ddl.sql
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PRAGMA journal_mode = TRUNCATE;
|
|
2
2
|
PRAGMA foreign_keys = 1;
|
|
3
3
|
|
|
4
|
-
drop index if exists
|
|
5
|
-
drop table if exists
|
|
4
|
+
drop index if exists PaImageCacheOwner_ownerHandle_idx;
|
|
5
|
+
drop table if exists PaImageCacheOwner;
|
|
6
6
|
drop table if exists PaImageCache;
|
|
7
7
|
drop table if exists PaMetadata;
|
|
8
8
|
|
|
@@ -13,29 +13,30 @@ create table PaMetadata (
|
|
|
13
13
|
primary key (dbSchema, k)
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
-
insert into PaMetadata (dbSchema, k, val) values ('image-cache', 'dbSchemaVersion', '
|
|
16
|
+
insert into PaMetadata (dbSchema, k, val) values ('image-cache', 'dbSchemaVersion', '7');
|
|
17
17
|
|
|
18
18
|
create table PaImageCache (
|
|
19
19
|
id integer not null primary key autoincrement,
|
|
20
20
|
resourceVersion varchar(100) not null,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
variantName varchar(250) not null,
|
|
21
|
+
mediaId varchar(36) not null,
|
|
22
|
+
mTypeRSize varchar(100) not null,
|
|
24
23
|
mediaType varchar(100) not null,
|
|
24
|
+
rawWidth integer not null,
|
|
25
|
+
rawHeight integer not null,
|
|
25
26
|
weightB integer not null,
|
|
26
|
-
|
|
27
|
-
height integer not null,
|
|
27
|
+
slug varchar(200),
|
|
28
28
|
modifiedAt timestamp not null default current_timestamp,
|
|
29
|
-
readAt timestamp not null default current_timestamp,
|
|
30
29
|
binaryFile blob not null,
|
|
31
|
-
unique (
|
|
30
|
+
unique (mediaId, mTypeRSize)
|
|
32
31
|
);
|
|
33
32
|
|
|
34
|
-
create
|
|
33
|
+
create index PaImageCache_mediaIdMediaType_idx on PaImageCache (mediaId, mediaType);
|
|
34
|
+
|
|
35
|
+
create table PaImageCacheOwner (
|
|
35
36
|
imageCacheId integer not null references PaImageCache (id) on delete cascade,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
primary key (imageCacheId,
|
|
37
|
+
ownerHandle varchar(250) not null,
|
|
38
|
+
rawResizeR varchar(50) not null,
|
|
39
|
+
primary key (imageCacheId, ownerHandle, rawResizeR)
|
|
39
40
|
);
|
|
40
41
|
|
|
41
|
-
create index
|
|
42
|
+
create index PaImageCacheOwner_owner_idx on PaImageCacheOwner (ownerHandle, rawResizeR);
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ImageRef, ParsedImageSizeWithVariant } from "./engine-types.js";
|
|
3
|
-
export declare function findAuthorizedVariantSize(media: ImageRef, options: {
|
|
4
|
-
authorisedImageSizes: ImageSize[];
|
|
5
|
-
variantName: VariantName;
|
|
6
|
-
}): ParsedImageSizeWithVariant | undefined;
|
|
1
|
+
import type { ImageVariantSize, SourceImageRef } from "./engine-types.js";
|
|
7
2
|
export interface ComputeVariantSizeParams {
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
sourceImage: Pick<SourceImageRef, "rawWidth" | "rawHeight" | "avgRawWidth" | "avgRawHeight">;
|
|
4
|
+
rawResizeR: string;
|
|
10
5
|
autoCrop?: boolean;
|
|
11
6
|
}
|
|
12
|
-
export declare function
|
|
7
|
+
export declare function computeImageVariantSize({ sourceImage, rawResizeR, autoCrop, }: ComputeVariantSizeParams): ImageVariantSize;
|
|
@@ -1,81 +1,71 @@
|
|
|
1
1
|
import { nbVal } from "@paroi/data-formatters-lib";
|
|
2
|
-
import {
|
|
3
|
-
export function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
imageSize,
|
|
7
|
-
imageRef: media,
|
|
8
|
-
});
|
|
9
|
-
if (variantSize.variantName === options.variantName)
|
|
10
|
-
return variantSize;
|
|
2
|
+
import { isResizeRule } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
export function computeImageVariantSize({ sourceImage, rawResizeR, autoCrop, }) {
|
|
4
|
+
if (!isResizeRule(rawResizeR)) {
|
|
5
|
+
throw new Error(`This image size ${rawResizeR} is not handled.`);
|
|
11
6
|
}
|
|
12
|
-
|
|
13
|
-
export function computeVariantSize({ imageRef, imageSize, autoCrop, }) {
|
|
14
|
-
if (!isImageSize(imageSize)) {
|
|
15
|
-
throw new Error(`This image size ${imageSize} is not handled.`);
|
|
16
|
-
}
|
|
17
|
-
const splitted = imageSize.split("x");
|
|
7
|
+
const splitted = rawResizeR.split("x");
|
|
18
8
|
if (splitted.length === 3) {
|
|
19
9
|
const value = splitted[1];
|
|
20
|
-
if (
|
|
21
|
-
|
|
10
|
+
if (sourceImage.rawHeight > sourceImage.rawWidth) {
|
|
11
|
+
rawResizeR = `x${value}`;
|
|
22
12
|
}
|
|
23
|
-
else if (
|
|
24
|
-
|
|
13
|
+
else if (sourceImage.rawWidth > sourceImage.rawHeight) {
|
|
14
|
+
rawResizeR = `${value}x`;
|
|
25
15
|
}
|
|
26
16
|
else {
|
|
27
|
-
|
|
17
|
+
rawResizeR = `${value}x`;
|
|
28
18
|
}
|
|
29
19
|
}
|
|
30
|
-
const [rawWidth, rawHeight] =
|
|
20
|
+
const [rawWidth, rawHeight] = rawResizeR.split("x");
|
|
31
21
|
const v = {
|
|
32
22
|
width: rawWidth === "" ? undefined : nbVal(rawWidth),
|
|
33
23
|
height: rawHeight === "" ? undefined : nbVal(rawHeight),
|
|
34
24
|
};
|
|
35
25
|
if (v.height !== undefined && v.width !== undefined) {
|
|
36
|
-
return
|
|
26
|
+
return toParsedResizeRuleWithVariant(reduceSizeIfNecessary({ rawWidth: v.width, rawHeight: v.height }, sourceImage));
|
|
37
27
|
}
|
|
38
|
-
const autoCropAvg = autoCrop &&
|
|
28
|
+
const autoCropAvg = autoCrop && sourceImage.avgRawHeight !== undefined && sourceImage.avgRawWidth !== undefined
|
|
39
29
|
? {
|
|
40
|
-
width:
|
|
41
|
-
height:
|
|
30
|
+
width: sourceImage.avgRawWidth,
|
|
31
|
+
height: sourceImage.avgRawHeight,
|
|
42
32
|
}
|
|
43
33
|
: undefined;
|
|
44
34
|
if (v.width !== undefined && v.height === undefined) {
|
|
45
35
|
const targetHeight = autoCropAvg
|
|
46
36
|
? Math.round((v.width * autoCropAvg.height) / autoCropAvg.width)
|
|
47
|
-
: Math.round((v.width *
|
|
48
|
-
return
|
|
37
|
+
: Math.round((v.width * sourceImage.rawHeight) / sourceImage.rawWidth);
|
|
38
|
+
return toParsedResizeRuleWithVariant(reduceSizeIfNecessary({ rawWidth: v.width, rawHeight: targetHeight }, sourceImage));
|
|
49
39
|
}
|
|
50
40
|
if (v.height !== undefined && v.width === undefined) {
|
|
51
41
|
const targetWidth = autoCropAvg
|
|
52
42
|
? Math.round((v.height * autoCropAvg.width) / autoCropAvg.height)
|
|
53
|
-
: Math.round((v.height *
|
|
54
|
-
return
|
|
43
|
+
: Math.round((v.height * sourceImage.rawWidth) / sourceImage.rawHeight);
|
|
44
|
+
return toParsedResizeRuleWithVariant(reduceSizeIfNecessary({ rawWidth: targetWidth, rawHeight: v.height }, sourceImage));
|
|
55
45
|
}
|
|
56
|
-
throw new Error(`Invalid variant '${
|
|
46
|
+
throw new Error(`Invalid variant '${rawResizeR}'`);
|
|
57
47
|
}
|
|
58
48
|
function reduceSizeIfNecessary(preferredSize, actualSize) {
|
|
59
|
-
const diffW = actualSize.
|
|
60
|
-
const diffH = actualSize.
|
|
49
|
+
const diffW = actualSize.rawWidth - preferredSize.rawWidth;
|
|
50
|
+
const diffH = actualSize.rawHeight - preferredSize.rawHeight;
|
|
61
51
|
if (diffW >= 0 && diffH >= 0) {
|
|
62
52
|
return preferredSize;
|
|
63
53
|
}
|
|
64
54
|
if (diffW < diffH) {
|
|
65
55
|
return {
|
|
66
|
-
|
|
67
|
-
|
|
56
|
+
rawWidth: actualSize.rawWidth,
|
|
57
|
+
rawHeight: Math.round((actualSize.rawWidth * preferredSize.rawHeight) / preferredSize.rawWidth),
|
|
68
58
|
};
|
|
69
59
|
}
|
|
70
60
|
return {
|
|
71
|
-
|
|
72
|
-
|
|
61
|
+
rawWidth: Math.round((actualSize.rawHeight * preferredSize.rawWidth) / preferredSize.rawHeight),
|
|
62
|
+
rawHeight: actualSize.rawHeight,
|
|
73
63
|
};
|
|
74
64
|
}
|
|
75
|
-
function
|
|
65
|
+
function toParsedResizeRuleWithVariant(size) {
|
|
76
66
|
return {
|
|
77
67
|
...size,
|
|
78
|
-
|
|
68
|
+
rawSizeName: `${size.rawWidth}x${size.rawHeight}`,
|
|
79
69
|
};
|
|
80
70
|
}
|
|
81
71
|
//# sourceMappingURL=compute-variant-size.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-variant-size.js","sourceRoot":"","sources":["../src/compute-variant-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"compute-variant-size.js","sourceRoot":"","sources":["../src/compute-variant-size.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
package/dist/constants.js
CHANGED
|
@@ -7,4 +7,12 @@ export const authorizedMediaTypes = new Set([
|
|
|
7
7
|
"image/gif",
|
|
8
8
|
"image/svg+xml",
|
|
9
9
|
]);
|
|
10
|
+
const fileExtensions = {
|
|
11
|
+
"image/jpeg": "jpeg",
|
|
12
|
+
"image/webp": "webp",
|
|
13
|
+
"image/png": "png",
|
|
14
|
+
"image/gif": "gif",
|
|
15
|
+
"image/svg+xml": "svg",
|
|
16
|
+
};
|
|
17
|
+
export const mediaTypeByExtensions = Object.fromEntries(Object.entries(fileExtensions).map(([mediaType, extension]) => [extension, mediaType]));
|
|
10
18
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAGpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,eAAe;CAChB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAGpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAoC;IACtD,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,KAAK;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAoC,MAAM,CAAC,WAAW,CACtF,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CACvF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type BasicAppLogger } from "@paroicms/internal-server-lib";
|
|
2
2
|
import type { Knex } from "knex";
|
|
3
3
|
export declare const dbSchemaName = "image-cache";
|
|
4
|
-
export declare const currentDbSchemaVersion =
|
|
4
|
+
export declare const currentDbSchemaVersion = 7;
|
|
5
5
|
export declare function migrateImageCacheDb(cn: Knex, { fromVersion, logger }: {
|
|
6
6
|
fromVersion: number;
|
|
7
7
|
logger: BasicAppLogger;
|
|
@@ -2,7 +2,7 @@ import { executeDdl, getMetadataDbSchemaVersion, } from "@paroicms/internal-serv
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { packageDir } from "../constants.js";
|
|
4
4
|
export const dbSchemaName = "image-cache";
|
|
5
|
-
export const currentDbSchemaVersion =
|
|
5
|
+
export const currentDbSchemaVersion = 7;
|
|
6
6
|
export async function migrateImageCacheDb(cn, { fromVersion, logger }) {
|
|
7
7
|
const toVersion = currentDbSchemaVersion;
|
|
8
8
|
let currentVersion = fromVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ddl-migration.js","sourceRoot":"","sources":["../../src/db-init/ddl-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAQ,EACR,EAAE,WAAW,EAAE,MAAM,EAAmD;IAExE,MAAM,SAAS,GAAG,sBAAsB,CAAC;IACzC,IAAI,cAAc,GAAG,WAAW,CAAC;IAEjC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,kCAAkC;IAClC,yEAAyE;IACzE,IAAI,cAAc,GAAG,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACrE,cAAc,GAAG,MAAM,0BAA0B,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,cAAc,YAAY,wBAAwB,SAAS,cAAc,cAAc,GAAG,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,+BAA+B,WAAW,OAAO,cAAc,EAAE,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -33,8 +33,8 @@ export async function createDefaultBoFavicon(binaryFile) {
|
|
|
33
33
|
.toBuffer({ resolveWithObject: true }));
|
|
34
34
|
const mediaType = convertSharpFormatToMediaType(result.info.format);
|
|
35
35
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
rawWidth: result.info.width,
|
|
37
|
+
rawHeight: result.info.height,
|
|
38
38
|
weightB: result.data.byteLength,
|
|
39
39
|
mediaType,
|
|
40
40
|
lossless: mediaType === "image/png" || mediaType === "image/webp",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-bo-favicon.js","sourceRoot":"","sources":["../src/default-bo-favicon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAGtE,MAAM,mBAAmB,GAAG;IAC1B,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;CACtB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAC3C,SAAS;SACN,MAAM,CAAC;QACN,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,GAAG,EAAE,OAAO;KACb,CAAC;SACD,WAAW,EAAE;SACb,GAAG,EAAE;SACL,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEzC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CACnC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC9C,IAAI,CAAC;QACJ,QAAQ,EAAE,IAAI;KACf,CAAC;SACD,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,SAAS,GAAG,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpE,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"default-bo-favicon.js","sourceRoot":"","sources":["../src/default-bo-favicon.ts"],"names":[],"mappings":"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"}
|
package/dist/engine-types.d.ts
CHANGED
|
@@ -1,34 +1,40 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ResizeRule, SizeName } from "@paroicms/public-anywhere-lib";
|
|
2
2
|
export interface ImageVariantStorage {
|
|
3
3
|
type: "sqlite";
|
|
4
4
|
file: string;
|
|
5
5
|
}
|
|
6
|
-
export type GetOriginalImage = (
|
|
7
|
-
export interface
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
export type GetOriginalImage = (mediaId: string) => Promise<Buffer>;
|
|
7
|
+
export interface RequestedImageVariantWithSize extends RequestedImageVariant, ImageVariantSize {
|
|
8
|
+
}
|
|
9
|
+
export interface RequestedImageVariant {
|
|
10
|
+
rawSizeName: SizeName;
|
|
11
|
+
mediaType: string;
|
|
12
|
+
}
|
|
13
|
+
export interface NewVariantInput {
|
|
14
|
+
rawResizeR: ResizeRule;
|
|
10
15
|
autoCrop?: boolean;
|
|
11
16
|
mediaType?: string;
|
|
12
|
-
|
|
13
|
-
slug?: string;
|
|
17
|
+
sourceImage: SourceImageRef;
|
|
14
18
|
}
|
|
15
|
-
export interface
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
export interface SourceImageRef {
|
|
20
|
+
mediaId: string;
|
|
21
|
+
rawHeight: number;
|
|
22
|
+
rawWidth: number;
|
|
19
23
|
mediaType: string;
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
slug: string | undefined;
|
|
25
|
+
avgRawWidth?: number;
|
|
26
|
+
avgRawHeight?: number;
|
|
22
27
|
}
|
|
23
|
-
export interface
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
export interface ImageVariantSize {
|
|
29
|
+
rawWidth: number;
|
|
30
|
+
rawHeight: number;
|
|
31
|
+
rawSizeName: SizeName;
|
|
27
32
|
}
|
|
28
|
-
export interface ImageVariant extends
|
|
33
|
+
export interface ImageVariant extends ImageVariantSize {
|
|
34
|
+
mediaId: string;
|
|
35
|
+
mediaType: string;
|
|
29
36
|
resourceVersion: string;
|
|
30
37
|
slug?: string;
|
|
31
|
-
mediaType: string;
|
|
32
38
|
}
|
|
33
39
|
export interface ImageVariantWithBinary extends ImageVariant {
|
|
34
40
|
weightB: number;
|
|
@@ -38,3 +44,20 @@ export interface ImageVariantWithBinary extends ImageVariant {
|
|
|
38
44
|
*/
|
|
39
45
|
lastModified: string;
|
|
40
46
|
}
|
|
47
|
+
export interface ImageCacheOwnerTransaction {
|
|
48
|
+
makeImageAvailable(inputs: NewVariantInput[], options?: {
|
|
49
|
+
optimizeForBatch?: {
|
|
50
|
+
getMoreInputsForBatch: (filter: (input: NewVariantInput) => boolean) => NewVariantInput[];
|
|
51
|
+
};
|
|
52
|
+
}): Promise<ImageVariant[]>;
|
|
53
|
+
flush(): Promise<void>;
|
|
54
|
+
close(): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
export interface RawSize {
|
|
57
|
+
rawWidth: number;
|
|
58
|
+
rawHeight: number;
|
|
59
|
+
}
|
|
60
|
+
export interface UsedRawSize {
|
|
61
|
+
rawResizeR: ResizeRule;
|
|
62
|
+
rawSizeName: SizeName;
|
|
63
|
+
}
|
|
@@ -1,7 +1,46 @@
|
|
|
1
1
|
import type { AppLogger } from "@paroicms/internal-server-lib";
|
|
2
|
-
import type {
|
|
3
|
-
import type { GetOriginalImage,
|
|
4
|
-
|
|
2
|
+
import type { ResizeRule, ScImageCompressionQualityPolicyStep } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import type { GetOriginalImage, ImageCacheOwnerTransaction, ImageVariant, ImageVariantStorage, ImageVariantWithBinary, NewVariantInput } from "./engine-types.js";
|
|
4
|
+
export interface ImageCacheEngine {
|
|
5
|
+
getImageVariantWithBinary(options: {
|
|
6
|
+
mediaId: string;
|
|
7
|
+
mediaType: string;
|
|
8
|
+
rawWidth: number;
|
|
9
|
+
rawHeight: number;
|
|
10
|
+
}): Promise<ImageVariantWithBinary | undefined>;
|
|
11
|
+
getImageVariantWithBinaryByOwner(options: {
|
|
12
|
+
mediaId: string;
|
|
13
|
+
mediaType: string;
|
|
14
|
+
ownerHandle: string;
|
|
15
|
+
rawResizeR: ResizeRule;
|
|
16
|
+
}): Promise<ImageVariantWithBinary | undefined>;
|
|
17
|
+
makeImageAvailable(input: NewVariantAndOwnerInput): Promise<ImageVariant>;
|
|
18
|
+
createOwnerTransaction(ownerHandle: string): ImageCacheOwnerTransaction;
|
|
19
|
+
invalidate(options: {
|
|
20
|
+
mediaId: string;
|
|
21
|
+
} | {
|
|
22
|
+
mediaIds: string[];
|
|
23
|
+
} | {
|
|
24
|
+
ownerHandles: string[];
|
|
25
|
+
}): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Delete the images that have no ownerHandle and that have not been used recently.
|
|
28
|
+
*/
|
|
29
|
+
cleanUnusedValues(): Promise<void>;
|
|
30
|
+
clearCache(): Promise<void>;
|
|
31
|
+
getUsedRawSizesByMedia(mediaId: string): Promise<import("./engine-types.js").UsedRawSize[]>;
|
|
32
|
+
close(): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
export interface NewVariantAndOwnerInput extends NewVariantInput {
|
|
35
|
+
ownerHandle: string;
|
|
36
|
+
isHandleReusable: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* If `true`, the `ownerHandle` is used for a single variant with the same `mediaType` and
|
|
39
|
+
* `mediaId`. Also, `getImageVariantWithBinaryByOwner` can be safely used to fetch the image
|
|
40
|
+
* variant even when the variant is still being processed.
|
|
41
|
+
*/
|
|
42
|
+
canBeRetrievedByOwner: boolean;
|
|
43
|
+
}
|
|
5
44
|
export interface CreateImageCacheEngineOptions {
|
|
6
45
|
storage: ImageVariantStorage;
|
|
7
46
|
getOriginalImage: GetOriginalImage;
|
|
@@ -16,36 +55,3 @@ export declare function createImageCacheEngine(options: CreateImageCacheEngineOp
|
|
|
16
55
|
imageCache: ImageCacheEngine;
|
|
17
56
|
isCleared: boolean;
|
|
18
57
|
}>;
|
|
19
|
-
export declare class ImageCacheEngine {
|
|
20
|
-
#private;
|
|
21
|
-
constructor(context: VariantEngineContext);
|
|
22
|
-
getImageVariantWithBinary({ imageUid, variantName, }: {
|
|
23
|
-
imageUid: string;
|
|
24
|
-
variantName: VariantName;
|
|
25
|
-
}): Promise<ImageVariantWithBinary | undefined>;
|
|
26
|
-
resetUsedKey(options: {
|
|
27
|
-
usedKey: string;
|
|
28
|
-
}): Promise<void>;
|
|
29
|
-
makeImageAvailable(params: NewImageProps): Promise<ImageVariant>;
|
|
30
|
-
getOrCreateImageWithBinary(params: NewImageProps): Promise<ImageVariantWithBinary | undefined>;
|
|
31
|
-
conditionallyCreateImageVariantWithBinary(media: ImageRef, options: {
|
|
32
|
-
authorisedImageSizes: ImageSize[];
|
|
33
|
-
variantName: VariantName;
|
|
34
|
-
dependsOnUsedKey: string;
|
|
35
|
-
slug?: string;
|
|
36
|
-
}): Promise<ImageVariantWithBinary | undefined>;
|
|
37
|
-
invalidate(options: {
|
|
38
|
-
imageUid: string;
|
|
39
|
-
variantName?: string;
|
|
40
|
-
} | {
|
|
41
|
-
imageUids: string[];
|
|
42
|
-
} | {
|
|
43
|
-
usedKeys: string[];
|
|
44
|
-
}): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* Delete the images that have no usedKey and that have not been used recently.
|
|
47
|
-
*/
|
|
48
|
-
cleanUnusedValues(): Promise<void>;
|
|
49
|
-
clearCache(): Promise<void>;
|
|
50
|
-
close(): Promise<void>;
|
|
51
|
-
}
|