UNPKG

@coolgk/utils

Version:

javascript, typescript utility and wrapper functions and classes: array, string, base64, ampq, bcrypt, cache, captcha, csv, email, jwt, number, pdf, tmp, token, unit conversion, url params, session, form data, google sign in, facebook sign in

43 lines (41 loc) 1.35 kB
/*! * @package @coolgk/utils * @version 3.1.4 * @link https://github.com/coolgk/node-utils * @license MIT * @author Daniel Gong <daniel.k.gong@gmail.com> * * Copyright (c) 2017 Daniel Gong <daniel.k.gong@gmail.com>. All rights reserved. * Licensed under the MIT License. */ "use strict"; /*! * Copyright (c) 2017 Daniel Gong <daniel.k.gong@gmail.com>. All rights reserved. * Licensed under the MIT License. */ Object.defineProperty(exports, "__esModule", { value: true }); const tmp_1 = require("tmp"); function generateFile(options) { return generate('file', options); } exports.generateFile = generateFile; function generateDir(options) { return generate('dir', options); } exports.generateDir = generateDir; function generateTmpName(options) { return generate('tmpName', options); } exports.generateTmpName = generateTmpName; function generate(action, options = {}) { return new Promise((resolve, reject) => { if (!options.prefix) { options.prefix = Date.now() + ''; } const actions = { file: tmp_1.file, dir: tmp_1.dir, tmpName: tmp_1.tmpName }; actions[action](Object.assign({ tries: 10 }, options), (error, path, fd, cleanupCallback) => { return error ? reject(error) : resolve({ path, fd, cleanupCallback }); }); }); } exports.generate = generate;