import {writeFile, readFile} from 'node:fs/promises' import {join} from 'node:path'; import {getOdtTemplate} from '../scripts/odf/odtTemplate-forNode.js' import {fillOdtTemplate} from '../exports.js' /* const templatePath = join(import.meta.dirname, '../tests/fixtures/template-anniversaire.odt') const data = { nom: 'David Bruant', dateNaissance: '8 mars 1987' } */ /*const templatePath = join(import.meta.dirname, '../tests/fixtures/enum-courses.odt') const data = { listeCourses : [ 'Radis', `Jus d'orange`, 'Pâtes à lasagne (fraîches !)' ] }*/ /* const templatePath = join(import.meta.dirname, '../tests/fixtures/liste-fruits-et-légumes.odt') const data = { fruits : [ 'Pastèque 🍉', `Kiwi 🥝`, 'Banane 🍌' ], légumes: [ 'Champignon 🍄‍🟫', 'Avocat 🥑', 'Poivron 🫑' ] }*/ /* const templatePath = join(import.meta.dirname, '../tests/fixtures/légumes-de-saison.odt') const data = { légumesSaison : [ { saison: 'Printemps', légumes: [ 'Asperge', 'Betterave', 'Blette' ] }, { saison: 'Été', légumes: [ 'Courgette', 'Poivron', 'Laitue' ] }, { saison: 'Automne', légumes: [ 'Poireau', 'Potiron', 'Brocoli' ] }, { saison: 'Hiver', légumes: [ 'Radis', 'Chou de Bruxelles', 'Frisée' ] } ] } */ /* const templatePath = join(import.meta.dirname, '../tests/fixtures/tableau-simple.odt') const data = { annéeConsos : [ { année: 1970, conso: 36252.637}, { année: 1980, conso: 43328.78}, { année: 1990, conso: 46971.94}, { année: 2000, conso: 53147.277}, { année: 2010, conso: 48062.32}, { année: 2020, conso: 37859.246}, ] } */ /* const templatePath = join(import.meta.dirname, '../tests/fixtures/template-avec-image.odt') const data = { commentaire : `J'adooooooore 🤩 West covinaaaaaaaaaaa 🎶` } */ /* const templatePath = join(import.meta.dirname, '../tests/fixtures/partially-formatted-variable.odt') const data = {nombre : 37} */ /* const templatePath = join(import.meta.dirname, '../tests/fixtures/text-after-closing-each.odt') const data = { saison: 'Printemps', légumes: [ 'Asperge', 'Betterave', 'Blette' ] } */ // const templatePath = join(import.meta.dirname, '../tests/fixtures/text-after-closing-each.odt') // const data = { // saison: 'Printemps', // légumes: [ // 'Asperge', // 'Betterave', // 'Blette' // ] // } // const templatePath = join(import.meta.dirname, '../tests/fixtures/if-then-each.odt') // const data = {liste_départements : ['95', '33']} const templatePath = join(import.meta.dirname, '../tests/fixtures/basic-image-insertion.odt') const photo1Path = join(import.meta.dirname, '../tests/fixtures/pitchou-1.png') const photo2Path = join(import.meta.dirname, '../tests/fixtures/pitchou-2.png') const photo1Buffer = (await readFile(photo1Path)).buffer const photo2Buffer = (await readFile(photo2Path)).buffer const photos = [{content: photo1Buffer, fileName: 'pitchou-1.png', mediaType: 'image/png'}, {content: photo2Buffer, fileName: 'pitchou-2.png', mediaType: 'image/png'}] const data = { title: 'Titre de mon projet', photos, } const odtTemplate = await getOdtTemplate(templatePath) const odtResult = await fillOdtTemplate(odtTemplate, data) writeFile('yo.odt', new Uint8Array(odtResult))