@hellkite/pipkin 0.5.0 → 0.5.2

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.
Files changed (92) hide show
  1. package/build/src/lib/bundler.d.ts +1 -2
  2. package/build/src/lib/bundler.js.map +1 -1
  3. package/build/src/lib/replacement.d.ts +1 -2
  4. package/build/src/lib/replacement.js.map +1 -1
  5. package/build/src/lib/template.d.ts +13 -14
  6. package/build/src/lib/template.js +102 -37
  7. package/build/src/lib/template.js.map +1 -1
  8. package/build/src/lib/types/2d.d.ts +4 -5
  9. package/build/src/lib/types/boundingBox.d.ts +19 -0
  10. package/build/src/lib/types/boundingBox.js +3 -0
  11. package/build/src/lib/types/boundingBox.js.map +1 -0
  12. package/build/src/lib/types/containers.d.ts +13 -27
  13. package/build/src/lib/types/containers.js +3 -2
  14. package/build/src/lib/types/containers.js.map +1 -1
  15. package/build/src/lib/types/css.d.ts +4 -1
  16. package/build/src/lib/types/css.js +6 -3
  17. package/build/src/lib/types/css.js.map +1 -1
  18. package/build/src/lib/types/image.d.ts +17 -38
  19. package/build/src/lib/types/image.js +8 -2
  20. package/build/src/lib/types/image.js.map +1 -1
  21. package/build/src/lib/types/index.d.ts +3 -2
  22. package/build/src/lib/types/index.js +3 -2
  23. package/build/src/lib/types/index.js.map +1 -1
  24. package/build/src/lib/types/layer.d.ts +15 -0
  25. package/build/src/lib/types/layer.js +3 -0
  26. package/build/src/lib/types/layer.js.map +1 -0
  27. package/build/src/lib/types/position.d.ts +21 -0
  28. package/build/src/lib/types/position.js +42 -0
  29. package/build/src/lib/types/position.js.map +1 -0
  30. package/build/src/lib/types/scale.d.ts +9 -1
  31. package/build/src/lib/types/scale.js +2 -0
  32. package/build/src/lib/types/scale.js.map +1 -1
  33. package/build/src/lib/types/size.d.ts +4 -0
  34. package/build/src/lib/types/size.js +3 -0
  35. package/build/src/lib/types/size.js.map +1 -0
  36. package/build/src/lib/types/text.d.ts +29 -33
  37. package/build/src/lib/types/text.js +13 -4
  38. package/build/src/lib/types/text.js.map +1 -1
  39. package/build/src/lib/utils/buildFontString.d.ts +2 -2
  40. package/build/src/lib/utils/buildFontString.js.map +1 -1
  41. package/build/src/lib/utils/canvasToImage.d.ts +1 -1
  42. package/build/src/lib/utils/container.d.ts +4 -4
  43. package/build/src/lib/utils/container.js +52 -46
  44. package/build/src/lib/utils/container.js.map +1 -1
  45. package/build/src/lib/utils/drawBoundingBox.d.ts +1 -2
  46. package/build/src/lib/utils/drawBoundingBox.js +7 -47
  47. package/build/src/lib/utils/drawBoundingBox.js.map +1 -1
  48. package/build/src/lib/utils/htmlToImage.d.ts +3 -0
  49. package/build/src/lib/utils/htmlToImage.js +36 -0
  50. package/build/src/lib/utils/htmlToImage.js.map +1 -0
  51. package/build/src/lib/utils/index.d.ts +2 -1
  52. package/build/src/lib/utils/index.js +2 -1
  53. package/build/src/lib/utils/index.js.map +1 -1
  54. package/build/src/lib/utils/placeImage.d.ts +10 -5
  55. package/build/src/lib/utils/placeImage.js +25 -36
  56. package/build/src/lib/utils/placeImage.js.map +1 -1
  57. package/build/src/lib/utils/renderText.d.ts +3 -2
  58. package/build/src/lib/utils/renderText.js +12 -39
  59. package/build/src/lib/utils/renderText.js.map +1 -1
  60. package/build/src/lib/utils/toPx.d.ts +3 -0
  61. package/build/src/lib/utils/toPx.js +12 -0
  62. package/build/src/lib/utils/toPx.js.map +1 -0
  63. package/build/src/lib/utils/vNodeToImage.d.ts +4 -0
  64. package/build/src/lib/utils/vNodeToImage.js +36 -0
  65. package/build/src/lib/utils/vNodeToImage.js.map +1 -0
  66. package/build/src/test.js +55 -69
  67. package/build/src/test.js.map +1 -1
  68. package/package.json +6 -3
  69. package/roadmap.md +0 -1
  70. package/src/lib/bundler.ts +1 -2
  71. package/src/lib/replacement.ts +1 -2
  72. package/src/lib/template.ts +190 -68
  73. package/src/lib/types/boundingBox.ts +28 -0
  74. package/src/lib/types/containers.ts +55 -60
  75. package/src/lib/types/css.ts +32 -1
  76. package/src/lib/types/image.ts +32 -57
  77. package/src/lib/types/index.ts +3 -2
  78. package/src/lib/types/layer.ts +18 -0
  79. package/src/lib/types/scale.ts +11 -0
  80. package/src/lib/types/size.ts +4 -0
  81. package/src/lib/types/text.ts +47 -56
  82. package/src/lib/utils/buildFontString.ts +2 -2
  83. package/src/lib/utils/container.ts +118 -57
  84. package/src/lib/utils/drawBoundingBox.ts +19 -16
  85. package/src/lib/utils/htmlToImage.ts +24 -0
  86. package/src/lib/utils/index.ts +2 -1
  87. package/src/lib/utils/placeImage.ts +55 -58
  88. package/src/lib/utils/renderText.ts +19 -43
  89. package/src/lib/utils/toPx.ts +11 -0
  90. package/src/lib/types/2d.ts +0 -11
  91. package/src/lib/types/omitArgument.ts +0 -17
  92. package/src/lib/utils/canvasToImage.ts +0 -19
