apexify.js 4.5.52 → 4.5.54

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 (109) hide show
  1. package/dist/cjs/ai/ApexAI.d.ts +2 -0
  2. package/dist/cjs/ai/ApexAI.d.ts.map +1 -1
  3. package/dist/cjs/ai/ApexAI.js +1 -1
  4. package/dist/cjs/ai/ApexAI.js.map +1 -1
  5. package/dist/cjs/ai/ApexModules.d.ts +2 -0
  6. package/dist/cjs/ai/ApexModules.d.ts.map +1 -1
  7. package/dist/cjs/ai/ApexModules.js +2 -2
  8. package/dist/cjs/ai/ApexModules.js.map +1 -1
  9. package/dist/cjs/ai/functions/draw.js +1 -1
  10. package/dist/cjs/ai/functions/draw.js.map +1 -1
  11. package/dist/cjs/ai/modals-chat/electronHub/imageModels.d.ts +7 -1
  12. package/dist/cjs/ai/modals-chat/electronHub/imageModels.d.ts.map +1 -1
  13. package/dist/cjs/ai/modals-chat/electronHub/imageModels.js +46 -4
  14. package/dist/cjs/ai/modals-chat/electronHub/imageModels.js.map +1 -1
  15. package/dist/cjs/ai/modals-chat/electronHub/songModels.d.ts +1 -0
  16. package/dist/cjs/ai/modals-chat/electronHub/songModels.js +1 -0
  17. package/dist/esm/ai/ApexAI.d.ts +2 -0
  18. package/dist/esm/ai/ApexAI.d.ts.map +1 -1
  19. package/dist/esm/ai/ApexAI.js +37 -34
  20. package/dist/esm/ai/ApexAI.js.map +1 -1
  21. package/dist/esm/ai/ApexModules.d.ts +2 -0
  22. package/dist/esm/ai/ApexModules.d.ts.map +1 -1
  23. package/dist/esm/ai/ApexModules.js +38 -29
  24. package/dist/esm/ai/ApexModules.js.map +1 -1
  25. package/dist/esm/ai/buttons/drawMenu.js +3 -1
  26. package/dist/esm/ai/buttons/drawMenu.js.map +1 -1
  27. package/dist/esm/ai/buttons/tools.js +5 -3
  28. package/dist/esm/ai/buttons/tools.js.map +1 -1
  29. package/dist/esm/ai/functions/chunkString.js +4 -1
  30. package/dist/esm/ai/functions/chunkString.js.map +1 -1
  31. package/dist/esm/ai/functions/draw.js +29 -23
  32. package/dist/esm/ai/functions/draw.js.map +1 -1
  33. package/dist/esm/ai/functions/generateVoiceResponse.js +23 -18
  34. package/dist/esm/ai/functions/generateVoiceResponse.js.map +1 -1
  35. package/dist/esm/ai/functions/imageReader.js +5 -3
  36. package/dist/esm/ai/functions/imageReader.js.map +1 -1
  37. package/dist/esm/ai/functions/readFiles.js +54 -15
  38. package/dist/esm/ai/functions/readFiles.js.map +1 -1
  39. package/dist/esm/ai/functions/shouldDrawImage.js +4 -1
  40. package/dist/esm/ai/functions/shouldDrawImage.js.map +1 -1
  41. package/dist/esm/ai/functions/typeWriter.js +4 -1
  42. package/dist/esm/ai/functions/typeWriter.js.map +1 -1
  43. package/dist/esm/ai/functions/validOptions.js +22 -13
  44. package/dist/esm/ai/functions/validOptions.js.map +1 -1
  45. package/dist/esm/ai/modals-chat/electronHub/chatmodels.js +9 -3
  46. package/dist/esm/ai/modals-chat/electronHub/chatmodels.js.map +1 -1
  47. package/dist/esm/ai/modals-chat/electronHub/imageModels.d.ts +7 -1
  48. package/dist/esm/ai/modals-chat/electronHub/imageModels.d.ts.map +1 -1
  49. package/dist/esm/ai/modals-chat/electronHub/imageModels.js +54 -6
  50. package/dist/esm/ai/modals-chat/electronHub/imageModels.js.map +1 -1
  51. package/dist/esm/ai/modals-chat/electronHub/songModels.d.ts +1 -0
  52. package/dist/esm/ai/modals-chat/electronHub/songModels.js +1 -0
  53. package/dist/esm/ai/modals-chat/electronHub/speechModels.js +11 -5
  54. package/dist/esm/ai/modals-chat/electronHub/speechModels.js.map +1 -1
  55. package/dist/esm/ai/modals-chat/electronHub/videoModels.js +11 -5
  56. package/dist/esm/ai/modals-chat/electronHub/videoModels.js.map +1 -1
  57. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js +32 -26
  58. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js.map +1 -1
  59. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js +32 -26
  60. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js.map +1 -1
  61. package/dist/esm/ai/modals-chat/gemini/config.js +3 -1
  62. package/dist/esm/ai/modals-chat/gemini/config.js.map +1 -1
  63. package/dist/esm/ai/modals-chat/gemini/geminiFast.js +23 -17
  64. package/dist/esm/ai/modals-chat/gemini/geminiFast.js.map +1 -1
  65. package/dist/esm/ai/modals-chat/groq/chatgroq.js +10 -4
  66. package/dist/esm/ai/modals-chat/groq/chatgroq.js.map +1 -1
  67. package/dist/esm/ai/modals-chat/groq/imageAnalyzer.js +11 -5
  68. package/dist/esm/ai/modals-chat/groq/imageAnalyzer.js.map +1 -1
  69. package/dist/esm/ai/modals-chat/groq/whisper.js +24 -18
  70. package/dist/esm/ai/modals-chat/groq/whisper.js.map +1 -1
  71. package/dist/esm/ai/modals-chat/hercai/chatModels.js +6 -3
  72. package/dist/esm/ai/modals-chat/hercai/chatModels.js.map +1 -1
  73. package/dist/esm/ai/modals-chat/others/otherModels.js +13 -7
  74. package/dist/esm/ai/modals-chat/others/otherModels.js.map +1 -1
  75. package/dist/esm/ai/utils.js +29 -12
  76. package/dist/esm/ai/utils.js.map +1 -1
  77. package/dist/esm/canvas/ApexPainter.js +92 -85
  78. package/dist/esm/canvas/ApexPainter.js.map +1 -1
  79. package/dist/esm/canvas/utils/bg.js +15 -7
  80. package/dist/esm/canvas/utils/bg.js.map +1 -1
  81. package/dist/esm/canvas/utils/charts.js +22 -14
  82. package/dist/esm/canvas/utils/charts.js.map +1 -1
  83. package/dist/esm/canvas/utils/circular.js +4 -1
  84. package/dist/esm/canvas/utils/circular.js.map +1 -1
  85. package/dist/esm/canvas/utils/conversion.js +14 -7
  86. package/dist/esm/canvas/utils/conversion.js.map +1 -1
  87. package/dist/esm/canvas/utils/customLines.js +4 -1
  88. package/dist/esm/canvas/utils/customLines.js.map +1 -1
  89. package/dist/esm/canvas/utils/general functions.js +64 -49
  90. package/dist/esm/canvas/utils/general functions.js.map +1 -1
  91. package/dist/esm/canvas/utils/imageProperties.js +16 -7
  92. package/dist/esm/canvas/utils/imageProperties.js.map +1 -1
  93. package/dist/esm/canvas/utils/radius.js +4 -1
  94. package/dist/esm/canvas/utils/radius.js.map +1 -1
  95. package/dist/esm/canvas/utils/textProperties.js +8 -3
  96. package/dist/esm/canvas/utils/textProperties.js.map +1 -1
  97. package/dist/esm/canvas/utils/types.js +2 -1
  98. package/dist/esm/canvas/utils/types.js.map +1 -1
  99. package/dist/esm/canvas/utils/utils.js +44 -10
  100. package/dist/esm/canvas/utils/utils.js.map +1 -1
  101. package/dist/esm/index.js +62 -13
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/utils.js +15 -4
  104. package/dist/esm/utils.js.map +1 -1
  105. package/lib/ai/ApexAI.ts +6 -2
  106. package/lib/ai/ApexModules.ts +4 -2
  107. package/lib/ai/functions/draw.ts +1 -1
  108. package/lib/ai/modals-chat/electronHub/imageModels.ts +72 -12
  109. package/package.json +1 -1
