| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 'use strict';
- var fs = require('fs');
- var nullCheck = require('null-check');
- var access = module.exports = function (pth, mode, cb) {
- if (typeof pth !== 'string') {
- throw new TypeError('path must be a string');
- }
- if (typeof mode === 'function') {
- cb = mode;
- mode = access.F_OK;
- } else if (typeof cb !== 'function') {
- throw new TypeError('callback must be a function');
- }
- if (!nullCheck(pth, cb)) {
- return;
- }
- mode = mode | 0;
- if (mode === access.F_OK) {
- fs.stat(pth, cb);
- }
- };
- access.sync = function (pth, mode) {
- nullCheck(pth);
- mode = mode === undefined ? access.F_OK : mode | 0;
- if (mode === access.F_OK) {
- fs.statSync(pth);
- }
- };
- access.F_OK = 0;
- access.R_OK = 4;
- access.W_OK = 2;
- access.X_OK = 1;
|