@@ -1,5 +1,4 @@
1
- import { Size } from './types/2d';
2
- import { ImageType } from './types/image';
1
+ import { Size, ImageType } from './types';
3
2
  type RequiredBundlerOptions = {
4
3
  size: Size;
5
4
  rows: number;
@@ -1 +1 @@
1
- {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/lib/bundler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/lib/bundler.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAS5B,MAAM,iBAAiB,GAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAE9D,MAAM,iBAAiB,GAAS,iBAAiB,CAAC;AAElD,MAAM,uBAAuB,GAA2B;IACpD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACV,CAAC;AA6BF;;;;GAIG;AACH,MAAa,OAAO;IAChB,sCAAsC;IACtC,YAAqC,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAEhE,MAAM,CAAC,GAAG,CAAC,OAAiC;QACxC,OAAO,IAAI,OAAO,iCACX,uBAAuB,GACvB,OAAO,EACZ,CAAC;IACP,CAAC;IAED,MAAM,CAAC,MAAwB;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3D,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC;YACnE,OAAO,CAAC,IAAI,CACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAC/D,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,UAAU,CAAC,MAAwB;;QACvC,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM;YAChC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK;YAC9B,KAAK,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,mCAAI,UAAU;SAC5C,CAAC,CAAC;QACH,MAAM,QAAQ,GAAS;YACnB,KAAK,EACD,CAAC,IAAI,CAAC,KAAK;gBACP,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,IAAI;YACrB,MAAM,EACF,CAAC,IAAI,CAAC,MAAM;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,IAAI;SACxB,CAAC;QACF,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC9D,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;gBAC9D,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,SAAS;gBACb,CAAC;gBACD,KAAK,CAAC,UAAU,CAAC;oBACb,CAAC,EAAE,QAAQ,CAAC,KAAK;oBACjB,CAAC,EAAE,QAAQ,CAAC,MAAM;iBACrB,CAAC,CAAC;gBACH,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBACvB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC9B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC9B,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;oBACtB,QAAQ,GAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,SAA2B;;QACtC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC5B,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,CACH,MAAA,CAAC,SAAS,KAAK,MAAM;gBACjB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI;gBACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,CAAC,CACpC,CAAC;QACN,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAEO,UAAU,CAAC,SAA2B;;QAC1C,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClD,IACI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;gBAC9B,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAChC,CAAC;gBACC,QAAQ,SAAS,EAAE,CAAC;oBAChB,KAAK,KAAK,CAAC;oBACX,KAAK,QAAQ;wBACT,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,mCAAI,CAAC,CAAC;oBAC1C,KAAK,OAAO,CAAC;oBACb,KAAK,MAAM;wBACP,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,mCAAI,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,MAAC,IAAI,CAAC,OAAO,CAAC,OAAsB,CAAC,SAAS,CAAC,mCAAI,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;CACJ;AAtGD,0BAsGC"}
@@ -1,5 +1,4 @@
1
- import { ImageType } from "./types/image";
2
- import { ReplacementMap } from "./types/replacement";
1
+ import { ReplacementMap, ImageType } from "./types";
3
2
  /**
4
3
  * Represents a replacement map between sets of words and symbols
5
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"replacement.js","sourceRoot":"","sources":["../../../src/lib/replacement.ts"],"names":[],"mappings":";;;AAGA;;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
+ {"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 { ImageType, ImageLayerOptions, ImageLayerProps } from './types/image';
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, GridContainerOptions, ContainerOptions } from './types';
7
3
  type RequiredTemplateOptions = {
8
4
  height: number;
9
5
  width: number;
@@ -15,11 +11,9 @@ 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
- export type LayerFn<EntryType> = (entry: EntryType, context: LayerFnContext) => Promise<ImageType>;
16
+ export type LayerFn<EntryType> = (entry: EntryType, context: LayerFnContext) => Promise<ImageType | undefined>;
23
17
  export type TemplateLayerFn<EntryType extends Record<string, string>> = (template: Template<EntryType>) => Template<EntryType>;
24
18
  export declare class Template<EntryType extends Record<string, string>> {
25
19
  private readonly layers;
@@ -31,19 +25,24 @@ 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
- container: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, packingFn: PackingFn) => this;
37
- hbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, position: BoundingBox, options?: DirectionContainerOptions) => this;
38
- vbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, position: BoundingBox, options?: DirectionContainerOptions) => this;
39
- image: ({ key, path, position, options, }: ImageLayerProps<EntryType>) => this;
40
- loadImage: (imagePath: string, options?: ImageLayerOptions) => Promise<ImageType>;
41
- text: ({ key, position, options }: TextLayerProps<EntryType>) => this;
31
+ container: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, box: BoundingBox, packingFn: PackingFn, options?: ContainerOptions<EntryType>) => this;
32
+ hbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, box: BoundingBox, options?: DirectionContainerOptions<EntryType>) => this;
33
+ vbox: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, box: BoundingBox, options?: DirectionContainerOptions<EntryType>) => this;
34
+ grid: (imagesFn: (entry: EntryType) => Promise<Array<ImageType>>, box: BoundingBox, options?: GridContainerOptions<EntryType>) => this;
35
+ image: (ref: ImageRef<EntryType>, box: BoundingBox, options: ImageLayerOptions<EntryType>) => this;
36
+ loadImage: (imagePath: string | Buffer) => Promise<ImageType>;
37
+ text: (ref: TextRef<EntryType>, box: BoundingBox, options?: TextLayerOptions<EntryType>) => this;
42
38
  font(path: fs.PathLike, name: string): this;
43
39
  debug(): this;
44
40
  private renderLayers;
45
41
  render(entry: EntryType, options?: RenderOptions<EntryType>): Promise<ImageType>;
46
42
  renderAll(entries: Array<EntryType>, options?: RenderOptions<EntryType>): Promise<Array<ImageType>>;
47
43
  fromCsv(path: string, options?: RenderOptions<EntryType>): Promise<Array<ImageType>>;
44
+ private pathFromImageRef;
45
+ private textFromTextRef;
46
+ private shouldSkipLayerForEntry;
48
47
  }
49
48
  export {};
@@ -50,13 +50,12 @@ 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
54
  const canvas_1 = require("canvas");
57
55
  const path_1 = __importDefault(require("path"));
58
- const container_1 = require("./utils/container");
59
56
  const utils_1 = require("./utils");
57
+ const types_1 = require("./types");
58
+ const lodash_merge_1 = __importDefault(require("lodash.merge"));
60
59
  const DEFAULT_TEMPLATE_OPTIONS = {
61
60
  height: 1050,
62
61
  width: 750,
@@ -71,49 +70,111 @@ class Template {
71
70
  const template = fn(this.shadowTemplate());
72
71
  return template.render(entry);
73
72
  });
74
- // TODO: logic for rendering debug helpers
75
- this.container = (imagesFn, packingFn) => this.layer((entry) => __awaiter(this, void 0, void 0, function* () {
73
+ this.container = (imagesFn, box, packingFn, options) => this.layer((entry_1, _a) => __awaiter(this, [entry_1, _a], void 0, function* (entry, { debugMode }) {
74
+ const mergedOptions = (0, lodash_merge_1.default)({}, types_1.DEFAULT_CONTAINER_OPTIONS, options);
75
+ if (this.shouldSkipLayerForEntry(entry, mergedOptions)) {
76
+ return undefined;
77
+ }
76
78
  const images = yield imagesFn(entry);
77
- return packingFn(this.shadowBackground(), images);
79
+ const result = yield packingFn(box, this.shadowBackground(), images);
80
+ // debug mode
81
+ if (debugMode) {
82
+ const debugImage = yield (0, utils_1.drawBoundingBox)(box, this.backgroundSize);
83
+ return debugImage.composite(result);
84
+ }
85
+ return result;
78
86
  }));
79
- this.hbox = (imagesFn, position, options) => this.container(imagesFn, (0, container_1.hboxPackingFn)(position, options));
80
- this.vbox = (imagesFn, position, options) => this.container(imagesFn, (0, container_1.vboxPackingFn)(position, options));
81
- this.image = ({ key, path, position, options, }) => this.layer((entry_1, _a) => __awaiter(this, [entry_1, _a], void 0, function* (entry, { debugMode, width, height }) {
82
- const imagePath = path !== null && path !== void 0 ? path : ((options === null || options === void 0 ? void 0 : options.pathFn) ? options.pathFn(entry[key]) : entry[key]);
83
- const image = yield this.loadImage(imagePath, options);
84
- const result = yield (0, placeImage_1.placeImage)({
85
- background: this.shadowBackground(),
87
+ this.hbox = (imagesFn, box, options) => this.container(imagesFn, box, (0, utils_1.hboxPackingFn)(options), options);
88
+ this.vbox = (imagesFn, box, options) => this.container(imagesFn, box, (0, utils_1.vboxPackingFn)(options), options);
89
+ this.grid = (imagesFn, box, options) => this.container(imagesFn, box, (0, utils_1.gridPackingFn)(options), options);
90
+ this.image = (ref, box, options) => this.layer((entry_1, _a) => __awaiter(this, [entry_1, _a], void 0, function* (entry, { debugMode }) {
91
+ const mergedOptions = (0, lodash_merge_1.default)({}, types_1.DEFAULT_IMAGE_LAYER_OPTIONS, { assetsPath: this.defaultAssetsPath }, options);
92
+ if (this.shouldSkipLayerForEntry(entry, mergedOptions)) {
93
+ return undefined;
94
+ }
95
+ const image = yield this.pathFromImageRef(entry, ref, mergedOptions);
96
+ const result = yield (0, utils_1.placeImage)({
86
97
  image,
87
- position,
98
+ box,
99
+ backgroundSize: this.backgroundSize,
100
+ options: mergedOptions,
88
101
  });
89
102
  // debug mode
90
103
  if (debugMode) {
91
- const debugImage = yield (0, drawBoundingBox_1.drawBoundingBox)(position, {
92
- width,
93
- height,
94
- });
104
+ const debugImage = yield (0, utils_1.drawBoundingBox)(box, this.backgroundSize);
95
105
  return debugImage.composite(result);
96
106
  }
97
107
  return result;
98
108
  }));
99
- this.loadImage = (imagePath, options) => __awaiter(this, void 0, void 0, function* () {
100
- var _a;
101
- const assetsPath = (_a = options === null || options === void 0 ? void 0 : options.assetsPath) !== null && _a !== void 0 ? _a : this.defaultAssetsPath;
102
- const imageCompletePath = assetsPath
103
- ? path_1.default.join(assetsPath, imagePath)
104
- : imagePath;
105
- const image = (yield jimp_1.Jimp.read(imageCompletePath));
109
+ this.loadImage = (imagePath) => __awaiter(this, void 0, void 0, function* () {
110
+ const image = (yield jimp_1.Jimp.read(imagePath));
106
111
  return image;
107
112
  });
108
- this.text = ({ key, position, options }) => this.layer((entry_1, _a) => __awaiter(this, [entry_1, _a], void 0, function* (entry, { debugMode, width, height }) {
109
- var _b, _c, _d;
110
- const text = entry[key];
111
- 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';
112
- return (0, utils_1.renderText)(text, position, {
113
- width,
114
- height,
115
- }, Object.assign(Object.assign({}, options), { font: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.font), { family: fontFamily }) }));
113
+ this.text = (ref, box, options) => this.layer((entry_1, _a) => __awaiter(this, [entry_1, _a], void 0, function* (entry, { debugMode }) {
114
+ const mergedOptions = (0, lodash_merge_1.default)({}, types_1.DEFAULT_TEXT_LAYER_OPTIONS, {
115
+ font: {
116
+ family: this.defaultFontFamily,
117
+ },
118
+ }, options);
119
+ if (this.shouldSkipLayerForEntry(entry, mergedOptions)) {
120
+ return undefined;
121
+ }
122
+ const text = this.textFromTextRef(entry, ref);
123
+ const result = yield (0, utils_1.renderText)(text, box, this.backgroundSize, mergedOptions);
124
+ // debug mode
125
+ if (debugMode) {
126
+ const debugImage = yield (0, utils_1.drawBoundingBox)(box, this.backgroundSize);
127
+ return debugImage.composite(result);
128
+ }
129
+ return result;
116
130
  }));
131
+ this.pathFromImageRef = (entry, ref, options) => __awaiter(this, void 0, void 0, function* () {
132
+ const pathSegments = [];
133
+ if (options.assetsPath) {
134
+ pathSegments.push(options.assetsPath);
135
+ }
136
+ if ('buffer' in ref) {
137
+ return this.loadImage(ref.buffer);
138
+ }
139
+ else if ('path' in ref) {
140
+ return this.loadImage(path_1.default.join(...pathSegments, ref.path));
141
+ }
142
+ else if ('absolutePath' in ref) {
143
+ return this.loadImage(ref.absolutePath);
144
+ }
145
+ else if ('key' in ref) {
146
+ const fileName = entry[ref.key];
147
+ return this.loadImage(path_1.default.join(...pathSegments, fileName));
148
+ }
149
+ else if ('pathFn' in ref) {
150
+ const fileName = ref.pathFn(entry);
151
+ return this.loadImage(path_1.default.join(...pathSegments, fileName));
152
+ }
153
+ else {
154
+ throw new Error('Unknown ImageRef variant');
155
+ }
156
+ });
157
+ this.textFromTextRef = (entry, ref) => {
158
+ if ('key' in ref) {
159
+ return entry[ref.key];
160
+ }
161
+ else if ('text' in ref) {
162
+ return ref.text;
163
+ }
164
+ else if ('textFn' in ref) {
165
+ return ref.textFn(entry);
166
+ }
167
+ else {
168
+ throw new Error('Unknown TextRef variant');
169
+ }
170
+ };
171
+ this.shouldSkipLayerForEntry = (entry, options) => {
172
+ var _a;
173
+ if (typeof options.skip === 'function') {
174
+ return options.skip(entry);
175
+ }
176
+ return (_a = options.skip) !== null && _a !== void 0 ? _a : false;
177
+ };
117
178
  this.background = new jimp_1.Jimp({
118
179
  height: options.height,
119
180
  width: options.width,
@@ -137,6 +198,12 @@ class Template {
137
198
  height: this.background.height,
138
199
  });
139
200
  }
201
+ get backgroundSize() {
202
+ return {
203
+ width: this.background.width,
204
+ height: this.background.height,
205
+ };
206
+ }
140
207
  layer(fn) {
141
208
  this.layers.push(fn);
142
209
  return this;
@@ -153,11 +220,10 @@ class Template {
153
220
  }
154
221
  renderLayers(entry) {
155
222
  return __awaiter(this, void 0, void 0, function* () {
156
- return Promise.all(this.layers.map(layerFn => layerFn(entry, {
223
+ const results = yield Promise.all(this.layers.map(layerFn => layerFn(entry, {
157
224
  debugMode: this.debugMode,
158
- width: this.background.width,
159
- height: this.background.height,
160
225
  })));
226
+ return results.filter(result => !!result);
161
227
  });
162
228
  }
163
229
  render(entry, options) {
@@ -207,5 +273,4 @@ class Template {
207
273
  }
208
274
  }
209
275
  exports.Template = Template;
210
- // TODO: Ledger of actions applied to the image like a logging feed
211
276
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/lib/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/lib/template.ts"],"names":[],"mappings":"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"}
@@ -1,9 +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 = Point & Size;
5
+ export type BoundingBox = {
6
+ x: number;
7
+ y: number;
8
+ } & Size;
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=boundingBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boundingBox.js","sourceRoot":"","sources":["../../../../src/lib/types/boundingBox.ts"],"names":[],"mappings":""}
@@ -1,12 +1,9 @@
1
- import { Alignment, ImageType, ScaleMode } from './image';
2
- export declare const DEFAULT_CONTAINER_OPTIONS: Required<ContainerOptions>;
3
- export type ContainerOptions = {
4
- /**
5
- * Setting a non-default value for justify will cause the alignment to be ignored.
6
- *
7
- * Defaults to `normal`
8
- */
9
- justifyContent?: ContainerJustifyContent;
1
+ import { RequiredDeep } from 'type-fest';
2
+ import { BoundingBox } from './boundingBox';
3
+ import { ImageType } from './image';
4
+ import { ScaleMode } from './scale';
5
+ import { LayerOptions } from './layer';
6
+ export type ContainerOptions<EntryType extends Record<string, string>> = LayerOptions<EntryType> & {
10
7
  /**
11
8
  * This is treated as a minimum length of an unit of space
12
9
  * between two items, but it can grow larger than it
@@ -14,29 +11,18 @@ export type ContainerOptions = {
14
11
  * Defaults to 0
15
12
  */
16
13
  gap?: number;
17
- /**
18
- * Defines how the items should be placed
19
- * across the secondary direction of the container
20
- *
21
- * Defaults to `center`
22
- */
23
- alignItems?: Alignment;
24
14
  /**
25
15
  * Defaults to `none`
26
16
  */
27
17
  scale?: ScaleMode;
28
18
  };
29
- export type DirectionContainerOptions = ContainerOptions & {
19
+ export declare const DEFAULT_CONTAINER_OPTIONS: RequiredDeep<ContainerOptions<Record<string, string>>>;
20
+ export type DirectionContainerOptions<EntryType extends Record<string, string>> = ContainerOptions<EntryType> & {
30
21
  reversed?: boolean;
31
22
  };
32
- export declare const DEFAULT_DIRECTION_CONTAINER_OPTIONS: DirectionContainerOptions;
33
- /**
34
- * Same as CSS justify-content property
35
- */
36
- type ContainerJustifyContent = 'flex-start' | 'flex-end' | 'center' | 'space-evenly' | 'space-between' | 'space-around' | 'normal';
37
- export type GridContainerOptions = ContainerOptions & {
38
- rows?: number;
39
- cols?: number;
23
+ export declare const DEFAULT_DIRECTION_CONTAINER_OPTIONS: RequiredDeep<DirectionContainerOptions<Record<string, string>>>;
24
+ export type GridContainerOptions<EntryType extends Record<string, string>> = ContainerOptions<EntryType> & {
25
+ size?: number;
40
26
  /**
41
27
  * Defines what is considered the main direction of the container.
42
28
  * -> `rows` - the items would be placed to fill each row before starting the next
@@ -46,5 +32,5 @@ export type GridContainerOptions = ContainerOptions & {
46
32
  */
47
33
  direction?: 'rows' | 'cols';
48
34
  };
49
- export type PackingFn = (background: ImageType, images: Array<ImageType>) => Promise<ImageType>;
50
- export {};
35
+ export declare const DEFAULT_GRID_CONTAINER_OPTIONS: RequiredDeep<GridContainerOptions<Record<string, string>>>;
36
+ export type PackingFn = (box: BoundingBox, background: ImageType, images: Array<ImageType>) => Promise<ImageType>;
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_DIRECTION_CONTAINER_OPTIONS = exports.DEFAULT_CONTAINER_OPTIONS = void 0;
3
+ exports.DEFAULT_GRID_CONTAINER_OPTIONS = exports.DEFAULT_DIRECTION_CONTAINER_OPTIONS = exports.DEFAULT_CONTAINER_OPTIONS = void 0;
4
4
  exports.DEFAULT_CONTAINER_OPTIONS = {
5
5
  gap: 0,
6
6
  justifyContent: 'normal',
7
7
  alignItems: 'center',
8
8
  scale: 'none',
9
+ skip: false,
9
10
  };
10
- // TODO: all required
11
11
  exports.DEFAULT_DIRECTION_CONTAINER_OPTIONS = Object.assign(Object.assign({}, exports.DEFAULT_CONTAINER_OPTIONS), { reversed: false });
12
+ exports.DEFAULT_GRID_CONTAINER_OPTIONS = Object.assign(Object.assign({}, exports.DEFAULT_CONTAINER_OPTIONS), { size: 3, direction: 'rows' });
12
13
  //# sourceMappingURL=containers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../../../src/lib/types/containers.ts"],"names":[],"mappings":";;;AAEa,QAAA,yBAAyB,GAA+B;IACjE,GAAG,EAAE,CAAC;IACN,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,MAAM;CAChB,CAAC;AAoCF,qBAAqB;AACR,QAAA,mCAAmC,mCACzC,iCAAyB,KAC5B,QAAQ,EAAE,KAAK,IAClB"}
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../../../../src/lib/types/containers.ts"],"names":[],"mappings":";;;AAsBa,QAAA,yBAAyB,GAElC;IACA,GAAG,EAAE,CAAC;IACN,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,KAAK;CACd,CAAC;AAQW,QAAA,mCAAmC,mCAGzC,iCAAyB,KAC5B,QAAQ,EAAE,KAAK,IACjB;AAgBW,QAAA,8BAA8B,mCAGpC,iCAAyB,KAC5B,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,MAAM,IACnB"}
@@ -1 +1,4 @@
1
- export declare const toPx: (value: number) => string;
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>;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toPx = void 0;
4
- const toPx = (value) => `${value}px`;
5
- exports.toPx = toPx;
3
+ exports.SCALE_MODE_TO_OBJECT_FIT = void 0;
4
+ exports.SCALE_MODE_TO_OBJECT_FIT = {
5
+ 'keep-ratio': 'contain',
6
+ stretch: 'fill',
7
+ none: 'none',
8
+ };
6
9
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","sourceRoot":"","sources":["../../../../src/lib/types/css.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC;AAA/C,QAAA,IAAI,QAA2C"}
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,29 @@
1
1
  import { JimpInstance } from 'jimp';
2
- import { BoundingBox } from './2d';
2
+ import { ScaleMode } from './scale';
3
+ import { LayerOptions } from './layer';
4
+ import { RequiredDeep } from 'type-fest';
3
5
  export type ImageType = JimpInstance;
4
- export type ImageLayerProps<EntryType> = ({
5
- key: keyof EntryType;
6
- path?: undefined;
6
+ export type ImageRef<EntryType extends Record<string, string>> = {
7
+ buffer: Buffer;
7
8
  } | {
8
- key?: undefined;
9
9
  path: string;
10
- }) & {
11
- position: ImagePosition;
12
- options?: ImageLayerOptions;
13
- };
14
- export type ImageLayerOptions = {
15
- assetsPath?: string;
16
- pathFn?: (path: string) => string;
10
+ } | {
11
+ absolutePath: string;
12
+ } | {
13
+ key: keyof EntryType;
14
+ } | {
15
+ pathFn: (entry: EntryType) => string;
17
16
  };
18
- export type ImagePosition = ImageAlignmentProps & ScaleProps & BoundingBox;
19
- export type ImageAlignmentProps = {
20
- /**
21
- * Overridden by xAlignment and/or yAlignment if provided.
22
- * default `center`
23
- */
24
- alignment?: Alignment;
17
+ export type ImageLayerOptions<EntryType extends Record<string, string>> = LayerOptions<EntryType> & {
25
18
  /**
26
- * default `center`
19
+ * Base path for the assets. Overrides the more global property of the template `defaultAssetsPath`.
27
20
  */
28
- xAlignment?: Alignment;
29
- /**
30
- * default `center`
31
- */
32
- yAlignment?: Alignment;
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 = {
21
+ assetsPath?: string;
46
22
  /**
47
23
  * Defaults to `none`
48
24
  */
49
25
  scale?: ScaleMode;
50
26
  };
27
+ export declare const DEFAULT_IMAGE_LAYER_OPTIONS: RequiredDeep<ImageLayerOptions<Record<string, string>>>;
28
+ export type Alignment = 'start' | 'center' | 'end';
29
+ export declare const DEFAULT_IMAGE_ALIGNMENT: Alignment;
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_SCALE_MODE = exports.DEFAULT_IMAGE_ALIGNMENT = void 0;
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
+ skip: false,
9
+ assetsPath: ''
10
+ };
4
11
  exports.DEFAULT_IMAGE_ALIGNMENT = 'center';
5
- exports.DEFAULT_SCALE_MODE = 'none';
6
12
  //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/lib/types/image.ts"],"names":[],"mappings":";;;AA8Ca,QAAA,uBAAuB,GAAc,QAAQ,CAAC;AAY9C,QAAA,kBAAkB,GAAc,MAAM,CAAC"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/lib/types/image.ts"],"names":[],"mappings":";;;AA8Ba,QAAA,2BAA2B,GAA4D;IAChG,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,KAAK;IACX,UAAU,EAAE,EAAE;CACjB,CAAC;AAIW,QAAA,uBAAuB,GAAc,QAAQ,CAAC"}
@@ -1,9 +1,10 @@
1
- export * from './2d';
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
9
  export * from './css';
10
+ export * from './layer';
@@ -14,13 +14,14 @@ 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("./2d"), exports);
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
25
  __exportStar(require("./css"), exports);
26
+ __exportStar(require("./layer"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,+CAA6B;AAC7B,0CAAwB;AACxB,iDAA+B;AAC/B,2CAAyB;AACzB,gDAA8B;AAC9B,0CAAwB;AACxB,yCAAuB;AACvB,wCAAsB"}
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;AACtB,0CAAwB"}