Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

file-async

Package Overview
Dependencies
Maintainers
5
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

file-async - npm Package Compare versions

Comparing version 0.1.4 to 0.2.0

CHANGELOG.md

106

lib/spec/file_async_spec.js
'use strict';
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _spec_helper = require('./spec_helper');

@@ -13,15 +11,17 @@

var _srcFileAsync = require('../src/file-async');
var _fileAsync = require('../src/file-async');
var _srcFileAsync2 = _interopRequireDefault(_srcFileAsync);
var _fileAsync2 = _interopRequireDefault(_fileAsync);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('fsAsync:', function () {
it("should keep support sync methods", function () {
_spec_helper2['default'].expect(_srcFileAsync2['default'].existsSync(__filename)).to.ok;
_spec_helper2.default.expect(_fileAsync2.default.existsSync(__filename)).to.ok;
});
it("should keep support callback methods", function (done) {
_srcFileAsync2['default'].readFileCallback(__filename, function (err, file_content) {
_spec_helper2['default'].expect(file_content.toString()).not.been.undefined;
_fileAsync2.default.readFileCallback(__filename, function (err, file_content) {
_spec_helper2.default.expect(file_content.toString()).not.been.undefined;
done();

@@ -32,4 +32,4 @@ });

it('should read a file', function () {
return _srcFileAsync2['default'].readFile(__filename).then(function (file_content) {
return _spec_helper2['default'].expect(file_content.toString()).not.been.undefined;
return _fileAsync2.default.readFile(__filename).then(function (file_content) {
return _spec_helper2.default.expect(file_content.toString()).not.been.undefined;
});

@@ -39,4 +39,4 @@ });

it('should get fsStat from file', function () {
return _srcFileAsync2['default'].stat(__filename).then(function (fsStat) {
return _spec_helper2['default'].expect(fsStat.isFile()).to.eql(true);
return _fileAsync2.default.stat(__filename).then(function (fsStat) {
return _spec_helper2.default.expect(fsStat.isFile()).to.eql(true);
});

@@ -49,20 +49,20 @@ });

// readFile this file content
return _srcFileAsync2['default'].readFile(__filename).then(function (file_content) {
return _fileAsync2.default.readFile(__filename).then(function (file_content) {
// write file
return _srcFileAsync2['default'].writeFile(TMP_FILE_PATH, file_content.toString());
return _fileAsync2.default.writeFile(TMP_FILE_PATH, file_content.toString());
}).then(function () {
// get stat
return _srcFileAsync2['default'].stat(TMP_FILE_PATH);
return _fileAsync2.default.stat(TMP_FILE_PATH);
}).then(function (file_stat) {
// check if tmp file exists
return _spec_helper2['default'].expect(file_stat.isFile()).to.be.equal(true);
return _spec_helper2.default.expect(file_stat.isFile()).to.be.equal(true);
}).then(function () {
// remove tmp file
return _srcFileAsync2['default'].remove(TMP_FILE_PATH);
return _fileAsync2.default.remove(TMP_FILE_PATH);
}).then(function () {
// exits?
return _srcFileAsync2['default'].exists(TMP_FILE_PATH);
return _fileAsync2.default.exists(TMP_FILE_PATH);
}).then(function (file_exists) {
// check again
return _spec_helper2['default'].expect(file_exists).to.be.equal(false);
return _spec_helper2.default.expect(file_exists).to.be.equal(false);
});

@@ -75,17 +75,17 @@ });

// touch
return _srcFileAsync2['default'].createFile(TMP_FILE_PATH).then(function () {
return _fileAsync2.default.createFile(TMP_FILE_PATH).then(function () {
// get stat
return _srcFileAsync2['default'].stat(TMP_FILE_PATH);
return _fileAsync2.default.stat(TMP_FILE_PATH);
}).then(function (file_stat) {
// check
return _spec_helper2['default'].expect(file_stat.isFile()).to.be.equal(true);
return _spec_helper2.default.expect(file_stat.isFile()).to.be.equal(true);
}).then(function () {
// remove tmp file
return _srcFileAsync2['default'].remove(TMP_FILE_PATH);
return _fileAsync2.default.remove(TMP_FILE_PATH);
}).then(function () {
// exits?
return _srcFileAsync2['default'].exists(TMP_FILE_PATH);
return _fileAsync2.default.exists(TMP_FILE_PATH);
}).then(function (file_exists) {
// check again
return _spec_helper2['default'].expect(file_exists).to.be.equal(false);
return _spec_helper2.default.expect(file_exists).to.be.equal(false);
});

@@ -98,35 +98,35 @@ });

// read: get this content
return _srcFileAsync2['default'].readFile(__filename).then(function (content) {
return _fileAsync2.default.readFile(__filename).then(function (content) {
file_content = content.toString();
}).then(function () {
// mkdirs: create folders
return _srcFileAsync2['default'].mkdirs('/tmp/folder1/folder2/');
return _fileAsync2.default.mkdirs('/tmp/folder1/folder2/');
}).then(function () {
// stat: check if folders were created
return _bluebird2['default'].all([_srcFileAsync2['default'].stat('/tmp/folder1').then(function (stat_result) {
return _spec_helper2['default'].expect(stat_result.isDirectory()).to.be.equal(true);
}), _srcFileAsync2['default'].stat('/tmp/folder1/folder2').then(function (stat_result) {
return _spec_helper2['default'].expect(stat_result.isDirectory()).to.be.equal(true);
return _bluebird2.default.all([_fileAsync2.default.stat('/tmp/folder1').then(function (stat_result) {
return _spec_helper2.default.expect(stat_result.isDirectory()).to.be.equal(true);
}), _fileAsync2.default.stat('/tmp/folder1/folder2').then(function (stat_result) {
return _spec_helper2.default.expect(stat_result.isDirectory()).to.be.equal(true);
})]);
}).then(function () {
// write: write files
return _bluebird2['default'].all([_srcFileAsync2['default'].writeFile('/tmp/folder1/some-file-1.js', file_content), _srcFileAsync2['default'].writeFile('/tmp/folder1/folder2/some-file-2.js', file_content)]);
return _bluebird2.default.all([_fileAsync2.default.writeFile('/tmp/folder1/some-file-1.js', file_content), _fileAsync2.default.writeFile('/tmp/folder1/folder2/some-file-2.js', file_content)]);
}).then(function () {
// copy: copy file tree
return _srcFileAsync2['default'].copy('/tmp/folder1/', '/tmp/folder1-copy/');
return _fileAsync2.default.copy('/tmp/folder1/', '/tmp/folder1-copy/');
}).then(function () {
// stat: check files stats
return _bluebird2['default'].all([_srcFileAsync2['default'].stat('/tmp/folder1-copy/some-file-1.js').then(function (stat_result) {
return _spec_helper2['default'].expect(stat_result.isFile()).to.be.equal(true);
}), _srcFileAsync2['default'].stat('/tmp/folder1-copy/folder2/some-file-2.js').then(function (stat_result) {
return _spec_helper2['default'].expect(stat_result.isFile()).to.be.equal(true);
return _bluebird2.default.all([_fileAsync2.default.stat('/tmp/folder1-copy/some-file-1.js').then(function (stat_result) {
return _spec_helper2.default.expect(stat_result.isFile()).to.be.equal(true);
}), _fileAsync2.default.stat('/tmp/folder1-copy/folder2/some-file-2.js').then(function (stat_result) {
return _spec_helper2.default.expect(stat_result.isFile()).to.be.equal(true);
})]);
}).then(function () {
return _bluebird2['default'].all([_srcFileAsync2['default'].remove('/tmp/folder1'), _srcFileAsync2['default'].remove('/tmp/folder1-copy')]);
return _bluebird2.default.all([_fileAsync2.default.remove('/tmp/folder1'), _fileAsync2.default.remove('/tmp/folder1-copy')]);
}).then(function () {
// stat: check files stats
return _bluebird2['default'].all([_srcFileAsync2['default'].exists('/tmp/folder1').then(function (exists_result) {
return _spec_helper2['default'].expect(exists_result).to.be.equal(false);
}), _srcFileAsync2['default'].exists('/tmp/folder1-copy').then(function (exists_result) {
return _spec_helper2['default'].expect(exists_result).to.be.equal(false);
return _bluebird2.default.all([_fileAsync2.default.exists('/tmp/folder1').then(function (exists_result) {
return _spec_helper2.default.expect(exists_result).to.be.equal(false);
}), _fileAsync2.default.exists('/tmp/folder1-copy').then(function (exists_result) {
return _spec_helper2.default.expect(exists_result).to.be.equal(false);
})]);

@@ -139,29 +139,29 @@ });

// read: get this content
return _srcFileAsync2['default'].readFile(__filename).then(function (content) {
return _fileAsync2.default.readFile(__filename).then(function (content) {
file_content = content.toString();
}).then(function () {
// mkdirs: create folders
return _srcFileAsync2['default'].mkdirs('/tmp/folder1/folder2/');
return _fileAsync2.default.mkdirs('/tmp/folder1/folder2/');
}).then(function () {
// write: write files
return _srcFileAsync2['default'].writeFile('/tmp/folder1/some-file-1.js', file_content.toString());
return _fileAsync2.default.writeFile('/tmp/folder1/some-file-1.js', file_content.toString());
}).then(function () {
// symlink: make symlink
return _srcFileAsync2['default'].symlink('/tmp/folder1/some-file-1.js', '/tmp/folder1/folder2/some-file-symlink-1.js', 'file');
return _fileAsync2.default.symlink('/tmp/folder1/some-file-1.js', '/tmp/folder1/folder2/some-file-symlink-1.js', 'file');
}).then(function () {
// stat: check file stat
return _srcFileAsync2['default'].stat('/tmp/folder1/some-file-1.js').then(function (stat_result) {
return _spec_helper2['default'].expect(stat_result.isFile()).to.be.equal(true);
return _fileAsync2.default.stat('/tmp/folder1/some-file-1.js').then(function (stat_result) {
return _spec_helper2.default.expect(stat_result.isFile()).to.be.equal(true);
});
}).then(function () {
// lstat: check symlink stat
return _srcFileAsync2['default'].lstat('/tmp/folder1/folder2/some-file-symlink-1.js').then(function (lstat_result) {
return _spec_helper2['default'].expect(lstat_result.isSymbolicLink()).to.be.equal(true);
return _fileAsync2.default.lstat('/tmp/folder1/folder2/some-file-symlink-1.js').then(function (lstat_result) {
return _spec_helper2.default.expect(lstat_result.isSymbolicLink()).to.be.equal(true);
});
}).then(function () {
return _srcFileAsync2['default'].remove('/tmp/folder1');
return _fileAsync2.default.remove('/tmp/folder1');
}).then(function () {
// stat: check files stats
return _srcFileAsync2['default'].exists('/tmp/folder1').then(function (exists_result) {
return _spec_helper2['default'].expect(exists_result).to.be.equal(false);
return _fileAsync2.default.exists('/tmp/folder1').then(function (exists_result) {
return _spec_helper2.default.expect(exists_result).to.be.equal(false);
});

@@ -171,2 +171,2 @@ });

});
//# sourceMappingURL=data:application/json;base64,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anMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaCBmcm9tICcuL3NwZWNfaGVscGVyJztcbmltcG9ydCBCQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgZnNBc3luYyBmcm9tICcuLi9zcmMvZmlsZS1hc3luYyc7XG5cbmRlc2NyaWJlKCdmc0FzeW5jOicsIGZ1bmN0aW9uKCkge1xuXG4gIGl0KFwic2hvdWxkIGtlZXAgc3VwcG9ydCBzeW5jIG1ldGhvZHNcIiwgZnVuY3Rpb24oKSB7XG4gICAgaC5leHBlY3QoZnNBc3luYy5leGlzdHNTeW5jKF9fZmlsZW5hbWUpKS50by5vaztcbiAgfSk7XG5cbiAgaXQoXCJzaG91bGQga2VlcCBzdXBwb3J0IGNhbGxiYWNrIG1ldGhvZHNcIiwgZnVuY3Rpb24oZG9uZSkge1xuICAgIGZzQXN5bmMucmVhZEZpbGVDYWxsYmFjayhfX2ZpbGVuYW1lLCBmdW5jdGlvbihlcnIsIGZpbGVfY29udGVudCkge1xuICAgICAgaC5leHBlY3QoZmlsZV9jb250ZW50LnRvU3RyaW5nKCkpLm5vdC5iZWVuLnVuZGVmaW5lZDtcbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZWFkIGEgZmlsZScsIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZnNBc3luYy5yZWFkRmlsZShfX2ZpbGVuYW1lKS50aGVuKGZ1bmN0aW9uKGZpbGVfY29udGVudCkge1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfY29udGVudC50b1N0cmluZygpKS5ub3QuYmVlbi51bmRlZmluZWQ7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IGZzU3RhdCBmcm9tIGZpbGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGZzQXN5bmMuc3RhdChfX2ZpbGVuYW1lKS50aGVuKGZ1bmN0aW9uKGZzU3RhdCkge1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZzU3RhdC5pc0ZpbGUoKSkudG8uZXFsKHRydWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHdyaXRlIGEgZmlsZScsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgVE1QX0ZJTEVfUEFUSCA9ICcvdG1wL2ZpbGVfY29udGVudC5qcyc7XG5cbiAgICAvLyByZWFkRmlsZSB0aGlzIGZpbGUgY29udGVudFxuICAgIHJldHVybiBmc0FzeW5jLnJlYWRGaWxlKF9fZmlsZW5hbWUpLnRoZW4oZnVuY3Rpb24gKGZpbGVfY29udGVudCkge1xuICAgICAgLy8gd3JpdGUgZmlsZVxuICAgICAgcmV0dXJuIGZzQXN5bmMud3JpdGVGaWxlKFRNUF9GSUxFX1BBVEgsIGZpbGVfY29udGVudC50b1N0cmluZygpKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gZ2V0IHN0YXRcbiAgICAgIHJldHVybiBmc0FzeW5jLnN0YXQoVE1QX0ZJTEVfUEFUSCk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbihmaWxlX3N0YXQpIHtcbiAgICAgIC8vIGNoZWNrIGlmIHRtcCBmaWxlIGV4aXN0c1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfc3RhdC5pc0ZpbGUoKSkudG8uYmUuZXF1YWwodHJ1ZSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHJlbW92ZSB0bXAgZmlsZVxuICAgICAgcmV0dXJuIGZzQXN5bmMucmVtb3ZlKFRNUF9GSUxFX1BBVEgpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBleGl0cz9cbiAgICAgIHJldHVybiBmc0FzeW5jLmV4aXN0cyhUTVBfRklMRV9QQVRIKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKGZpbGVfZXhpc3RzKSB7XG4gICAgICAvLyBjaGVjayBhZ2FpblxuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfZXhpc3RzKS50by5iZS5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY3JlYXRlRmlsZSBhbiBlbXB0eSBmaWxlJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBUTVBfRklMRV9QQVRIID0gJy90bXAvZmlsZV9jb250ZW50LmpzJztcblxuICAgIC8vIHRvdWNoXG4gICAgcmV0dXJuIGZzQXN5bmMuY3JlYXRlRmlsZShUTVBfRklMRV9QQVRIKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGdldCBzdGF0XG4gICAgICByZXR1cm4gZnNBc3luYy5zdGF0KFRNUF9GSUxFX1BBVEgpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oZmlsZV9zdGF0KSB7XG4gICAgICAvLyBjaGVja1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfc3RhdC5pc0ZpbGUoKSkudG8uYmUuZXF1YWwodHJ1ZSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHJlbW92ZSB0bXAgZmlsZVxuICAgICAgcmV0dXJuIGZzQXN5bmMucmVtb3ZlKFRNUF9GSUxFX1BBVEgpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBleGl0cz9cbiAgICAgIHJldHVybiBmc0FzeW5jLmV4aXN0cyhUTVBfRklMRV9QQVRIKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKGZpbGVfZXhpc3RzKSB7XG4gICAgICAvLyBjaGVjayBhZ2FpblxuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfZXhpc3RzKS50by5iZS5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29weSBhIGZvbGRlciB0byBhbm90aGVyJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBmaWxlX2NvbnRlbnQ7XG5cbiAgICAvLyByZWFkOiBnZXQgdGhpcyBjb250ZW50XG4gICAgcmV0dXJuIGZzQXN5bmMucmVhZEZpbGUoX19maWxlbmFtZSkudGhlbihmdW5jdGlvbihjb250ZW50KSB7XG4gICAgICBmaWxlX2NvbnRlbnQgPSBjb250ZW50LnRvU3RyaW5nKCk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIG1rZGlyczogY3JlYXRlIGZvbGRlcnNcbiAgICAgIHJldHVybiBmc0FzeW5jLm1rZGlycygnL3RtcC9mb2xkZXIxL2ZvbGRlcjIvJyk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHN0YXQ6IGNoZWNrIGlmIGZvbGRlcnMgd2VyZSBjcmVhdGVkXG4gICAgICByZXR1cm4gQkIuYWxsKFtcbiAgICAgICAgZnNBc3luYy5zdGF0KCcvdG1wL2ZvbGRlcjEnKS50aGVuKGZ1bmN0aW9uKHN0YXRfcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIGguZXhwZWN0KHN0YXRfcmVzdWx0LmlzRGlyZWN0b3J5KCkpLnRvLmJlLmVxdWFsKHRydWUpO1xuICAgICAgICB9KSxcbiAgICAgICAgZnNBc3luYy5zdGF0KCcvdG1wL2ZvbGRlcjEvZm9sZGVyMicpLnRoZW4oZnVuY3Rpb24oc3RhdF9yZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gaC5leHBlY3Qoc3RhdF9yZXN1bHQuaXNEaXJlY3RvcnkoKSkudG8uYmUuZXF1YWwodHJ1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgXSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHdyaXRlOiB3cml0ZSBmaWxlc1xuICAgICAgcmV0dXJuIEJCLmFsbChbXG4gICAgICAgIGZzQXN5bmMud3JpdGVGaWxlKCcvdG1wL2ZvbGRlcjEvc29tZS1maWxlLTEuanMnLCBmaWxlX2NvbnRlbnQpLFxuICAgICAgICBmc0FzeW5jLndyaXRlRmlsZSgnL3RtcC9mb2xkZXIxL2ZvbGRlcjIvc29tZS1maWxlLTIuanMnLCBmaWxlX2NvbnRlbnQpLFxuICAgICAgXSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIGNvcHk6IGNvcHkgZmlsZSB0cmVlXG4gICAgICByZXR1cm4gZnNBc3luYy5jb3B5KCcvdG1wL2ZvbGRlcjEvJywgJy90bXAvZm9sZGVyMS1jb3B5LycpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBzdGF0OiBjaGVjayBmaWxlcyBzdGF0c1xuICAgICAgcmV0dXJuIEJCLmFsbChbXG4gICAgICAgIGZzQXN5bmMuc3RhdCgnL3RtcC9mb2xkZXIxLWNvcHkvc29tZS1maWxlLTEuanMnKS50aGVuKGZ1bmN0aW9uKHN0YXRfcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIGguZXhwZWN0KHN0YXRfcmVzdWx0LmlzRmlsZSgpKS50by5iZS5lcXVhbCh0cnVlKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZzQXN5bmMuc3RhdCgnL3RtcC9mb2xkZXIxLWNvcHkvZm9sZGVyMi9zb21lLWZpbGUtMi5qcycpLnRoZW4oZnVuY3Rpb24oc3RhdF9yZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gaC5leHBlY3Qoc3RhdF9yZXN1bHQuaXNGaWxlKCkpLnRvLmJlLmVxdWFsKHRydWUpO1xuICAgICAgICB9KSxcbiAgICAgIF0pO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gQkIuYWxsKFtcbiAgICAgICAgZnNBc3luYy5yZW1vdmUoJy90bXAvZm9sZGVyMScpLFxuICAgICAgICBmc0FzeW5jLnJlbW92ZSgnL3RtcC9mb2xkZXIxLWNvcHknKSxcbiAgICAgIF0pO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBzdGF0OiBjaGVjayBmaWxlcyBzdGF0c1xuICAgICAgcmV0dXJuIEJCLmFsbChbXG4gICAgICAgIGZzQXN5bmMuZXhpc3RzKCcvdG1wL2ZvbGRlcjEnKS50aGVuKGZ1bmN0aW9uKGV4aXN0c19yZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gaC5leHBlY3QoZXhpc3RzX3Jlc3VsdCkudG8uYmUuZXF1YWwoZmFsc2UpO1xuICAgICAgICB9KSxcbiAgICAgICAgZnNBc3luYy5leGlzdHMoJy90bXAvZm9sZGVyMS1jb3B5JykudGhlbihmdW5jdGlvbihleGlzdHNfcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIGguZXhwZWN0KGV4aXN0c19yZXN1bHQpLnRvLmJlLmVxdWFsKGZhbHNlKTtcbiAgICAgICAgfSksXG4gICAgICBdKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgYW5kIGNoZWNrIGEgc3ltYm9saWMgbGluaycsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZmlsZV9jb250ZW50O1xuICAgIC8vIHJlYWQ6IGdldCB0aGlzIGNvbnRlbnRcbiAgICByZXR1cm4gZnNBc3luYy5yZWFkRmlsZShfX2ZpbGVuYW1lKS50aGVuKGZ1bmN0aW9uKGNvbnRlbnQpIHtcbiAgICAgIGZpbGVfY29udGVudCA9IGNvbnRlbnQudG9TdHJpbmcoKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gbWtkaXJzOiBjcmVhdGUgZm9sZGVyc1xuICAgICAgcmV0dXJuIGZzQXN5bmMubWtkaXJzKCcvdG1wL2ZvbGRlcjEvZm9sZGVyMi8nKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gd3JpdGU6IHdyaXRlIGZpbGVzXG4gICAgICByZXR1cm4gZnNBc3luYy53cml0ZUZpbGUoJy90bXAvZm9sZGVyMS9zb21lLWZpbGUtMS5qcycsIGZpbGVfY29udGVudC50b1N0cmluZygpKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gc3ltbGluazogbWFrZSBzeW1saW5rXG4gICAgICByZXR1cm4gZnNBc3luYy5zeW1saW5rKCcvdG1wL2ZvbGRlcjEvc29tZS1maWxlLTEuanMnLCAnL3RtcC9mb2xkZXIxL2ZvbGRlcjIvc29tZS1maWxlLXN5bWxpbmstMS5qcycsICdmaWxlJyk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHN0YXQ6IGNoZWNrIGZpbGUgc3RhdFxuICAgICAgcmV0dXJuIGZzQXN5bmMuc3RhdCgnL3RtcC9mb2xkZXIxL3NvbWUtZmlsZS0xLmpzJykudGhlbihmdW5jdGlvbihzdGF0X3Jlc3VsdCkge1xuICAgICAgICByZXR1cm4gaC5leHBlY3Qoc3RhdF9yZXN1bHQuaXNGaWxlKCkpLnRvLmJlLmVxdWFsKHRydWUpO1xuICAgICAgfSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIGxzdGF0OiBjaGVjayBzeW1saW5rIHN0YXRcbiAgICAgIHJldHVybiBmc0FzeW5jLmxzdGF0KCcvdG1wL2ZvbGRlcjEvZm9sZGVyMi9zb21lLWZpbGUtc3ltbGluay0xLmpzJykudGhlbihmdW5jdGlvbihsc3RhdF9yZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIGguZXhwZWN0KGxzdGF0X3Jlc3VsdC5pc1N5bWJvbGljTGluaygpKS50by5iZS5lcXVhbCh0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gZnNBc3luYy5yZW1vdmUoJy90bXAvZm9sZGVyMScpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBzdGF0OiBjaGVjayBmaWxlcyBzdGF0c1xuICAgICAgcmV0dXJuIGZzQXN5bmMuZXhpc3RzKCcvdG1wL2ZvbGRlcjEnKS50aGVuKGZ1bmN0aW9uKGV4aXN0c19yZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIGguZXhwZWN0KGV4aXN0c19yZXN1bHQpLnRvLmJlLmVxdWFsKGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9maWxlLWFzeW5jOjAuMS4zL3NwZWMifQ==
//# sourceMappingURL=data:application/json;base64,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cm9tICcuL3NwZWNfaGVscGVyJztcbmltcG9ydCBCQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgZnNBc3luYyBmcm9tICcuLi9zcmMvZmlsZS1hc3luYyc7XG5cbmRlc2NyaWJlKCdmc0FzeW5jOicsIGZ1bmN0aW9uKCkge1xuXG4gIGl0KFwic2hvdWxkIGtlZXAgc3VwcG9ydCBzeW5jIG1ldGhvZHNcIiwgZnVuY3Rpb24oKSB7XG4gICAgaC5leHBlY3QoZnNBc3luYy5leGlzdHNTeW5jKF9fZmlsZW5hbWUpKS50by5vaztcbiAgfSk7XG5cbiAgaXQoXCJzaG91bGQga2VlcCBzdXBwb3J0IGNhbGxiYWNrIG1ldGhvZHNcIiwgZnVuY3Rpb24oZG9uZSkge1xuICAgIGZzQXN5bmMucmVhZEZpbGVDYWxsYmFjayhfX2ZpbGVuYW1lLCBmdW5jdGlvbihlcnIsIGZpbGVfY29udGVudCkge1xuICAgICAgaC5leHBlY3QoZmlsZV9jb250ZW50LnRvU3RyaW5nKCkpLm5vdC5iZWVuLnVuZGVmaW5lZDtcbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZWFkIGEgZmlsZScsIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZnNBc3luYy5yZWFkRmlsZShfX2ZpbGVuYW1lKS50aGVuKGZ1bmN0aW9uKGZpbGVfY29udGVudCkge1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfY29udGVudC50b1N0cmluZygpKS5ub3QuYmVlbi51bmRlZmluZWQ7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IGZzU3RhdCBmcm9tIGZpbGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGZzQXN5bmMuc3RhdChfX2ZpbGVuYW1lKS50aGVuKGZ1bmN0aW9uKGZzU3RhdCkge1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZzU3RhdC5pc0ZpbGUoKSkudG8uZXFsKHRydWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHdyaXRlIGEgZmlsZScsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgVE1QX0ZJTEVfUEFUSCA9ICcvdG1wL2ZpbGVfY29udGVudC5qcyc7XG5cbiAgICAvLyByZWFkRmlsZSB0aGlzIGZpbGUgY29udGVudFxuICAgIHJldHVybiBmc0FzeW5jLnJlYWRGaWxlKF9fZmlsZW5hbWUpLnRoZW4oZnVuY3Rpb24gKGZpbGVfY29udGVudCkge1xuICAgICAgLy8gd3JpdGUgZmlsZVxuICAgICAgcmV0dXJuIGZzQXN5bmMud3JpdGVGaWxlKFRNUF9GSUxFX1BBVEgsIGZpbGVfY29udGVudC50b1N0cmluZygpKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gZ2V0IHN0YXRcbiAgICAgIHJldHVybiBmc0FzeW5jLnN0YXQoVE1QX0ZJTEVfUEFUSCk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbihmaWxlX3N0YXQpIHtcbiAgICAgIC8vIGNoZWNrIGlmIHRtcCBmaWxlIGV4aXN0c1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfc3RhdC5pc0ZpbGUoKSkudG8uYmUuZXF1YWwodHJ1ZSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHJlbW92ZSB0bXAgZmlsZVxuICAgICAgcmV0dXJuIGZzQXN5bmMucmVtb3ZlKFRNUF9GSUxFX1BBVEgpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBleGl0cz9cbiAgICAgIHJldHVybiBmc0FzeW5jLmV4aXN0cyhUTVBfRklMRV9QQVRIKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKGZpbGVfZXhpc3RzKSB7XG4gICAgICAvLyBjaGVjayBhZ2FpblxuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfZXhpc3RzKS50by5iZS5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY3JlYXRlRmlsZSBhbiBlbXB0eSBmaWxlJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBUTVBfRklMRV9QQVRIID0gJy90bXAvZmlsZV9jb250ZW50LmpzJztcblxuICAgIC8vIHRvdWNoXG4gICAgcmV0dXJuIGZzQXN5bmMuY3JlYXRlRmlsZShUTVBfRklMRV9QQVRIKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGdldCBzdGF0XG4gICAgICByZXR1cm4gZnNBc3luYy5zdGF0KFRNUF9GSUxFX1BBVEgpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oZmlsZV9zdGF0KSB7XG4gICAgICAvLyBjaGVja1xuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfc3RhdC5pc0ZpbGUoKSkudG8uYmUuZXF1YWwodHJ1ZSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHJlbW92ZSB0bXAgZmlsZVxuICAgICAgcmV0dXJuIGZzQXN5bmMucmVtb3ZlKFRNUF9GSUxFX1BBVEgpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBleGl0cz9cbiAgICAgIHJldHVybiBmc0FzeW5jLmV4aXN0cyhUTVBfRklMRV9QQVRIKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKGZpbGVfZXhpc3RzKSB7XG4gICAgICAvLyBjaGVjayBhZ2FpblxuICAgICAgcmV0dXJuIGguZXhwZWN0KGZpbGVfZXhpc3RzKS50by5iZS5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29weSBhIGZvbGRlciB0byBhbm90aGVyJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBmaWxlX2NvbnRlbnQ7XG5cbiAgICAvLyByZWFkOiBnZXQgdGhpcyBjb250ZW50XG4gICAgcmV0dXJuIGZzQXN5bmMucmVhZEZpbGUoX19maWxlbmFtZSkudGhlbihmdW5jdGlvbihjb250ZW50KSB7XG4gICAgICBmaWxlX2NvbnRlbnQgPSBjb250ZW50LnRvU3RyaW5nKCk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIG1rZGlyczogY3JlYXRlIGZvbGRlcnNcbiAgICAgIHJldHVybiBmc0FzeW5jLm1rZGlycygnL3RtcC9mb2xkZXIxL2ZvbGRlcjIvJyk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHN0YXQ6IGNoZWNrIGlmIGZvbGRlcnMgd2VyZSBjcmVhdGVkXG4gICAgICByZXR1cm4gQkIuYWxsKFtcbiAgICAgICAgZnNBc3luYy5zdGF0KCcvdG1wL2ZvbGRlcjEnKS50aGVuKGZ1bmN0aW9uKHN0YXRfcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIGguZXhwZWN0KHN0YXRfcmVzdWx0LmlzRGlyZWN0b3J5KCkpLnRvLmJlLmVxdWFsKHRydWUpO1xuICAgICAgICB9KSxcbiAgICAgICAgZnNBc3luYy5zdGF0KCcvdG1wL2ZvbGRlcjEvZm9sZGVyMicpLnRoZW4oZnVuY3Rpb24oc3RhdF9yZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gaC5leHBlY3Qoc3RhdF9yZXN1bHQuaXNEaXJlY3RvcnkoKSkudG8uYmUuZXF1YWwodHJ1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgXSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHdyaXRlOiB3cml0ZSBmaWxlc1xuICAgICAgcmV0dXJuIEJCLmFsbChbXG4gICAgICAgIGZzQXN5bmMud3JpdGVGaWxlKCcvdG1wL2ZvbGRlcjEvc29tZS1maWxlLTEuanMnLCBmaWxlX2NvbnRlbnQpLFxuICAgICAgICBmc0FzeW5jLndyaXRlRmlsZSgnL3RtcC9mb2xkZXIxL2ZvbGRlcjIvc29tZS1maWxlLTIuanMnLCBmaWxlX2NvbnRlbnQpLFxuICAgICAgXSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIGNvcHk6IGNvcHkgZmlsZSB0cmVlXG4gICAgICByZXR1cm4gZnNBc3luYy5jb3B5KCcvdG1wL2ZvbGRlcjEvJywgJy90bXAvZm9sZGVyMS1jb3B5LycpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBzdGF0OiBjaGVjayBmaWxlcyBzdGF0c1xuICAgICAgcmV0dXJuIEJCLmFsbChbXG4gICAgICAgIGZzQXN5bmMuc3RhdCgnL3RtcC9mb2xkZXIxLWNvcHkvc29tZS1maWxlLTEuanMnKS50aGVuKGZ1bmN0aW9uKHN0YXRfcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIGguZXhwZWN0KHN0YXRfcmVzdWx0LmlzRmlsZSgpKS50by5iZS5lcXVhbCh0cnVlKTtcbiAgICAgICAgfSksXG4gICAgICAgIGZzQXN5bmMuc3RhdCgnL3RtcC9mb2xkZXIxLWNvcHkvZm9sZGVyMi9zb21lLWZpbGUtMi5qcycpLnRoZW4oZnVuY3Rpb24oc3RhdF9yZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gaC5leHBlY3Qoc3RhdF9yZXN1bHQuaXNGaWxlKCkpLnRvLmJlLmVxdWFsKHRydWUpO1xuICAgICAgICB9KSxcbiAgICAgIF0pO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gQkIuYWxsKFtcbiAgICAgICAgZnNBc3luYy5yZW1vdmUoJy90bXAvZm9sZGVyMScpLFxuICAgICAgICBmc0FzeW5jLnJlbW92ZSgnL3RtcC9mb2xkZXIxLWNvcHknKSxcbiAgICAgIF0pO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBzdGF0OiBjaGVjayBmaWxlcyBzdGF0c1xuICAgICAgcmV0dXJuIEJCLmFsbChbXG4gICAgICAgIGZzQXN5bmMuZXhpc3RzKCcvdG1wL2ZvbGRlcjEnKS50aGVuKGZ1bmN0aW9uKGV4aXN0c19yZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gaC5leHBlY3QoZXhpc3RzX3Jlc3VsdCkudG8uYmUuZXF1YWwoZmFsc2UpO1xuICAgICAgICB9KSxcbiAgICAgICAgZnNBc3luYy5leGlzdHMoJy90bXAvZm9sZGVyMS1jb3B5JykudGhlbihmdW5jdGlvbihleGlzdHNfcmVzdWx0KSB7XG4gICAgICAgICAgcmV0dXJuIGguZXhwZWN0KGV4aXN0c19yZXN1bHQpLnRvLmJlLmVxdWFsKGZhbHNlKTtcbiAgICAgICAgfSksXG4gICAgICBdKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgYW5kIGNoZWNrIGEgc3ltYm9saWMgbGluaycsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZmlsZV9jb250ZW50O1xuICAgIC8vIHJlYWQ6IGdldCB0aGlzIGNvbnRlbnRcbiAgICByZXR1cm4gZnNBc3luYy5yZWFkRmlsZShfX2ZpbGVuYW1lKS50aGVuKGZ1bmN0aW9uKGNvbnRlbnQpIHtcbiAgICAgIGZpbGVfY29udGVudCA9IGNvbnRlbnQudG9TdHJpbmcoKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gbWtkaXJzOiBjcmVhdGUgZm9sZGVyc1xuICAgICAgcmV0dXJuIGZzQXN5bmMubWtkaXJzKCcvdG1wL2ZvbGRlcjEvZm9sZGVyMi8nKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gd3JpdGU6IHdyaXRlIGZpbGVzXG4gICAgICByZXR1cm4gZnNBc3luYy53cml0ZUZpbGUoJy90bXAvZm9sZGVyMS9zb21lLWZpbGUtMS5qcycsIGZpbGVfY29udGVudC50b1N0cmluZygpKTtcbiAgICB9KVxuICAgIC50aGVuKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gc3ltbGluazogbWFrZSBzeW1saW5rXG4gICAgICByZXR1cm4gZnNBc3luYy5zeW1saW5rKCcvdG1wL2ZvbGRlcjEvc29tZS1maWxlLTEuanMnLCAnL3RtcC9mb2xkZXIxL2ZvbGRlcjIvc29tZS1maWxlLXN5bWxpbmstMS5qcycsICdmaWxlJyk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIHN0YXQ6IGNoZWNrIGZpbGUgc3RhdFxuICAgICAgcmV0dXJuIGZzQXN5bmMuc3RhdCgnL3RtcC9mb2xkZXIxL3NvbWUtZmlsZS0xLmpzJykudGhlbihmdW5jdGlvbihzdGF0X3Jlc3VsdCkge1xuICAgICAgICByZXR1cm4gaC5leHBlY3Qoc3RhdF9yZXN1bHQuaXNGaWxlKCkpLnRvLmJlLmVxdWFsKHRydWUpO1xuICAgICAgfSk7XG4gICAgfSlcbiAgICAudGhlbihmdW5jdGlvbigpIHtcbiAgICAgIC8vIGxzdGF0OiBjaGVjayBzeW1saW5rIHN0YXRcbiAgICAgIHJldHVybiBmc0FzeW5jLmxzdGF0KCcvdG1wL2ZvbGRlcjEvZm9sZGVyMi9zb21lLWZpbGUtc3ltbGluay0xLmpzJykudGhlbihmdW5jdGlvbihsc3RhdF9yZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIGguZXhwZWN0KGxzdGF0X3Jlc3VsdC5pc1N5bWJvbGljTGluaygpKS50by5iZS5lcXVhbCh0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gZnNBc3luYy5yZW1vdmUoJy90bXAvZm9sZGVyMScpO1xuICAgIH0pXG4gICAgLnRoZW4oZnVuY3Rpb24oKSB7XG4gICAgICAvLyBzdGF0OiBjaGVjayBmaWxlcyBzdGF0c1xuICAgICAgcmV0dXJuIGZzQXN5bmMuZXhpc3RzKCcvdG1wL2ZvbGRlcjEnKS50aGVuKGZ1bmN0aW9uKGV4aXN0c19yZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIGguZXhwZWN0KGV4aXN0c19yZXN1bHQpLnRvLmJlLmVxdWFsKGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxufSk7XG4iXSwic291cmNlUm9vdCI6ImZpbGUtYXN5bmMtMC4yLjAgLSBzcGVjIn0=
'use strict';
Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true

@@ -9,3 +9,3 @@ });

var Helpers = {
expect: require('azk-dev/chai').expect,
expect: require('azk-dev/lib/chai').expect,

@@ -19,3 +19,2 @@ fixture_path: function fixture_path() {

},
fixture_require_path: function fixture_require_path() {

@@ -30,4 +29,4 @@ for (var _len2 = arguments.length, fixture = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {

exports['default'] = Helpers;
exports.default = Helpers;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNwZWNfaGVscGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUUzQixJQUFJLE9BQU8sR0FBRztBQUNaLFFBQU0sRUFBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTTs7QUFFdkMsY0FBWSxFQUFBLHdCQUFhO3NDQUFULE9BQU87QUFBUCxhQUFPOzs7QUFDckIsV0FBTyxJQUFJLENBQUMsT0FBTyxNQUFBLENBQVosSUFBSSxHQUNULEdBQUcsRUFBRSxNQUFNLEVBQUUsVUFBVSxTQUFLLE9BQU8sRUFDcEMsQ0FBQztHQUNIOztBQUVELHNCQUFvQixFQUFBLGdDQUFhO3VDQUFULE9BQU87QUFBUCxhQUFPOzs7QUFDN0IsV0FBTyxJQUFJLENBQUMsT0FBTyxNQUFBLENBQVosSUFBSSxHQUNULEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsU0FBSyxPQUFPLEVBQzNDLENBQUM7R0FDSDtDQUNGLENBQUM7O3FCQUVhLE9BQU8iLCJmaWxlIjoic3BlY19oZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcblxudmFyIEhlbHBlcnMgPSB7XG4gIGV4cGVjdCA6IHJlcXVpcmUoJ2F6ay1kZXYvY2hhaScpLmV4cGVjdCxcblxuICBmaXh0dXJlX3BhdGgoLi4uZml4dHVyZSkge1xuICAgIHJldHVybiBwYXRoLnJlc29sdmUoXG4gICAgICAnLicsICdzcGVjJywgJ2ZpeHR1cmVzJywgLi4uZml4dHVyZVxuICAgICk7XG4gIH0sXG5cbiAgZml4dHVyZV9yZXF1aXJlX3BhdGgoLi4uZml4dHVyZSkge1xuICAgIHJldHVybiBwYXRoLnJlc29sdmUoXG4gICAgICAnLicsICdsaWInLCAnc3BlYycsICdmaXh0dXJlcycsIC4uLmZpeHR1cmVcbiAgICApO1xuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSGVscGVycztcbiJdLCJzb3VyY2VSb290IjoiL2ZpbGUtYXN5bmM6MC4xLjMvc3BlYyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNwZWNfaGVscGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUUzQixJQUFJLE9BQU8sR0FBRztBQUNaLFFBQU0sRUFBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNOztBQUUzQyxjQUFZLDBCQUFhO3NDQUFULE9BQU87QUFBUCxhQUFPOzs7QUFDckIsV0FBTyxJQUFJLENBQUMsT0FBTyxNQUFBLENBQVosSUFBSSxHQUNULEdBQUcsRUFBRSxNQUFNLEVBQUUsVUFBVSxTQUFLLE9BQU8sRUFDcEMsQ0FBQztHQUNIO0FBRUQsc0JBQW9CLGtDQUFhO3VDQUFULE9BQU87QUFBUCxhQUFPOzs7QUFDN0IsV0FBTyxJQUFJLENBQUMsT0FBTyxNQUFBLENBQVosSUFBSSxHQUNULEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsU0FBSyxPQUFPLEVBQzNDLENBQUM7R0FDSDtDQUNGLENBQUM7O2tCQUVhLE9BQU8iLCJmaWxlIjoic3BlY19oZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcblxudmFyIEhlbHBlcnMgPSB7XG4gIGV4cGVjdCA6IHJlcXVpcmUoJ2F6ay1kZXYvbGliL2NoYWknKS5leHBlY3QsXG5cbiAgZml4dHVyZV9wYXRoKC4uLmZpeHR1cmUpIHtcbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKFxuICAgICAgJy4nLCAnc3BlYycsICdmaXh0dXJlcycsIC4uLmZpeHR1cmVcbiAgICApO1xuICB9LFxuXG4gIGZpeHR1cmVfcmVxdWlyZV9wYXRoKC4uLmZpeHR1cmUpIHtcbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKFxuICAgICAgJy4nLCAnbGliJywgJ3NwZWMnLCAnZml4dHVyZXMnLCAuLi5maXh0dXJlXG4gICAgKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEhlbHBlcnM7XG4iXSwic291cmNlUm9vdCI6ImZpbGUtYXN5bmMtMC4yLjAgLSBzcGVjIn0=
'use strict';
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _bluebird = require('bluebird');

@@ -9,10 +7,14 @@

var extra = require('fs-extra');
var _fsExtra = require('fs-extra');
var _fsExtra2 = _interopRequireDefault(_fsExtra);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var final = {
existsCallback: extra.exists.bind(extra),
existsCallback: _fsExtra2.default.exists.bind(_fsExtra2.default),
exists: function exists(full_path) {
var _this = this;
return new _bluebird2['default'].Promise(function (resolve) {
return new _bluebird2.default.Promise(function (resolve) {
_this.existsCallback(full_path, resolve);

@@ -24,8 +26,8 @@ });

var async_methods = [];
var async_object = _bluebird2['default'].promisifyAll(extra, {
var async_object = _bluebird2.default.promisifyAll(_fsExtra2.default, {
// Skip .*Sync methods
filter: function filter(name, func, target, passesDefaultFilter) {
if (passesDefaultFilter && target === extra && !final[name]) {
if (passesDefaultFilter && target === _fsExtra2.default && !final[name]) {
if (name.match(/Sync$/)) {
final[name] = extra[name].bind(extra);
final[name] = _fsExtra2.default[name].bind(_fsExtra2.default);
} else {

@@ -42,3 +44,3 @@ async_methods.push(name);

async_methods.forEach(function (method) {
final[method + "Callback"] = extra[method];
final[method + "Callback"] = _fsExtra2.default[method];
final[method] = async_object[method + "Async"].bind(async_object);

@@ -48,2 +50,2 @@ });

module.exports = final;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGUtYXN5bmMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozt3QkFBZSxVQUFVOzs7O0FBQ3pCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzs7QUFFaEMsSUFBSSxLQUFLLEdBQUc7QUFDVixnQkFBYyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztBQUN4QyxRQUFNLEVBQUUsZ0JBQVUsU0FBUyxFQUFFOzs7QUFDM0IsV0FBTyxJQUFJLHNCQUFHLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBSztBQUNqQyxZQUFLLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDekMsQ0FBQyxDQUFDO0dBQ0o7Q0FDRixDQUFDOztBQUVGLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUN2QixJQUFJLFlBQVksR0FBSSxzQkFBRyxZQUFZLENBQUMsS0FBSyxFQUFFOztBQUV6QyxRQUFNLEVBQUUsZ0JBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUs7QUFDbkQsUUFBSSxtQkFBbUIsSUFBSSxNQUFNLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQzNELFVBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUN2QixhQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUN2QyxNQUFNO0FBQ0wscUJBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekIsZUFBTyxJQUFJLENBQUM7T0FDYjtLQUNGO0FBQ0QsV0FBTyxLQUFLLENBQUM7R0FDZDtDQUNGLENBQUMsQ0FBQzs7O0FBR0gsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFDLE1BQU0sRUFBSztBQUNoQyxPQUFLLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMzQyxPQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Q0FDbkUsQ0FBQyxDQUFDOztBQUVILE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDIiwiZmlsZSI6ImZpbGUtYXN5bmMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQkIgZnJvbSAnYmx1ZWJpcmQnO1xudmFyIGV4dHJhID0gcmVxdWlyZSgnZnMtZXh0cmEnKTtcblxudmFyIGZpbmFsID0ge1xuICBleGlzdHNDYWxsYmFjazogZXh0cmEuZXhpc3RzLmJpbmQoZXh0cmEpLFxuICBleGlzdHM6IGZ1bmN0aW9uIChmdWxsX3BhdGgpIHtcbiAgICByZXR1cm4gbmV3IEJCLlByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMuZXhpc3RzQ2FsbGJhY2soZnVsbF9wYXRoLCByZXNvbHZlKTtcbiAgICB9KTtcbiAgfSxcbn07XG5cbnZhciBhc3luY19tZXRob2RzID0gW107XG52YXIgYXN5bmNfb2JqZWN0ICA9IEJCLnByb21pc2lmeUFsbChleHRyYSwge1xuICAvLyBTa2lwIC4qU3luYyBtZXRob2RzXG4gIGZpbHRlcjogKG5hbWUsIGZ1bmMsIHRhcmdldCwgcGFzc2VzRGVmYXVsdEZpbHRlcikgPT4ge1xuICAgIGlmIChwYXNzZXNEZWZhdWx0RmlsdGVyICYmIHRhcmdldCA9PT0gZXh0cmEgJiYgIWZpbmFsW25hbWVdKSB7XG4gICAgICBpZiAobmFtZS5tYXRjaCgvU3luYyQvKSkge1xuICAgICAgICBmaW5hbFtuYW1lXSA9IGV4dHJhW25hbWVdLmJpbmQoZXh0cmEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXN5bmNfbWV0aG9kcy5wdXNoKG5hbWUpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxufSk7XG5cbi8vIFJlbmFtZSAuKkFzeW5jIG1ldGhvZHNcbmFzeW5jX21ldGhvZHMuZm9yRWFjaCgobWV0aG9kKSA9PiB7XG4gIGZpbmFsW21ldGhvZCArIFwiQ2FsbGJhY2tcIl0gPSBleHRyYVttZXRob2RdO1xuICBmaW5hbFttZXRob2RdID0gYXN5bmNfb2JqZWN0W21ldGhvZCArIFwiQXN5bmNcIl0uYmluZChhc3luY19vYmplY3QpO1xufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZmluYWw7XG4iXSwic291cmNlUm9vdCI6Ii9maWxlLWFzeW5jOjAuMS4zL3NyYyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGUtYXN5bmMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBSSxLQUFLLEdBQUc7QUFDVixnQkFBYyxFQUFFLGtCQUFNLE1BQU0sQ0FBQyxJQUFJLG1CQUFPO0FBQ3hDLFFBQU0sRUFBRSxnQkFBVSxTQUFTLEVBQUU7OztBQUMzQixXQUFPLElBQUksbUJBQUcsT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFLO0FBQ2pDLFlBQUssY0FBYyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUN6QyxDQUFDLENBQUM7R0FDSjtDQUNGLENBQUM7O0FBRUYsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLElBQUksWUFBWSxHQUFJLG1CQUFHLFlBQVksb0JBQVE7O0FBRXpDLFFBQU0sRUFBRSxnQkFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBSztBQUNuRCxRQUFJLG1CQUFtQixJQUFJLE1BQU0sc0JBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUMzRCxVQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFNLElBQUksQ0FBQyxDQUFDLElBQUksbUJBQU8sQ0FBQztPQUN2QyxNQUFNO0FBQ0wscUJBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekIsZUFBTyxJQUFJLENBQUM7T0FDYjtLQUNGO0FBQ0QsV0FBTyxLQUFLLENBQUM7R0FDZDtDQUNGLENBQUM7OztBQUFDLEFBR0gsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFDLE1BQU0sRUFBSztBQUNoQyxPQUFLLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHLGtCQUFNLE1BQU0sQ0FBQyxDQUFDO0FBQzNDLE9BQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztDQUNuRSxDQUFDLENBQUM7O0FBRUgsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMiLCJmaWxlIjoiZmlsZS1hc3luYy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgZXh0cmEgZnJvbSAnZnMtZXh0cmEnO1xuXG52YXIgZmluYWwgPSB7XG4gIGV4aXN0c0NhbGxiYWNrOiBleHRyYS5leGlzdHMuYmluZChleHRyYSksXG4gIGV4aXN0czogZnVuY3Rpb24gKGZ1bGxfcGF0aCkge1xuICAgIHJldHVybiBuZXcgQkIuUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5leGlzdHNDYWxsYmFjayhmdWxsX3BhdGgsIHJlc29sdmUpO1xuICAgIH0pO1xuICB9LFxufTtcblxudmFyIGFzeW5jX21ldGhvZHMgPSBbXTtcbnZhciBhc3luY19vYmplY3QgID0gQkIucHJvbWlzaWZ5QWxsKGV4dHJhLCB7XG4gIC8vIFNraXAgLipTeW5jIG1ldGhvZHNcbiAgZmlsdGVyOiAobmFtZSwgZnVuYywgdGFyZ2V0LCBwYXNzZXNEZWZhdWx0RmlsdGVyKSA9PiB7XG4gICAgaWYgKHBhc3Nlc0RlZmF1bHRGaWx0ZXIgJiYgdGFyZ2V0ID09PSBleHRyYSAmJiAhZmluYWxbbmFtZV0pIHtcbiAgICAgIGlmIChuYW1lLm1hdGNoKC9TeW5jJC8pKSB7XG4gICAgICAgIGZpbmFsW25hbWVdID0gZXh0cmFbbmFtZV0uYmluZChleHRyYSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3luY19tZXRob2RzLnB1c2gobmFtZSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0sXG59KTtcblxuLy8gUmVuYW1lIC4qQXN5bmMgbWV0aG9kc1xuYXN5bmNfbWV0aG9kcy5mb3JFYWNoKChtZXRob2QpID0+IHtcbiAgZmluYWxbbWV0aG9kICsgXCJDYWxsYmFja1wiXSA9IGV4dHJhW21ldGhvZF07XG4gIGZpbmFsW21ldGhvZF0gPSBhc3luY19vYmplY3RbbWV0aG9kICsgXCJBc3luY1wiXS5iaW5kKGFzeW5jX29iamVjdCk7XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBmaW5hbDtcbiJdLCJzb3VyY2VSb290IjoiZmlsZS1hc3luYy0wLjIuMCAtIHNyYyJ9
{
"name": "file-async",
"version": "0.1.4",
"version": "0.2.0",
"description": "fs-extra + bluebird promisify",
"main": "index.js",
"dependencies": {
"bluebird": "^3.0.5",
"fs-extra": "^0.26.2",
"source-map-support": "^0.3.3"
"bluebird": "^3.1.1",
"fs-extra": "^0.26.3",
"source-map-support": "^0.4.0"
},
"devDependencies": {
"azk-dev": "0.1.0",
"gulp": "^3.9.0"
"azk-dev": "^0.2.0",
"babel-polyfill": "^6.3.14",
"gulp": "^3.8.11"
},

@@ -15,0 +16,0 @@ "scripts": {

@@ -5,5 +5,8 @@ # file-async

all functions from [fs](https://nodejs.org/api/fs.html) and [fs-extra](https://github.com/jprichardson/node-fs-extra) _bluebird's promisified_
[![Build Status](https://travis-ci.org/azukiapp/file-async.svg?branch=master)](https://travis-ci.org/azukiapp/file-async)
No more blocking code.
- All functions from [fs](https://nodejs.org/api/fs.html) and [fs-extra](https://github.com/jprichardson/node-fs-extra) to use with Promises
- No more blocking code.
- _bluebird's promisified_
- _exists()_ is fixed

@@ -10,0 +13,0 @@ ## Install with [npm](https://www.npmjs.com/package/file-async)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc