@oicana/node 0.1.0-alpha.3 → 0.1.0-alpha.4
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/dist/Template.d.ts +14 -18
- package/dist/Template.js +22 -32
- package/dist/Template.js.map +1 -1
- package/package.json +1 -1
- package/src/Template.ts +37 -42
package/dist/Template.d.ts
CHANGED
|
@@ -8,21 +8,18 @@ import type { BlobWithMetadata } from './inputs/index.js';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class Template {
|
|
10
10
|
private readonly template;
|
|
11
|
-
private defaultCompilationMode;
|
|
12
11
|
/**
|
|
13
|
-
* Register a template with the given
|
|
14
|
-
* @param name of the template
|
|
12
|
+
* Register a template with the given template file
|
|
15
13
|
* @param template - the packed Oicana template file
|
|
16
14
|
*/
|
|
17
|
-
constructor(
|
|
15
|
+
constructor(template: Uint8Array);
|
|
18
16
|
/**
|
|
19
|
-
* Register a template with the given
|
|
20
|
-
* @param name of the template
|
|
17
|
+
* Register a template with the given template file and inputs
|
|
21
18
|
* @param template - the packed Oicana template file
|
|
22
|
-
* @param jsonInputs for the initial
|
|
23
|
-
* @param blobInputs for the initial
|
|
19
|
+
* @param jsonInputs for the initial compilation to warm up the cache
|
|
20
|
+
* @param blobInputs for the initial compilation to warm up the cache
|
|
24
21
|
*/
|
|
25
|
-
constructor(
|
|
22
|
+
constructor(template: Uint8Array, jsonInputs: Map<string, string>, blobInputs: Map<string, BlobWithMetadata>);
|
|
26
23
|
/**
|
|
27
24
|
* Compile the template to a PDF file without any inputs in production mode
|
|
28
25
|
*/
|
|
@@ -37,18 +34,17 @@ export declare class Template {
|
|
|
37
34
|
* Compile the template with the given inputs
|
|
38
35
|
* @param jsonInputs
|
|
39
36
|
* @param blobInputs
|
|
40
|
-
* @param
|
|
37
|
+
* @param exportOptions
|
|
41
38
|
*/
|
|
42
|
-
compile(jsonInputs: Map<string, string>, blobInputs: Map<string, BlobWithMetadata>,
|
|
39
|
+
compile(jsonInputs: Map<string, string>, blobInputs: Map<string, BlobWithMetadata>, exportOptions: ExportFormat): Uint8Array;
|
|
43
40
|
/**
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*
|
|
49
|
-
* @param compilationMode to use as default when compiling this template
|
|
41
|
+
* Compile the template with the given inputs
|
|
42
|
+
* @param jsonInputs
|
|
43
|
+
* @param blobInputs
|
|
44
|
+
* @param exportOptions
|
|
45
|
+
* @param compilationOptions
|
|
50
46
|
*/
|
|
51
|
-
|
|
47
|
+
compile(jsonInputs: Map<string, string>, blobInputs: Map<string, BlobWithMetadata>, exportOptions: ExportFormat, compilationOptions: CompilationMode): Uint8Array;
|
|
52
48
|
private convertBlobWithMetadata;
|
|
53
49
|
private mapCompilationMode;
|
|
54
50
|
}
|
package/dist/Template.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { compileTemplate, exportDocument, registerTemplate, removeDocument, } from '@oicana/node-native';
|
|
2
3
|
import { CompilationMode } from './CompilationMode.js';
|
|
3
4
|
/**
|
|
4
5
|
* A template
|
|
@@ -7,44 +8,33 @@ import { CompilationMode } from './CompilationMode.js';
|
|
|
7
8
|
*/
|
|
8
9
|
export class Template {
|
|
9
10
|
template;
|
|
10
|
-
defaultCompilationMode;
|
|
11
11
|
/**
|
|
12
|
-
* Register a template with the given
|
|
13
|
-
* @param name of the template
|
|
12
|
+
* Register a template with the given template file and inputs
|
|
14
13
|
* @param template - the packed Oicana template file
|
|
15
|
-
* @param jsonInputs for the initial
|
|
16
|
-
* @param blobInputs for the initial
|
|
17
|
-
* @param
|
|
14
|
+
* @param jsonInputs for the initial compilation to warm up the cache (defaults to empty map)
|
|
15
|
+
* @param blobInputs for the initial compilation to warm up the cache (defaults to empty map)
|
|
16
|
+
* @param compilationOptions for the initial compilation to warm up the cache (defaults to Development)
|
|
18
17
|
*/
|
|
19
|
-
constructor(
|
|
20
|
-
this.template =
|
|
21
|
-
this.
|
|
22
|
-
registerTemplate(this.template, template, Object.fromEntries(jsonInputs ?? new Map()), this.convertBlobWithMetadata(blobInputs ?? new Map()), this.mapCompilationMode(compilationMode ?? CompilationMode.Development));
|
|
18
|
+
constructor(template, jsonInputs, blobInputs, compilationOptions) {
|
|
19
|
+
this.template = randomUUID();
|
|
20
|
+
registerTemplate(this.template, template, Object.fromEntries(jsonInputs ?? new Map()), this.convertBlobWithMetadata(blobInputs ?? new Map()), this.mapCompilationMode(compilationOptions ?? CompilationMode.Development));
|
|
23
21
|
}
|
|
24
22
|
/**
|
|
25
23
|
* Compile the template with the given inputs
|
|
26
|
-
* @param jsonInputs
|
|
27
|
-
* @param blobInputs
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
24
|
+
* @param jsonInputs - JSON inputs for the template (defaults to empty map)
|
|
25
|
+
* @param blobInputs - Blob inputs for the template (defaults to empty map)
|
|
26
|
+
* @param exportOptions - Export format specification (defaults to PDF)
|
|
27
|
+
* @param compilationOptions - Compilation mode (defaults to Production)
|
|
30
28
|
*/
|
|
31
|
-
compile(jsonInputs, blobInputs,
|
|
32
|
-
const format =
|
|
33
|
-
const document = compileTemplate(this.template, Object.fromEntries(jsonInputs ?? new Map()), this.convertBlobWithMetadata(blobInputs ?? new Map()), this.mapCompilationMode(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return this.defaultCompilationMode;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Set the default compilation mode of this template
|
|
44
|
-
* @param compilationMode to use as default when compiling this template
|
|
45
|
-
*/
|
|
46
|
-
setDefaultMode(compilationMode) {
|
|
47
|
-
this.defaultCompilationMode = compilationMode;
|
|
29
|
+
compile(jsonInputs, blobInputs, exportOptions, compilationOptions) {
|
|
30
|
+
const format = exportOptions ?? { format: 'pdf' };
|
|
31
|
+
const document = compileTemplate(this.template, Object.fromEntries(jsonInputs ?? new Map()), this.convertBlobWithMetadata(blobInputs ?? new Map()), this.mapCompilationMode(compilationOptions ?? CompilationMode.Production));
|
|
32
|
+
try {
|
|
33
|
+
return exportDocument(document, JSON.stringify(format));
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
removeDocument(document);
|
|
37
|
+
}
|
|
48
38
|
}
|
|
49
39
|
convertBlobWithMetadata(blobInputs) {
|
|
50
40
|
return Object.fromEntries(Array.from(blobInputs.entries(), ([key, value]) => {
|
package/dist/Template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/Template.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,
|
|
1
|
+
{"version":3,"file":"Template.js","sourceRoot":"","sources":["../src/Template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAEL,eAAe,EACf,cAAc,EAEd,gBAAgB,EAChB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACF,QAAQ,CAAS;IAoBlC;;;;;;OAMG;IACH,YACE,QAAoB,EACpB,UAAgC,EAChC,UAA0C,EAC1C,kBAAoC;QAEpC,IAAI,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC;QAE7B,gBAAgB,CACd,IAAI,CAAC,QAAQ,EACb,QAAQ,EACR,MAAM,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,GAAG,EAAkB,CAAC,EAC3D,IAAI,CAAC,uBAAuB,CAC1B,UAAU,IAAI,IAAI,GAAG,EAA4B,CAClD,EACD,IAAI,CAAC,kBAAkB,CACrB,kBAAkB,IAAI,eAAe,CAAC,WAAW,CAClD,CACF,CAAC;IACJ,CAAC;IA2CD;;;;;;OAMG;IACI,OAAO,CACZ,UAAgC,EAChC,UAA0C,EAC1C,aAA4B,EAC5B,kBAAoC;QAEpC,MAAM,MAAM,GAAiB,aAAa,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAEhE,MAAM,QAAQ,GAAG,eAAe,CAC9B,IAAI,CAAC,QAAQ,EACb,MAAM,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,GAAG,EAAkB,CAAC,EAC3D,IAAI,CAAC,uBAAuB,CAC1B,UAAU,IAAI,IAAI,GAAG,EAA4B,CAClD,EACD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,IAAI,eAAe,CAAC,UAAU,CAAC,CAC1E,CAAC;QACF,IAAI,CAAC;YACH,OAAO,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,UAAyC;QAEzC,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAChD,MAAM,WAAW,GAAG;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;aACnE,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,IAAqB;QAC9C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe,CAAC,WAAW;gBAC9B,iDAAyC;YAC3C,KAAK,eAAe,CAAC,UAAU;gBAC7B,gDAAwC;QAC5C,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
package/src/Template.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
1
2
|
import {
|
|
2
3
|
type BlobWithMetadata as BlobWithMetadataNative,
|
|
3
4
|
compileTemplate,
|
|
@@ -17,46 +18,39 @@ import type { BlobWithMetadata } from './inputs/index.js';
|
|
|
17
18
|
*/
|
|
18
19
|
export class Template {
|
|
19
20
|
private readonly template: string;
|
|
20
|
-
private defaultCompilationMode: CompilationMode;
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Register a template with the given
|
|
24
|
-
* @param name of the template
|
|
23
|
+
* Register a template with the given template file
|
|
25
24
|
* @param template - the packed Oicana template file
|
|
26
25
|
*/
|
|
27
|
-
public constructor(
|
|
26
|
+
public constructor(template: Uint8Array);
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
|
-
* Register a template with the given
|
|
31
|
-
* @param name of the template
|
|
29
|
+
* Register a template with the given template file and inputs
|
|
32
30
|
* @param template - the packed Oicana template file
|
|
33
|
-
* @param jsonInputs for the initial
|
|
34
|
-
* @param blobInputs for the initial
|
|
31
|
+
* @param jsonInputs for the initial compilation to warm up the cache
|
|
32
|
+
* @param blobInputs for the initial compilation to warm up the cache
|
|
35
33
|
*/
|
|
36
34
|
public constructor(
|
|
37
|
-
name: string,
|
|
38
35
|
template: Uint8Array,
|
|
39
36
|
jsonInputs: Map<string, string>,
|
|
40
37
|
blobInputs: Map<string, BlobWithMetadata>,
|
|
41
38
|
);
|
|
42
39
|
|
|
43
40
|
/**
|
|
44
|
-
* Register a template with the given
|
|
45
|
-
* @param name of the template
|
|
41
|
+
* Register a template with the given template file and inputs
|
|
46
42
|
* @param template - the packed Oicana template file
|
|
47
|
-
* @param jsonInputs for the initial
|
|
48
|
-
* @param blobInputs for the initial
|
|
49
|
-
* @param
|
|
43
|
+
* @param jsonInputs for the initial compilation to warm up the cache (defaults to empty map)
|
|
44
|
+
* @param blobInputs for the initial compilation to warm up the cache (defaults to empty map)
|
|
45
|
+
* @param compilationOptions for the initial compilation to warm up the cache (defaults to Development)
|
|
50
46
|
*/
|
|
51
47
|
public constructor(
|
|
52
|
-
name: string,
|
|
53
48
|
template: Uint8Array,
|
|
54
49
|
jsonInputs?: Map<string, string>,
|
|
55
50
|
blobInputs?: Map<string, BlobWithMetadata>,
|
|
56
|
-
|
|
51
|
+
compilationOptions?: CompilationMode,
|
|
57
52
|
) {
|
|
58
|
-
this.template =
|
|
59
|
-
this.defaultCompilationMode = CompilationMode.Production;
|
|
53
|
+
this.template = randomUUID();
|
|
60
54
|
|
|
61
55
|
registerTemplate(
|
|
62
56
|
this.template,
|
|
@@ -65,7 +59,9 @@ export class Template {
|
|
|
65
59
|
this.convertBlobWithMetadata(
|
|
66
60
|
blobInputs ?? new Map<string, BlobWithMetadata>(),
|
|
67
61
|
),
|
|
68
|
-
this.mapCompilationMode(
|
|
62
|
+
this.mapCompilationMode(
|
|
63
|
+
compilationOptions ?? CompilationMode.Development,
|
|
64
|
+
),
|
|
69
65
|
);
|
|
70
66
|
}
|
|
71
67
|
|
|
@@ -88,28 +84,42 @@ export class Template {
|
|
|
88
84
|
* Compile the template with the given inputs
|
|
89
85
|
* @param jsonInputs
|
|
90
86
|
* @param blobInputs
|
|
91
|
-
* @param
|
|
87
|
+
* @param exportOptions
|
|
92
88
|
*/
|
|
93
89
|
public compile(
|
|
94
90
|
jsonInputs: Map<string, string>,
|
|
95
91
|
blobInputs: Map<string, BlobWithMetadata>,
|
|
96
|
-
|
|
92
|
+
exportOptions: ExportFormat,
|
|
97
93
|
): Uint8Array;
|
|
98
94
|
|
|
99
95
|
/**
|
|
100
96
|
* Compile the template with the given inputs
|
|
101
97
|
* @param jsonInputs
|
|
102
98
|
* @param blobInputs
|
|
103
|
-
* @param
|
|
104
|
-
* @param
|
|
99
|
+
* @param exportOptions
|
|
100
|
+
* @param compilationOptions
|
|
101
|
+
*/
|
|
102
|
+
public compile(
|
|
103
|
+
jsonInputs: Map<string, string>,
|
|
104
|
+
blobInputs: Map<string, BlobWithMetadata>,
|
|
105
|
+
exportOptions: ExportFormat,
|
|
106
|
+
compilationOptions: CompilationMode,
|
|
107
|
+
): Uint8Array;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Compile the template with the given inputs
|
|
111
|
+
* @param jsonInputs - JSON inputs for the template (defaults to empty map)
|
|
112
|
+
* @param blobInputs - Blob inputs for the template (defaults to empty map)
|
|
113
|
+
* @param exportOptions - Export format specification (defaults to PDF)
|
|
114
|
+
* @param compilationOptions - Compilation mode (defaults to Production)
|
|
105
115
|
*/
|
|
106
116
|
public compile(
|
|
107
117
|
jsonInputs?: Map<string, string>,
|
|
108
118
|
blobInputs?: Map<string, BlobWithMetadata>,
|
|
109
|
-
|
|
110
|
-
|
|
119
|
+
exportOptions?: ExportFormat,
|
|
120
|
+
compilationOptions?: CompilationMode,
|
|
111
121
|
): Uint8Array {
|
|
112
|
-
const format: ExportFormat =
|
|
122
|
+
const format: ExportFormat = exportOptions ?? { format: 'pdf' };
|
|
113
123
|
|
|
114
124
|
const document = compileTemplate(
|
|
115
125
|
this.template,
|
|
@@ -117,7 +127,7 @@ export class Template {
|
|
|
117
127
|
this.convertBlobWithMetadata(
|
|
118
128
|
blobInputs ?? new Map<string, BlobWithMetadata>(),
|
|
119
129
|
),
|
|
120
|
-
this.mapCompilationMode(
|
|
130
|
+
this.mapCompilationMode(compilationOptions ?? CompilationMode.Production),
|
|
121
131
|
);
|
|
122
132
|
try {
|
|
123
133
|
return exportDocument(document, JSON.stringify(format));
|
|
@@ -126,21 +136,6 @@ export class Template {
|
|
|
126
136
|
}
|
|
127
137
|
}
|
|
128
138
|
|
|
129
|
-
/**
|
|
130
|
-
* Get the default compilation mode of this template
|
|
131
|
-
*/
|
|
132
|
-
public defaultMode(): CompilationMode {
|
|
133
|
-
return this.defaultCompilationMode;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Set the default compilation mode of this template
|
|
138
|
-
* @param compilationMode to use as default when compiling this template
|
|
139
|
-
*/
|
|
140
|
-
public setDefaultMode(compilationMode: CompilationMode) {
|
|
141
|
-
this.defaultCompilationMode = compilationMode;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
139
|
private convertBlobWithMetadata(
|
|
145
140
|
blobInputs: Map<string, BlobWithMetadata>,
|
|
146
141
|
): Record<string, BlobWithMetadataNative> {
|