passkit-generator
Version:
The easiest way to generate custom Apple Wallet passes in Node.js
67 lines • 7.09 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpcomingPassInformationEntry = void 0;
const tslib_1 = require("tslib");
const joi_1 = tslib_1.__importDefault(require("joi"));
const PassFieldContent_js_1 = require("./PassFieldContent.js");
const Semantics_js_1 = require("./Semantics.js");
const regexps_js_1 = require("./regexps.js");
const ImageURLEntry = joi_1.default.object({
SHA256: joi_1.default.string().required(),
URL: joi_1.default.string().regex(regexps_js_1.URL_REGEX).required(),
scale: joi_1.default.number().default(1),
size: joi_1.default.number().max(2 * 1024 * 1024), // 2 megabytes max
});
const Image = joi_1.default.object({
URLs: joi_1.default.array().items(ImageURLEntry),
reuseExisting: joi_1.default.boolean(),
});
const Images = joi_1.default.object({
headerImage: Image,
venueMap: Image,
});
const URLs = joi_1.default.object({
accessibilityURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
addOnURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
bagPolicyURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
/**
* Joi's email schema validates email TLDs and only allows TLDs that are registered in the IANA Registry.
* This also requires NodeJS runtime to work (even though can be enabled client side, but discouraged)
* Reference - https://github.com/hapijs/joi/issues/2390
*/
contactVenueEmail: joi_1.default.string().email({ tlds: false }),
contactVenuePhoneNumber: joi_1.default.string(),
contactVenueWebsite: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
directionsInformationURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
merchandiseURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
orderFoodURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
parkingInformationURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
purchaseParkingURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
sellURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
transferURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
transitInformationURL: joi_1.default.string().regex(regexps_js_1.URL_REGEX),
});
const DateInformation = joi_1.default.object({
date: joi_1.default.alternatives(joi_1.default.string().isoDate(), joi_1.default.date().iso()).required(),
ignoreTimeComponents: joi_1.default.boolean(),
isAllDay: joi_1.default.boolean(),
isUnannounced: joi_1.default.boolean(),
isUndetermined: joi_1.default.boolean(),
timeZone: joi_1.default.string(),
});
exports.UpcomingPassInformationEntry = joi_1.default.object({
URLs: URLs,
additionalInfoFields: joi_1.default.array().items(PassFieldContent_js_1.PassFieldContent),
auxiliaryStoreIdentifiers: joi_1.default.array().items(joi_1.default.number()),
backFields: joi_1.default.array().items(PassFieldContent_js_1.PassFieldContent),
dateInformation: DateInformation,
identifier: joi_1.default.string().required(),
images: Images,
isActive: joi_1.default.boolean(),
name: joi_1.default.string().required(),
semantics: Semantics_js_1.Semantics.concat(joi_1.default.object({
venuePlaceID: joi_1.default.string(),
})),
type: joi_1.default.string().valid("event").required(),
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBjb21pbmdQYXNzSW5mb3JtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NoZW1hcy9VcGNvbWluZ1Bhc3NJbmZvcm1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsc0RBQXNCO0FBQ3RCLCtEQUF5RDtBQUN6RCxpREFBMkM7QUFDM0MsNkNBQXlDO0FBb0J6QyxNQUFNLGFBQWEsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFnQjtJQUMvQyxNQUFNLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixHQUFHLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxzQkFBUyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzdDLEtBQUssRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5QixJQUFJLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLGtCQUFrQjtDQUMzRCxDQUFDLENBQUM7QUFjSCxNQUFNLEtBQUssR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFRO0lBQy9CLElBQUksRUFBRSxhQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxhQUFhLEVBQUUsYUFBRyxDQUFDLE9BQU8sRUFBRTtDQUM1QixDQUFDLENBQUM7QUFjSCxNQUFNLE1BQU0sR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFTO0lBQ2pDLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFFBQVEsRUFBRSxLQUFLO0NBQ2YsQ0FBQyxDQUFDO0FBa0RILE1BQU0sSUFBSSxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQU87SUFDN0IsZ0JBQWdCLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxzQkFBUyxDQUFD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