chromiumly 2.8.0 → 2.10.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.
- package/README.md +38 -0
- package/dist/chromium/converters/html.converter.d.ts +12 -2
- package/dist/chromium/converters/html.converter.js +5 -3
- package/dist/chromium/converters/html.converter.js.map +1 -1
- package/dist/chromium/converters/markdown.converter.d.ts +12 -2
- package/dist/chromium/converters/markdown.converter.js +5 -3
- package/dist/chromium/converters/markdown.converter.js.map +1 -1
- package/dist/chromium/converters/url.converter.d.ts +12 -2
- package/dist/chromium/converters/url.converter.js +5 -3
- package/dist/chromium/converters/url.converter.js.map +1 -1
- package/dist/chromium/interfaces/converter.types.d.ts +2 -1
- package/dist/chromium/screenshots/html.screenshot.js +2 -2
- package/dist/chromium/screenshots/html.screenshot.js.map +1 -1
- package/dist/chromium/screenshots/markdown.screenshot.js +2 -2
- package/dist/chromium/screenshots/markdown.screenshot.js.map +1 -1
- package/dist/chromium/screenshots/url.screenshot.js +2 -2
- package/dist/chromium/screenshots/url.screenshot.js.map +1 -1
- package/dist/chromium/utils/converter.utils.js +3 -0
- package/dist/chromium/utils/converter.utils.js.map +1 -1
- package/dist/common/constants.d.ts +4 -0
- package/dist/common/constants.js +4 -0
- package/dist/common/constants.js.map +1 -1
- package/dist/common/index.d.ts +1 -1
- package/dist/common/types.d.ts +3 -0
- package/dist/libre-office/interfaces/libre-office.types.d.ts +1 -0
- package/dist/libre-office/utils/constants.js +103 -53
- package/dist/libre-office/utils/constants.js.map +1 -1
- package/dist/libre-office/utils/libre-office.utils.js +3 -0
- package/dist/libre-office/utils/libre-office.utils.js.map +1 -1
- package/dist/main.config.d.ts +5 -1
- package/dist/main.config.js +5 -1
- package/dist/main.config.js.map +1 -1
- package/dist/pdf-engines/pdf.engine.d.ts +23 -1
- package/dist/pdf-engines/pdf.engine.js +34 -4
- package/dist/pdf-engines/pdf.engine.js.map +1 -1
- package/package.json +7 -7
- package/src/chromium/converters/html.converter.ts +20 -3
- package/src/chromium/converters/markdown.converter.ts +20 -3
- package/src/chromium/converters/url.converter.ts +20 -3
- package/src/chromium/interfaces/converter.types.ts +2 -1
- package/src/chromium/utils/converter.utils.ts +3 -0
- package/src/chromium/utils/tests/converter.utils.test.ts +21 -2
- package/src/common/constants.ts +4 -0
- package/src/common/index.ts +1 -1
- package/src/common/types.ts +4 -0
- package/src/libre-office/interfaces/libre-office.types.ts +1 -0
- package/src/libre-office/utils/constants.ts +103 -53
- package/src/libre-office/utils/libre-office.utils.ts +7 -0
- package/src/libre-office/utils/tests/libre-office.utils.test.ts +15 -0
- package/src/main.config.ts +6 -2
- package/src/pdf-engines/pdf.engine.ts +52 -1
- package/src/pdf-engines/tests/pdf.engine.test.ts +36 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/libre-office/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACnC,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/libre-office/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACnC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;CACT,CAAC"}
|
|
@@ -65,6 +65,9 @@ class LibreOfficeUtils {
|
|
|
65
65
|
pageProperties.nativePageRanges.from, 'page ranges syntax error');
|
|
66
66
|
data.append('nativePageRanges', `${pageProperties.nativePageRanges.from}-${pageProperties.nativePageRanges.to}`);
|
|
67
67
|
}
|
|
68
|
+
if (pageProperties.exportFormFields === false) {
|
|
69
|
+
data.append('exportFormFields', String(pageProperties.exportFormFields));
|
|
70
|
+
}
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
exports.LibreOfficeUtils = LibreOfficeUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libre-office.utils.js","sourceRoot":"","sources":["../../../src/libre-office/utils/libre-office.utils.ts"],"names":[],"mappings":";;;;AAAA,2BAAuE;AACvE,wDAAwB;AAExB,yCAAmD;AAInD,yCAAoE;AACpE,2CAAsD;AAGtD;;GAEG;AACH,MAAa,gBAAgB;IACzB;;;;;;OAMG;IACI,MAAM,CAAO,QAAQ,CACxB,KAA6B,EAC7B,IAAc;;YAEd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzC,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,IAAI,QAAQ,CAAC;gBAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,QAAQ,GAAG,MAAM,IAAA,sBAAU,EAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,KAAK,YAAY,eAAU,EAAE,CAAC;oBACrC,QAAQ,GAAG,MAAM,IAAA,sBAAU,EAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACJ,MAAM,aAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjD,QAAQ,GAAG,EAAE,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,IAAI,GAAG,IAAA,qBAAgB,EAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBAED,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAE/B,IAAI,mCAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,mBAAmB,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAC3B,IAAc,EACd,cAA8B;QAE9B,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAClC,uBAAc,CAAC,MAAM,CACjB,cAAc,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC;gBACpC,cAAc,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC;gBACtC,cAAc,CAAC,gBAAgB,CAAC,EAAE;oBAC9B,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAC5C,0BAA0B,CAC7B,CAAC;YAEF,IAAI,CAAC,MAAM,CACP,kBAAkB,EAClB,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAClF,CAAC;QACN,CAAC;IACL,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"libre-office.utils.js","sourceRoot":"","sources":["../../../src/libre-office/utils/libre-office.utils.ts"],"names":[],"mappings":";;;;AAAA,2BAAuE;AACvE,wDAAwB;AAExB,yCAAmD;AAInD,yCAAoE;AACpE,2CAAsD;AAGtD;;GAEG;AACH,MAAa,gBAAgB;IACzB;;;;;;OAMG;IACI,MAAM,CAAO,QAAQ,CACxB,KAA6B,EAC7B,IAAc;;YAEd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzC,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,IAAI,QAAQ,CAAC;gBAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,QAAQ,GAAG,MAAM,IAAA,sBAAU,EAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;qBAAM,IAAI,KAAK,YAAY,eAAU,EAAE,CAAC;oBACrC,QAAQ,GAAG,MAAM,IAAA,sBAAU,EAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACJ,MAAM,aAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,cAAS,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjD,QAAQ,GAAG,EAAE,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,IAAI,GAAG,IAAA,qBAAgB,EAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBAED,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAE/B,IAAI,mCAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,mBAAmB,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAC3B,IAAc,EACd,cAA8B;QAE9B,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAClC,uBAAc,CAAC,MAAM,CACjB,cAAc,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC;gBACpC,cAAc,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC;gBACtC,cAAc,CAAC,gBAAgB,CAAC,EAAE;oBAC9B,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAC5C,0BAA0B,CAC7B,CAAC;YAEF,IAAI,CAAC,MAAM,CACP,kBAAkB,EAClB,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAClF,CAAC;QACN,CAAC;QAED,IAAI,cAAc,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CACP,kBAAkB,EAClB,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAC1C,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AA7ED,4CA6EC"}
|
package/dist/main.config.d.ts
CHANGED
|
@@ -12,7 +12,9 @@ export declare enum ChromiumRoute {
|
|
|
12
12
|
* @enum {string}
|
|
13
13
|
*/
|
|
14
14
|
declare enum PdfEngineRoute {
|
|
15
|
-
MERGE = "merge"
|
|
15
|
+
MERGE = "merge",
|
|
16
|
+
READ_METADATA = "metadata/read",
|
|
17
|
+
WRITE_METADATA = "metadata/write"
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* Enum representing the available routes for LibreOffice.
|
|
@@ -65,6 +67,8 @@ export declare class Chromiumly {
|
|
|
65
67
|
*/
|
|
66
68
|
static readonly PDF_ENGINE_ROUTES: {
|
|
67
69
|
merge: PdfEngineRoute;
|
|
70
|
+
readMetadata: PdfEngineRoute;
|
|
71
|
+
writeMetadata: PdfEngineRoute;
|
|
68
72
|
};
|
|
69
73
|
/**
|
|
70
74
|
* Routes for LibreOffice conversions.
|
package/dist/main.config.js
CHANGED
|
@@ -19,6 +19,8 @@ var ChromiumRoute;
|
|
|
19
19
|
var PdfEngineRoute;
|
|
20
20
|
(function (PdfEngineRoute) {
|
|
21
21
|
PdfEngineRoute["MERGE"] = "merge";
|
|
22
|
+
PdfEngineRoute["READ_METADATA"] = "metadata/read";
|
|
23
|
+
PdfEngineRoute["WRITE_METADATA"] = "metadata/write";
|
|
22
24
|
})(PdfEngineRoute || (PdfEngineRoute = {}));
|
|
23
25
|
/**
|
|
24
26
|
* Enum representing the available routes for LibreOffice.
|
|
@@ -73,7 +75,9 @@ Chromiumly.CHROMIUM_ROUTES = {
|
|
|
73
75
|
* @type {Object}
|
|
74
76
|
*/
|
|
75
77
|
Chromiumly.PDF_ENGINE_ROUTES = {
|
|
76
|
-
merge: PdfEngineRoute.MERGE
|
|
78
|
+
merge: PdfEngineRoute.MERGE,
|
|
79
|
+
readMetadata: PdfEngineRoute.READ_METADATA,
|
|
80
|
+
writeMetadata: PdfEngineRoute.WRITE_METADATA
|
|
77
81
|
};
|
|
78
82
|
/**
|
|
79
83
|
* Routes for LibreOffice conversions.
|
package/dist/main.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.config.js","sourceRoot":"","sources":["../src/main.config.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC;;;GAGG;AACH,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,sCAAqB,CAAA;AACzB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED;;;GAGG;AACH,IAAK,
|
|
1
|
+
{"version":3,"file":"main.config.js","sourceRoot":"","sources":["../src/main.config.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC;;;GAGG;AACH,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,8BAAa,CAAA;IACb,sCAAqB,CAAA;AACzB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED;;;GAGG;AACH,IAAK,cAIJ;AAJD,WAAK,cAAc;IACf,iCAAe,CAAA;IACf,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;AACrC,CAAC,EAJI,cAAc,KAAd,cAAc,QAIlB;AAED;;;GAGG;AACH,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACjB,uCAAmB,CAAA;AACvB,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAED;;GAEG;AACH,MAAa,UAAU;;AAAvB,gCA0DC;AAzDG;;;GAGG;AACoB,6BAAkB,GAAG,qBAAS,CAAC,QAAQ,CAAC;AAE/D;;;GAGG;AACoB,gCAAqB,GAAG,wBAAwB,CAAC;AAExE;;;GAGG;AACoB,mCAAwB,GAC3C,2BAA2B,CAAC;AAChC;;;GAGG;AACoB,2BAAgB,GAAG,kBAAkB,CAAC;AAE7D;;;GAGG;AACoB,4BAAiB,GAAG,mBAAmB,CAAC;AAE/D;;;GAGG;AACoB,0BAAe,GAAG;IACrC,GAAG,EAAE,aAAa,CAAC,GAAG;IACtB,IAAI,EAAE,aAAa,CAAC,IAAI;IACxB,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACnC,CAAC;AAEF;;;GAGG;AACoB,4BAAiB,GAAG;IACvC,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,YAAY,EAAE,cAAc,CAAC,aAAa;IAC1C,aAAa,EAAE,cAAc,CAAC,cAAc;CAC/C,CAAC;AAEF;;;GAGG;AACoB,8BAAmB,GAAG;IACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;CACpC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { PathLikeOrReadStream, PdfFormat } from '../common';
|
|
2
|
+
import { PathLikeOrReadStream, PdfFormat, Metadata } from '../common';
|
|
3
3
|
import { PageProperties } from '../libre-office';
|
|
4
4
|
/**
|
|
5
5
|
* Class representing a PDF engine for various operations such as merging and conversion.
|
|
@@ -29,10 +29,32 @@ export declare class PDFEngine {
|
|
|
29
29
|
static convert({ files, properties, pdfFormat, pdfUA, merge }: {
|
|
30
30
|
files: PathLikeOrReadStream[];
|
|
31
31
|
properties?: PageProperties;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Starting from Gotenberg version 8.0.0, LibreOffice no longer provides support for pdfFormat.
|
|
34
|
+
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
35
|
+
*/
|
|
32
36
|
pdfFormat?: PdfFormat;
|
|
33
37
|
pdfUA?: boolean;
|
|
34
38
|
merge?: boolean;
|
|
35
39
|
}): Promise<Buffer>;
|
|
40
|
+
/**
|
|
41
|
+
* Reads metadata from the provided files.
|
|
42
|
+
*
|
|
43
|
+
* @param {PathLikeOrReadStream[]} files An array of PathLikes or ReadStreams to the PDF files.
|
|
44
|
+
* @returns {Promise<Buffer>} A Promise resolving to the metadata buffer.
|
|
45
|
+
*/
|
|
46
|
+
static readMetadata(files: PathLikeOrReadStream[]): Promise<Buffer>;
|
|
47
|
+
/**
|
|
48
|
+
* Writes metadata to the provided PDF files.
|
|
49
|
+
*
|
|
50
|
+
* @param {PathLikeOrReadStream[]} files - An array of PathLikes or ReadStreams to the PDF files.
|
|
51
|
+
* @param {Metadata} metadata - Metadata to be written.
|
|
52
|
+
* @returns {Promise<Buffer>} A Promise that resolves to the PDF file containing metadata as a buffer.
|
|
53
|
+
*/
|
|
54
|
+
static writeMetadata({ files, metadata }: {
|
|
55
|
+
files: PathLikeOrReadStream[];
|
|
56
|
+
metadata: Metadata;
|
|
57
|
+
}): Promise<Buffer>;
|
|
36
58
|
/**
|
|
37
59
|
* Generates a PDF file from a buffer and saves it to the "__generated__" directory.
|
|
38
60
|
*
|
|
@@ -20,8 +20,8 @@ class PDFEngine {
|
|
|
20
20
|
* @param {PathLikeOrReadStream[]} options.files - An array of PathLikes or ReadStreams to the PDF files to be merged.
|
|
21
21
|
* @returns {Promise<Buffer>} A Promise resolving to the merged PDF content as a Buffer.
|
|
22
22
|
*/
|
|
23
|
-
static merge(
|
|
24
|
-
return tslib_1.__awaiter(this,
|
|
23
|
+
static merge(_a) {
|
|
24
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ files }) {
|
|
25
25
|
const data = new form_data_1.default();
|
|
26
26
|
yield engine_utils_1.PDFEngineUtils.addFiles(files, data);
|
|
27
27
|
const endpoint = `${main_config_1.Chromiumly.GOTENBERG_ENDPOINT}/${main_config_1.Chromiumly.PDF_ENGINES_PATH}/${main_config_1.Chromiumly.PDF_ENGINE_ROUTES.merge}`;
|
|
@@ -39,8 +39,8 @@ class PDFEngine {
|
|
|
39
39
|
* @param {boolean} [options.merge] - Indicates whether to merge the resulting PDFs.
|
|
40
40
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
41
41
|
*/
|
|
42
|
-
static convert(
|
|
43
|
-
return tslib_1.__awaiter(this,
|
|
42
|
+
static convert(_a) {
|
|
43
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ files, properties, pdfFormat, pdfUA, merge }) {
|
|
44
44
|
const data = new form_data_1.default();
|
|
45
45
|
if (pdfFormat) {
|
|
46
46
|
data.append('pdfa', pdfFormat);
|
|
@@ -59,6 +59,36 @@ class PDFEngine {
|
|
|
59
59
|
return common_1.GotenbergUtils.fetch(endpoint, data);
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Reads metadata from the provided files.
|
|
64
|
+
*
|
|
65
|
+
* @param {PathLikeOrReadStream[]} files An array of PathLikes or ReadStreams to the PDF files.
|
|
66
|
+
* @returns {Promise<Buffer>} A Promise resolving to the metadata buffer.
|
|
67
|
+
*/
|
|
68
|
+
static readMetadata(files) {
|
|
69
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const data = new form_data_1.default();
|
|
71
|
+
yield engine_utils_1.PDFEngineUtils.addFiles(files, data);
|
|
72
|
+
const endpoint = `${main_config_1.Chromiumly.GOTENBERG_ENDPOINT}/${main_config_1.Chromiumly.PDF_ENGINES_PATH}/${main_config_1.Chromiumly.PDF_ENGINE_ROUTES.readMetadata}`;
|
|
73
|
+
return common_1.GotenbergUtils.fetch(endpoint, data);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Writes metadata to the provided PDF files.
|
|
78
|
+
*
|
|
79
|
+
* @param {PathLikeOrReadStream[]} files - An array of PathLikes or ReadStreams to the PDF files.
|
|
80
|
+
* @param {Metadata} metadata - Metadata to be written.
|
|
81
|
+
* @returns {Promise<Buffer>} A Promise that resolves to the PDF file containing metadata as a buffer.
|
|
82
|
+
*/
|
|
83
|
+
static writeMetadata(_a) {
|
|
84
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ files, metadata }) {
|
|
85
|
+
const data = new form_data_1.default();
|
|
86
|
+
data.append('metadata', JSON.stringify(metadata));
|
|
87
|
+
yield engine_utils_1.PDFEngineUtils.addFiles(files, data);
|
|
88
|
+
const endpoint = `${main_config_1.Chromiumly.GOTENBERG_ENDPOINT}/${main_config_1.Chromiumly.PDF_ENGINES_PATH}/${main_config_1.Chromiumly.PDF_ENGINE_ROUTES.writeMetadata}`;
|
|
89
|
+
return common_1.GotenbergUtils.fetch(endpoint, data);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
62
92
|
/**
|
|
63
93
|
* Generates a PDF file from a buffer and saves it to the "__generated__" directory.
|
|
64
94
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.engine.js","sourceRoot":"","sources":["../../src/pdf-engines/pdf.engine.ts"],"names":[],"mappings":";;;;AAAA,2BAA8B;AAC9B,wDAAwB;AAExB,kEAAiC;AAEjC,gDAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"pdf.engine.js","sourceRoot":"","sources":["../../src/pdf-engines/pdf.engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chromiumly",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "A lightweight Typescript library that interacts with Gotenberg's different modules to convert a variety of document formats to PDF files.",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"types": "dist/main.d.ts",
|
|
@@ -41,19 +41,19 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@babel/preset-typescript": "7.
|
|
44
|
+
"@babel/preset-typescript": "7.24.1",
|
|
45
45
|
"@commitlint/cli": "^19.0.3",
|
|
46
46
|
"@commitlint/config-conventional": "^19.0.3",
|
|
47
47
|
"@commitlint/cz-commitlint": "^19.0.3",
|
|
48
48
|
"@release-it/conventional-changelog": "8.0.1",
|
|
49
|
-
"@types/config": "3.3.
|
|
49
|
+
"@types/config": "3.3.4",
|
|
50
50
|
"@types/dotenv": "8.2.0",
|
|
51
51
|
"@types/form-data": "2.5.0",
|
|
52
52
|
"@types/jest": "29.5.12",
|
|
53
|
-
"@types/node": "20.
|
|
53
|
+
"@types/node": "20.12.4",
|
|
54
54
|
"@types/node-fetch": "2.6.11",
|
|
55
|
-
"@typescript-eslint/eslint-plugin": "7.
|
|
56
|
-
"@typescript-eslint/parser": "7.
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "7.5.0",
|
|
56
|
+
"@typescript-eslint/parser": "7.5.0",
|
|
57
57
|
"commitizen": "4.3.0",
|
|
58
58
|
"eslint": "8.57.0",
|
|
59
59
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"ts-jest": "29.1.2",
|
|
68
68
|
"ts-node": "10.9.2",
|
|
69
69
|
"tslib": "2.6.2",
|
|
70
|
-
"typescript": "5.
|
|
70
|
+
"typescript": "5.4.3"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"config": "3.3.11",
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import FormData from 'form-data';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
GotenbergUtils,
|
|
5
|
+
Metadata,
|
|
6
|
+
PathLikeOrReadStream,
|
|
7
|
+
PdfFormat
|
|
8
|
+
} from '../../common';
|
|
4
9
|
import { PageProperties } from '../interfaces/converter.types';
|
|
5
10
|
import { ConverterUtils } from '../utils/converter.utils';
|
|
6
11
|
import { Converter } from './converter';
|
|
@@ -40,6 +45,7 @@ export class HtmlConverter extends Converter {
|
|
|
40
45
|
* @param {number[]} [options.failOnHttpStatusCodes] - Whether to fail on HTTP status code.
|
|
41
46
|
* @param {boolean} [options.failOnConsoleExceptions] - Whether to fail on console exceptions during conversion.
|
|
42
47
|
* @param {boolean} [options.skipNetworkIdleEvent] - Whether to skip network idle event.
|
|
48
|
+
* @param {Metadata} options.metadata - Metadata to be written.
|
|
43
49
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
44
50
|
*/
|
|
45
51
|
async convert({
|
|
@@ -57,23 +63,33 @@ export class HtmlConverter extends Converter {
|
|
|
57
63
|
extraHttpHeaders,
|
|
58
64
|
failOnHttpStatusCodes,
|
|
59
65
|
failOnConsoleExceptions,
|
|
60
|
-
skipNetworkIdleEvent
|
|
66
|
+
skipNetworkIdleEvent,
|
|
67
|
+
metadata
|
|
61
68
|
}: {
|
|
62
69
|
html: PathLikeOrReadStream;
|
|
63
70
|
assets?: { file: PathLikeOrReadStream; name: string }[];
|
|
64
71
|
header?: PathLikeOrReadStream;
|
|
65
72
|
footer?: PathLikeOrReadStream;
|
|
66
73
|
properties?: PageProperties;
|
|
74
|
+
/**
|
|
75
|
+
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for pdfFormat.
|
|
76
|
+
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
77
|
+
*/
|
|
67
78
|
pdfFormat?: PdfFormat;
|
|
68
79
|
pdfUA?: boolean;
|
|
69
80
|
emulatedMediaType?: EmulatedMediaType;
|
|
70
81
|
waitDelay?: string;
|
|
71
82
|
waitForExpression?: string;
|
|
83
|
+
/**
|
|
84
|
+
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for userAgent.
|
|
85
|
+
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
86
|
+
*/
|
|
72
87
|
userAgent?: string;
|
|
73
88
|
extraHttpHeaders?: Record<string, string>;
|
|
74
89
|
failOnHttpStatusCodes?: number[];
|
|
75
90
|
failOnConsoleExceptions?: boolean;
|
|
76
91
|
skipNetworkIdleEvent?: boolean;
|
|
92
|
+
metadata?: Metadata;
|
|
77
93
|
}): Promise<Buffer> {
|
|
78
94
|
const data = new FormData();
|
|
79
95
|
|
|
@@ -100,7 +116,8 @@ export class HtmlConverter extends Converter {
|
|
|
100
116
|
extraHttpHeaders,
|
|
101
117
|
failOnHttpStatusCodes,
|
|
102
118
|
failOnConsoleExceptions,
|
|
103
|
-
skipNetworkIdleEvent
|
|
119
|
+
skipNetworkIdleEvent,
|
|
120
|
+
metadata
|
|
104
121
|
});
|
|
105
122
|
|
|
106
123
|
return GotenbergUtils.fetch(this.endpoint, data);
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import FormData from 'form-data';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
GotenbergUtils,
|
|
5
|
+
PdfFormat,
|
|
6
|
+
PathLikeOrReadStream,
|
|
7
|
+
Metadata
|
|
8
|
+
} from '../../common';
|
|
4
9
|
import { PageProperties } from '../interfaces/converter.types';
|
|
5
10
|
import { ConverterUtils } from '../utils/converter.utils';
|
|
6
11
|
import { Converter } from './converter';
|
|
@@ -41,6 +46,7 @@ export class MarkdownConverter extends Converter {
|
|
|
41
46
|
* @param {number []} [options.failOnHttpStatusCodes] - Whether to fail on HTTP status code.
|
|
42
47
|
* @param {boolean} [options.failOnConsoleExceptions] - Whether to fail on console exceptions during conversion.
|
|
43
48
|
* @param {boolean} [options.skipNetworkIdleEvent] - Whether to skip network idle event.
|
|
49
|
+
* @param {Metadata} options.metadata - Metadata to be written.
|
|
44
50
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
45
51
|
*/
|
|
46
52
|
async convert({
|
|
@@ -58,23 +64,33 @@ export class MarkdownConverter extends Converter {
|
|
|
58
64
|
extraHttpHeaders,
|
|
59
65
|
failOnHttpStatusCodes,
|
|
60
66
|
failOnConsoleExceptions,
|
|
61
|
-
skipNetworkIdleEvent
|
|
67
|
+
skipNetworkIdleEvent,
|
|
68
|
+
metadata
|
|
62
69
|
}: {
|
|
63
70
|
html: PathLikeOrReadStream;
|
|
64
71
|
markdown: PathLikeOrReadStream;
|
|
65
72
|
header?: PathLikeOrReadStream;
|
|
66
73
|
footer?: PathLikeOrReadStream;
|
|
67
74
|
properties?: PageProperties;
|
|
75
|
+
/**
|
|
76
|
+
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for pdfFormat.
|
|
77
|
+
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
78
|
+
*/
|
|
68
79
|
pdfFormat?: PdfFormat;
|
|
69
80
|
pdfUA?: boolean;
|
|
70
81
|
emulatedMediaType?: EmulatedMediaType;
|
|
71
82
|
waitDelay?: string;
|
|
72
83
|
waitForExpression?: string;
|
|
84
|
+
/**
|
|
85
|
+
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for userAgent.
|
|
86
|
+
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
87
|
+
*/
|
|
73
88
|
userAgent?: string;
|
|
74
89
|
extraHttpHeaders?: Record<string, string>;
|
|
75
90
|
failOnHttpStatusCodes?: number[];
|
|
76
91
|
failOnConsoleExceptions?: boolean;
|
|
77
92
|
skipNetworkIdleEvent?: boolean;
|
|
93
|
+
metadata?: Metadata;
|
|
78
94
|
}): Promise<Buffer> {
|
|
79
95
|
const data = new FormData();
|
|
80
96
|
|
|
@@ -95,7 +111,8 @@ export class MarkdownConverter extends Converter {
|
|
|
95
111
|
extraHttpHeaders,
|
|
96
112
|
failOnHttpStatusCodes,
|
|
97
113
|
failOnConsoleExceptions,
|
|
98
|
-
skipNetworkIdleEvent
|
|
114
|
+
skipNetworkIdleEvent,
|
|
115
|
+
metadata
|
|
99
116
|
});
|
|
100
117
|
|
|
101
118
|
return GotenbergUtils.fetch(this.endpoint, data);
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { URL } from 'url';
|
|
2
2
|
import FormData from 'form-data';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
GotenbergUtils,
|
|
5
|
+
PdfFormat,
|
|
6
|
+
PathLikeOrReadStream,
|
|
7
|
+
Metadata
|
|
8
|
+
} from '../../common';
|
|
4
9
|
import { PageProperties } from '../interfaces/converter.types';
|
|
5
10
|
import { ConverterUtils } from '../utils/converter.utils';
|
|
6
11
|
import { Converter } from './converter';
|
|
@@ -40,6 +45,7 @@ export class UrlConverter extends Converter {
|
|
|
40
45
|
* @param {number[]} [options.failOnHttpStatusCodes] - Whether to fail on HTTP status code.
|
|
41
46
|
* @param {boolean} [options.failOnConsoleExceptions] - Whether to fail on console exceptions during conversion.
|
|
42
47
|
* @param {boolean} [options.skipNetworkIdleEvent] - Whether to skip network idle event.
|
|
48
|
+
* @param {Metadata} options.metadata - Metadata to be written.
|
|
43
49
|
* @returns {Promise<Buffer>} A Promise resolving to the converted PDF content as a Buffer.
|
|
44
50
|
*/
|
|
45
51
|
async convert({
|
|
@@ -56,22 +62,32 @@ export class UrlConverter extends Converter {
|
|
|
56
62
|
extraHttpHeaders,
|
|
57
63
|
failOnHttpStatusCodes,
|
|
58
64
|
failOnConsoleExceptions,
|
|
59
|
-
skipNetworkIdleEvent
|
|
65
|
+
skipNetworkIdleEvent,
|
|
66
|
+
metadata
|
|
60
67
|
}: {
|
|
61
68
|
url: string;
|
|
62
69
|
header?: PathLikeOrReadStream;
|
|
63
70
|
footer?: PathLikeOrReadStream;
|
|
64
71
|
properties?: PageProperties;
|
|
72
|
+
/**
|
|
73
|
+
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for pdfFormat.
|
|
74
|
+
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
75
|
+
*/
|
|
65
76
|
pdfFormat?: PdfFormat;
|
|
66
77
|
pdfUA?: boolean;
|
|
67
78
|
emulatedMediaType?: EmulatedMediaType;
|
|
68
79
|
waitDelay?: string;
|
|
69
80
|
waitForExpression?: string;
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for userAgent.
|
|
83
|
+
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
|
|
84
|
+
*/
|
|
70
85
|
userAgent?: string;
|
|
71
86
|
extraHttpHeaders?: Record<string, string>;
|
|
72
87
|
failOnHttpStatusCodes?: number[];
|
|
73
88
|
failOnConsoleExceptions?: boolean;
|
|
74
89
|
skipNetworkIdleEvent?: boolean;
|
|
90
|
+
metadata?: Metadata;
|
|
75
91
|
}): Promise<Buffer> {
|
|
76
92
|
const _url = new URL(url);
|
|
77
93
|
const data = new FormData();
|
|
@@ -91,7 +107,8 @@ export class UrlConverter extends Converter {
|
|
|
91
107
|
extraHttpHeaders,
|
|
92
108
|
failOnHttpStatusCodes,
|
|
93
109
|
failOnConsoleExceptions,
|
|
94
|
-
skipNetworkIdleEvent
|
|
110
|
+
skipNetworkIdleEvent,
|
|
111
|
+
metadata
|
|
95
112
|
});
|
|
96
113
|
|
|
97
114
|
return GotenbergUtils.fetch(this.endpoint, data);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PdfFormat } from '../../common';
|
|
1
|
+
import { Metadata, PdfFormat } from '../../common';
|
|
2
2
|
import { ChromiumOptions } from './common.types';
|
|
3
3
|
|
|
4
4
|
type PageSize = {
|
|
@@ -30,4 +30,5 @@ export type ConversionOptions = ChromiumOptions & {
|
|
|
30
30
|
pdfFormat?: PdfFormat;
|
|
31
31
|
pdfUA?: boolean; // Enable PDF for Universal Access for optimal accessibility (default false)
|
|
32
32
|
userAgent?: string;
|
|
33
|
+
metadata?: Metadata;
|
|
33
34
|
};
|
|
@@ -351,6 +351,19 @@ describe('GotenbergUtils', () => {
|
|
|
351
351
|
});
|
|
352
352
|
});
|
|
353
353
|
|
|
354
|
+
describe('when metadata parameter is passed', () => {
|
|
355
|
+
it('should append metadata', async () => {
|
|
356
|
+
await ConverterUtils.customize(data, {
|
|
357
|
+
metadata: { Author: 'John Doe' }
|
|
358
|
+
});
|
|
359
|
+
expect(mockFormDataAppend).toHaveBeenCalledTimes(1);
|
|
360
|
+
expect(data.append).toHaveBeenCalledWith(
|
|
361
|
+
'metadata',
|
|
362
|
+
JSON.stringify({ Author: 'John Doe' })
|
|
363
|
+
);
|
|
364
|
+
});
|
|
365
|
+
});
|
|
366
|
+
|
|
354
367
|
describe('when all options are passed', () => {
|
|
355
368
|
it('should append all options', async () => {
|
|
356
369
|
await ConverterUtils.customize(data, {
|
|
@@ -367,9 +380,10 @@ describe('GotenbergUtils', () => {
|
|
|
367
380
|
extraHttpHeaders: { 'X-Custom-Header': 'value' },
|
|
368
381
|
failOnHttpStatusCodes: [499, 599],
|
|
369
382
|
skipNetworkIdleEvent: true,
|
|
370
|
-
failOnConsoleExceptions: true
|
|
383
|
+
failOnConsoleExceptions: true,
|
|
384
|
+
metadata: { Author: 'John Doe' }
|
|
371
385
|
});
|
|
372
|
-
expect(mockFormDataAppend).toHaveBeenCalledTimes(
|
|
386
|
+
expect(mockFormDataAppend).toHaveBeenCalledTimes(15);
|
|
373
387
|
expect(data.append).toHaveBeenNthCalledWith(
|
|
374
388
|
1,
|
|
375
389
|
'pdfa',
|
|
@@ -438,6 +452,11 @@ describe('GotenbergUtils', () => {
|
|
|
438
452
|
'skipNetworkIdleEvent',
|
|
439
453
|
'true'
|
|
440
454
|
);
|
|
455
|
+
expect(data.append).toHaveBeenNthCalledWith(
|
|
456
|
+
15,
|
|
457
|
+
'metadata',
|
|
458
|
+
JSON.stringify({ Author: 'John Doe' })
|
|
459
|
+
);
|
|
441
460
|
});
|
|
442
461
|
});
|
|
443
462
|
});
|
package/src/common/constants.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export enum PdfFormat {
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Starting from Gotenberg version 7.6, LibreOffice no longer provides support for PDF/A-1a.
|
|
4
|
+
* @see {@link https://gotenberg.dev/docs/troubleshooting#pdfa-1a}
|
|
5
|
+
*/
|
|
2
6
|
A_1a = 'PDF/A-1a',
|
|
3
7
|
A_2b = 'PDF/A-2b',
|
|
4
8
|
A_3b = 'PDF/A-3b'
|
package/src/common/index.ts
CHANGED
package/src/common/types.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type PageProperties = {
|
|
2
2
|
landscape?: boolean; // Set the paper orientation to landscape (default false)
|
|
3
3
|
nativePageRanges?: { from: number; to: number }; // Page ranges to print
|
|
4
|
+
exportFormFields?: boolean; // Set whether to export the form fields or to use the inputted/selected content of the fields (default true)
|
|
4
5
|
};
|