apexify.js 3.2.4 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/README.md +4 -802
  3. package/change logs.md +19 -0
  4. package/dist/ai/ApexAI.d.ts +15 -6
  5. package/dist/ai/ApexAI.d.ts.map +1 -1
  6. package/dist/ai/ApexAI.js +110 -32
  7. package/dist/ai/ApexAI.js.map +1 -1
  8. package/dist/ai/buttons/tools.d.ts.map +1 -1
  9. package/dist/ai/buttons/tools.js +1 -1
  10. package/dist/ai/buttons/tools.js.map +1 -1
  11. package/dist/ai/functions/aivoice.d.ts +1 -0
  12. package/dist/ai/functions/aivoice.d.ts.map +1 -0
  13. package/dist/ai/functions/aivoice.js +2 -0
  14. package/dist/ai/functions/aivoice.js.map +1 -0
  15. package/dist/ai/functions/draw.d.ts +1 -1
  16. package/dist/ai/functions/draw.d.ts.map +1 -1
  17. package/dist/ai/functions/draw.js +12 -1
  18. package/dist/ai/functions/draw.js.map +1 -1
  19. package/dist/ai/functions/generateVoiceResponse.d.ts +1 -1
  20. package/dist/ai/functions/generateVoiceResponse.d.ts.map +1 -1
  21. package/dist/ai/functions/generateVoiceResponse.js +3 -3
  22. package/dist/ai/functions/generateVoiceResponse.js.map +1 -1
  23. package/dist/ai/models.d.ts +1 -1
  24. package/dist/ai/models.d.ts.map +1 -1
  25. package/dist/ai/models.js +46 -28
  26. package/dist/ai/models.js.map +1 -1
  27. package/dist/ai/utils.d.ts.map +1 -1
  28. package/dist/ai/utils.js.map +1 -1
  29. package/dist/canvas/ApexPainter.d.ts +10 -10
  30. package/dist/canvas/ApexPainter.d.ts.map +1 -1
  31. package/dist/canvas/ApexPainter.js +21 -26
  32. package/dist/canvas/ApexPainter.js.map +1 -1
  33. package/dist/canvas/utils/bg.d.ts +1 -2
  34. package/dist/canvas/utils/bg.d.ts.map +1 -1
  35. package/dist/canvas/utils/bg.js +2 -5
  36. package/dist/canvas/utils/bg.js.map +1 -1
  37. package/dist/canvas/utils/charts.js +26 -26
  38. package/dist/canvas/utils/charts.js.map +1 -1
  39. package/dist/canvas/utils/general functions.d.ts +7 -7
  40. package/dist/canvas/utils/general functions.d.ts.map +1 -1
  41. package/dist/canvas/utils/general functions.js +47 -52
  42. package/dist/canvas/utils/general functions.js.map +1 -1
  43. package/dist/canvas/utils/types.d.ts +1 -3
  44. package/dist/canvas/utils/types.d.ts.map +1 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +45 -1
  47. package/dist/index.js.map +1 -1
  48. package/lib/ai/ApexAI.ts +550 -0
  49. package/lib/ai/buttons/drawMenu.ts +361 -0
  50. package/lib/ai/buttons/tools.ts +550 -0
  51. package/lib/ai/functions/chunkString.ts +3 -0
  52. package/lib/ai/functions/draw.ts +440 -0
  53. package/lib/ai/functions/generateVoiceResponse.ts +177 -0
  54. package/lib/ai/functions/imageReader.ts +24 -0
  55. package/lib/ai/functions/readFiles.ts +34 -0
  56. package/lib/ai/functions/readImagess.ts +41 -0
  57. package/lib/ai/functions/shouldDrawImage.ts +7 -0
  58. package/lib/ai/functions/typeWriter.ts +24 -0
  59. package/lib/ai/models.ts +589 -0
  60. package/lib/ai/utils.ts +23 -0
  61. package/lib/canvas/ApexPainter.ts +572 -0
  62. package/lib/canvas/utils/bg.ts +79 -0
  63. package/lib/canvas/utils/charts.ts +524 -0
  64. package/lib/canvas/utils/circular.ts +17 -0
  65. package/lib/canvas/utils/customLines.ts +49 -0
  66. package/lib/canvas/utils/general functions.ts +434 -0
  67. package/lib/canvas/utils/imageProperties.ts +403 -0
  68. package/lib/canvas/utils/radius.ts +26 -0
  69. package/lib/canvas/utils/textProperties.ts +68 -0
  70. package/lib/canvas/utils/types.ts +417 -0
  71. package/lib/canvas/utils/utils.ts +59 -0
  72. package/lib/index.ts +88 -0
  73. package/lib/utils.ts +8 -0
  74. package/package.json +15 -2
  75. package/tsconfig.json +21 -0
