convertit 1.0.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 (44) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +503 -0
  3. package/dist/converters/base.d.ts +27 -0
  4. package/dist/converters/base.d.ts.map +1 -0
  5. package/dist/converters/csv.d.ts +67 -0
  6. package/dist/converters/csv.d.ts.map +1 -0
  7. package/dist/converters/excel-styles.d.ts +51 -0
  8. package/dist/converters/excel-styles.d.ts.map +1 -0
  9. package/dist/converters/excel.d.ts +40 -0
  10. package/dist/converters/excel.d.ts.map +1 -0
  11. package/dist/converters/html.d.ts +21 -0
  12. package/dist/converters/html.d.ts.map +1 -0
  13. package/dist/converters/image.d.ts +80 -0
  14. package/dist/converters/image.d.ts.map +1 -0
  15. package/dist/converters/index.d.ts +10 -0
  16. package/dist/converters/index.d.ts.map +1 -0
  17. package/dist/converters/pdf.d.ts +68 -0
  18. package/dist/converters/pdf.d.ts.map +1 -0
  19. package/dist/converters/text.d.ts +36 -0
  20. package/dist/converters/text.d.ts.map +1 -0
  21. package/dist/converters/word.d.ts +24 -0
  22. package/dist/converters/word.d.ts.map +1 -0
  23. package/dist/core/converter.d.ts +65 -0
  24. package/dist/core/converter.d.ts.map +1 -0
  25. package/dist/core/errors.d.ts +64 -0
  26. package/dist/core/errors.d.ts.map +1 -0
  27. package/dist/core/index.d.ts +8 -0
  28. package/dist/core/index.d.ts.map +1 -0
  29. package/dist/core/template-engine.d.ts +57 -0
  30. package/dist/core/template-engine.d.ts.map +1 -0
  31. package/dist/core/types.d.ts +702 -0
  32. package/dist/core/types.d.ts.map +1 -0
  33. package/dist/index.d.ts +16 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +270420 -0
  36. package/dist/transformers/index.d.ts +61 -0
  37. package/dist/transformers/index.d.ts.map +1 -0
  38. package/dist/utils/helpers.d.ts +55 -0
  39. package/dist/utils/helpers.d.ts.map +1 -0
  40. package/dist/utils/index.d.ts +7 -0
  41. package/dist/utils/index.d.ts.map +1 -0
  42. package/dist/utils/validator.d.ts +26 -0
  43. package/dist/utils/validator.d.ts.map +1 -0
  44. package/package.json +129 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Excel styling engine for conditional formatting, row styles, and cell styles.
