@adncorp/account-book-parser-adapter
Version:
parsing sheet adapter for account book
56 lines (50 loc) • 1.92 kB
JavaScript
;
/* eslint-disable spellcheck/spell-checker */
// eslint-disable-next-line no-underscore-dangle
var _m = require('../helpers.js');
var formater = require('./formater.js');
var sagebuildobject = require('./sagebuildobject.js');
var parsingsage = function parsingsage(filepath, softwareName, softwareVersion) {
return new Promise(function (resolve, reject) {
var columnMap = ['num_compte', 'intitule', 'date', 'journal', 'reference', 'label', 'debit', 'credit', 'cum_bal'];
_m.excelToJson({
input: filepath,
lowerCaseHeaders: true,
mapping: columnMap,
softwareName: softwareName,
softwareVersion: softwareVersion
}, function (err, result) {
if (err) {
var errorExtraction = {
code: '304',
libelle: 'InvalidFormat',
nbrLines: 'Toutes les lignes',
showColumns: ['', 'Toutes les colonnes sont concernées'],
message: "Lecture du fichier impossible. Impossible d'extraire les données dans ce fichier, ce dernier comporte un style de format personnalisé"
};
reject(errorExtraction);
} else {
if (result.length === 0) {
var errorEmpty = {
code: '305',
libelle: 'InvalidLayout',
nbrLines: 'Toutes les lignes',
showColumns: ['', "Verifiez l'entête du fichier grand livre"],
message: "Erreur d'extraction des données du grand livre. Le fichier chargé ne provient pas de la source sélectionnée ou Il n'a pas de contenus"
};
reject(errorEmpty);
} else {
try {
var parsebook = formater(result);
var sageobject = sagebuildobject(parsebook);
resolve(sageobject);
} catch (error) {
reject(error);
}
}
}
});
});
};
module.exports = parsingsage;
//# sourceMappingURL=index.js.map