From e4661ff4e7c9690ace53e4dd259e64375f673038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roger=20Sch=C3=B6nb=C3=A4chler?= <42278642+schoero@users.noreply.github.com> Date: Tue, 5 Dec 2023 18:45:37 +0100 Subject: [PATCH] chore: add typescript example --- .../node-esm-typescript/.vscode/settings.json | 3 +++ examples/node-esm-typescript/package.json | 20 +++++++++++++++++++ examples/node-esm-typescript/src/data.ts | 11 ++++++++++ examples/node-esm-typescript/src/pdf.ts | 15 ++++++++++++++ examples/node-esm-typescript/src/svg.ts | 8 ++++++++ examples/node-esm-typescript/tsconfig.json | 7 +++++++ 6 files changed, 64 insertions(+) create mode 100644 examples/node-esm-typescript/.vscode/settings.json create mode 100644 examples/node-esm-typescript/package.json create mode 100644 examples/node-esm-typescript/src/data.ts create mode 100644 examples/node-esm-typescript/src/pdf.ts create mode 100644 examples/node-esm-typescript/src/svg.ts create mode 100644 examples/node-esm-typescript/tsconfig.json diff --git a/examples/node-esm-typescript/.vscode/settings.json b/examples/node-esm-typescript/.vscode/settings.json new file mode 100644 index 0000000..7d6e1c1 --- /dev/null +++ b/examples/node-esm-typescript/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "prettier": false +} \ No newline at end of file diff --git a/examples/node-esm-typescript/package.json b/examples/node-esm-typescript/package.json new file mode 100644 index 0000000..1b0b1bf --- /dev/null +++ b/examples/node-esm-typescript/package.json @@ -0,0 +1,20 @@ +{ + "type": "module", + "name": "node-esm-javascript", + "author": "Roger Schönbächler", + "scripts": { + "generate": "npm run pdf && npm run svg", + "pdf": "vite-node ./src/pdf.js", + "postgenerate": "serve output -n", + "pregenerate": "rm output/* || true && mkdir -p output", + "svg": "vite-node ./src/svg.js" + }, + "dependencies": { + "pdfkit": "^0.13.0", + "swissqrbill": "^4.0.0" + }, + "devDependencies": { + "serve": "^14.2.1", + "vite-node": "^1.0.1" + } +} diff --git a/examples/node-esm-typescript/src/data.ts b/examples/node-esm-typescript/src/data.ts new file mode 100644 index 0000000..d0d3117 --- /dev/null +++ b/examples/node-esm-typescript/src/data.ts @@ -0,0 +1,11 @@ +export const data = { + creditor: { + account: "CH58 0079 1123 0008 8901 2", + address: "Creditor Address", + city: "Creditor City", + country: "CH", + name: "Creditor FirstName LastName", + zip: 1234 + }, + currency: "CHF" +}; diff --git a/examples/node-esm-typescript/src/pdf.ts b/examples/node-esm-typescript/src/pdf.ts new file mode 100644 index 0000000..e5e320e --- /dev/null +++ b/examples/node-esm-typescript/src/pdf.ts @@ -0,0 +1,15 @@ +import { createWriteStream } from "fs"; +import PDFDocument from "pdfkit"; +import { SwissQRBill } from "swissqrbill/pdf"; + +import { data } from "./data.js"; + + +const stream = createWriteStream("./output/swissqrbill.pdf"); +const pdf = new PDFDocument(); +const qrBill = new SwissQRBill(data); + +qrBill.attachTo(pdf); + +pdf.pipe(stream); +pdf.end(); diff --git a/examples/node-esm-typescript/src/svg.ts b/examples/node-esm-typescript/src/svg.ts new file mode 100644 index 0000000..dce6bc0 --- /dev/null +++ b/examples/node-esm-typescript/src/svg.ts @@ -0,0 +1,8 @@ +import { writeFileSync } from "fs"; +import { SwissQRBill } from "swissqrbill/svg"; + +import { data } from "./data.js"; + + +const qrBill = new SwissQRBill(data); +writeFileSync("./output/swissqrbill.svg", qrBill.toString()); diff --git a/examples/node-esm-typescript/tsconfig.json b/examples/node-esm-typescript/tsconfig.json new file mode 100644 index 0000000..c73f852 --- /dev/null +++ b/examples/node-esm-typescript/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2016" + } +}