From 8ff9ed51c89994c0366e6a8d615994fcaa5b91ea Mon Sep 17 00:00:00 2001 From: Alexander Cerutti Date: Wed, 12 Jun 2019 23:36:38 +0200 Subject: [PATCH] Converted examples to Typescript --- examples/README.md | 2 +- examples/{barcode.js => barcode.ts} | 12 +++++++----- examples/{expiration.js => expiration.ts} | 13 +++++++------ examples/{fields.js => fields.ts} | 8 ++++---- examples/{localization.js => localization.ts} | 17 ++++++++--------- examples/{webserver.js => webserver.ts} | 4 ++-- 6 files changed, 29 insertions(+), 27 deletions(-) rename examples/{barcode.js => barcode.ts} (87%) rename examples/{expiration.js => expiration.ts} (87%) rename examples/{fields.js => fields.ts} (96%) rename examples/{localization.js => localization.ts} (78%) rename examples/{webserver.js => webserver.ts} (86%) diff --git a/examples/README.md b/examples/README.md index a11c109..b8e1677 100644 --- a/examples/README.md +++ b/examples/README.md @@ -7,7 +7,7 @@ Express.js **was not** inserted as dipendency. git clone https://github.com/alexandercerutti/passkit-generator.git; cd passkit-generator; npm install; -npm install -g express; +npm install --no-save express; cd examples; node .js ``` diff --git a/examples/barcode.js b/examples/barcode.ts similarity index 87% rename from examples/barcode.js rename to examples/barcode.ts index 24ed126..69d6d9a 100644 --- a/examples/barcode.js +++ b/examples/barcode.ts @@ -8,14 +8,14 @@ * by a string */ -const app = require("./webserver"); -const { Pass } = require(".."); +import app from "./webserver"; +import { createPass } from ".."; -app.all(function manageRequest(request, response) { +app.all(async function manageRequest(request, response) { - let passName = request.params.modelName + "_" + (new Date()).toISOString().split('T')[0].replace(/-/ig, ""); + const passName = request.params.modelName + "_" + (new Date()).toISOString().split('T')[0].replace(/-/ig, ""); - let pass = new Pass({ + let pass = await createPass({ model: `./models/${request.params.modelName}`, certificates: { wwdr: "../certificates/WWDR.pem", @@ -68,7 +68,9 @@ app.all(function manageRequest(request, response) { bc.autocomplete(); } + // @ts-ignore - ignoring for logging purposes console.log("Barcode property is now:", pass._props["barcode"]); + // @ts-ignore - ignoring for logging purposes console.log("Barcodes support is autocompleted:", pass._props["barcodes"]); pass.generate().then(function (stream) { diff --git a/examples/expiration.js b/examples/expiration.ts similarity index 87% rename from examples/expiration.js rename to examples/expiration.ts index 662a83a..ce2bcdc 100644 --- a/examples/expiration.js +++ b/examples/expiration.ts @@ -5,12 +5,13 @@ * * To check if a ticket has an expiration date, you'll * have to wait two minutes. + * */ -const app = require("./webserver"); -const { Pass } = require(".."); +import app from "./webserver"; +import { createPass } from ".."; -app.all(function manageRequest(request, response) { +app.all(async function manageRequest(request, response) { if (!request.query.fn) { response.send("Generate a voided pass.
Generate a pass with expiration date"); return; @@ -18,7 +19,7 @@ app.all(function manageRequest(request, response) { let passName = request.params.modelName + "_" + (new Date()).toISOString().split('T')[0].replace(/-/ig, ""); - let pass = new Pass({ + let pass = await createPass({ model: `./models/${request.params.modelName}`, certificates: { wwdr: "../certificates/WWDR.pem", @@ -35,11 +36,11 @@ app.all(function manageRequest(request, response) { pass.void(); } else if (request.query.fn === "expiration") { // 2 minutes later... - let d = new Date(); + const d = new Date(); d.setMinutes(d.getMinutes() + 2); // setting the expiration - pass.expiration(d.toLocaleString()); + pass.expiration(d); } pass.generate().then(function (stream) { diff --git a/examples/fields.js b/examples/fields.ts similarity index 96% rename from examples/fields.js rename to examples/fields.ts index 9832f97..3addfec 100644 --- a/examples/fields.js +++ b/examples/fields.ts @@ -9,13 +9,13 @@ * @Author: Alexander P. Cerutti */ -const app = require("./webserver"); -const { Pass } = require(".."); +import app from "./webserver"; +import { createPass } from ".."; -app.all(function manageRequest(request, response) { +app.all(async function manageRequest(request, response) { let passName = "exampleBooking" + "_" + (new Date()).toISOString().split('T')[0].replace(/-/ig, ""); - let pass = new Pass({ + let pass = await createPass({ model: `./models/exampleBooking`, certificates: { wwdr: "../certificates/WWDR.pem", diff --git a/examples/localization.js b/examples/localization.ts similarity index 78% rename from examples/localization.js rename to examples/localization.ts index 720338d..6087f48 100644 --- a/examples/localization.js +++ b/examples/localization.ts @@ -4,14 +4,13 @@ * .pkpass file and check for .lproj folders */ -const app = require("./webserver"); -const { Pass } = require(".."); +import app from "./webserver"; +import { createPass } from ".."; -app.all(function manageRequest(request, response) { +app.all(async function manageRequest(request, response) { + const passName = request.params.modelName + "_" + (new Date()).toISOString().split('T')[0].replace(/-/ig, ""); - let passName = request.params.modelName + "_" + (new Date()).toISOString().split('T')[0].replace(/-/ig, ""); - - let pass = new Pass({ + const pass = await createPass({ model: `./models/${request.params.modelName}`, certificates: { wwdr: "../certificates/WWDR.pem", @@ -21,7 +20,7 @@ app.all(function manageRequest(request, response) { passphrase: "123456" } }, - overrides: request.body || request.params || request.query, + overrides: request.body || request.params || request.query }); // For each language you include, an .lproj folder in pass bundle @@ -50,8 +49,8 @@ app.all(function manageRequest(request, response) { // This language does not exist but is still added as .lproj folder pass.localize("zu", {}); - - console.log("Added languages", Object.keys(pass.l10n).join(", ")) + // @ts-ignore - ignoring for logging purposes. Do not replicate + console.log("Added languages", Object.keys(pass.l10nBundles).join(", ")) pass.generate().then(function (stream) { response.set({ diff --git a/examples/webserver.js b/examples/webserver.ts similarity index 86% rename from examples/webserver.js rename to examples/webserver.ts index 0bc72ed..a951e58 100644 --- a/examples/webserver.js +++ b/examples/webserver.ts @@ -4,7 +4,7 @@ * Requires express to run */ -const express = require("express"); +import express from "express"; const app = express(); app.use(express.json()); @@ -23,4 +23,4 @@ app.route("/gen") res.send("Cannot generate a pass. Specify a modelName in the url to continue.
Usage: /gen/modelName") }); -module.exports = app.route("/gen/:modelName"); +export default app.route("/gen/:modelName");