UNPKG

tecnospeed-nfe

Version:

Emit NFe through TecnoSpeed API

120 lines (101 loc) 2.08 kB
'use strict' const Address = require('./address') const TX2 = require('./tx2') class Company extends TX2 { constructor(settings = {}) { super() this.settings = settings this.settings.address = new Address() } /** * @returns {Company} */ setAddress(address) { this.settings.address = address return this } /** * @returns {Address} */ getAddress() { return this.settings.address } /** * @returns {Company} */ setRegistrationNumber(registrationNumber) { this.settings.registrationNumber = registrationNumber return this } /** * @returns {String} */ getRegistrationNumber() { return this.settings.registrationNumber } /** * @returns {Company} */ setFormalName(formalName) { this.settings.formalName = formalName return this } /** * @returns {String} */ getFormalName() { return this.settings.formalName } /** * @returns {Company} */ setPopularName(popularName) { this.settings.popularName = popularName return this } /** * @returns {String} */ getPopularName() { return this.settings.popularName } /** * @returns {Company} */ setStateRegistrationCode(stateRegistrationCode) { this.settings.stateRegistrationCode = stateRegistrationCode return this } /** * @returns {String} */ getStateRegistrationCode() { return this.settings.stateRegistrationCode } /** * @returns {Company} */ setTributationCode(tributationCode) { this.settings.tributationCode = tributationCode return this } /** * @returns {String} */ getTributationCode() { return this.settings.tributationCode } /** * @returns {String} */ toTX2() { const tx2 = [] tx2.push('CNPJ_C02=' + this.getRegistrationNumber()) tx2.push('xNome_C03=' + this.getFormalName()) tx2.push('xFant_C04=' + this.getPopularName()) tx2.push('IE_C17=' + this.getStateRegistrationCode()) tx2.push('CRT_C21=' + this.getTributationCode()) return tx2.join('\n') } } module.exports = Company