Removed PKPass.pack to be async and moved an error to messages

This commit is contained in:
Alexander Cerutti
2021-10-17 13:53:19 +02:00
parent 1f8cce9ef6
commit 031133891d
3 changed files with 15 additions and 18 deletions

View File

@@ -1086,18 +1086,15 @@ describe("PKPass", () => {
pass[freezeSymbol]();
});
it("should should throw error if not all the files passed are PKPasses", async () => {
await expectAsync(
it("should should throw error if not all the files passed are PKPasses", () => {
expect(
// @ts-expect-error
PKPass.pack(pass, "pass.json", pass),
).toBeRejectedWithError(
Error,
"Cannot pack passes. Only PKPass instances allowed",
);
() => PKPass.pack(pass, "pass.json", pass),
).toThrowError(Error, Messages.PACK.INVALID);
});
it("should output a frozen bundle of bundles", async () => {
const pkPassesBundle = await PKPass.pack(pass, pass);
it("should output a frozen bundle of bundles", () => {
const pkPassesBundle = PKPass.pack(pass, pass);
expect(
pkPassesBundle[filesSymbol]["packed-pass-1.pkpass"],
@@ -1109,8 +1106,8 @@ describe("PKPass", () => {
expect(pkPassesBundle.isFrozen).toBe(true);
});
it("should output a bundle with pkpasses mimetype", async () => {
const pkPassesBundle = await PKPass.pack(pass, pass);
it("should output a bundle with pkpasses mimetype", () => {
const pkPassesBundle = PKPass.pack(pass, pass);
expect(pkPassesBundle.mimeType).toBe(
"application/vnd.apple.pkpasses",

View File

@@ -105,16 +105,12 @@ export default class PKPass extends Bundle {
* @param passes
*/
static async pack(...passes: PKPass[]): Promise<Bundle> {
static pack(...passes: PKPass[]): Bundle {
if (!passes.every((pass) => pass instanceof PKPass)) {
throw new Error(
"Cannot pack passes. Only PKPass instances allowed",
);
throw new Error(Messages.PACK.INVALID);
}
const buffers = await Promise.all(
passes.map((pass) => pass.getAsBuffer()),
);
const buffers = passes.map((pass) => pass.getAsBuffer());
const [bundle, freezeBundle] = Bundle.freezable(
"application/vnd.apple.pkpasses",

View File

@@ -78,6 +78,10 @@ export const BUNDLE = {
CLOSED: "Cannot add file. Bundle is closed.",
} as const;
export const PACK = {
INVALID: "Cannot pack passes. Only PKPass instances allowed",
} as const;
/**
* Creates a message with replaced values
* @param messageName