nfewizard-io
Version:
NFeWizard-io é uma biblioteca Node.js projetada para simplificar a interação com os webservices da SEFAZ, proporcionando uma solução robusta para automação de processos relacionados à Nota Fiscal Eletrônica (NF-e).
87 lines (86 loc) • 3.23 kB
TypeScript
/**
* @description :
* @author :
* @group :
* @created : 21/03/2025 - 21:50:20
*
* MODIFICATION LOG
* - Version : 1.0.0
* - Date : 21/03/2025
* - Author :
* - Modification :
**/
import Environment from '@Modules/environment/Environment.js';
import { NFeWizardProps, GenericObject, SaveXMLProps, SaveJSONProps, ProtNFe } from 'src/core/types';
import XmlParser from './XmlParser';
declare class Utility {
environment: Environment;
xmlParser: XmlParser;
constructor(environment: Environment);
/**
* Método utilitário para criar diretórios
*/
createDir(path: string): void;
/**
* Método utilitário para escrever arquivo
*/
createFile(path: string, fileName: string, file: any, extension: string): void;
/**
* Função recursiva para encontrar a chave em qualquer nivel do objeto
*/
findInObj: (obj: GenericObject, chave: string) => any;
/**
* Método responsável por gravar o XML como json
*/
salvaJSON(props: SaveJSONProps): void;
/**
* Método responsável por gravar os XML recebidos em disco
*/
salvaXMLFromJson(config: NFeWizardProps, xmlInJson: any, fileName?: string, metodo?: string): void;
salvaXML(props: SaveXMLProps): void;
/**
* Recupera url para action e metoodo do SOAP
*/
getSoapInfo1(uf: string, metodo: string): {
method: string;
action: string;
};
getSoapInfo(uf: string, method: string): {
method: string;
action: string;
};
/**
* Marco, adicionei este metodo para concatenar todas url incluido as na Usar, mas no fim nao precisei usar por enquanto
* @param chave
* @returns
*/
getLatestURLConsultaFix(chave: string): Record<string, string>;
getLatestURLConsulta(data: Record<string, string>, metodo: string): string | null;
/**
* Define o ambiente (UF e Produção ou Homologação) para geração das chaves de recuperação da URL do webservice
*/
setAmbiente(metodo: string, ambienteNacional: boolean | undefined, versao: string, mod: string): {
chaveMae: string;
chaveFilha: string;
};
/**
* Retorna a url correta do webservice
*/
getWebServiceUrl(metodo: string, ambienteNacional?: boolean, versao?: string, mod?: string): string;
getUrlNFCe(metodo: string, ambienteNacional?: boolean, versao?: string): string;
/**
* Função para validar XML com Schema
*/
formatErrorMessage(message: string): string;
validateSchemaJsBased(xml: any, metodo: string): Promise<unknown>;
validateSchemaJavaBased(xml: any, metodo: string): Promise<unknown>;
verificaRejeicao(data: string, metodo: string, name?: string): GenericObject;
getProtNFe(xmlRetorno: string): {
protNFe: ProtNFe[] | undefined;
nRec: string;
};
private getRequestLogFileName;
salvaConsulta(xmlConsulta: string, xmlFormated: string, metodo: string, name?: string): void;
salvaRetorno(xmlRetorno: string, responseInJson: GenericObject | undefined, metodo: string, name?: string): void;
}
export default Utility;