diff options
author | Sebastian <sebasjm@gmail.com> | 2021-11-29 00:21:38 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-11-29 00:48:56 -0300 |
commit | 30d06a1a2d53a51c01a99832868cd6b2055c5845 (patch) | |
tree | 5b64a7bbb30fa6a8e52a7a4277daa9a9b3c61720 /packages/backend/render-examples.ts | |
parent | f9cc132158775b3b7526d7f0b8021134efeeef41 (diff) | |
download | merchant-backoffice-30d06a1a2d53a51c01a99832868cd6b2055c5845.tar.gz merchant-backoffice-30d06a1a2d53a51c01a99832868cd6b2055c5845.tar.bz2 merchant-backoffice-30d06a1a2d53a51c01a99832868cd6b2055c5845.zip |
rename project
Diffstat (limited to 'packages/backend/render-examples.ts')
-rw-r--r-- | packages/backend/render-examples.ts | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/packages/backend/render-examples.ts b/packages/backend/render-examples.ts deleted file mode 100644 index c1da3ce..0000000 --- a/packages/backend/render-examples.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import mustache from "mustache"; -import fs from "fs"; -import { format, formatDuration, intervalToDuration } from "date-fns"; - -/** - * This script will emulate what the merchant backend will do when being requested - * -*/ - -const sourceDirectory = process.argv[2] -const destDirectory = process.argv[3] - -if (!sourceDirectory || !destDirectory) { - console.log('usage: render-mustache <source-directory> <dest-directory>') - process.exit(1); -} - -if (!fs.existsSync(destDirectory)) { - fs.mkdirSync(destDirectory); -} - -/** - * Load all the html files - */ -const files = fs.readdirSync(sourceDirectory).filter(f => /.html/.test(f)) - -files.forEach(file => { - const html = fs.readFileSync(`${sourceDirectory}/${file}`, 'utf8') - - const testName = file.replace('.html', '') - if (testName !== 'ShowOrderDetails') return; - // eslint-disable-next-line @typescript-eslint/no-var-requires - const { exampleData } = require(`./src/pages/${testName}.examples`) - - Object.keys(exampleData).forEach(exampleName => { - const example = exampleData[exampleName] - - //enhance the example with more information - example.contract_terms_json = () => JSON.stringify(example.contract_terms); - example.contract_terms.timestamp_str = () => example.contract_terms.timestamp && format(example.contract_terms.timestamp.t_ms, 'dd MMM yyyy HH:mm:ss'); - - example.contract_terms.hasProducts = () => example.contract_terms.products?.length > 0; - example.contract_terms.hasAuditors = () => example.contract_terms.auditors?.length > 0; - example.contract_terms.hasExchanges = () => example.contract_terms.exchanges?.length > 0; - - example.contract_terms.products.forEach(p => { - p.delivery_date_str = () => p.delivery_date && format(p.delivery_date.t_ms, 'dd MM yyyy HH:mm:ss') - p.hasTaxes = () => p.taxes?.length > 0 - }) - example.contract_terms.has_delivery_info = () => example.contract_terms.delivery_date || example.contract_terms.delivery_location - - example.contract_terms.delivery_date_str = () => example.contract_terms.delivery_date && format(example.contract_terms.delivery_date.t_ms, 'dd MM yyyy HH:mm:ss') - example.contract_terms.pay_deadline_str = () => example.contract_terms.pay_deadline && format(example.contract_terms.pay_deadline.t_ms, 'dd MM yyyy HH:mm:ss') - example.contract_terms.wire_transfer_deadline_str = () => example.contract_terms.wire_transfer_deadline && format(example.contract_terms.wire_transfer_deadline.t_ms, 'dd MM yyyy HH:mm:ss') - example.contract_terms.refund_deadline_str = () => example.contract_terms.refund_deadline && format(example.contract_terms.refund_deadline.t_ms, 'dd MM yyyy HH:mm:ss') - example.contract_terms.auto_refund_str = () => example.contract_terms.auto_refund && formatDuration(intervalToDuration({ start: 0, end: example.contract_terms.auto_refund.d_ms })) - - const output = mustache.render(html, example); - - fs.writeFileSync(`${destDirectory}/${testName}.${exampleName}.html`, output) - }) -}) |