@hellkite/pipkin 0.4.1 → 0.5.1
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/build/src/lib/bundler.d.ts +1 -2
- package/build/src/lib/bundler.js.map +1 -1
- package/build/src/lib/replacement.d.ts +1 -2
- package/build/src/lib/replacement.js.map +1 -1
- package/build/src/lib/template.d.ts +9 -12
- package/build/src/lib/template.js +65 -32
- package/build/src/lib/template.js.map +1 -1
- package/build/src/lib/types/2d.d.ts +4 -7
- package/build/src/lib/types/2d.js +0 -5
- package/build/src/lib/types/2d.js.map +1 -1
- package/build/src/lib/types/boundingBox.d.ts +19 -0
- package/build/src/lib/types/boundingBox.js +3 -0
- package/build/src/lib/types/boundingBox.js.map +1 -0
- package/build/src/lib/types/containers.d.ts +12 -30
- package/build/src/lib/types/containers.js +4 -5
- package/build/src/lib/types/containers.js.map +1 -1
- package/build/src/lib/types/css.d.ts +4 -0
- package/build/src/lib/types/css.js +9 -0
- package/build/src/lib/types/css.js.map +1 -0
- package/build/src/lib/types/image.d.ts +17 -31
- package/build/src/lib/types/image.js +6 -2
- package/build/src/lib/types/image.js.map +1 -1
- package/build/src/lib/types/index.d.ts +3 -2
- package/build/src/lib/types/index.js +3 -2
- package/build/src/lib/types/index.js.map +1 -1
- package/build/src/lib/types/position.d.ts +21 -0
- package/build/src/lib/types/position.js +42 -0
- package/build/src/lib/types/position.js.map +1 -0
- package/build/src/lib/types/scale.d.ts +9 -1
- package/build/src/lib/types/scale.js +2 -0
- package/build/src/lib/types/scale.js.map +1 -1
- package/build/src/lib/types/size.d.ts +4 -0
- package/build/src/lib/types/size.js +3 -0
- package/build/src/lib/types/size.js.map +1 -0
- package/build/src/lib/types/text.d.ts +12 -10
- package/build/src/lib/types/text.js +5 -4
- package/build/src/lib/types/text.js.map +1 -1
- package/build/src/lib/utils/buildFontString.d.ts +1 -1
- package/build/src/lib/utils/canvasToImage.d.ts +1 -1
- package/build/src/lib/utils/container.d.ts +3 -4
- package/build/src/lib/utils/container.js +45 -112
- package/build/src/lib/utils/container.js.map +1 -1
- package/build/src/lib/utils/drawBoundingBox.d.ts +1 -2
- package/build/src/lib/utils/drawBoundingBox.js +7 -47
- package/build/src/lib/utils/drawBoundingBox.js.map +1 -1
- package/build/src/lib/utils/htmlToImage.d.ts +3 -0
- package/build/src/lib/utils/htmlToImage.js +36 -0
- package/build/src/lib/utils/htmlToImage.js.map +1 -0
- package/build/src/lib/utils/index.d.ts +3 -2
- package/build/src/lib/utils/index.js +3 -2
- package/build/src/lib/utils/index.js.map +1 -1
- package/build/src/lib/utils/placeImage.d.ts +8 -4
- package/build/src/lib/utils/placeImage.js +28 -33
- package/build/src/lib/utils/placeImage.js.map +1 -1
- package/build/src/lib/utils/renderText.d.ts +2 -0
- package/build/src/lib/utils/renderText.js +65 -0
- package/build/src/lib/utils/renderText.js.map +1 -0
- package/build/src/lib/utils/toPx.d.ts +3 -0
- package/build/src/lib/utils/toPx.js +12 -0
- package/build/src/lib/utils/toPx.js.map +1 -0
- package/build/src/lib/utils/vNodeToImage.d.ts +4 -0
- package/build/src/lib/utils/vNodeToImage.js +36 -0
- package/build/src/lib/utils/vNodeToImage.js.map +1 -0
- package/build/src/test.js +64 -40
- package/build/src/test.js.map +1 -1
- package/package.json +7 -3
- package/src/lib/bundler.ts +1 -2
- package/src/lib/replacement.ts +1 -2
- package/src/lib/template.ts +86 -63
- package/src/lib/types/boundingBox.ts +28 -0
- package/src/lib/types/containers.ts +22 -44
- package/src/lib/types/css.ts +32 -0
- package/src/lib/types/image.ts +28 -45
- package/src/lib/types/index.ts +3 -2
- package/src/lib/types/scale.ts +11 -0
- package/src/lib/types/size.ts +4 -0
- package/src/lib/types/text.ts +22 -12
- package/src/lib/utils/buildFontString.ts +1 -1
- package/src/lib/utils/container.ts +58 -187
- package/src/lib/utils/drawBoundingBox.ts +16 -16
- package/src/lib/utils/htmlToImage.ts +24 -0
- package/src/lib/utils/index.ts +3 -2
- package/src/lib/utils/placeImage.ts +52 -53
- package/src/lib/utils/renderText.ts +93 -0
- package/src/lib/utils/toPx.ts +11 -0
- package/src/lib/types/2d.ts +0 -16
- package/src/lib/types/omitArgument.ts +0 -17
- package/src/lib/utils/canvasToImage.ts +0 -19
- package/src/lib/utils/enhanceTextbox.ts +0 -144
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/lib/bundler.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/lib/bundler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replacement.js","sourceRoot":"","sources":["../../../src/lib/replacement.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"replacement.js","sourceRoot":"","sources":["../../../src/lib/replacement.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,WAAW;IAAxB;QAEqB,mBAAc,GAAmB,EAAE,CAAC;IAYzD,CAAC;IAVG,OAAO,CAAC,KAAoB,EAAE,MAAiB;QAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;CACJ;AAdD,kCAcC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
|
-
import {
|
|
3
|
-
import { TextLayerProps } from './types/text';
|
|
4
|
-
import { RenderOptions } from './types/render';
|
|
5
|
-
import { DirectionContainerOptions, PackingFn } from './types/containers';
|
|
6
|
-
import { BoundingBox } from './types/2d';
|
|
2
|
+
import { DirectionContainerOptions, ImageLayerOptions, ImageRef, ImageType, PackingFn, BoundingBox, RenderOptions, TextLayerOptions, TextRef } from './types';
|
|
7
3
|
type RequiredTemplateOptions = {
|
|
8
4
|
height: number;
|
|
9
5
|
width: number;
|
|
@@ -15,8 +11,6 @@ type OptionalTemplateOptions = Partial<{
|
|
|
15
11
|
}>;
|
|
16
12
|
export type TemplateOptions = RequiredTemplateOptions & OptionalTemplateOptions;
|
|
17
13
|
export type LayerFnContext = {
|
|
18
|
-
width: number;
|
|
19
|
-
height: number;
|
|
20
14
|
debugMode: boolean;
|
|
21
15
|
};
|
|
22
16
|
export type LayerFn<EntryType> = (entry: EntryType, context: LayerFnContext) => Promise<ImageType>;
|
|
@@ -31,19 +25,22 @@ export declare class Template<EntryType extends Record<string, string>> {
|
|
|
31
25
|
static new<EntryType extends Record<string, string>>(options?: Partial<TemplateOptions>): Template<EntryType>;
|
|
32
26
|
private shadowTemplate;
|
|
33
27
|
private shadowBackground;
|
|
28
|
+
private get backgroundSize();
|
|
34
29
|
layer(fn: LayerFn<EntryType>): this;
|
|
35
30
|
template: (fn: TemplateLayerFn<EntryType>) => this;
|
|
36
31
|
container: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, packingFn: PackingFn) => this;
|
|
37
|
-
hbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>,
|
|
38
|
-
vbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>,
|
|
39
|
-
image: (
|
|
40
|
-
loadImage: (imagePath: string
|
|
41
|
-
text: (
|
|
32
|
+
hbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, box: BoundingBox, options?: DirectionContainerOptions) => this;
|
|
33
|
+
vbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, box: BoundingBox, options?: DirectionContainerOptions) => this;
|
|
34
|
+
image: (ref: ImageRef<EntryType>, box: BoundingBox, options: ImageLayerOptions) => this;
|
|
35
|
+
loadImage: (imagePath: string | Buffer) => Promise<ImageType>;
|
|
36
|
+
text: (ref: TextRef<EntryType>, box: BoundingBox, options?: TextLayerOptions) => this;
|
|
42
37
|
font(path: fs.PathLike, name: string): this;
|
|
43
38
|
debug(): this;
|
|
44
39
|
private renderLayers;
|
|
45
40
|
render(entry: EntryType, options?: RenderOptions<EntryType>): Promise<ImageType>;
|
|
46
41
|
renderAll(entries: Array<EntryType>, options?: RenderOptions<EntryType>): Promise<Array<ImageType>>;
|
|
47
42
|
fromCsv(path: string, options?: RenderOptions<EntryType>): Promise<Array<ImageType>>;
|
|
43
|
+
private pathFromImageRef;
|
|
44
|
+
private textFromImageRef;
|
|
48
45
|
}
|
|
49
46
|
export {};
|
|
@@ -50,14 +50,10 @@ const fs = __importStar(require("fs"));
|
|
|
50
50
|
const papaparse_1 = require("papaparse");
|
|
51
51
|
const jimp_1 = require("jimp");
|
|
52
52
|
const lodash_camelcase_1 = __importDefault(require("lodash.camelcase"));
|
|
53
|
-
const placeImage_1 = require("./utils/placeImage");
|
|
54
|
-
const drawBoundingBox_1 = require("./utils/drawBoundingBox");
|
|
55
53
|
const lodash_concat_1 = __importDefault(require("lodash.concat"));
|
|
56
|
-
const fabric = __importStar(require("fabric/node"));
|
|
57
54
|
const canvas_1 = require("canvas");
|
|
58
|
-
const enhanceTextbox_1 = require("./utils/enhanceTextbox");
|
|
59
55
|
const path_1 = __importDefault(require("path"));
|
|
60
|
-
const
|
|
56
|
+
const utils_1 = require("./utils");
|
|
61
57
|
const DEFAULT_TEMPLATE_OPTIONS = {
|
|
62
58
|
height: 1050,
|
|
63
59
|
width: 750,
|
|
@@ -72,47 +68,80 @@ class Template {
|
|
|
72
68
|
const template = fn(this.shadowTemplate());
|
|
73
69
|
return template.render(entry);
|
|
74
70
|
});
|
|
71
|
+
// TODO: logic for rendering debug helpers
|
|
75
72
|
this.container = (imagesFn, packingFn) => this.layer((entry) => __awaiter(this, void 0, void 0, function* () {
|
|
76
73
|
const images = yield imagesFn(entry);
|
|
77
74
|
return packingFn(this.shadowBackground(), images);
|
|
78
75
|
}));
|
|
79
|
-
this.hbox = (imagesFn,
|
|
80
|
-
this.vbox = (imagesFn,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const imagePath = path !== null && path !== void 0 ? path : ((options === null || options === void 0 ? void 0 : options.pathFn) ? options.pathFn(entry[key]) : entry[key]);
|
|
85
|
-
const image = yield this.loadImage(imagePath, options);
|
|
86
|
-
const result = yield (0, placeImage_1.placeImage)({
|
|
87
|
-
background: this.shadowBackground(),
|
|
76
|
+
this.hbox = (imagesFn, box, options) => this.container(imagesFn, (0, utils_1.hboxPackingFn)(box, options));
|
|
77
|
+
this.vbox = (imagesFn, box, options) => this.container(imagesFn, (0, utils_1.vboxPackingFn)(box, options));
|
|
78
|
+
this.image = (ref, box, options) => this.layer((entry_1, _a) => __awaiter(this, [entry_1, _a], void 0, function* (entry, { debugMode }) {
|
|
79
|
+
const image = yield this.pathFromImageRef(entry, ref, options);
|
|
80
|
+
const result = yield (0, utils_1.placeImage)({
|
|
88
81
|
image,
|
|
89
|
-
|
|
82
|
+
box,
|
|
83
|
+
backgroundSize: this.backgroundSize,
|
|
84
|
+
options,
|
|
90
85
|
});
|
|
91
86
|
// debug mode
|
|
92
87
|
if (debugMode) {
|
|
93
|
-
const debugImage = yield (0,
|
|
94
|
-
width,
|
|
95
|
-
height,
|
|
96
|
-
});
|
|
88
|
+
const debugImage = yield (0, utils_1.drawBoundingBox)(box, this.backgroundSize);
|
|
97
89
|
return debugImage.composite(result);
|
|
98
90
|
}
|
|
99
91
|
return result;
|
|
100
92
|
}));
|
|
101
|
-
this.loadImage = (imagePath
|
|
102
|
-
|
|
103
|
-
const assetsPath = (_a = options === null || options === void 0 ? void 0 : options.assetsPath) !== null && _a !== void 0 ? _a : this.defaultAssetsPath;
|
|
104
|
-
const imageCompletePath = assetsPath
|
|
105
|
-
? path_1.default.join(assetsPath, imagePath)
|
|
106
|
-
: imagePath;
|
|
107
|
-
const image = (yield jimp_1.Jimp.read(imageCompletePath));
|
|
93
|
+
this.loadImage = (imagePath) => __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const image = (yield jimp_1.Jimp.read(imagePath));
|
|
108
95
|
return image;
|
|
109
96
|
});
|
|
110
|
-
this.text = (
|
|
97
|
+
this.text = (ref, box, options) => this.layer((entry_1, _a) => __awaiter(this, [entry_1, _a], void 0, function* (entry, { debugMode }) {
|
|
111
98
|
var _b, _c, _d;
|
|
112
|
-
const text = entry
|
|
113
|
-
const
|
|
114
|
-
return (0,
|
|
99
|
+
const text = this.textFromImageRef(entry, ref);
|
|
100
|
+
const fontFamily = (_d = (_c = (_b = options === null || options === void 0 ? void 0 : options.font) === null || _b === void 0 ? void 0 : _b.family) !== null && _c !== void 0 ? _c : this.defaultFontFamily) !== null && _d !== void 0 ? _d : 'Arial';
|
|
101
|
+
return (0, utils_1.renderText)(text, box, this.backgroundSize, Object.assign(Object.assign({}, options), { font: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.font), { family: fontFamily }) }));
|
|
115
102
|
}));
|
|
103
|
+
this.pathFromImageRef = (entry, ref, options) => __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
var _a;
|
|
105
|
+
const assetsPath = (_a = options === null || options === void 0 ? void 0 : options.assetsPath) !== null && _a !== void 0 ? _a : this.defaultAssetsPath;
|
|
106
|
+
const pathSegments = [];
|
|
107
|
+
if (assetsPath) {
|
|
108
|
+
pathSegments.push(assetsPath);
|
|
109
|
+
}
|
|
110
|
+
if ('buffer' in ref) {
|
|
111
|
+
return this.loadImage(ref.buffer);
|
|
112
|
+
}
|
|
113
|
+
else if ('path' in ref) {
|
|
114
|
+
return this.loadImage(path_1.default.join(...pathSegments, ref.path));
|
|
115
|
+
}
|
|
116
|
+
else if ('absolutePath' in ref) {
|
|
117
|
+
return this.loadImage(ref.absolutePath);
|
|
118
|
+
}
|
|
119
|
+
else if ('key' in ref) {
|
|
120
|
+
const fileName = entry[ref.key];
|
|
121
|
+
return this.loadImage(path_1.default.join(...pathSegments, fileName));
|
|
122
|
+
}
|
|
123
|
+
else if ('pathFn' in ref) {
|
|
124
|
+
const fileName = ref.pathFn(entry);
|
|
125
|
+
return this.loadImage(path_1.default.join(...pathSegments, fileName));
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
throw new Error('Unknown ImageRef variant');
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
this.textFromImageRef = (entry, ref) => {
|
|
132
|
+
if ('key' in ref) {
|
|
133
|
+
return entry[ref.key];
|
|
134
|
+
}
|
|
135
|
+
else if ('text' in ref) {
|
|
136
|
+
return ref.text;
|
|
137
|
+
}
|
|
138
|
+
else if ('textFn' in ref) {
|
|
139
|
+
return ref.textFn(entry);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
throw new Error('Unknown TextRef variant');
|
|
143
|
+
}
|
|
144
|
+
};
|
|
116
145
|
this.background = new jimp_1.Jimp({
|
|
117
146
|
height: options.height,
|
|
118
147
|
width: options.width,
|
|
@@ -136,6 +165,12 @@ class Template {
|
|
|
136
165
|
height: this.background.height,
|
|
137
166
|
});
|
|
138
167
|
}
|
|
168
|
+
get backgroundSize() {
|
|
169
|
+
return {
|
|
170
|
+
width: this.background.width,
|
|
171
|
+
height: this.background.height,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
139
174
|
layer(fn) {
|
|
140
175
|
this.layers.push(fn);
|
|
141
176
|
return this;
|
|
@@ -154,8 +189,6 @@ class Template {
|
|
|
154
189
|
return __awaiter(this, void 0, void 0, function* () {
|
|
155
190
|
return Promise.all(this.layers.map(layerFn => layerFn(entry, {
|
|
156
191
|
debugMode: this.debugMode,
|
|
157
|
-
width: this.background.width,
|
|
158
|
-
height: this.background.height,
|
|
159
192
|
})));
|
|
160
193
|
});
|
|
161
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/lib/template.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,yCAA8C;AAC9C,+BAAuC;AACvC,wEAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/lib/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
export type Point = {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
};
|
|
5
1
|
export type Size = {
|
|
6
2
|
width: number;
|
|
7
3
|
height: number;
|
|
8
4
|
};
|
|
9
|
-
export type BoundingBox =
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
export type BoundingBox = {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
} & Size;
|
|
@@ -1,8 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toSize = exports.toPoint = void 0;
|
|
4
|
-
const toPoint = (x, y) => ({ x, y });
|
|
5
|
-
exports.toPoint = toPoint;
|
|
6
|
-
const toSize = (w, h) => ({ width: w, height: h });
|
|
7
|
-
exports.toSize = toSize;
|
|
8
3
|
//# sourceMappingURL=2d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2d.js","sourceRoot":"","sources":["../../../../src/lib/types/2d.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"2d.js","sourceRoot":"","sources":["../../../../src/lib/types/2d.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type BoundingBox = ({
|
|
2
|
+
top: number;
|
|
3
|
+
height: number;
|
|
4
|
+
} | {
|
|
5
|
+
bottom: number;
|
|
6
|
+
height: number;
|
|
7
|
+
} | {
|
|
8
|
+
top: number;
|
|
9
|
+
bottom: number;
|
|
10
|
+
}) & ({
|
|
11
|
+
left: number;
|
|
12
|
+
width: number;
|
|
13
|
+
} | {
|
|
14
|
+
right: number;
|
|
15
|
+
width: number;
|
|
16
|
+
} | {
|
|
17
|
+
left: number;
|
|
18
|
+
right: number;
|
|
19
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundingBox.js","sourceRoot":"","sources":["../../../../src/lib/types/boundingBox.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AlignItems, JustifyContent } from './css';
|
|
2
|
+
import { ImageType } from './image';
|
|
3
|
+
import { ScaleMode } from './scale';
|
|
3
4
|
export type ContainerOptions = {
|
|
4
5
|
/**
|
|
5
6
|
* Setting a non-default value for justify will cause the alignment to be ignored.
|
|
6
7
|
*
|
|
7
|
-
* Defaults to `
|
|
8
|
+
* Defaults to `normal`
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
|
+
justifyContent?: JustifyContent;
|
|
10
11
|
/**
|
|
11
12
|
* This is treated as a minimum length of an unit of space
|
|
12
13
|
* between two items, but it can grow larger than it
|
|
@@ -14,41 +15,23 @@ export type ContainerOptions = {
|
|
|
14
15
|
* Defaults to 0
|
|
15
16
|
*/
|
|
16
17
|
gap?: number;
|
|
17
|
-
/**
|
|
18
|
-
* Render items that do not fit in the container outside of
|
|
19
|
-
* its bounding box
|
|
20
|
-
*
|
|
21
|
-
* Defaults to false
|
|
22
|
-
*/
|
|
23
|
-
overflow?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Defines how the items should be placed
|
|
26
|
-
* across the main direction of the container
|
|
27
|
-
*
|
|
28
|
-
* Defaults to `center`
|
|
29
|
-
*/
|
|
30
|
-
alignment?: Alignment;
|
|
31
18
|
/**
|
|
32
19
|
* Defines how the items should be placed
|
|
33
20
|
* across the secondary direction of the container
|
|
34
21
|
*
|
|
35
22
|
* Defaults to `center`
|
|
36
23
|
*/
|
|
37
|
-
|
|
24
|
+
alignItems?: AlignItems;
|
|
38
25
|
/**
|
|
39
26
|
* Defaults to `none`
|
|
40
27
|
*/
|
|
41
28
|
scale?: ScaleMode;
|
|
42
29
|
};
|
|
43
|
-
export
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* -> `space-around` - around each item is a unique pair of equal units of space
|
|
49
|
-
* -> `no-space` - no space
|
|
50
|
-
*/
|
|
51
|
-
type ContainerJustify = 'space-evenly' | 'space-between' | 'space-around' | 'no-space';
|
|
30
|
+
export declare const DEFAULT_CONTAINER_OPTIONS: Required<ContainerOptions>;
|
|
31
|
+
export type DirectionContainerOptions = ContainerOptions & {
|
|
32
|
+
reversed?: boolean;
|
|
33
|
+
};
|
|
34
|
+
export declare const DEFAULT_DIRECTION_CONTAINER_OPTIONS: Required<DirectionContainerOptions>;
|
|
52
35
|
export type GridContainerOptions = ContainerOptions & {
|
|
53
36
|
rows?: number;
|
|
54
37
|
cols?: number;
|
|
@@ -61,5 +44,4 @@ export type GridContainerOptions = ContainerOptions & {
|
|
|
61
44
|
*/
|
|
62
45
|
direction?: 'rows' | 'cols';
|
|
63
46
|
};
|
|
64
|
-
export type PackingFn = (background: ImageType, images: Array<ImageType>) => ImageType
|
|
65
|
-
export {};
|
|
47
|
+
export type PackingFn = (background: ImageType, images: Array<ImageType>) => Promise<ImageType>;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_CONTAINER_OPTIONS = void 0;
|
|
3
|
+
exports.DEFAULT_DIRECTION_CONTAINER_OPTIONS = exports.DEFAULT_CONTAINER_OPTIONS = void 0;
|
|
4
4
|
exports.DEFAULT_CONTAINER_OPTIONS = {
|
|
5
5
|
gap: 0,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
alignment: 'center',
|
|
9
|
-
centering: 'center',
|
|
6
|
+
justifyContent: 'normal',
|
|
7
|
+
alignItems: 'center',
|
|
10
8
|
scale: 'none',
|
|
11
9
|
};
|
|
10
|
+
exports.DEFAULT_DIRECTION_CONTAINER_OPTIONS = Object.assign(Object.assign({}, exports.DEFAULT_CONTAINER_OPTIONS), { reversed: false });
|
|
12
11
|
//# sourceMappingURL=containers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containers.js","sourceRoot":"","sources":["../../../../src/lib/types/containers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"containers.js","sourceRoot":"","sources":["../../../../src/lib/types/containers.ts"],"names":[],"mappings":";;;AAkCa,QAAA,yBAAyB,GAA+B;IACjE,GAAG,EAAE,CAAC;IACN,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,MAAM;CAChB,CAAC;AAMW,QAAA,mCAAmC,mCACzC,iCAAyB,KAC5B,QAAQ,EAAE,KAAK,IAClB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ScaleMode } from './scale';
|
|
2
|
+
export type JustifyContent = 'flex-start' | 'flex-end' | 'center' | 'space-evenly' | 'space-between' | 'space-around' | 'normal';
|
|
3
|
+
export type AlignItems = 'normal' | 'stretch' | 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'baseline' | 'first baseline' | 'last baseline' | 'safe center' | 'unsafe center';
|
|
4
|
+
export declare const SCALE_MODE_TO_OBJECT_FIT: Record<ScaleMode, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../../../src/lib/types/css.ts"],"names":[],"mappings":";;;AA2Ba,QAAA,wBAAwB,GAA8B;IAC/D,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;CACf,CAAC"}
|
|
@@ -1,50 +1,36 @@
|
|
|
1
1
|
import { JimpInstance } from 'jimp';
|
|
2
|
-
import {
|
|
2
|
+
import { ScaleMode } from './scale';
|
|
3
|
+
import { AlignItems, JustifyContent } from './css';
|
|
3
4
|
export type ImageType = JimpInstance;
|
|
4
|
-
export type
|
|
5
|
-
|
|
6
|
-
path?: undefined;
|
|
5
|
+
export type ImageRef<EntryType> = {
|
|
6
|
+
buffer: Buffer;
|
|
7
7
|
} | {
|
|
8
|
-
key?: undefined;
|
|
9
8
|
path: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
} | {
|
|
10
|
+
absolutePath: string;
|
|
11
|
+
} | {
|
|
12
|
+
key: keyof EntryType;
|
|
13
|
+
} | {
|
|
14
|
+
pathFn: (entry: EntryType) => string;
|
|
13
15
|
};
|
|
14
16
|
export type ImageLayerOptions = {
|
|
15
|
-
assetsPath?: string;
|
|
16
|
-
pathFn?: (path: string) => string;
|
|
17
|
-
};
|
|
18
|
-
export type ImagePosition = ImageAlignmentProps & ScaleProps & BoundingBox;
|
|
19
|
-
export type ImageAlignmentProps = {
|
|
20
17
|
/**
|
|
21
|
-
*
|
|
22
|
-
* default `center`
|
|
18
|
+
* Base path for the assets. Overrides the more global property of the template `defaultAssetsPath`.
|
|
23
19
|
*/
|
|
24
|
-
|
|
20
|
+
assetsPath?: string;
|
|
25
21
|
/**
|
|
26
22
|
* default `center`
|
|
27
23
|
*/
|
|
28
|
-
|
|
24
|
+
justifyContent?: JustifyContent;
|
|
29
25
|
/**
|
|
30
26
|
* default `center`
|
|
31
27
|
*/
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
export type Alignment = 'start' | 'center' | 'end';
|
|
35
|
-
export declare const DEFAULT_IMAGE_ALIGNMENT: Alignment;
|
|
36
|
-
/**
|
|
37
|
-
* Behavior of the content around a space
|
|
38
|
-
* that is bigger or smaller than necessary
|
|
39
|
-
* -> `none`: no scaling
|
|
40
|
-
* -> `keep-ration`: scale while preserving aspect ration
|
|
41
|
-
* -> `stretch`: scale without preserving aspect ration
|
|
42
|
-
*/
|
|
43
|
-
export type ScaleMode = 'none' | 'keep-ratio' | 'stretch';
|
|
44
|
-
export declare const DEFAULT_SCALE_MODE: ScaleMode;
|
|
45
|
-
export type ScaleProps = {
|
|
28
|
+
alignItems?: AlignItems;
|
|
46
29
|
/**
|
|
47
30
|
* Defaults to `none`
|
|
48
31
|
*/
|
|
49
32
|
scale?: ScaleMode;
|
|
50
33
|
};
|
|
34
|
+
export declare const DEFAULT_IMAGE_LAYER_OPTIONS: Required<Omit<ImageLayerOptions, 'assetsPath'>> & Pick<ImageLayerOptions, 'assetsPath'>;
|
|
35
|
+
export type Alignment = 'start' | 'center' | 'end';
|
|
36
|
+
export declare const DEFAULT_IMAGE_ALIGNMENT: Alignment;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DEFAULT_IMAGE_ALIGNMENT = exports.DEFAULT_IMAGE_LAYER_OPTIONS = void 0;
|
|
4
|
+
exports.DEFAULT_IMAGE_LAYER_OPTIONS = {
|
|
5
|
+
justifyContent: 'center',
|
|
6
|
+
alignItems: 'center',
|
|
7
|
+
scale: 'none',
|
|
8
|
+
};
|
|
4
9
|
exports.DEFAULT_IMAGE_ALIGNMENT = 'center';
|
|
5
|
-
exports.DEFAULT_SCALE_MODE = 'none';
|
|
6
10
|
//# sourceMappingURL=image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/lib/types/image.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/lib/types/image.ts"],"names":[],"mappings":";;;AAqCa,QAAA,2BAA2B,GAGI;IACxC,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,MAAM;CAChB,CAAC;AAIW,QAAA,uBAAuB,GAAc,QAAQ,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './size';
|
|
2
2
|
export * from './containers';
|
|
3
3
|
export * from './image';
|
|
4
|
-
export * from './omitArgument';
|
|
5
4
|
export * from './render';
|
|
6
5
|
export * from './replacement';
|
|
7
6
|
export * from './scale';
|
|
8
7
|
export * from './text';
|
|
8
|
+
export * from './boundingBox';
|
|
9
|
+
export * from './css';
|
|
@@ -14,12 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./size"), exports);
|
|
18
18
|
__exportStar(require("./containers"), exports);
|
|
19
19
|
__exportStar(require("./image"), exports);
|
|
20
|
-
__exportStar(require("./omitArgument"), exports);
|
|
21
20
|
__exportStar(require("./render"), exports);
|
|
22
21
|
__exportStar(require("./replacement"), exports);
|
|
23
22
|
__exportStar(require("./scale"), exports);
|
|
24
23
|
__exportStar(require("./text"), exports);
|
|
24
|
+
__exportStar(require("./boundingBox"), exports);
|
|
25
|
+
__exportStar(require("./css"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,0CAAwB;AACxB,2CAAyB;AACzB,gDAA8B;AAC9B,0CAAwB;AACxB,yCAAuB;AACvB,gDAA8B;AAC9B,wCAAsB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BoundingBox, Size } from './2d';
|
|
2
|
+
export type Position = ({
|
|
3
|
+
top: number;
|
|
4
|
+
height: number;
|
|
5
|
+
} | {
|
|
6
|
+
bottom: number;
|
|
7
|
+
height: number;
|
|
8
|
+
} | {
|
|
9
|
+
top: number;
|
|
10
|
+
bottom: number;
|
|
11
|
+
}) & ({
|
|
12
|
+
left: number;
|
|
13
|
+
width: number;
|
|
14
|
+
} | {
|
|
15
|
+
right: number;
|
|
16
|
+
width: number;
|
|
17
|
+
} | {
|
|
18
|
+
left: number;
|
|
19
|
+
right: number;
|
|
20
|
+
});
|
|
21
|
+
export declare const toBoundingBox: (position: Position, backgroundSize: Size) => BoundingBox;
|