@stemy/backend 2.6.1 → 2.7.3
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/README.md +2 -2
- package/bundles/stemy-backend.umd.js +5553 -5465
- package/bundles/stemy-backend.umd.js.map +1 -1
- package/bundles/stemy-backend.umd.min.js +1 -1
- package/bundles/stemy-backend.umd.min.js.map +1 -1
- package/common-types.d.ts +226 -214
- package/esm2015/common-types.js +18 -18
- package/esm2015/public_api.js +338 -338
- package/esm2015/rest-controllers/assets.controller.js +116 -116
- package/esm2015/rest-controllers/auth.controller.js +75 -75
- package/esm2015/rest-controllers/gallery.controller.js +37 -37
- package/esm2015/rest-controllers/progresses.controller.js +57 -57
- package/esm2015/rest-middlewares/container.middleware.js +32 -32
- package/esm2015/rest-middlewares/error-handler.middleware.js +83 -83
- package/esm2015/rest-middlewares/language.middleware.js +28 -28
- package/esm2015/rest-middlewares/request-ended.middleware.js +25 -25
- package/esm2015/rest-middlewares/request-started.middleware.js +24 -24
- package/esm2015/rest-openapi.js +44 -44
- package/esm2015/services/asset-processor.js +101 -101
- package/esm2015/services/asset-resolver.js +53 -53
- package/esm2015/services/assets.js +110 -110
- package/esm2015/services/backend-provider.js +32 -32
- package/esm2015/services/cache-processor.js +34 -34
- package/esm2015/services/cache.js +94 -94
- package/esm2015/services/configuration.js +55 -55
- package/esm2015/services/endpoint-provider.js +29 -29
- package/esm2015/services/entities/asset.js +166 -112
- package/esm2015/services/entities/lazy-asset.js +93 -93
- package/esm2015/services/entities/progress.js +181 -181
- package/esm2015/services/fixtures.js +45 -45
- package/esm2015/services/gallery-cache.js +36 -36
- package/esm2015/services/gallery-image.js +48 -48
- package/esm2015/services/gallery.js +138 -138
- package/esm2015/services/id-generator.js +63 -63
- package/esm2015/services/job-manager.js +203 -203
- package/esm2015/services/lazy-assets.js +74 -74
- package/esm2015/services/mail-sender.js +59 -59
- package/esm2015/services/memory-cache.js +84 -84
- package/esm2015/services/mongo-connector.js +61 -61
- package/esm2015/services/progresses.js +91 -91
- package/esm2015/services/template-renderer.js +89 -89
- package/esm2015/services/translation-provider.js +31 -31
- package/esm2015/services/translator.js +85 -85
- package/esm2015/services/user-manager.js +47 -47
- package/esm2015/socket-controllers/progress.controller.js +82 -82
- package/esm2015/socket-middlewares/compression.middleware.js +19 -19
- package/esm2015/static.js +33 -33
- package/esm2015/stemy-backend.js +4 -4
- package/esm2015/utilities/di-container.js +84 -84
- package/esm2015/utilities/lazy-asset-generator.js +40 -40
- package/esm2015/utilities/tree.js +111 -111
- package/esm2015/utils.js +618 -601
- package/esm2015/validators.js +51 -51
- package/fesm2015/stemy-backend.js +3656 -3585
- package/fesm2015/stemy-backend.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +33 -33
- package/rest-controllers/assets.controller.d.ts +16 -16
- package/rest-controllers/auth.controller.d.ts +14 -14
- package/rest-controllers/gallery.controller.d.ts +7 -7
- package/rest-controllers/progresses.controller.d.ts +9 -9
- package/rest-middlewares/container.middleware.d.ts +8 -8
- package/rest-middlewares/error-handler.middleware.d.ts +13 -13
- package/rest-middlewares/language.middleware.d.ts +8 -8
- package/rest-middlewares/request-ended.middleware.d.ts +5 -5
- package/rest-middlewares/request-started.middleware.d.ts +5 -5
- package/rest-openapi.d.ts +3 -3
- package/services/asset-processor.d.ts +12 -12
- package/services/asset-resolver.d.ts +9 -9
- package/services/assets.d.ts +19 -19
- package/services/backend-provider.d.ts +11 -11
- package/services/cache-processor.d.ts +4 -4
- package/services/cache.d.ts +23 -23
- package/services/configuration.d.ts +10 -10
- package/services/endpoint-provider.d.ts +4 -4
- package/services/entities/asset.d.ts +25 -23
- package/services/entities/lazy-asset.d.ts +29 -29
- package/services/entities/progress.d.ts +49 -49
- package/services/fixtures.d.ts +6 -6
- package/services/gallery-cache.d.ts +9 -9
- package/services/gallery-image.d.ts +11 -11
- package/services/gallery.d.ts +13 -13
- package/services/id-generator.d.ts +11 -11
- package/services/job-manager.d.ts +27 -27
- package/services/lazy-assets.d.ts +19 -19
- package/services/mail-sender.d.ts +20 -20
- package/services/memory-cache.d.ts +10 -10
- package/services/mongo-connector.d.ts +14 -14
- package/services/progresses.d.ts +18 -18
- package/services/template-renderer.d.ts +14 -14
- package/services/translation-provider.d.ts +10 -10
- package/services/translator.d.ts +15 -15
- package/services/user-manager.d.ts +6 -6
- package/socket-controllers/progress.controller.d.ts +10 -10
- package/socket-middlewares/compression.middleware.d.ts +4 -4
- package/static.d.ts +2 -2
- package/stemy-backend.d.ts +4 -4
- package/stemy-backend.metadata.json +1 -1
- package/utilities/di-container.d.ts +43 -43
- package/utilities/lazy-asset-generator.d.ts +15 -15
- package/utilities/tree.d.ts +14 -14
- package/utils.d.ts +76 -73
- package/validators.d.ts +7 -7
- package/di-container.d.ts +0 -40
- package/esm2015/di-container.js +0 -75
- package/esm2015/models/lazy-asset.js +0 -12
- package/esm2015/models/progress.js +0 -23
- package/esm2015/rest-middlewares/injector.middleware.js +0 -26
- package/esm2015/services/lazy-asset-helper.js +0 -74
- package/esm2015/services/logger.js +0 -14
- package/esm2015/services/progress-helper.js +0 -168
- package/models/lazy-asset.d.ts +0 -45
- package/models/progress.d.ts +0 -56
- package/rest-middlewares/injector.middleware.d.ts +0 -8
- package/services/lazy-asset-helper.d.ts +0 -15
- package/services/logger.d.ts +0 -2
- package/services/progress-helper.d.ts +0 -37
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
import { injectable, injectAll, Lifecycle, scoped } from "tsyringe";
|
|
23
|
-
import { FIXTURE } from "../common-types";
|
|
24
|
-
let Fixtures = class Fixtures {
|
|
25
|
-
constructor(fixtures) {
|
|
26
|
-
this.fixtures = fixtures;
|
|
27
|
-
}
|
|
28
|
-
load() {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
if (!this.fixtures)
|
|
31
|
-
return;
|
|
32
|
-
for (let fixture of this.fixtures) {
|
|
33
|
-
yield fixture.load();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
Fixtures = __decorate([
|
|
39
|
-
injectable(),
|
|
40
|
-
scoped(Lifecycle.ContainerScoped),
|
|
41
|
-
__param(0, injectAll(FIXTURE)),
|
|
42
|
-
__metadata("design:paramtypes", [Array])
|
|
43
|
-
], Fixtures);
|
|
44
|
-
export { Fixtures };
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
import { injectable, injectAll, Lifecycle, scoped } from "tsyringe";
|
|
23
|
+
import { FIXTURE } from "../common-types";
|
|
24
|
+
let Fixtures = class Fixtures {
|
|
25
|
+
constructor(fixtures) {
|
|
26
|
+
this.fixtures = fixtures;
|
|
27
|
+
}
|
|
28
|
+
load() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
if (!this.fixtures)
|
|
31
|
+
return;
|
|
32
|
+
for (let fixture of this.fixtures) {
|
|
33
|
+
yield fixture.load();
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Fixtures = __decorate([
|
|
39
|
+
injectable(),
|
|
40
|
+
scoped(Lifecycle.ContainerScoped),
|
|
41
|
+
__param(0, injectAll(FIXTURE)),
|
|
42
|
+
__metadata("design:paramtypes", [Array])
|
|
43
|
+
], Fixtures);
|
|
44
|
+
export { Fixtures };
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFXLE1BQU0saUJBQWlCLENBQUM7SUFJckMsUUFBUSxTQUFSLFFBQVE7SUFFakIsWUFBMEMsUUFBb0I7UUFBcEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtJQUU5RCxDQUFDO0lBRUssSUFBSTs7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUUzQixLQUFLLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQy9CLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQWJZLFFBQVE7SUFGcEIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7SUFHakIsV0FBQSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7O0dBRnRCLFFBQVEsQ0FhcEI7U0FiWSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBpbmplY3RBbGwsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtGSVhUVVJFLCBJRml4dHVyZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBGaXh0dXJlcyB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQGluamVjdEFsbChGSVhUVVJFKSBwcm90ZWN0ZWQgZml4dHVyZXM6IElGaXh0dXJlW10pIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9hZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZml4dHVyZXMpIHJldHVybjtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgZml4dHVyZSBvZiB0aGlzLmZpeHR1cmVzKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IGZpeHR1cmUubG9hZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
11
|
-
import { GalleryImage } from "./gallery-image";
|
|
12
|
-
let GalleryCache = class GalleryCache {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.imgCache = {};
|
|
15
|
-
}
|
|
16
|
-
put(img) {
|
|
17
|
-
this.imgCache[img.thumb] = img;
|
|
18
|
-
this.imgCache[img.big] = img;
|
|
19
|
-
}
|
|
20
|
-
serve(id) {
|
|
21
|
-
const img = this.imgCache[id];
|
|
22
|
-
return !img ? null : img.serve(id);
|
|
23
|
-
}
|
|
24
|
-
create(folder, targetSize, handler) {
|
|
25
|
-
const image = new GalleryImage(folder, targetSize, handler);
|
|
26
|
-
this.put(image);
|
|
27
|
-
return image;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
GalleryCache = __decorate([
|
|
31
|
-
injectable(),
|
|
32
|
-
scoped(Lifecycle.ContainerScoped),
|
|
33
|
-
__metadata("design:paramtypes", [])
|
|
34
|
-
], GalleryCache);
|
|
35
|
-
export { GalleryCache };
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { injectable, Lifecycle, scoped } from "tsyringe";
|
|
11
|
+
import { GalleryImage } from "./gallery-image";
|
|
12
|
+
let GalleryCache = class GalleryCache {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.imgCache = {};
|
|
15
|
+
}
|
|
16
|
+
put(img) {
|
|
17
|
+
this.imgCache[img.thumb] = img;
|
|
18
|
+
this.imgCache[img.big] = img;
|
|
19
|
+
}
|
|
20
|
+
serve(id) {
|
|
21
|
+
const img = this.imgCache[id];
|
|
22
|
+
return !img ? null : img.serve(id);
|
|
23
|
+
}
|
|
24
|
+
create(folder, targetSize, handler) {
|
|
25
|
+
const image = new GalleryImage(folder, targetSize, handler);
|
|
26
|
+
this.put(image);
|
|
27
|
+
return image;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
GalleryCache = __decorate([
|
|
31
|
+
injectable(),
|
|
32
|
+
scoped(Lifecycle.ContainerScoped),
|
|
33
|
+
__metadata("design:paramtypes", [])
|
|
34
|
+
], GalleryCache);
|
|
35
|
+
export { GalleryCache };
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nYWxsZXJ5LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7SUFJaEMsWUFBWSxTQUFaLFlBQVk7SUFJckI7UUFDSSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQWtCO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxFQUFVO1FBQ1osTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjLEVBQUUsVUFBd0IsRUFBRSxPQUE2QjtRQUMxRSxNQUFNLEtBQUssR0FBRyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKLENBQUE7QUF2QlksWUFBWTtJQUZ4QixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQzs7R0FDckIsWUFBWSxDQXVCeEI7U0F2QlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge0lHYWxsZXJ5SW1hZ2UsIElHYWxsZXJ5SW1hZ2VIYW5kbGVyLCBJR2FsbGVyeVNpemV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtHYWxsZXJ5SW1hZ2V9IGZyb20gXCIuL2dhbGxlcnktaW1hZ2VcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgR2FsbGVyeUNhY2hlIHtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGltZ0NhY2hlOiB7IFtpZDogc3RyaW5nXTogSUdhbGxlcnlJbWFnZSB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuaW1nQ2FjaGUgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBwdXQoaW1nOiBJR2FsbGVyeUltYWdlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pbWdDYWNoZVtpbWcudGh1bWJdID0gaW1nO1xyXG4gICAgICAgIHRoaXMuaW1nQ2FjaGVbaW1nLmJpZ10gPSBpbWc7XHJcbiAgICB9XHJcblxyXG4gICAgc2VydmUoaWQ6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPiB7XHJcbiAgICAgICAgY29uc3QgaW1nID0gdGhpcy5pbWdDYWNoZVtpZF07XHJcbiAgICAgICAgcmV0dXJuICFpbWcgPyBudWxsIDogaW1nLnNlcnZlKGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGUoZm9sZGVyOiBzdHJpbmcsIHRhcmdldFNpemU6IElHYWxsZXJ5U2l6ZSwgaGFuZGxlcjogSUdhbGxlcnlJbWFnZUhhbmRsZXIpOiBJR2FsbGVyeUltYWdlIHtcclxuICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBHYWxsZXJ5SW1hZ2UoZm9sZGVyLCB0YXJnZXRTaXplLCBoYW5kbGVyKTtcclxuICAgICAgICB0aGlzLnB1dChpbWFnZSk7XHJcbiAgICAgICAgcmV0dXJuIGltYWdlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { v4 as uuidv4 } from "uuid";
|
|
11
|
-
import sharp_ from "sharp";
|
|
12
|
-
const sharp = sharp_;
|
|
13
|
-
const bigSize = 1500;
|
|
14
|
-
const thumbSize = 250;
|
|
15
|
-
export class GalleryImage {
|
|
16
|
-
constructor(folder, size, handler) {
|
|
17
|
-
this.folder = folder;
|
|
18
|
-
this.handler = handler;
|
|
19
|
-
this.thumb = uuidv4();
|
|
20
|
-
this.big = uuidv4();
|
|
21
|
-
this.targetSize = !size ? { width: thumbSize, height: thumbSize } : size;
|
|
22
|
-
}
|
|
23
|
-
serve(id) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const isThumb = id == this.thumb;
|
|
26
|
-
if (yield this.handler.hasResult(isThumb)) {
|
|
27
|
-
return this.handler.serveResult(isThumb);
|
|
28
|
-
}
|
|
29
|
-
const original = sharp(yield this.handler.getOriginal()).rotate();
|
|
30
|
-
const meta = yield original.metadata();
|
|
31
|
-
const ratio = meta.width / meta.height;
|
|
32
|
-
const sizeRatio = isThumb ? this.targetSize.width / this.targetSize.height : 1;
|
|
33
|
-
const size = isThumb ? Math.max(this.targetSize.width, this.targetSize.height) : bigSize;
|
|
34
|
-
const targetHeight = ratio > sizeRatio ? size : Math.round(size / ratio);
|
|
35
|
-
const targetWidth = Math.round(targetHeight * ratio);
|
|
36
|
-
const resized = original.resize(targetWidth, targetHeight);
|
|
37
|
-
const buffer = yield (isThumb ? resized.extract({
|
|
38
|
-
left: Math.floor((targetWidth - this.targetSize.width) / 2),
|
|
39
|
-
top: Math.floor((targetHeight - this.targetSize.height) / 2),
|
|
40
|
-
width: this.targetSize.width,
|
|
41
|
-
height: this.targetSize.height
|
|
42
|
-
}).toBuffer() : resized.toBuffer());
|
|
43
|
-
yield this.handler.writeResult(isThumb, buffer);
|
|
44
|
-
return this.handler.serveResult(isThumb);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { v4 as uuidv4 } from "uuid";
|
|
11
|
+
import sharp_ from "sharp";
|
|
12
|
+
const sharp = sharp_;
|
|
13
|
+
const bigSize = 1500;
|
|
14
|
+
const thumbSize = 250;
|
|
15
|
+
export class GalleryImage {
|
|
16
|
+
constructor(folder, size, handler) {
|
|
17
|
+
this.folder = folder;
|
|
18
|
+
this.handler = handler;
|
|
19
|
+
this.thumb = uuidv4();
|
|
20
|
+
this.big = uuidv4();
|
|
21
|
+
this.targetSize = !size ? { width: thumbSize, height: thumbSize } : size;
|
|
22
|
+
}
|
|
23
|
+
serve(id) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const isThumb = id == this.thumb;
|
|
26
|
+
if (yield this.handler.hasResult(isThumb)) {
|
|
27
|
+
return this.handler.serveResult(isThumb);
|
|
28
|
+
}
|
|
29
|
+
const original = sharp(yield this.handler.getOriginal()).rotate();
|
|
30
|
+
const meta = yield original.metadata();
|
|
31
|
+
const ratio = meta.width / meta.height;
|
|
32
|
+
const sizeRatio = isThumb ? this.targetSize.width / this.targetSize.height : 1;
|
|
33
|
+
const size = isThumb ? Math.max(this.targetSize.width, this.targetSize.height) : bigSize;
|
|
34
|
+
const targetHeight = ratio > sizeRatio ? size : Math.round(size / ratio);
|
|
35
|
+
const targetWidth = Math.round(targetHeight * ratio);
|
|
36
|
+
const resized = original.resize(targetWidth, targetHeight);
|
|
37
|
+
const buffer = yield (isThumb ? resized.extract({
|
|
38
|
+
left: Math.floor((targetWidth - this.targetSize.width) / 2),
|
|
39
|
+
top: Math.floor((targetHeight - this.targetSize.height) / 2),
|
|
40
|
+
width: this.targetSize.width,
|
|
41
|
+
height: this.targetSize.height
|
|
42
|
+
}).toBuffer() : resized.toBuffer());
|
|
43
|
+
yield this.handler.writeResult(isThumb, buffer);
|
|
44
|
+
return this.handler.serveResult(isThumb);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1pbWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nYWxsZXJ5LWltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxFQUFFLElBQUksTUFBTSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sTUFBTSxNQUFNLE9BQU8sQ0FBQztBQUczQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUV0QixNQUFNLE9BQU8sWUFBWTtJQU1yQixZQUFxQixNQUFjLEVBQUUsSUFBa0IsRUFBVyxPQUE2QjtRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQStCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzNGLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVLLEtBQUssQ0FBQyxFQUFVOztZQUNsQixNQUFNLE9BQU8sR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztZQUVqQyxJQUFJLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDNUM7WUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3pGLE1BQU0sWUFBWSxHQUFHLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDekUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFFckQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDM0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNELEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLO2dCQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2FBQ2pDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFcEMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO0tBQUE7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7djQgYXMgdXVpZHY0fSBmcm9tIFwidXVpZFwiO1xyXG5pbXBvcnQgc2hhcnBfIGZyb20gXCJzaGFycFwiO1xyXG5pbXBvcnQge0lHYWxsZXJ5SW1hZ2UsIElHYWxsZXJ5U2l6ZSwgSUdhbGxlcnlJbWFnZUhhbmRsZXJ9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmNvbnN0IHNoYXJwID0gc2hhcnBfO1xyXG5jb25zdCBiaWdTaXplID0gMTUwMDtcclxuY29uc3QgdGh1bWJTaXplID0gMjUwO1xyXG5cclxuZXhwb3J0IGNsYXNzIEdhbGxlcnlJbWFnZSBpbXBsZW1lbnRzIElHYWxsZXJ5SW1hZ2Uge1xyXG5cclxuICAgIHJlYWRvbmx5IHRodW1iOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBiaWc6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IHRhcmdldFNpemU6IElHYWxsZXJ5U2l6ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBmb2xkZXI6IHN0cmluZywgc2l6ZTogSUdhbGxlcnlTaXplLCByZWFkb25seSBoYW5kbGVyOiBJR2FsbGVyeUltYWdlSGFuZGxlcikge1xyXG4gICAgICAgIHRoaXMudGh1bWIgPSB1dWlkdjQoKTtcclxuICAgICAgICB0aGlzLmJpZyA9IHV1aWR2NCgpO1xyXG4gICAgICAgIHRoaXMudGFyZ2V0U2l6ZSA9ICFzaXplID8ge3dpZHRoOiB0aHVtYlNpemUsIGhlaWdodDogdGh1bWJTaXplfSA6IHNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VydmUoaWQ6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPiB7XHJcbiAgICAgICAgY29uc3QgaXNUaHVtYiA9IGlkID09IHRoaXMudGh1bWI7XHJcblxyXG4gICAgICAgIGlmIChhd2FpdCB0aGlzLmhhbmRsZXIuaGFzUmVzdWx0KGlzVGh1bWIpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZXIuc2VydmVSZXN1bHQoaXNUaHVtYik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBvcmlnaW5hbCA9IHNoYXJwKGF3YWl0IHRoaXMuaGFuZGxlci5nZXRPcmlnaW5hbCgpKS5yb3RhdGUoKTtcclxuICAgICAgICBjb25zdCBtZXRhID0gYXdhaXQgb3JpZ2luYWwubWV0YWRhdGEoKTtcclxuICAgICAgICBjb25zdCByYXRpbyA9IG1ldGEud2lkdGggLyBtZXRhLmhlaWdodDtcclxuICAgICAgICBjb25zdCBzaXplUmF0aW8gPSBpc1RodW1iID8gdGhpcy50YXJnZXRTaXplLndpZHRoIC8gdGhpcy50YXJnZXRTaXplLmhlaWdodCA6IDE7XHJcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGlzVGh1bWIgPyBNYXRoLm1heCh0aGlzLnRhcmdldFNpemUud2lkdGgsIHRoaXMudGFyZ2V0U2l6ZS5oZWlnaHQpIDogYmlnU2l6ZTtcclxuICAgICAgICBjb25zdCB0YXJnZXRIZWlnaHQgPSByYXRpbyA+IHNpemVSYXRpbyA/IHNpemUgOiBNYXRoLnJvdW5kKHNpemUgLyByYXRpbyk7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0V2lkdGggPSBNYXRoLnJvdW5kKHRhcmdldEhlaWdodCAqIHJhdGlvKTtcclxuXHJcbiAgICAgICAgY29uc3QgcmVzaXplZCA9IG9yaWdpbmFsLnJlc2l6ZSh0YXJnZXRXaWR0aCwgdGFyZ2V0SGVpZ2h0KTtcclxuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCAoaXNUaHVtYiA/IHJlc2l6ZWQuZXh0cmFjdCh7XHJcbiAgICAgICAgICAgIGxlZnQ6IE1hdGguZmxvb3IoKHRhcmdldFdpZHRoIC0gdGhpcy50YXJnZXRTaXplLndpZHRoKSAvIDIpLFxyXG4gICAgICAgICAgICB0b3A6IE1hdGguZmxvb3IoKHRhcmdldEhlaWdodCAtIHRoaXMudGFyZ2V0U2l6ZS5oZWlnaHQpIC8gMiksXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnRhcmdldFNpemUud2lkdGgsXHJcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy50YXJnZXRTaXplLmhlaWdodFxyXG4gICAgICAgIH0pLnRvQnVmZmVyKCkgOiByZXNpemVkLnRvQnVmZmVyKCkpO1xyXG5cclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZXIud3JpdGVSZXN1bHQoaXNUaHVtYiwgYnVmZmVyKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVyLnNlcnZlUmVzdWx0KGlzVGh1bWIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|