mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-07-04 17:20:09 +00:00
carbone-1.2 typings (#42645)
This commit is contained in:
127
types/carbone/carbone-tests.ts
Normal file
127
types/carbone/carbone-tests.ts
Normal file
@@ -0,0 +1,127 @@
|
||||
import carbone = require('carbone');
|
||||
|
||||
const buffer = Buffer.alloc(1024);
|
||||
const convertTo = 'pdf';
|
||||
const currencySource = 'EUR';
|
||||
const currencyTarget = 'PLN';
|
||||
const extension = 'odt';
|
||||
const lang = 'pl';
|
||||
const tempPath = '/tmp';
|
||||
const templatePath = './templates';
|
||||
|
||||
const emptyCurrencyRates = {};
|
||||
const currencyRates = {
|
||||
...emptyCurrencyRates,
|
||||
EUR: 1,
|
||||
PLN: 0.25,
|
||||
};
|
||||
|
||||
const emptyFormatters: carbone.Formatters = {};
|
||||
const formatters: carbone.Formatters = {
|
||||
...emptyFormatters,
|
||||
json: data => JSON.stringify(data),
|
||||
};
|
||||
|
||||
const emptyTranslations: carbone.Translations = {};
|
||||
const translations: carbone.Translations = {
|
||||
...emptyTranslations,
|
||||
en: {
|
||||
Hello: 'Hello',
|
||||
Goodbye: 'Goodbye',
|
||||
},
|
||||
pl: {
|
||||
Hello: 'Witaj',
|
||||
Goodbye: 'Do widzenia',
|
||||
},
|
||||
};
|
||||
|
||||
const emptyData = {};
|
||||
const data = {
|
||||
...emptyData,
|
||||
b: true,
|
||||
n: 100,
|
||||
s: 'carbone',
|
||||
o: {
|
||||
field: 'value',
|
||||
},
|
||||
};
|
||||
|
||||
const emptyEnums: carbone.Enums = {};
|
||||
const enums: carbone.Enums = {
|
||||
...emptyEnums,
|
||||
ARRAY: ['some', 'values'],
|
||||
MAP: {
|
||||
yes: 'true',
|
||||
no: 'false',
|
||||
},
|
||||
};
|
||||
|
||||
const emptyOptions: carbone.Options = {};
|
||||
const options: carbone.Options = {
|
||||
...emptyOptions,
|
||||
tempPath,
|
||||
templatePath,
|
||||
lang,
|
||||
translations,
|
||||
currencySource,
|
||||
currencyTarget,
|
||||
currencyRates,
|
||||
};
|
||||
|
||||
const emptyRenderOptions: carbone.RenderOptions = {};
|
||||
const renderOptions: carbone.RenderOptions = {
|
||||
...emptyRenderOptions,
|
||||
complement: data,
|
||||
convertTo,
|
||||
currencyRates,
|
||||
currencySource,
|
||||
currencyTarget,
|
||||
enum: enums,
|
||||
lang,
|
||||
translations,
|
||||
variableStr: '',
|
||||
};
|
||||
|
||||
const variables: carbone.Variable[] = [
|
||||
{
|
||||
code: 'code1',
|
||||
name: 'name1',
|
||||
regex: /^/,
|
||||
},
|
||||
{
|
||||
code: 'code2',
|
||||
name: 'name2',
|
||||
regex: /$/,
|
||||
},
|
||||
];
|
||||
|
||||
const emptyRenderXMLOptions: carbone.RenderXMLOptions = {};
|
||||
const renderXMLOptions: carbone.RenderXMLOptions = {
|
||||
...emptyRenderXMLOptions,
|
||||
complement: data,
|
||||
formatters,
|
||||
lang,
|
||||
translations,
|
||||
existingVariables: variables,
|
||||
extension,
|
||||
};
|
||||
|
||||
carbone.set(emptyOptions);
|
||||
carbone.set(options);
|
||||
carbone.reset();
|
||||
|
||||
carbone.addFormatters(formatters);
|
||||
|
||||
carbone.addTemplate('xml', '<xml>', err => {});
|
||||
carbone.removeTemplate('xml', err => {});
|
||||
|
||||
const conversionFormats: carbone.ConversionFormat[] = carbone.listConversionFormats('document');
|
||||
|
||||
carbone.render('./template.odf', data, renderOptions, (err, result: Buffer | string, reportName: string) => {});
|
||||
carbone.render('./template.odf', data, (err, result: Buffer | string, reportName: string) => {});
|
||||
|
||||
carbone.renderXML('<xml>', data, renderXMLOptions, (err, result: Buffer | string) => {});
|
||||
carbone.renderXML('<xml>', data, (err, result: Buffer | string) => {});
|
||||
|
||||
carbone.convert(buffer, 'pdf', {}, (err, result: Buffer) => {});
|
||||
carbone.convert(buffer, 'pdf', (err, result: Buffer) => {});
|
||||
93
types/carbone/index.d.ts
vendored
Normal file
93
types/carbone/index.d.ts
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
// Type definitions for carbone 1.2
|
||||
// Project: https://carbone.io
|
||||
// Definitions by: Artur Nerkowski <https://github.com/apatryda>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="node" />
|
||||
|
||||
export interface ConversionFormat {
|
||||
id: string;
|
||||
extension: string;
|
||||
desc: string;
|
||||
format: string;
|
||||
}
|
||||
export interface CurrencyRates {
|
||||
[currency: string]: number;
|
||||
}
|
||||
export type DocumentType = 'document' | 'web' | 'graphics' | 'spreadsheet' | 'presentation';
|
||||
export interface Enums {
|
||||
[type: string]: string[] | { [key: string]: string };
|
||||
}
|
||||
export interface FormatterContext {
|
||||
currency: {
|
||||
rates: CurrencyRates;
|
||||
source: string;
|
||||
target: string;
|
||||
};
|
||||
enum: Enums;
|
||||
extension: string;
|
||||
lang: string;
|
||||
stopPropagation: boolean;
|
||||
}
|
||||
export type Formatter = (this: FormatterContext, data: any, ...params: any[]) => void;
|
||||
export interface Formatters {
|
||||
[name: string]: Formatter;
|
||||
}
|
||||
export interface Translations {
|
||||
[lang: string]: {
|
||||
[key: string]: string;
|
||||
};
|
||||
}
|
||||
export interface Variable {
|
||||
name: string;
|
||||
code: string;
|
||||
regex: RegExp;
|
||||
}
|
||||
export type VoidCallback = (err: NodeJS.ErrnoException | null) => void;
|
||||
|
||||
export interface Options {
|
||||
tempPath?: string;
|
||||
templatePath?: string;
|
||||
lang?: string;
|
||||
translations?: Translations;
|
||||
currencySource?: string;
|
||||
currencyTarget?: string;
|
||||
currencyRates?: CurrencyRates;
|
||||
}
|
||||
export function set(options: Options): void;
|
||||
export function reset(): void;
|
||||
export function addFormatters(customFormatters: Formatters): void;
|
||||
export function addTemplate(fileId: string, data: string | Buffer, callback: VoidCallback): void;
|
||||
export function removeTemplate(fileId: string, callback: VoidCallback): void;
|
||||
export function listConversionFormats(documentType: DocumentType): ConversionFormat[];
|
||||
|
||||
export interface RenderXMLOptions {
|
||||
complement?: object;
|
||||
formatters?: Formatters;
|
||||
lang?: string;
|
||||
translations?: Translations;
|
||||
existingVariables?: Variable[];
|
||||
extension?: string;
|
||||
}
|
||||
export type RenderXMLCallback = (err: NodeJS.ErrnoException | null, xmlResult: string) => void;
|
||||
export function renderXML(xml: string, data: object, options: RenderXMLOptions, callback: RenderXMLCallback): void;
|
||||
export function renderXML(xml: string, data: object, callback: RenderXMLCallback): void;
|
||||
|
||||
export interface RenderOptions {
|
||||
complement?: object;
|
||||
convertTo?: string | object;
|
||||
variableStr?: string;
|
||||
lang?: string;
|
||||
translations?: Translations;
|
||||
enum?: Enums;
|
||||
currencySource?: string;
|
||||
currencyTarget?: string;
|
||||
currencyRates?: CurrencyRates;
|
||||
}
|
||||
export type RenderCallback = (err: NodeJS.ErrnoException | null, result: Buffer | string, reportName: string) => void;
|
||||
export function render(templatePath: string, data: object, options: RenderOptions, callback: RenderCallback): void;
|
||||
export function render(templatePath: string, data: object, callback: RenderCallback): void;
|
||||
|
||||
export type ConvertCallback = (err: NodeJS.ErrnoException | null, result: Buffer) => void;
|
||||
export function convert(data: Buffer, convertTo: string, options: object, callback: ConvertCallback): void;
|
||||
export function convert(data: Buffer, convertTo: string, callback: ConvertCallback): void;
|
||||
23
types/carbone/tsconfig.json
Normal file
23
types/carbone/tsconfig.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictFunctionTypes": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"carbone-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/carbone/tslint.json
Normal file
1
types/carbone/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user