{"version":3,"sources":["src/CreateResult.ts"],"names":[],"mappings":";AAGA,OAAO,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C;;;;;GAKG;AACH,qBAAa,YAAY;IAEvB;;;;;;;;;;OAUG;mBACkB,SAAS;IAQ9B;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,CAAS;IAErB;;;;;OAKG;gBACgB,IAAI,EAAE,MAAM;IAI/B;;;;;;OAMG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;;;OAMG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;;;OAMG;IACI,QAAQ,IAAI,MAAM;IAOzB;;;;;;;OAOG;IACU,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrD","file":"CreateResult.d.ts","sourcesContent":["'use strict';\n\nimport * as fs from 'fs';\nimport { Readable, Stream } from 'stream';\n\n/**\n * Allows exporting of PDF data to multiple formats.\n *\n * @export\n * @class CreateResult\n */\nexport class CreateResult {\n\n  /**\n   * Writes the given data Buffer to the specified file location.\n   *\n   * @private\n   * @static\n   * @param {string} filename the file name to write to.\n   * @param {Buffer} data the data to write.\n   * @returns {Promise<void>}\n   *\n   * @memberof CreateResult\n   */\n  private static async writeFile(filename: string, data: Buffer): Promise<void> {\n    return new Promise<void>((resolve, reject) => {\n      fs.writeFile(filename, data, (err) => {\n        err ? reject(err) : resolve();\n      });\n    });\n  }\n\n  /**\n   * Base64-encoded PDF data.\n   *\n   * @private\n   * @type {string}\n   * @memberof CreateResult\n   */\n  private data: string;\n\n  /**\n   * Creates an instance of CreateResult.\n   * @param {string} data base64 PDF data\n   *\n   * @memberof CreateResult\n   */\n  public constructor(data: string) {\n    this.data = data;\n  }\n\n  /**\n   * Get the base64 PDF data.\n   *\n   * @returns {string} base64 PDF data.\n   *\n   * @memberof CreateResult\n   */\n  public toBase64(): string {\n    return this.data;\n  }\n\n  /**\n   * Get a Buffer of the PDF data.\n   *\n   * @returns {Buffer} PDF data.\n   *\n   * @memberof CreateResult\n   */\n  public toBuffer(): Buffer {\n    return Buffer.from(this.data, 'base64');\n  }\n\n  /**\n   * Get a Stream of the PDF data.\n   *\n   * @returns {Stream} Stream of PDF data.\n   *\n   * @memberof CreateResult\n   */\n  public toStream(): Stream {\n    const stream = new Readable();\n    stream.push(this.data, 'base64');\n    stream.push(null);\n    return stream;\n  }\n\n  /**\n   * Saves the PDF to a file.\n   *\n   * @param {string} filename the filename.\n   * @returns {Promise<void>} resolves upon successful create.\n   *\n   * @memberof CreateResult\n   */\n  public async toFile(filename: string): Promise<void> {\n    await CreateResult.writeFile(filename, this.toBuffer());\n  }\n\n}\n"],"sourceRoot":"../.."}