v1.0 with SW PWA enabled
This commit is contained in:
56
frontend/node_modules/tempy/index.js
generated
vendored
Normal file
56
frontend/node_modules/tempy/index.js
generated
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
'use strict';
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const uniqueString = require('unique-string');
|
||||
const tempDir = require('temp-dir');
|
||||
const isStream = require('is-stream');
|
||||
const stream = require('stream');
|
||||
const {promisify} = require('util');
|
||||
|
||||
const pipeline = promisify(stream.pipeline);
|
||||
const {writeFile} = fs.promises;
|
||||
|
||||
const getPath = (prefix = '') => path.join(tempDir, prefix + uniqueString());
|
||||
|
||||
const writeStream = async (filePath, data) => pipeline(data, fs.createWriteStream(filePath));
|
||||
|
||||
module.exports.file = options => {
|
||||
options = {
|
||||
...options
|
||||
};
|
||||
|
||||
if (options.name) {
|
||||
if (options.extension !== undefined && options.extension !== null) {
|
||||
throw new Error('The `name` and `extension` options are mutually exclusive');
|
||||
}
|
||||
|
||||
return path.join(module.exports.directory(), options.name);
|
||||
}
|
||||
|
||||
return getPath() + (options.extension === undefined || options.extension === null ? '' : '.' + options.extension.replace(/^\./, ''));
|
||||
};
|
||||
|
||||
module.exports.directory = ({prefix = ''} = {}) => {
|
||||
const directory = getPath(prefix);
|
||||
fs.mkdirSync(directory);
|
||||
return directory;
|
||||
};
|
||||
|
||||
module.exports.write = async (data, options) => {
|
||||
const filename = module.exports.file(options);
|
||||
const write = isStream(data) ? writeStream : writeFile;
|
||||
await write(filename, data);
|
||||
return filename;
|
||||
};
|
||||
|
||||
module.exports.writeSync = (data, options) => {
|
||||
const filename = module.exports.file(options);
|
||||
fs.writeFileSync(filename, data);
|
||||
return filename;
|
||||
};
|
||||
|
||||
Object.defineProperty(module.exports, 'root', {
|
||||
get() {
|
||||
return tempDir;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user