aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backend-ui/render-examples.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backend-ui/render-examples.ts')
-rw-r--r--packages/merchant-backend-ui/render-examples.ts122
1 files changed, 0 insertions, 122 deletions
diff --git a/packages/merchant-backend-ui/render-examples.ts b/packages/merchant-backend-ui/render-examples.ts
deleted file mode 100644
index e8c4a8cd0..000000000
--- a/packages/merchant-backend-ui/render-examples.ts
+++ /dev/null
@@ -1,122 +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);
-}
-
-function fromCamelCaseName(name) {
- const result = name
- .replace(/^[a-z]/, (letter) => `${letter.toUpperCase()}`) //first letter lowercase
- .replace(/_[a-z]/g, (letter) => `${letter[1].toUpperCase()}`); //snake case
- return result;
-}
-/**
- * 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(".en.html", "");
- const exampleFileName = `./src/pages/${fromCamelCaseName(testName)}.examples`;
- if (!fs.existsSync(exampleFileName + ".ts")) {
- console.log(`skipping ${testName}: no examples found`);
- return;
- }
- // eslint-disable-next-line @typescript-eslint/no-var-requires
- const { exampleData } = require(exampleFileName);
-
- 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_s, "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_s, "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_s, "dd MM yyyy HH:mm:ss");
- example.contract_terms.pay_deadline_str = () =>
- example.contract_terms.pay_deadline &&
- format(example.contract_terms.pay_deadline.t_s, "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_s,
- "dd MM yyyy HH:mm:ss",
- );
- example.contract_terms.refund_deadline_str = () =>
- example.contract_terms.refund_deadline &&
- format(example.contract_terms.refund_deadline.t_s, "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_us,
- }),
- );
-
- const output = mustache.render(html, example);
-
- fs.writeFileSync(
- `${destDirectory}/${testName}.${exampleName}.html`,
- output,
- );
- });
-});