UNPKG

@ldss95/helpers

Version:

Multiples funciones para problemas comunes como validacion de cedula dominicana, formatear strings telefonicos o moneda, generar pdf a partid de html. Etc...

104 lines (103 loc) 3.72 kB
/// <reference types="node" /> import fs from 'fs'; import { PDFOptions } from 'puppeteer'; import handlebars from 'handlebars'; interface PdfToFileParams { templatePath: string; context: object; options?: PDFOptions; filename: string; outDir: string; } /** * Verifica la validez de cedulda de identidad y electoral doninicana * {@link https://www.youtube.com/watch?v=__Ko7VxoCuU&t=179s Video} * @param dui Numero de cedula *Sin guiones* */ declare function duiIsValid(dui: string): boolean; /** * Funcciones para transformar entradas agregando formatos. */ declare const format: { /** * RNC, Registro Nacional de Contribuyente * @param rnc `string` *sin guiones* * * @example * format.rnc('130800035'); * * @returns `string` RNC con formato `130-80003-5` */ rnc: (rnc: string) => string; /** * Cedula de identidad y electoral dominicana * @param dui numero de cedula *sin guiones* * * @example * format.dui('10225088357'); * * @returns `string` Cedula con formato `102-2508835-7` */ dui: (dui: string) => string; /** * Numero de telefono dominicano * @param phone numero telefonico *sin guiones ni espacios ni parentesis* * * @example * format.phone('8093458812'); * * @returns `string` Numero Telefonico con formato `(809) 345-8812` */ phone: (phone: string) => string; /** * Formato Moneda * @param cash Monto * @param decimals `0 | 1 | 2` Cantidad de decimales, Por defecto 0 * * @example * format.cash(4623, 2); -> '4,623.00' * format.cash(4623, 1); -> '4,623.0' * format.cash(4623); -> '4,623' * * @returns Monto con format de moneda `9,000.00` */ cash: (amount: number, decimals?: 0 | 1 | 2) => string; /** * Formatea cadenas de texto segun ejemplo introducido * @param input texto sin formato * @param example ejemplo de texto formateado * * @example * format.custom('99511469110', '0000-0000-00-0'); */ custom: (input: string, example: string) => string; }; /** * Generador de pdf asincrono, tomando como entrada una plantilla handlebars y los paramstros para la misma */ declare const pdf: { /** * Genera pdf y lo devuelve en formato stream * @return `fs.ReadStream` * @param templatePath ruta de la platilla handlebars * @param context parametros para la plantilla handlebars * @param options opciones de configuracion para el documento pdf {@link https://www.npmjs.com/package/html-pdf#options Ver Documentacion}. */ toStream: (templatePath: string, context: object, options?: PDFOptions | undefined) => Promise<fs.ReadStream>; /** * Genera pdf y lo devuelve en formato buffer * @return `fs.ReadStream` * @param templatePath ruta de la platilla handlebars * @param context parametros para la plantilla handlebars * @param options opciones de configuracion para el documento pdf {@link https://www.npmjs.com/package/html-pdf#options Ver Documentacion}. */ toBuffer: (templatePath: string, context: object, options?: PDFOptions | undefined) => Promise<Buffer>; /** * Genera pdf y lo guarda en la ruta especificada, devuelve la informacion del archivo generado * @return `FileInfo` * @param {PdfToFileParams} params objeto con los parametros para generar el pdf * @param options opciones de configuracion para el documento pdf {@link https://www.npmjs.com/package/html-pdf#options Ver Documentacion}. */ toFile: (params: PdfToFileParams) => Promise<void>; }; export { duiIsValid, format, pdf, handlebars };