@@ -9,7 +9,7 @@ const path_1 = __importDefault(require("path"));
9
9
  const axios_1 = __importDefault(require("axios"));
10
10
  ////////////////////////////////////////BAR CHARTS////////////////////////////////////////
11
11
  async function verticalBarChart(data) {
12
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
12
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
13
13
  try {
14
14
  const { chartData, xLabels, yLabels, data: { xAxis, yAxis, keys, keyColor, xTitle, yTitle, labelStyle } } = data;
15
15
  if (!xLabels || !yLabels || !xAxis || !yAxis) {
@@ -38,22 +38,22 @@ async function verticalBarChart(data) {
38
38
  img = await (0, canvas_1.loadImage)(Buffer.from(response.data, 'binary'));
39
39
  }
40
40
  else {
41
- const imagePath = path_1.default.resolve((_d = chartData.bg) === null || _d === void 0 ? void 0 : _d.baseDir, (_e = chartData.bg) === null || _e === void 0 ? void 0 : _e.image);
41
+ const imagePath = path_1.default.join(process.cwd(), (_d = chartData.bg) === null || _d === void 0 ? void 0 : _d.image);
42
42
  img = await (0, canvas_1.loadImage)(imagePath);
43
43
  }
44
44
  }
45
45
  const canvas = (0, canvas_1.createCanvas)(800, 600);
46
46
  const ctx = canvas.getContext('2d');
47
- if ((_f = chartData === null || chartData === void 0 ? void 0 : chartData.bg) === null || _f === void 0 ? void 0 : _f.image) {
47
+ if ((_e = chartData === null || chartData === void 0 ? void 0 : chartData.bg) === null || _e === void 0 ? void 0 : _e.image) {
48
48
  ctx.drawImage(img, 0, 0, 800, 600);
49
49
  }
50
50
  else {
51
- ctx.fillStyle = ((_g = chartData === null || chartData === void 0 ? void 0 : chartData.bg) === null || _g === void 0 ? void 0 : _g.bgColor) || 'white';
51
+ ctx.fillStyle = ((_f = chartData === null || chartData === void 0 ? void 0 : chartData.bg) === null || _f === void 0 ? void 0 : _f.bgColor) || 'white';
52
52
  ctx.fillRect(0, 0, canvasWidth, canvasHeight);
53
53
  }
54
- ctx.fillStyle = `${((_h = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _h === void 0 ? void 0 : _h.color) || 'black'}`;
55
- ctx.font = `bold ${((_j = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _j === void 0 ? void 0 : _j.size) || 12}px Arial`;
56
- ctx.fillText(((_k = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _k === void 0 ? void 0 : _k.title) || 'Sample Chart', (canvasWidth - ctx.measureText(((_l = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _l === void 0 ? void 0 : _l.title) || 'Sample Chart').width) / 2, 30);
54
+ ctx.fillStyle = `${((_g = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _g === void 0 ? void 0 : _g.color) || 'black'}`;
55
+ ctx.font = `bold ${((_h = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _h === void 0 ? void 0 : _h.size) || 12}px Arial`;
56
+ ctx.fillText(((_j = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _j === void 0 ? void 0 : _j.title) || 'Sample Chart', (canvasWidth - ctx.measureText(((_k = chartData === null || chartData === void 0 ? void 0 : chartData.title) === null || _k === void 0 ? void 0 : _k.title) || 'Sample Chart').width) / 2, 30);
57
57
  if (keys && Object.keys(keys).length > 0) {
58
58
  const keysTopMargin = 70;
59
59
  const keysLeftMargin = chartWidth + 60;
@@ -76,18 +76,18 @@ async function verticalBarChart(data) {
76
76
  }
77
77
  const chartTopMargin = 50;
78
78
  const chartLeftMargin = 50;
79
- ctx.strokeStyle = ((_m = chartData === null || chartData === void 0 ? void 0 : chartData.grid) === null || _m === void 0 ? void 0 : _m.color) || 'gray';
79
+ ctx.strokeStyle = ((_l = chartData === null || chartData === void 0 ? void 0 : chartData.grid) === null || _l === void 0 ? void 0 : _l.color) || 'gray';
80
80
  ctx.lineWidth = 1;
81
81
  ctx.beginPath();
82
82
  ctx.moveTo(chartLeftMargin, chartTopMargin);
83
83
  ctx.lineTo(chartLeftMargin, chartTopMargin + chartHeight);
84
84
  ctx.lineTo(chartLeftMargin + chartWidth, chartTopMargin + chartHeight);
85
85
  ctx.stroke();
86
- if ((_o = chartData === null || chartData === void 0 ? void 0 : chartData.grid) === null || _o === void 0 ? void 0 : _o.enable) {
86
+ if ((_m = chartData === null || chartData === void 0 ? void 0 : chartData.grid) === null || _m === void 0 ? void 0 : _m.enable) {
87
87
  drawGridLines(ctx, chartLeftMargin, chartTopMargin, chartWidth, chartHeight, xLabels, yLabels, chartData.grid);
88
88
  }
89
- ctx.fillStyle = `${((_p = chartData === null || chartData === void 0 ? void 0 : chartData.labels) === null || _p === void 0 ? void 0 : _p.color) || 'black'}`;
90
- ctx.font = `bold ${((_q = chartData === null || chartData === void 0 ? void 0 : chartData.labels) === null || _q === void 0 ? void 0 : _q.fontSize) || 16}px Arial`;
89
+ ctx.fillStyle = `${((_o = chartData === null || chartData === void 0 ? void 0 : chartData.labels) === null || _o === void 0 ? void 0 : _o.color) || 'black'}`;
90
+ ctx.font = `bold ${((_p = chartData === null || chartData === void 0 ? void 0 : chartData.labels) === null || _p === void 0 ? void 0 : _p.fontSize) || 16}px Arial`;
91
91
  xLabels.forEach((label, index) => {
92
92
  const x = chartLeftMargin + index * (chartWidth / (xLabels.length - 1));
93
93
  const y = chartTopMargin + chartHeight + 20;
@@ -99,8 +99,8 @@ async function verticalBarChart(data) {
99
99
  const y = chartTopMargin + chartHeight - index * (chartHeight / (yLabels.length - 1));
100
100
  ctx.fillText(String(label), x, y + 5);
101
101
  });
102
- ctx.fillStyle = `${((_r = chartData === null || chartData === void 0 ? void 0 : chartData.axis) === null || _r === void 0 ? void 0 : _r.color) || 'black'}`;
103
- ctx.font = `bold ${((_s = chartData === null || chartData === void 0 ? void 0 : chartData.axis) === null || _s === void 0 ? void 0 : _s.size) || 12}px Arial`;
102
+ ctx.fillStyle = `${((_q = chartData === null || chartData === void 0 ? void 0 : chartData.axis) === null || _q === void 0 ? void 0 : _q.color) || 'black'}`;
103
+ ctx.font = `bold ${((_r = chartData === null || chartData === void 0 ? void 0 : chartData.axis) === null || _r === void 0 ? void 0 : _r.size) || 12}px Arial`;
104
104
  ctx.fillText(xTitle || 'X Axis', 30 + canvasWidth / 2, canvasHeight - 15);
105
105
  ctx.save();
106
106
  ctx.translate(10, canvasHeight / 2);
@@ -269,7 +269,7 @@ async function pieChart(pieChartData) {
269
269
  exports.pieChart = pieChart;
270
270
  ////////////////////////////////////////LINE CHARTS////////////////////////////////////////
271
271
  async function lineChart(data) {
272
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
272
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
273
273
  if (!data || !data.data || !Array.isArray(data.data) || data.data.length === 0 || !data.lineConfig) {
274
274
  throw new Error('Invalid data object or missing data properties');
275
275
  }
@@ -301,7 +301,7 @@ async function lineChart(data) {
301
301
  img = await (0, canvas_1.loadImage)(Buffer.from(response.data, 'binary'));
302
302
  }
303
303
  else {
304
- const imagePath = path_1.default.resolve((_o = (_m = data.lineConfig) === null || _m === void 0 ? void 0 : _m.canvas) === null || _o === void 0 ? void 0 : _o.baseDir, (_q = (_p = data.lineConfig) === null || _p === void 0 ? void 0 : _p.canvas) === null || _q === void 0 ? void 0 : _q.image);
304
+ const imagePath = path_1.default.join(process.cwd(), (_o = (_m = data.lineConfig) === null || _m === void 0 ? void 0 : _m.canvas) === null || _o === void 0 ? void 0 : _o.image);
305
305
  img = await (0, canvas_1.loadImage)(imagePath);
306
306
  }
307
307
  }
@@ -310,14 +310,14 @@ async function lineChart(data) {
310
310
  const xAxisLabels = data.data[0].map(point => point.label);
311
311
  const yAxisLabel = 'Y Axis';
312
312
  ctx.font = '16px Arial';
313
- if ((_s = (_r = data.lineConfig) === null || _r === void 0 ? void 0 : _r.canvas) === null || _s === void 0 ? void 0 : _s.image) {
313
+ if ((_q = (_p = data.lineConfig) === null || _p === void 0 ? void 0 : _p.canvas) === null || _q === void 0 ? void 0 : _q.image) {
314
314
  ctx.drawImage(img, 0, 0, 800, 600);
315
315
  }
316
316
  else {
317
- ctx.fillStyle = ((_u = (_t = data.lineConfig) === null || _t === void 0 ? void 0 : _t.canvas) === null || _u === void 0 ? void 0 : _u.bgColor) || '#f0f0f0';
317
+ ctx.fillStyle = ((_s = (_r = data.lineConfig) === null || _r === void 0 ? void 0 : _r.canvas) === null || _s === void 0 ? void 0 : _s.bgColor) || '#f0f0f0';
318
318
  ctx.fillRect(0, 0, canvasWidth, canvasHeight);
319
319
  }
320
- if ((_v = data.lineConfig) === null || _v === void 0 ? void 0 : _v.grid) {
320
+ if ((_t = data.lineConfig) === null || _t === void 0 ? void 0 : _t.grid) {
321
321
  const grid = data.lineConfig.grid;
322
322
  ctx.strokeStyle = grid.color || '#ccc';
323
323
  ctx.lineWidth = grid.width || 1;
@@ -402,8 +402,8 @@ async function lineChart(data) {
402
402
  });
403
403
  }
404
404
  });
405
- ctx.fillStyle = ((_x = (_w = data.lineConfig) === null || _w === void 0 ? void 0 : _w.canvas) === null || _x === void 0 ? void 0 : _x.fontColor) || 'black';
406
- ctx.font = `${((_z = (_y = data.lineConfig) === null || _y === void 0 ? void 0 : _y.canvas) === null || _z === void 0 ? void 0 : _z.fontSize) || 16}px Arial`;
405
+ ctx.fillStyle = ((_v = (_u = data.lineConfig) === null || _u === void 0 ? void 0 : _u.canvas) === null || _v === void 0 ? void 0 : _v.fontColor) || 'black';
406
+ ctx.font = `${((_x = (_w = data.lineConfig) === null || _w === void 0 ? void 0 : _w.canvas) === null || _x === void 0 ? void 0 : _x.fontSize) || 16}px Arial`;
407
407
  ctx.textAlign = 'center';
408
408
  ctx.textBaseline = 'top';
409
409
  xAxisLabels.forEach((label, index) => {
@@ -418,11 +418,11 @@ async function lineChart(data) {
418
418
  ctx.fillText(label, 40, y);
419
419
  });
420
420
  if (lineConfig.keys && typeof lineConfig.keys === 'object') {
421
- const keyRadius = ((_0 = lineConfig.keysConfig) === null || _0 === void 0 ? void 0 : _0.radius) || 10;
422
- const keyPadding = ((_1 = lineConfig.keysConfig) === null || _1 === void 0 ? void 0 : _1.keyPadding) || 30;
423
- const textPadding = ((_2 = lineConfig.keysConfig) === null || _2 === void 0 ? void 0 : _2.textPadding) || 60;
424
- const lineLength = 2 * keyRadius + 9 + (((_3 = lineConfig.keysConfig) === null || _3 === void 0 ? void 0 : _3.textPadding) || 0);
425
- const lineWidth = ((_4 = lineConfig.keysConfig) === null || _4 === void 0 ? void 0 : _4.lineWidth) || 3;
421
+ const keyRadius = ((_y = lineConfig.keysConfig) === null || _y === void 0 ? void 0 : _y.radius) || 10;
422
+ const keyPadding = ((_z = lineConfig.keysConfig) === null || _z === void 0 ? void 0 : _z.keyPadding) || 30;
423
+ const textPadding = ((_0 = lineConfig.keysConfig) === null || _0 === void 0 ? void 0 : _0.textPadding) || 60;
424
+ const lineLength = 2 * keyRadius + 9 + (((_1 = lineConfig.keysConfig) === null || _1 === void 0 ? void 0 : _1.textPadding) || 0);
425
+ const lineWidth = ((_2 = lineConfig.keysConfig) === null || _2 === void 0 ? void 0 : _2.lineWidth) || 3;
426
426
  let totalKeyWidth = 0;
427
427
  for (const color in lineConfig.keys) {
428
428
  const keyText = lineConfig.keys[color];
@@ -443,7 +443,7 @@ async function lineChart(data) {
443
443
  ctx.lineWidth = lineWidth;
444
444
  ctx.stroke();
445
445
  ctx.closePath();
446
- ctx.fillStyle = ((_5 = lineConfig.keysConfig) === null || _5 === void 0 ? void 0 : _5.fontColor) || 'black';
446
+ ctx.fillStyle = ((_3 = lineConfig.keysConfig) === null || _3 === void 0 ? void 0 : _3.fontColor) || 'black';
447
447
  ctx.fillText(keyText, startX + (2 * keyRadius) + keyPadding + textPadding, 20 + keyRadius);
448
448
  startX += ctx.measureText(keyText).width + keyPadding + (2 * keyRadius) + textPadding + keyPadding;
449
449
  }
@@ -1 +1 @@
1
- {"version":3,"file":"charts.js","sourceRoot":"","sources":["../../../lib/canvas/utils/charts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charts.js","sourceRoot":"","sources":["../../../lib/canvas/utils/charts.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import sharp from 'sharp';
3
3
  import { cropOptions } from './types';
4
- export declare function loadImages(imagePath: string, baseDir?: string): Promise<sharp.Sharp>;
5
- export declare function resizingImg(resizeOptions: any, baseDir?: any): Promise<Buffer>;
6
- export declare function converter(imagePath: string, newExtension: string, baseDir?: any): Promise<Buffer>;
7
- export declare function applyColorFilters(imagePath: string, filterColor: string, baseDir?: any): Promise<any>;
8
- export declare function imgEffects(imagePath: string, filters: any[], baseDir?: any): Promise<void | Buffer>;
4
+ export declare function loadImages(imagePath: string): Promise<sharp.Sharp>;
5
+ export declare function resizingImg(resizeOptions: any): Promise<any>;
6
+ export declare function converter(imagePath: string, newExtension: string): Promise<Buffer>;
7
+ export declare function applyColorFilters(imagePath: string, filterColor: string): Promise<any>;
8
+ export declare function imgEffects(imagePath: string, filters: any[]): Promise<Buffer>;
9
9
  export declare function cropInner(options: cropOptions): Promise<any>;
10
10
  export declare function cropOuter(options: cropOptions): Promise<any>;
11
- export declare function detectColors(imagePath: string, baseDir?: any): Promise<{
11
+ export declare function detectColors(imagePath: string): Promise<{
12
12
  color: string;
13
13
  frequency: string;
14
14
  }[]>;
@@ -16,6 +16,6 @@ export declare function removeColor(inputImagePath: string, colorToRemove: {
16
16
  red: number;
17
17
  green: number;
18
18
  blue: number;
19
- }, baseDir?: any): Promise<Buffer | undefined>;
19
+ }): Promise<Buffer | undefined>;
20
20
  export declare function bgRemoval(imgURL: string, API_KEY: string): Promise<Buffer | undefined>;
21
21
  //# sourceMappingURL=general%20functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general functions.d.ts","sourceRoot":"","sources":["../../../lib/canvas/utils/general functions.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,wBA2BnE;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,mBAuClE;AAED,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,mBA4BrF;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,gBA6B5F;AAGD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAG,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,0BA+FjF;AAGD,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAuDlE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAmClE;AAGD,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CA6CpH;AAED,wBAAsB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoCjK;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB5F"}
1
+ {"version":3,"file":"general functions.d.ts","sourceRoot":"","sources":["../../../lib/canvas/utils/general functions.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,wBAmBjD;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAiClE;AAED,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBA+BtE;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBA4B7E;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAG,OAAO,EAAE,GAAG,EAAE,mBAyFlE;AAGD,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CA8DlE;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CA0ClE;AAGD,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CA6CrG;AAED,wBAAsB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoClJ;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqB5F"}
@@ -9,25 +9,19 @@ const path_1 = __importDefault(require("path"));
9
9
  const sharp_1 = __importDefault(require("sharp"));
10
10
  const canvas_1 = require("@napi-rs/canvas");
11
11
  const jimp_1 = __importDefault(require("jimp"));
12
- async function loadImages(imagePath, baseDir) {
12
+ async function loadImages(imagePath) {
13
13
  try {
14
14
  if (!imagePath) {
15
15
  throw new Error("Image path is required.");
16
16
  }
17
17
  if (imagePath.startsWith("http")) {
18
- if (baseDir) {
19
- throw new Error("No need for baseDir when using an image URL.");
20
- }
21
18
  const response = await axios_1.default.get(imagePath, {
22
19
  responseType: "arraybuffer",
23
20
  });
24
21
  return (0, sharp_1.default)(response.data);
25
22
  }
26
23
  else {
27
- if (!baseDir) {
28
- throw new Error("baseDir is required for local file paths.");
29
- }
30
- const absolutePath = path_1.default.resolve(baseDir, imagePath);
24
+ const absolutePath = path_1.default.join(process.cwd(), imagePath);
31
25
  return (0, sharp_1.default)(absolutePath);
32
26
  }
33
27
  }
@@ -37,32 +31,27 @@ async function loadImages(imagePath, baseDir) {
37
31
  }
38
32
  }
39
33
  exports.loadImages = loadImages;
40
- async function resizingImg(resizeOptions, baseDir) {
34
+ async function resizingImg(resizeOptions) {
35
+ var _a, _b, _c, _d;
41
36
  try {
42
37
  if (!resizeOptions.imagePath) {
43
38
  throw new Error("Image path is required for resizing.");
44
39
  }
45
- let imagePath;
46
- if (Buffer.isBuffer(resizeOptions.imagePath)) {
47
- const resizedBuffer = await (0, sharp_1.default)(resizeOptions.imagePath)
48
- .resize(resizeOptions.size.width, resizeOptions.size.height)
49
- .toBuffer();
50
- return resizedBuffer;
51
- }
40
+ let absoluteImagePath;
52
41
  if (resizeOptions.imagePath.startsWith("http")) {
53
- if (baseDir) {
54
- throw new Error("No need for baseDir when using an image URL.");
55
- }
56
- imagePath = resizeOptions.imagePath;
42
+ absoluteImagePath = resizeOptions.imagePath;
57
43
  }
58
44
  else {
59
- if (!baseDir) {
60
- throw new Error("baseDir is required for local file paths.");
61
- }
62
- imagePath = path_1.default.resolve(baseDir, resizeOptions.imagePath);
45
+ absoluteImagePath = path_1.default.join(process.cwd(), resizeOptions.imagePath);
63
46
  }
64
- const image = await loadImages(imagePath, baseDir);
65
- const resizedBuffer = await image.resize(resizeOptions.size).toBuffer();
47
+ const image = await (0, canvas_1.loadImage)(absoluteImagePath);
48
+ const canvas = (0, canvas_1.createCanvas)(((_a = resizeOptions.size) === null || _a === void 0 ? void 0 : _a.width) || 500, ((_b = resizeOptions.size) === null || _b === void 0 ? void 0 : _b.height) || 500);
49
+ const ctx = canvas.getContext('2d');
50
+ if (!ctx) {
51
+ throw new Error('Unable to get 2D rendering context from canvas');
52
+ }
53
+ ctx.drawImage(image, 0, 0, ((_c = resizeOptions.size) === null || _c === void 0 ? void 0 : _c.width) || 500, ((_d = resizeOptions.size) === null || _d === void 0 ? void 0 : _d.height) || 500);
54
+ const resizedBuffer = await canvas.toBuffer('image/png');
66
55
  return resizedBuffer;
67
56
  }
68
57
  catch (error) {
@@ -71,8 +60,13 @@ async function resizingImg(resizeOptions, baseDir) {
71
60
  }
72
61
  }
73
62
  exports.resizingImg = resizingImg;
74
- async function converter(imagePath, newExtension, baseDir) {
63
+ async function converter(imagePath, newExtension) {
75
64
  try {
65
+ const validExtensions = ['jpeg', 'png', 'webp', 'tiff', 'gif', 'avif', 'heif', 'raw', 'pdf', 'svg'];
66
+ const newExt = newExtension.toLowerCase();
67
+ if (!validExtensions.includes(newExt)) {
68
+ throw new Error(`Invalid image format: ${newExt}`);
69
+ }
76
70
  let image;
77
71
  if (imagePath.startsWith("http")) {
78
72
  const response = await axios_1.default.get(imagePath, {
@@ -84,13 +78,10 @@ async function converter(imagePath, newExtension, baseDir) {
84
78
  if (!imagePath) {
85
79
  throw new Error("Image path is required.");
86
80
  }
87
- if (!baseDir) {
88
- throw new Error("baseDir is required for local file paths.");
89
- }
90
- const absolutePath = path_1.default.resolve(baseDir, imagePath);
81
+ const absolutePath = path_1.default.join(process.cwd(), imagePath);
91
82
  image = (0, sharp_1.default)(absolutePath);
92
83
  }
93
- const convertedBuffer = await image.toFormat(newExtension).toBuffer();
84
+ const convertedBuffer = await image.toFormat(newExt).toBuffer();
94
85
  return convertedBuffer;
95
86
  }
96
87
  catch (error) {
@@ -99,18 +90,15 @@ async function converter(imagePath, newExtension, baseDir) {
99
90
  }
100
91
  }
101
92
  exports.converter = converter;
102
- async function applyColorFilters(imagePath, filterColor, baseDir) {
93
+ async function applyColorFilters(imagePath, filterColor) {
103
94
  try {
104
95
  let image;
105
96
  if (imagePath.startsWith("http")) {
106
- const pngBuffer = await converter(imagePath, "png", baseDir);
97
+ const pngBuffer = await converter(imagePath, "png");
107
98
  image = (0, sharp_1.default)(pngBuffer);
108
99
  }
109
100
  else {
110
- if (!baseDir) {
111
- throw new Error("You need to provide baseDir in options.");
112
- }
113
- const imagePathResolved = path_1.default.resolve(baseDir, imagePath);
101
+ const imagePathResolved = path_1.default.join(process.cwd(), imagePath);
114
102
  image = (0, sharp_1.default)(imagePathResolved);
115
103
  }
116
104
  const hexColorRegex = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;
@@ -127,20 +115,15 @@ async function applyColorFilters(imagePath, filterColor, baseDir) {
127
115
  }
128
116
  }
129
117
  exports.applyColorFilters = applyColorFilters;
130
- async function imgEffects(imagePath, filters, baseDir) {
118
+ async function imgEffects(imagePath, filters) {
131
119
  try {
132
120
  let jimpImage;
133
121
  if (imagePath.startsWith("http")) {
134
- const pngBuffer = await converter(imagePath, "png", baseDir);
122
+ const pngBuffer = await converter(imagePath, "png");
135
123
  jimpImage = await jimp_1.default.read(pngBuffer);
136
124
  }
137
125
  else {
138
- if (!baseDir) {
139
- return console.log(`You need to provide __dirname in options.`);
140
- }
141
- const imagePathResolved = baseDir
142
- ? path_1.default.resolve(baseDir, imagePath)
143
- : imagePath;
126
+ const imagePathResolved = path_1.default.join(process.cwd(), imagePath);
144
127
  jimpImage = await jimp_1.default.read(imagePathResolved);
145
128
  }
146
129
  for (const filter of filters) {
@@ -217,7 +200,13 @@ async function imgEffects(imagePath, filters, baseDir) {
217
200
  exports.imgEffects = imgEffects;
218
201
  async function cropInner(options) {
219
202
  try {
220
- const image = await (0, canvas_1.loadImage)(options.imageSource);
203
+ let image;
204
+ if (options.imageSource.startsWith('http')) {
205
+ image = await (0, canvas_1.loadImage)(options.imageSource);
206
+ }
207
+ else {
208
+ image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
209
+ }
221
210
  const width = Math.abs(options.coordinates[0].from.x - options.coordinates[1].to.x);
222
211
  const height = Math.abs(options.coordinates[0].from.y - options.coordinates[2].to.y);
223
212
  const canvas = (0, canvas_1.createCanvas)(width, height);
@@ -269,7 +258,13 @@ async function cropInner(options) {
269
258
  exports.cropInner = cropInner;
270
259
  async function cropOuter(options) {
271
260
  try {
272
- const image = await (0, canvas_1.loadImage)(options.imageSource);
261
+ let image;
262
+ if (options.imageSource.startsWith('http')) {
263
+ image = await (0, canvas_1.loadImage)(options.imageSource);
264
+ }
265
+ else {
266
+ image = await (0, canvas_1.loadImage)(path_1.default.join(process.cwd(), options.imageSource));
267
+ }
273
268
  const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
274
269
  const ctx = canvas.getContext('2d');
275
270
  ctx.drawImage(image, 0, 0);
@@ -297,7 +292,7 @@ async function cropOuter(options) {
297
292
  }
298
293
  }
299
294
  exports.cropOuter = cropOuter;
300
- async function detectColors(imagePath, baseDir) {
295
+ async function detectColors(imagePath) {
301
296
  try {
302
297
  let image;
303
298
  if (imagePath.startsWith('http')) {
@@ -306,7 +301,7 @@ async function detectColors(imagePath, baseDir) {
306
301
  image = await (0, canvas_1.loadImage)(buffer);
307
302
  }
308
303
  else {
309
- const localImagePath = baseDir ? path_1.default.join(baseDir, imagePath) : imagePath;
304
+ const localImagePath = path_1.default.join(process.cwd(), imagePath);
310
305
  image = await (0, canvas_1.loadImage)(localImagePath);
311
306
  }
312
307
  const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
@@ -337,7 +332,7 @@ async function detectColors(imagePath, baseDir) {
337
332
  }
338
333
  }
339
334
  exports.detectColors = detectColors;
340
- async function removeColor(inputImagePath, colorToRemove, baseDir) {
335
+ async function removeColor(inputImagePath, colorToRemove) {
341
336
  try {
342
337
  let image;
343
338
  if (inputImagePath.startsWith('http')) {
@@ -346,7 +341,7 @@ async function removeColor(inputImagePath, colorToRemove, baseDir) {
346
341
  image = await (0, canvas_1.loadImage)(buffer);
347
342
  }
348
343
  else {
349
- const localImagePath = baseDir ? path_1.default.join(baseDir, inputImagePath) : inputImagePath;
344
+ const localImagePath = path_1.default.join(process.cwd(), inputImagePath);
350
345
  image = await (0, canvas_1.loadImage)(localImagePath);
351
346
  }
352
347
  const canvas = (0, canvas_1.createCanvas)(image.width, image.height);
@@ -1 +1 @@
1
- {"version":3,"file":"general functions.js","sourceRoot":"","sources":["../../../lib/canvas/utils/general functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general functions.js","sourceRoot":"","sources":["../../../lib/canvas/utils/general functions.ts"],"names":[],"mappings":"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"}