3
+ */
4
+ import type ExcelJS from 'exceljs';
5
+ import type { ExcelOptions, RowStyleRule, CellStyle, ComparisonOperator } from '../core/types';
6
+ export declare class ExcelStyleEngine {
7
+ private worksheet;
8
+ private options;
9
+ private data;
10
+ constructor(worksheet: ExcelJS.Worksheet, options: ExcelOptions, data: any[]);
11
+ applyAllStyles(): void;
12
+ private applyRowStyles;
13
+ private evaluateRowCondition;
14
+ private evaluateColumnCondition;
15
+ private compareValues;
16
+ private applyStyleToRow;
17
+ private applyCellStyles;
18
+ private parseCellTarget;
19
+ private applyConditionalFormatting;
20
+ private applyValueBasedFormatting;
21
+ private applyFormulaBasedFormatting;
22
+ private evaluateCellCondition;
23
+ private applyCellStyle;
24
+ private normalizeColor;
25
+ private getColumnCount;
26
+ private columnLetterToNumber;
27
+ private columnNumberToLetter;
28
+ }
29
+ export declare const StylePresets: {
30
+ negativeHighlight: CellStyle;
31
+ positiveHighlight: CellStyle;
32
+ warningHighlight: CellStyle;
33
+ infoHighlight: CellStyle;
34
+ disabledStyle: CellStyle;
35
+ headerStyle: CellStyle;
36
+ alternateRowLight: CellStyle;
37
+ alternateRowBlue: CellStyle;
38
+ currencyStyle: CellStyle;
39
+ percentageStyle: CellStyle;
40
+ dateStyle: CellStyle;
41
+ };
42
+ export declare function createRowStyleRules(configs: Array<{
43
+ condition: 'even' | 'odd' | {
44
+ column: string | number;
45
+ operator: ComparisonOperator;
46
+ value: any;
47
+ };
48
+ style: CellStyle;
49
+ }>): RowStyleRule[];
50
+ export default ExcelStyleEngine;
51
+ //# sourceMappingURL=excel-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel-styles.d.ts","sourceRoot":"","sources":["../../src/converters/excel-styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EACV,YAAY,EAEZ,YAAY,EAEZ,SAAS,EACT,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,IAAI,CAAQ;gBAER,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE;IAM5E,cAAc,IAAI,IAAI;IAYtB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,2BAA2B;IAenC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,cAAc;IAgGtB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,oBAAoB;CAS7B;AAED,eAAO,MAAM,YAAY;uBAIlB,SAAS;uBAKT,SAAS;sBAKT,SAAS;mBAKT,SAAS;mBAKT,SAAS;iBAMT,SAAS;uBAIT,SAAS;sBAIT,SAAS;mBAKT,SAAS;qBAKT,SAAS;eAKT,SAAS;CACf,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,KAAK,CAAC;IACb,SAAS,EACL,MAAM,GACN,KAAK,GACL;QAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAC1E,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC,GACD,YAAY,EAAE,CAkBhB;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Excel converter with advanced styling and conditional formatting.
3
+ */
4
+ import { BaseConverter } from './base';
5
+ import type { InputDataType, ConvertFileOptions, FileFormat } from '../core/types';
6
+ export declare class ExcelConverter extends BaseConverter {
7
+ constructor();
8
+ getSupportedInputFormats(): FileFormat[];
9
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
10
+ private createFromArray;
11
+ private createFromObject;
12
+ private createFromString;
13
+ private createSheet;
14
+ private styleHeaderRow;
15
+ private styleDataRow;
16
+ private detectDelimiter;
17
+ }
18
+ /**
19
+ * Excel Utilities
20
+ */
21
+ export declare class ExcelUtils {
22
+ /**
23
+ * Read Excel file and return data
24
+ */
25
+ static read(file: Buffer): Promise<any[][]>;
26
+ /**
27
+ * Read Excel file and return as JSON objects
28
+ */
29
+ static readAsJson(file: Buffer): Promise<Record<string, any>[]>;
30
+ /**
31
+ * Get sheet names from Excel file
32
+ */
33
+ static getSheetNames(file: Buffer): Promise<string[]>;
34
+ /**
35
+ * Merge multiple Excel files
36
+ */
37
+ static merge(files: Buffer[], outputSheetName?: string): Promise<Buffer>;
38
+ }
39
+ export default ExcelConverter;
40
+ //# sourceMappingURL=excel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"excel.d.ts","sourceRoot":"","sources":["../../src/converters/excel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAIjG,qBAAa,cAAe,SAAQ,aAAa;;IAK/C,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;YAwBlE,eAAe;YAgCf,gBAAgB;YA2BhB,gBAAgB;YAmChB,WAAW;IAqGzB,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,eAAe;CAgBxB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB;;OAEG;WACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IAkBjD;;OAEG;WACU,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAmBrE;;OAEG;WACU,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM3D;;OAEG;WACU,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAiC/E;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * HTML converter with tables, styling, and markdown support.
3
+ */
4
+ import { BaseConverter } from './base';
5
+ import type { InputDataType, ConvertFileOptions, FileFormat } from '../core/types';
6
+ export declare class HTMLConverter extends BaseConverter {
7
+ constructor();
8
+ getSupportedInputFormats(): FileFormat[];
9
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
10
+ private createFromString;
11
+ private createFromMarkdown;
12
+ private createFromArray;
13
+ private createFromObject;
14
+ private createTable;
15
+ private objectToHtml;
16
+ private wrapInTemplate;
17
+ private isMarkdown;
18
+ private minifyHtml;
19
+ }
20
+ export default HTMLConverter;
21
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/converters/html.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAe,MAAM,eAAe,CAAC;AAIhG,qBAAa,aAAc,SAAQ,aAAa;;IAK9C,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;YAwBlE,gBAAgB;YAkBhB,kBAAkB;YAuDlB,eAAe;YAkBf,gBAAgB;IAU9B,OAAO,CAAC,WAAW;IAiEnB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,cAAc;IAyEtB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,UAAU;CAQnB;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Image converter for format conversion, resizing, and transformations.
3
+ */
4
+ import { BaseConverter } from './base';
5
+ import type { InputDataType, ConvertFileOptions, FileFormat } from '../core/types';
6
+ export declare class ImageConverter extends BaseConverter {
7
+ private targetFormat;
8
+ constructor(format?: FileFormat);
9
+ getSupportedInputFormats(): FileFormat[];
10
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
11
+ private processImage;
12
+ private parseBackground;
13
+ }
14
+ /**
15
+ * Image Utilities
16
+ */
17
+ export declare class ImageUtils {
18
+ /**
19
+ * Get image metadata
20
+ */
21
+ static getMetadata(input: Buffer): Promise<{
22
+ width?: number;
23
+ height?: number;
24
+ format?: string;
25
+ size: number;
26
+ hasAlpha?: boolean;
27
+ channels?: number;
28
+ density?: number;
29
+ }>;
30
+ /**
31
+ * Resize image
32
+ */
33
+ static resize(input: Buffer, width?: number, height?: number, options?: {
34
+ fit?: 'contain' | 'cover' | 'fill' | 'inside' | 'outside';
35
+ background?: string;
36
+ }): Promise<Buffer>;
37
+ /**
38
+ * Crop image
39
+ */
40
+ static crop(input: Buffer, options: {
41
+ left: number;
42
+ top: number;
43
+ width: number;
44
+ height: number;
45
+ }): Promise<Buffer>;
46
+ /**
47
+ * Rotate image
48
+ */
49
+ static rotate(input: Buffer, angle: number): Promise<Buffer>;
50
+ /**
51
+ * Flip image
52
+ */
53
+ static flip(input: Buffer, direction: 'horizontal' | 'vertical' | 'both'): Promise<Buffer>;
54
+ /**
55
+ * Add watermark to image
56
+ */
57
+ static addWatermark(input: Buffer, watermark: Buffer, options?: {
58
+ position?: 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
59
+ opacity?: number;
60
+ margin?: number;
61
+ }): Promise<Buffer>;
62
+ /**
63
+ * Compress image
64
+ */
65
+ static compress(input: Buffer, quality?: number, format?: 'jpg' | 'jpeg' | 'png' | 'webp'): Promise<Buffer>;
66
+ /**
67
+ * Convert image to base64
68
+ */
69
+ static toBase64(input: Buffer, format?: string): Promise<string>;
70
+ /**
71
+ * Create thumbnail
72
+ */
73
+ static createThumbnail(input: Buffer, width?: number, height?: number): Promise<Buffer>;
74
+ /**
75
+ * Merge images horizontally or vertically
76
+ */
77
+ static merge(images: Buffer[], direction?: 'horizontal' | 'vertical'): Promise<Buffer>;
78
+ }
79
+ export default ImageConverter;
80
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/converters/image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { BaseConverter, ConverterRegistry } from './base';
2
+ export { PDFConverter, PDFManipulator } from './pdf';
3
+ export { WordConverter } from './word';
4
+ export { ExcelConverter, ExcelUtils } from './excel';
5
+ export { ExcelStyleEngine, StylePresets } from './excel-styles';
6
+ export { CSVConverter, CSVUtils } from './csv';
7
+ export { HTMLConverter } from './html';
8
+ export { ImageConverter, ImageUtils } from './image';
9
+ export { TextConverter, JSONConverter, XMLConverter, MarkdownConverter } from './text';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * PDF converter for text, tables, images, and data structures.
3
+ */
4
+ import { BaseConverter } from './base';
5
+ import type { InputDataType, ConvertFileOptions, FileFormat } from '../core/types';
6
+ export declare class PDFConverter extends BaseConverter {
7
+ constructor();
8
+ getSupportedInputFormats(): FileFormat[];
9
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
10
+ private isValidText;
11
+ private createFromText;
12
+ private createFromArray;
13
+ private createFromObject;
14
+ private createFromTableData;
15
+ private createFromBinary;
16
+ private drawTable;
17
+ private addHeader;
18
+ private addFooter;
19
+ private addPageNumbers;
20
+ private mapFont;
21
+ }
22
+ /**
23
+ * PDF Manipulator - for merge, split, watermark operations
24
+ */
25
+ export declare class PDFManipulator {
26
+ /**
27
+ * Merge multiple PDF files
28
+ */
29
+ static merge(files: Buffer[]): Promise<Buffer>;
30
+ /**
31
+ * Split PDF by pages
32
+ */
33
+ static split(file: Buffer, pages: number[]): Promise<Buffer[]>;
34
+ /**
35
+ * Split PDF by page ranges
36
+ */
37
+ static splitByRanges(file: Buffer, ranges: Array<{
38
+ start: number;
39
+ end: number;
40
+ }>): Promise<Buffer[]>;
41
+ /**
42
+ * Add text watermark to PDF
43
+ */
44
+ static addTextWatermark(file: Buffer, text: string, options?: {
45
+ opacity?: number;
46
+ rotation?: number;
47
+ fontSize?: number;
48
+ color?: {
49
+ r: number;
50
+ g: number;
51
+ b: number;
52
+ };
53
+ }): Promise<Buffer>;
54
+ /**
55
+ * Rotate PDF pages
56
+ */
57
+ static rotatePages(file: Buffer, angle: 90 | 180 | 270, pageNumbers?: number[]): Promise<Buffer>;
58
+ /**
59
+ * Get PDF page count
60
+ */
61
+ static getPageCount(file: Buffer): Promise<number>;
62
+ /**
63
+ * Extract specific pages from PDF
64
+ */
65
+ static extractPages(file: Buffer, pageNumbers: number[]): Promise<Buffer>;
66
+ }
67
+ export default PDFConverter;
68
+ //# sourceMappingURL=pdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/converters/pdf.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,UAAU,EAGX,MAAM,eAAe,CAAC;AAIvB,qBAAa,YAAa,SAAQ,aAAa;;IAK7C,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BhF,OAAO,CAAC,WAAW;YAML,cAAc;YAwFd,eAAe;YAoBf,gBAAgB;YAUhB,mBAAmB;YAkDnB,gBAAgB;IAU9B,OAAO,CAAC,SAAS;IAmDjB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,OAAO;CAchB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;WACU,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBpD;;OAEG;WACU,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2BpE;;OAEG;WACU,aAAa,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BpB;;OAEG;WACU,gBAAgB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACxC,GACL,OAAO,CAAC,MAAM,CAAC;IAoClB;;OAEG;WACU,WAAW,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EACrB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC;IAsBlB;;OAEG;WACU,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxD;;OAEG;WACU,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAiBhF;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Text, JSON, and XML converters.
3
+ */
4
+ import { BaseConverter } from './base';
5
+ import type { InputDataType, ConvertFileOptions, FileFormat } from '../core/types';
6
+ export declare class TextConverter extends BaseConverter {
7
+ constructor();
8
+ getSupportedInputFormats(): FileFormat[];
9
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
10
+ private arrayToText;
11
+ private objectToText;
12
+ }
13
+ export declare class JSONConverter extends BaseConverter {
14
+ constructor();
15
+ getSupportedInputFormats(): FileFormat[];
16
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
17
+ }
18
+ export declare class XMLConverter extends BaseConverter {
19
+ constructor();
20
+ getSupportedInputFormats(): FileFormat[];
21
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
22
+ private objectToXml;
23
+ private escapeXml;
24
+ private sanitizeTagName;
25
+ }
26
+ export declare class MarkdownConverter extends BaseConverter {
27
+ constructor();
28
+ getSupportedInputFormats(): FileFormat[];
29
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
30
+ private convertToMarkdown;
31
+ private htmlToMarkdown;
32
+ private arrayToMarkdown;
33
+ private createMarkdownTable;
34
+ private objectToMarkdown;
35
+ }
36
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/converters/text.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEnF,qBAAa,aAAc,SAAQ,aAAa;;IAK9C,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBhF,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,YAAY;CAiBrB;AAED,qBAAa,aAAc,SAAQ,aAAa;;IAK9C,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;CAwBjF;AAED,qBAAa,YAAa,SAAQ,aAAa;;IAK7C,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BhF,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,eAAe;CAWxB;AAED,qBAAa,iBAAkB,SAAQ,aAAa;;IAKlD,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBhF,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;IAkEtB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,gBAAgB;CAwBzB"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Word document (DOCX) converter with tables, headers, and styling.
3
+ */
4
+ import { BaseConverter } from './base';
5
+ import type { InputDataType, ConvertFileOptions, FileFormat } from '../core/types';
6
+ export declare class WordConverter extends BaseConverter {
7
+ constructor();
8
+ getSupportedInputFormats(): FileFormat[];
9
+ convert(data: InputDataType, options: ConvertFileOptions): Promise<Buffer>;
10
+ private createFromText;
11
+ private createFromArray;
12
+ private createFromObject;
13
+ private objectToParagraphs;
14
+ private createFromTableData;
15
+ private createParagraph;
16
+ private createHeading;
17
+ private createBulletPoint;
18
+ private createNumberedItem;
19
+ private createHeader;
20
+ private createFooter;
21
+ private mapAlignment;
22
+ }
23
+ export default WordConverter;
24
+ //# sourceMappingURL=word.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"word.d.ts","sourceRoot":"","sources":["../../src/converters/word.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,UAAU,EAIX,MAAM,eAAe,CAAC;AAIvB,qBAAa,aAAc,SAAQ,aAAa;;IAK9C,wBAAwB,IAAI,UAAU,EAAE;IAIlC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;YA2BlE,cAAc;YAuEd,eAAe;YAef,gBAAgB;IAqB9B,OAAO,CAAC,kBAAkB;YA4EZ,mBAAmB;IAkFjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,YAAY;CAarB;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * convertit - Main Converter Class
3
+ * Core API for file conversion operations with builder pattern support.
4
+ */
5
+ import type { InputDataType, ConvertFileOptions, ConversionResult, BatchConversionResult, FileFormat, ProgressInfo, PDFOptions, WordOptions, ExcelOptions, CSVOptions, HTMLOptions, ImageOptions, WatermarkConfig, EncryptionConfig, CompressionConfig, PageNumberConfig, HeaderFooterConfig, SplitConfig, TableConfig } from './types';
6
+ import { BaseConverter } from '../converters/base';
7
+ export declare class Convertit {
8
+ private data;
9
+ private options;
10
+ private static registry;
11
+ constructor(data: InputDataType, options: ConvertFileOptions);
12
+ private initializeConverters;
13
+ convert(): Promise<ConversionResult>;
14
+ private applyTransformers;
15
+ private formatOutput;
16
+ toBuffer(): Promise<Buffer>;
17
+ toBase64(): Promise<string>;
18
+ toDataUrl(): Promise<string>;
19
+ toFile(path: string): Promise<string>;
20
+ static from(data: InputDataType): ConvertitBuilder;
21
+ static batch(items: Array<{
22
+ data: InputDataType;
23
+ options: ConvertFileOptions;
24
+ }>, concurrency?: number): Promise<BatchConversionResult>;
25
+ static merge(files: Array<string | Buffer>, format: FileFormat): Promise<Buffer>;
26
+ static split(data: Buffer, format: FileFormat, config: SplitConfig): Promise<Buffer[]>;
27
+ static getSupportedFormats(): FileFormat[];
28
+ static registerConverter(format: FileFormat, converter: BaseConverter): void;
29
+ }
30
+ export declare class ConvertitBuilder {
31
+ private data;
32
+ private options;
33
+ constructor(data: InputDataType);
34
+ toPdf(options?: PDFOptions): this;
35
+ toWord(options?: WordOptions): this;
36
+ toExcel(options?: ExcelOptions): this;
37
+ toCsv(options?: CSVOptions): this;
38
+ toHtml(options?: HTMLOptions): this;
39
+ toImage(format?: 'png' | 'jpg' | 'jpeg' | 'webp' | 'gif', options?: ImageOptions): this;
40
+ toJson(): this;
41
+ toText(): this;
42
+ toMarkdown(): this;
43
+ toXml(): this;
44
+ withWatermark(config: WatermarkConfig): this;
45
+ withEncryption(config: EncryptionConfig): this;
46
+ withCompression(config: CompressionConfig): this;
47
+ withPageNumbers(config: PageNumberConfig): this;
48
+ withHeader(config: HeaderFooterConfig): this;
49
+ withFooter(config: HeaderFooterConfig): this;
50
+ landscape(): this;
51
+ pageSize(size: 'A4' | 'A3' | 'A5' | 'Letter' | 'Legal'): this;
52
+ withTable(config: TableConfig): this;
53
+ onProgress(callback: (progress: ProgressInfo) => void): this;
54
+ onError(callback: (error: Error) => void): this;
55
+ timeout(ms: number): this;
56
+ retries(count: number): this;
57
+ toBuffer(): Promise<Buffer>;
58
+ toBase64(): Promise<string>;
59
+ toDataUrl(): Promise<string>;
60
+ toFile(path: string): Promise<string>;
61
+ execute(): Promise<ConversionResult>;
62
+ private ensureType;
63
+ }
64
+ export default Convertit;
65
+ //# sourceMappingURL=converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/core/converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Error types and error handling utilities.
3
+ */
4
+ export declare enum ErrorCode {
5
+ INVALID_INPUT = "INVALID_INPUT",
6
+ INVALID_FORMAT = "INVALID_FORMAT",
7
+ INVALID_OPTIONS = "INVALID_OPTIONS",
8
+ UNSUPPORTED_FORMAT = "UNSUPPORTED_FORMAT",
9
+ EMPTY_DATA = "EMPTY_DATA",
10
+ FILE_NOT_FOUND = "FILE_NOT_FOUND",
11
+ FILE_READ_ERROR = "FILE_READ_ERROR",
12
+ FILE_WRITE_ERROR = "FILE_WRITE_ERROR",
13
+ FILE_ACCESS_DENIED = "FILE_ACCESS_DENIED",
14
+ FILE_TOO_LARGE = "FILE_TOO_LARGE",
15
+ CONVERSION_FAILED = "CONVERSION_FAILED",
16
+ CONVERSION_TIMEOUT = "CONVERSION_TIMEOUT",
17
+ CONVERSION_CANCELLED = "CONVERSION_CANCELLED",
18
+ MERGE_FAILED = "MERGE_FAILED",
19
+ SPLIT_FAILED = "SPLIT_FAILED",
20
+ COMPRESSION_FAILED = "COMPRESSION_FAILED",
21
+ ENCRYPTION_FAILED = "ENCRYPTION_FAILED",
22
+ WATERMARK_FAILED = "WATERMARK_FAILED",
23
+ OCR_FAILED = "OCR_FAILED",
24
+ MEMORY_EXCEEDED = "MEMORY_EXCEEDED",
25
+ DEPENDENCY_MISSING = "DEPENDENCY_MISSING",
26
+ PLUGIN_ERROR = "PLUGIN_ERROR",
27
+ INTERNAL_ERROR = "INTERNAL_ERROR",
28
+ NETWORK_ERROR = "NETWORK_ERROR",
29
+ UPLOAD_FAILED = "UPLOAD_FAILED",
30
+ DOWNLOAD_FAILED = "DOWNLOAD_FAILED"
31
+ }
32
+ export declare class ConvertFileError extends Error {
33
+ readonly code: ErrorCode;
34
+ readonly details?: any;
35
+ readonly recoverable: boolean;
36
+ readonly timestamp: Date;
37
+ readonly file?: string;
38
+ constructor(code: ErrorCode, message: string, options?: {
39
+ details?: any;
40
+ recoverable?: boolean;
41
+ file?: string;
42
+ cause?: Error;
43
+ });
44
+ toJSON(): object;
45
+ static fromError(error: Error, code?: ErrorCode): ConvertFileError;
46
+ }
47
+ export declare class ValidationError extends ConvertFileError {
48
+ constructor(message: string, details?: any);
49
+ }
50
+ export declare class FormatError extends ConvertFileError {
51
+ constructor(format: string, message?: string);
52
+ }
53
+ export declare class FileError extends ConvertFileError {
54
+ constructor(code: ErrorCode, filePath: string, message?: string);
55
+ }
56
+ export declare class ConversionFailedError extends ConvertFileError {
57
+ constructor(format: string, message?: string, cause?: Error);
58
+ }
59
+ export declare class TimeoutError extends ConvertFileError {
60
+ constructor(timeout: number, message?: string);
61
+ }
62
+ export declare function isConvertFileError(error: unknown): error is ConvertFileError;
63
+ export declare function handleError(error: unknown): ConvertFileError;
64
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IAEzB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IAEjC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAE7C,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IAEzB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IAEjC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;CACpC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,CAAC,EAAE,GAAG,CAAC;IAC9B,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAG5B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;IAiBH,MAAM,IAAI,MAAM;IAahB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,SAAoC,GAAG,gBAAgB;CAM7F;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAI3C;AAED,qBAAa,WAAY,SAAQ,gBAAgB;gBACnC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAO7C;AAED,qBAAa,SAAU,SAAQ,gBAAgB;gBACjC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAOhE;AAED,qBAAa,qBAAsB,SAAQ,gBAAgB;gBAC7C,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAQ5D;AAED,qBAAa,YAAa,SAAQ,gBAAgB;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAO9C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAc5D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Core module exports
3
+ */
4
+ export { Convertit, ConvertitBuilder } from './converter';
5
+ export { TemplateEngine, DocumentTemplates } from './template-engine';
6
+ export * from './types';
7
+ export * from './errors';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Template engine for document generation with variables, conditionals, and loops.
3
+ */
4
+ import type { TemplateConfig } from '../core/types';
5
+ export declare class TemplateEngine {
6
+ private delimiters;
7
+ private helpers;
8
+ private partials;
9
+ constructor(config?: Partial<TemplateConfig>);
10
+ private registerBuiltInHelpers;
11
+ registerHelper(name: string, fn: (...args: any[]) => any): void;
12
+ registerPartial(name: string, template: string): void;
13
+ render(template: string, data: Record<string, any>): string;
14
+ /**
15
+ * Process partial inclusions
16
+ */
17
+ private processPartials;
18
+ /**
19
+ * Process #each blocks for iteration
20
+ */
21
+ private processEachBlocks;
22
+ private processConditionals;
23
+ private processWithBlocks;
24
+ private processHelpers;
25
+ private processVariables;
26
+ private resolvePath;
27
+ private evaluateCondition;
28
+ /**
29
+ * Resolve a value (could be a path or literal)
30
+ */
31
+ private resolveValue;
32
+ /**
33
+ * Parse helper arguments
34
+ */
35
+ private parseHelperArgs;
36
+ /**
37
+ * Tokenize argument string
38
+ */
39
+ private tokenizeArgs;
40
+ /**
41
+ * Escape special regex characters
42
+ */
43
+ private escapeRegex;
44
+ }
45
+ /**
46
+ * Pre-built templates for common document types
47
+ */
48
+ export declare const DocumentTemplates: {
49
+ /** Simple invoice template */
50
+ invoice: string;
51
+ /** Simple report template */
52
+ report: string;
53
+ /** Letter template */
54
+ letter: string;
55
+ };
56
+ export default TemplateEngine;
57
+ //# sourceMappingURL=template-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../src/core/template-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAO5C,OAAO,CAAC,sBAAsB;IA4E9B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI;IAI/D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAY3D;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,iBAAiB;IAmCzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmBpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,8BAA8B;;IAmD9B,6BAA6B;;IAiC7B,sBAAsB;;CA6BvB,CAAC;AAEF,eAAe,cAAc,CAAC"}