@@ -1,12 +1,18 @@
1
- import { createCanvas, loadImage, GlobalFonts } from "@napi-rs/canvas";
2
- import GIFEncoder from "gifencoder";
3
- import ffmpeg from 'fluent-ffmpeg';
4
- import { PassThrough } from "stream";
5
- import axios from 'axios';
6
- import fs from "fs";
7
- import path from "path";
8
- import { drawBackgroundGradient, drawBackgroundColor, customBackground, circularBorder, radiusBorder, customLines, applyRotation, applyStroke, applyShadow, imageRadius, drawShape, drawText, converter, resizingImg, applyColorFilters, imgEffects, verticalBarChart, pieChart, lineChart, cropInner, cropOuter, bgRemoval, detectColors, removeColor, dataURL, base64, arrayBuffer, blob, url } from "./utils/utils";
9
- export class ApexPainter {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ApexPainter = void 0;
7
+ const canvas_1 = require("@napi-rs/canvas");
8
+ const gifencoder_1 = __importDefault(require("gifencoder"));
9
+ const fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
10
+ const stream_1 = require("stream");
11
+ const axios_1 = __importDefault(require("axios"));
12
+ const fs_1 = __importDefault(require("fs"));
13
+ const path_1 = __importDefault(require("path"));
14
+ const utils_1 = require("./utils/utils");
15
+ class ApexPainter {
10
16
  format;
11
17
  constructor({ type } = { type: 'buffer' }) {
12
18
  this.format = { type: type || 'buffer' };
@@ -15,29 +21,29 @@ export class ApexPainter {
15
21
  let canvasWidth = canvas.width || 500;
16
22
  let canvasHeight = canvas.height || 500;
17
23
  let borderRadius = canvas.borderRadius || 0;
18
- const canvasInstance = createCanvas(canvasWidth, canvasHeight);
24
+ const canvasInstance = (0, canvas_1.createCanvas)(canvasWidth, canvasHeight);
19
25
  const ctx = canvasInstance.getContext('2d');
20
26
  if (!ctx) {
21
27
  throw new Error('Unable to get 2D rendering context from canvas');
22
28
  }
23
- applyRotation(ctx, canvas.rotation || 0, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
24
- applyShadow(ctx, canvas.shadow, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
29
+ (0, utils_1.applyRotation)(ctx, canvas.rotation || 0, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
30
+ (0, utils_1.applyShadow)(ctx, canvas.shadow, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
25
31
  if (typeof borderRadius === 'string') {
26
- circularBorder(ctx, canvasWidth, canvasHeight);
32
+ (0, utils_1.circularBorder)(ctx, canvasWidth, canvasHeight);
27
33
  }
28
34
  else if (typeof borderRadius === 'number') {
29
- radiusBorder(ctx, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight, borderRadius);
35
+ (0, utils_1.radiusBorder)(ctx, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight, borderRadius);
30
36
  }
31
37
  if (canvas.customBg) {
32
- await customBackground(ctx, canvas);
38
+ await (0, utils_1.customBackground)(ctx, canvas);
33
39
  }
34
40
  else if (canvas.gradientBg) {
35
- await drawBackgroundGradient(ctx, canvas);
41
+ await (0, utils_1.drawBackgroundGradient)(ctx, canvas);
36
42
  }
37
43
  else {
38
- await drawBackgroundColor(ctx, canvas);
44
+ await (0, utils_1.drawBackgroundColor)(ctx, canvas);
39
45
  }
40
- applyStroke(ctx, canvas.stroke, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
46
+ (0, utils_1.applyStroke)(ctx, canvas.stroke, canvas.x || 0, canvas.y || 0, canvasWidth, canvasHeight);
41
47
  return { buffer: canvasInstance.toBuffer('image/png'), canvas };
42
48
  }
43
49
  async createImage(images, canvasBuffer) {
@@ -46,10 +52,10 @@ export class ApexPainter {
46
52
  }
47
53
  let existingCanvas;
48
54
  if (Buffer.isBuffer(canvasBuffer)) {
49
- existingCanvas = await loadImage(canvasBuffer);
55
+ existingCanvas = await (0, canvas_1.loadImage)(canvasBuffer);
50
56
  }
51
57
  else if (canvasBuffer && canvasBuffer.buffer) {
52
- existingCanvas = await loadImage(canvasBuffer.buffer);
58
+ existingCanvas = await (0, canvas_1.loadImage)(canvasBuffer.buffer);
53
59
  }
54
60
  else {
55
61
  throw new Error('Invalid canvasBuffer provided, should be Buffer or CanvasResults object with buffer');
@@ -57,7 +63,7 @@ export class ApexPainter {
57
63
  if (!existingCanvas) {
58
64
  throw new Error('Unable to load image from buffer');
59
65
  }
60
- const canvas = createCanvas(existingCanvas.width, existingCanvas.height);
66
+ const canvas = (0, canvas_1.createCanvas)(existingCanvas.width, existingCanvas.height);
61
67
  const ctx = canvas.getContext('2d');
62
68
  if (!ctx) {
63
69
  throw new Error('Unable to get 2D rendering context from canvas');
@@ -75,10 +81,10 @@ export class ApexPainter {
75
81
  }
76
82
  let existingImage;
77
83
  if (Buffer.isBuffer(buffer)) {
78
- existingImage = await loadImage(buffer);
84
+ existingImage = await (0, canvas_1.loadImage)(buffer);
79
85
  }
80
86
  else if (buffer && buffer.buffer) {
81
- existingImage = await loadImage(buffer.buffer);
87
+ existingImage = await (0, canvas_1.loadImage)(buffer.buffer);
82
88
  }
83
89
  else {
84
90
  throw new Error('Invalid canvasBuffer provided. It should be a Buffer or CanvasResults object with a buffer');
@@ -86,16 +92,16 @@ export class ApexPainter {
86
92
  if (!existingImage) {
87
93
  throw new Error('Unable to load image from buffer');
88
94
  }
89
- const canvas = createCanvas(existingImage.width, existingImage.height);
95
+ const canvas = (0, canvas_1.createCanvas)(existingImage.width, existingImage.height);
90
96
  const ctx = canvas.getContext("2d");
91
97
  ctx.drawImage(existingImage, 0, 0);
92
98
  for (const textOptions of textOptionsArray) {
93
99
  const mergedTextOptions = textOptions;
94
100
  if (mergedTextOptions.fontPath) {
95
- GlobalFonts.registerFromPath(path.join(process.cwd(), mergedTextOptions.fontPath), mergedTextOptions.fontName);
101
+ canvas_1.GlobalFonts.registerFromPath(path_1.default.join(process.cwd(), mergedTextOptions.fontPath), mergedTextOptions.fontName);
96
102
  }
97
103
  const size = { width: existingImage.width, height: existingImage.height };
98
- drawText(ctx, mergedTextOptions, size);
104
+ (0, utils_1.drawText)(ctx, mergedTextOptions, size);
99
105
  }
100
106
  return canvas.toBuffer("image/png");
101
107
  }
@@ -111,10 +117,10 @@ export class ApexPainter {
111
117
  }
112
118
  let existingImage;
113
119
  if (Buffer.isBuffer(buffer)) {
114
- existingImage = await loadImage(buffer);
120
+ existingImage = await (0, canvas_1.loadImage)(buffer);
115
121
  }
116
122
  else if (buffer && buffer.buffer) {
117
- existingImage = await loadImage(buffer.buffer);
123
+ existingImage = await (0, canvas_1.loadImage)(buffer.buffer);
118
124
  }
119
125
  else {
120
126
  throw new Error('Invalid canvasBuffer provided. It should be a Buffer or CanvasResults object with a buffer');
@@ -122,10 +128,10 @@ export class ApexPainter {
122
128
  if (!existingImage) {
123
129
  throw new Error('Unable to load image from buffer');
124
130
  }
125
- const canvas = createCanvas(existingImage.width, existingImage.height);
131
+ const canvas = (0, canvas_1.createCanvas)(existingImage.width, existingImage.height);
126
132
  const ctx = canvas.getContext("2d");
127
133
  ctx.drawImage(existingImage, 0, 0);
128
- customLines(ctx, options);
134
+ (0, utils_1.customLines)(ctx, options);
129
135
  return canvas.toBuffer("image/png");
130
136
  }
131
137
  catch (error) {
@@ -135,16 +141,16 @@ export class ApexPainter {
135
141
  }
136
142
  async createGIF(gifFrames, options) {
137
143
  async function resizeImage(image, targetWidth, targetHeight) {
138
- const canvas = createCanvas(targetWidth, targetHeight);
144
+ const canvas = (0, canvas_1.createCanvas)(targetWidth, targetHeight);
139
145
  const ctx = canvas.getContext("2d");
140
146
  ctx.drawImage(image, 0, 0, targetWidth, targetHeight);
141
147
  return canvas;
142
148
  }
143
149
  function createOutputStream(outputFile) {
144
- return fs.createWriteStream(outputFile);
150
+ return fs_1.default.createWriteStream(outputFile);
145
151
  }
146
152
  function createBufferStream() {
147
- const bufferStream = new PassThrough();
153
+ const bufferStream = new stream_1.PassThrough();
148
154
  const chunks = [];
149
155
  bufferStream.on('data', (chunk) => {
150
156
  chunks.push(chunk);
@@ -186,21 +192,21 @@ export class ApexPainter {
186
192
  validateOptions(options);
187
193
  const canvasWidth = options.width || 1200;
188
194
  const canvasHeight = options.height || 1200;
189
- const encoder = new GIFEncoder(canvasWidth, canvasHeight);
195
+ const encoder = new gifencoder_1.default(canvasWidth, canvasHeight);
190
196
  const outputStream = options.outputFile ? createOutputStream(options.outputFile) : createBufferStream();
191
197
  encoder.createReadStream().pipe(outputStream);
192
198
  encoder.start();
193
199
  encoder.setRepeat(options.repeat || 0);
194
200
  encoder.setQuality(options.quality || 10);
195
- const canvas = createCanvas(canvasWidth, canvasHeight);
201
+ const canvas = (0, canvas_1.createCanvas)(canvasWidth, canvasHeight);
196
202
  const ctx = canvas.getContext("2d");
197
203
  for (const frame of gifFrames) {
198
- const image = await loadImage(frame.background);
204
+ const image = await (0, canvas_1.loadImage)(frame.background);
199
205
  const resizedImage = await resizeImage(image, canvasWidth, canvasHeight);
200
206
  ctx.clearRect(0, 0, canvas.width, canvas.height);
201
207
  ctx.drawImage(resizedImage, 0, 0);
202
208
  if (options.watermark?.enable) {
203
- const watermark = await loadImage(options.watermark.url);
209
+ const watermark = await (0, canvas_1.loadImage)(options.watermark.url);
204
210
  ctx.drawImage(watermark, 10, canvasHeight - watermark.height - 10);
205
211
  }
206
212
  if (options.textOverlay) {
@@ -240,34 +246,34 @@ export class ApexPainter {
240
246
  }
241
247
  }
242
248
  async resize(resizeOptions) {
243
- return resizingImg(resizeOptions);
249
+ return (0, utils_1.resizingImg)(resizeOptions);
244
250
  }
245
251
  async imgConverter(imagePath, newExtension) {
246
- return converter(imagePath, newExtension);
252
+ return (0, utils_1.converter)(imagePath, newExtension);
247
253
  }
248
254
  async processImage(imagePath, filters) {
249
- return imgEffects(imagePath, filters);
255
+ return (0, utils_1.imgEffects)(imagePath, filters);
250
256
  }
251
257
  async colorsFilter(imagePath, filterColor, opacity) {
252
- return applyColorFilters(imagePath, filterColor, opacity);
258
+ return (0, utils_1.applyColorFilters)(imagePath, filterColor, opacity);
253
259
  }
254
260
  async colorAnalysis(imagePath) {
255
- return detectColors(imagePath);
261
+ return (0, utils_1.detectColors)(imagePath);
256
262
  }
257
263
  async colorsRemover(imagePath, colorToRemove) {
258
- return removeColor(imagePath, colorToRemove);
264
+ return (0, utils_1.removeColor)(imagePath, colorToRemove);
259
265
  }
260
266
  async removeBackground(imageURL, apiKey) {
261
- return bgRemoval(imageURL, apiKey);
267
+ return (0, utils_1.bgRemoval)(imageURL, apiKey);
262
268
  }
263
269
  async blend(layers, baseImageBuffer) {
264
270
  try {
265
- const baseImage = await loadImage(baseImageBuffer);
266
- const canvas = createCanvas(baseImage.width, baseImage.height);
271
+ const baseImage = await (0, canvas_1.loadImage)(baseImageBuffer);
272
+ const canvas = (0, canvas_1.createCanvas)(baseImage.width, baseImage.height);
267
273
  const ctx = canvas.getContext('2d');
268
274
  ctx.drawImage(baseImage, 0, 0);
269
275
  for (const layer of layers) {
270
- const layerImage = await loadImage(layer.image);
276
+ const layerImage = await (0, canvas_1.loadImage)(layer.image);
271
277
  ctx.globalAlpha = layer.opacity !== undefined ? layer.opacity : 1.0;
272
278
  ctx.globalCompositeOperation = layer.blendMode;
273
279
  ctx.drawImage(layerImage, layer.position?.x || 0, layer.position?.y || 0);
@@ -293,7 +299,7 @@ export class ApexPainter {
293
299
  case 'bar':
294
300
  switch (chartNumber) {
295
301
  case 1:
296
- return await verticalBarChart(data);
302
+ return await (0, utils_1.verticalBarChart)(data);
297
303
  case 2:
298
304
  throw new Error('Type 2 is still under development.');
299
305
  default:
@@ -302,7 +308,7 @@ export class ApexPainter {
302
308
  case 'line':
303
309
  switch (chartNumber) {
304
310
  case 1:
305
- return await lineChart(data);
311
+ return await (0, utils_1.lineChart)(data);
306
312
  case 2:
307
313
  throw new Error('Type 2 is still under development.');
308
314
  default:
@@ -311,7 +317,7 @@ export class ApexPainter {
311
317
  case 'pie':
312
318
  switch (chartNumber) {
313
319
  case 1:
314
- return await pieChart(data);
320
+ return await (0, utils_1.pieChart)(data);
315
321
  case 2:
316
322
  throw new Error('Type 2 is still under development.');
317
323
  default:
@@ -328,10 +334,10 @@ export class ApexPainter {
328
334
  if (!options.coordinates || options.coordinates.length < 3)
329
335
  throw new Error('The "coordinates" option is needed. Please provide coordinates to crop the image.');
330
336
  if (options.crop === 'outer') {
331
- return await cropOuter(options);
337
+ return await (0, utils_1.cropOuter)(options);
332
338
  }
333
339
  else if (options.crop === 'inner') {
334
- return await cropInner(options);
340
+ return await (0, utils_1.cropInner)(options);
335
341
  }
336
342
  else {
337
343
  throw new Error('Invalid crop option. Please specify "inner" or "outer".');
@@ -355,15 +361,15 @@ export class ApexPainter {
355
361
  ctx.globalAlpha = opacity;
356
362
  }
357
363
  if (source.startsWith('http')) {
358
- img = await loadImage(source);
364
+ img = await (0, canvas_1.loadImage)(source);
359
365
  }
360
366
  else if (isShape) {
361
- drawShape(ctx, { source, x, y, width, height, rotation, borderRadius, stroke, shadow, isFilled, color, gradient, borderPosition });
367
+ (0, utils_1.drawShape)(ctx, { source, x, y, width, height, rotation, borderRadius, stroke, shadow, isFilled, color, gradient, borderPosition });
362
368
  }
363
369
  else {
364
- const imagePath = path.join(process.cwd(), source);
370
+ const imagePath = path_1.default.join(process.cwd(), source);
365
371
  try {
366
- img = await loadImage(imagePath);
372
+ img = await (0, canvas_1.loadImage)(imagePath);
367
373
  }
368
374
  catch (e) {
369
375
  throw new Error(`Error loading image: ${e.message}`);
@@ -371,10 +377,10 @@ export class ApexPainter {
371
377
  }
372
378
  if (img) {
373
379
  ctx.save();
374
- applyRotation(ctx, rotation || 0, x, y, width, height);
375
- applyShadow(ctx, shadow, x, y, width, height);
376
- imageRadius(ctx, img, x, y, width, height, borderRadius || 0, borderPosition);
377
- applyStroke(ctx, stroke, x, y, width, height);
380
+ (0, utils_1.applyRotation)(ctx, rotation || 0, x, y, width, height);
381
+ (0, utils_1.applyShadow)(ctx, shadow, x, y, width, height);
382
+ (0, utils_1.imageRadius)(ctx, img, x, y, width, height, borderRadius || 0, borderPosition);
383
+ (0, utils_1.applyStroke)(ctx, stroke, x, y, width, height);
378
384
  ctx.restore();
379
385
  }
380
386
  else if (!isShape) {
@@ -390,34 +396,34 @@ export class ApexPainter {
390
396
  }
391
397
  async extractFrames(videoSource, options) {
392
398
  const frames = [];
393
- const frameDir = path.join(__dirname, 'frames');
394
- if (!fs.existsSync(frameDir)) {
395
- fs.mkdirSync(frameDir);
399
+ const frameDir = path_1.default.join(__dirname, 'frames');
400
+ if (!fs_1.default.existsSync(frameDir)) {
401
+ fs_1.default.mkdirSync(frameDir);
396
402
  }
397
- const videoPath = typeof videoSource === 'string' ? videoSource : path.join(frameDir, 'temp-video.mp4');
403
+ const videoPath = typeof videoSource === 'string' ? videoSource : path_1.default.join(frameDir, 'temp-video.mp4');
398
404
  if (Buffer.isBuffer(videoSource)) {
399
- fs.writeFileSync(videoPath, videoSource);
405
+ fs_1.default.writeFileSync(videoPath, videoSource);
400
406
  }
401
407
  else if (videoSource.startsWith('http')) {
402
- await axios({
408
+ await (0, axios_1.default)({
403
409
  method: 'get',
404
410
  url: videoSource,
405
411
  responseType: 'arraybuffer'
406
412
  })
407
413
  .then((response) => {
408
- fs.writeFileSync(videoPath, response.data);
414
+ fs_1.default.writeFileSync(videoPath, response.data);
409
415
  })
410
416
  .catch(err => {
411
417
  throw new Error(`Error downloading video: ${err.message}`);
412
418
  });
413
419
  }
414
- else if (!fs.existsSync(videoPath)) {
420
+ else if (!fs_1.default.existsSync(videoPath)) {
415
421
  throw new Error("Video file not found at specified path.");
416
422
  }
417
423
  function processVideoExtraction(videoPath, frames, options, resolve, reject) {
418
424
  const outputFormat = options.outputFormat || 'jpg';
419
425
  const outputFileTemplate = `frame-%03d.${outputFormat}`;
420
- ffmpeg(videoPath)
426
+ (0, fluent_ffmpeg_1.default)(videoPath)
421
427
  .on('end', () => {
422
428
  console.log('Frames extracted successfully.');
423
429
  resolve(frames);
@@ -427,8 +433,8 @@ export class ApexPainter {
427
433
  reject(err);
428
434
  })
429
435
  .outputOptions([`-vf fps=1/${options.interval / 1000}`, `-q:v 2`])
430
- .saveToFile(path.join(frameDir, outputFileTemplate));
431
- ffmpeg.ffprobe(videoPath, (err, metadata) => {
436
+ .saveToFile(path_1.default.join(frameDir, outputFileTemplate));
437
+ fluent_ffmpeg_1.default.ffprobe(videoPath, (err, metadata) => {
432
438
  if (err) {
433
439
  return reject(err);
434
440
  }
@@ -442,7 +448,7 @@ export class ApexPainter {
442
448
  continue;
443
449
  }
444
450
  frames.push({
445
- source: path.join(frameDir, `frame-${String(i).padStart(3, '0')}.${outputFormat}`),
451
+ source: path_1.default.join(frameDir, `frame-${String(i).padStart(3, '0')}.${outputFormat}`),
446
452
  isRemote: false
447
453
  });
448
454
  }
@@ -459,8 +465,8 @@ export class ApexPainter {
459
465
  * @returns {Promise<Buffer>} - The adjusted image buffer.
460
466
  */
461
467
  async setPatternBackground(buffer, options) {
462
- const img = await loadImage(buffer);
463
- const canvas = createCanvas(img.width, img.height);
468
+ const img = await (0, canvas_1.loadImage)(buffer);
469
+ const canvas = (0, canvas_1.createCanvas)(img.width, img.height);
464
470
  const ctx = canvas.getContext('2d');
465
471
  ctx.drawImage(img, 0, 0);
466
472
  const x = options.x || 0;
@@ -629,7 +635,7 @@ export class ApexPainter {
629
635
  if (!options.customPatternImage) {
630
636
  throw new Error('Custom pattern image path is required for custom patterns.');
631
637
  }
632
- const patternImage = await loadImage(options.customPatternImage);
638
+ const patternImage = await (0, canvas_1.loadImage)(options.customPatternImage);
633
639
  const pattern = ctx.createPattern(patternImage, 'repeat');
634
640
  ctx.fillStyle = pattern;
635
641
  ctx.translate(x, y);
@@ -647,8 +653,8 @@ export class ApexPainter {
647
653
  if (!options.gifPath) {
648
654
  throw new Error("GIF generation enabled but no gifPath provided.");
649
655
  }
650
- encoder = new GIFEncoder(defaultWidth, defaultHeight);
651
- gifStream = fs.createWriteStream(options.gifPath);
656
+ encoder = new gifencoder_1.default(defaultWidth, defaultHeight);
657
+ gifStream = fs_1.default.createWriteStream(options.gifPath);
652
658
  encoder.createReadStream().pipe(gifStream);
653
659
  encoder.start();
654
660
  encoder.setRepeat(0);
@@ -658,7 +664,7 @@ export class ApexPainter {
658
664
  const frame = frames[i];
659
665
  const width = frame.width || defaultWidth;
660
666
  const height = frame.height || defaultHeight;
661
- const canvas = createCanvas(width, height);
667
+ const canvas = (0, canvas_1.createCanvas)(width, height);
662
668
  const ctx = canvas.getContext('2d');
663
669
  if (!isNode) {
664
670
  canvas.width = width;
@@ -690,7 +696,7 @@ export class ApexPainter {
690
696
  fillStyle = gradient;
691
697
  }
692
698
  if (frame.pattern) {
693
- const patternImage = await loadImage(frame.pattern.imagePath);
699
+ const patternImage = await (0, canvas_1.loadImage)(frame.pattern.imagePath);
694
700
  const pattern = ctx.createPattern(patternImage, frame.pattern.repeat || 'repeat');
695
701
  fillStyle = pattern;
696
702
  }
@@ -702,7 +708,7 @@ export class ApexPainter {
702
708
  ctx.fillRect(0, 0, width, height);
703
709
  }
704
710
  if (frame.imagePath) {
705
- const image = await loadImage(frame.imagePath);
711
+ const image = await (0, canvas_1.loadImage)(frame.imagePath);
706
712
  ctx.globalCompositeOperation = frame.blendMode || 'source-over';
707
713
  ctx.drawImage(image, 0, 0, width, height);
708
714
  }
@@ -743,18 +749,19 @@ export class ApexPainter {
743
749
  case 'buffer':
744
750
  return results;
745
751
  case 'url':
746
- return await url(results);
752
+ return await (0, utils_1.url)(results);
747
753
  case 'dataURL':
748
- return dataURL(results);
754
+ return (0, utils_1.dataURL)(results);
749
755
  case 'blob':
750
- return blob(results);
756
+ return (0, utils_1.blob)(results);
751
757
  case 'base64':
752
- return base64(results);
758
+ return (0, utils_1.base64)(results);
753
759
  case 'arraybuffer':
754
- return arrayBuffer(results);
760
+ return (0, utils_1.arrayBuffer)(results);
755
761
  default:
756
762
  throw new Error('Unsupported format');
757
763
  }
758
764
  }
759
765
  }
766
+ exports.ApexPainter = ApexPainter;
760
767
  //# sourceMappingURL=ApexPainter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApexPainter.js","sourceRoot":"","sources":["../../../lib/canvas/ApexPainter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApexPainter.js","sourceRoot":"","sources":["../../../lib/canvas/ApexPainter.ts"],"names":[],"mappings":"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"}