當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript fs.accessSync函數代碼示例

本文整理匯總了TypeScript中fs.accessSync函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript accessSync函數的具體用法?TypeScript accessSync怎麽用?TypeScript accessSync使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了accessSync函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: copyFile

export function copyFile(src: string, dest: string, overwrite = true): boolean {
	try {
		copyFileSync(src, dest, overwrite ? undefined : constants.COPYFILE_EXCL)
	} catch (e) {
		switch (e.code) {
			case "ENOENT":
				// 區分是源文件不存在還是目標目錄不存在
				try {
					accessSync(src)
				} catch (e2) {
					throw e
				}
				try {
					accessSync(dest)
				} catch (e3) {
					if (e3.code === "ENOENT") {
						ensureDirExists(dest)
						return copyFile(src, dest, false)
					} else {
						e = e3
					}
				}
				throw e
			case "EEXIST":
				return false
			default:
				throw e
		}
	}
	return true
}
開發者ID:tpack,項目名稱:utilskit,代碼行數:31,代碼來源:fs.ts

示例2: task

task('e2e.watchProd', (done: Function) => {
  const folderInfo = getFolderInfo();
  let e2eTestPath = SRC_ROOT;

  if (folderInfo.componentName && folderInfo.componentTest) {
    e2eTestPath = join(`${SRC_ROOT}/components/${folderInfo.componentName}/test/${folderInfo.componentTest}/app.module.ts`);
  }

  try {
    accessSync(e2eTestPath, F_OK);
  } catch (e) {
    done(new Error(`Could not find e2e test: ${e2eTestPath}`));
    return;
  }

  if (e2eComponentsExists(folderInfo)) {
    // already generated the e2e directory
    e2eWatch(folderInfo.componentName, folderInfo.componentTest);

  } else {
    // generate the e2e directory
    console.log('Generate e2e builds first...');
    e2eBuild(() => {
      e2eWatch(folderInfo.componentName, folderInfo.componentTest);
    });
  }
});
開發者ID:BossKing,項目名稱:ionic,代碼行數:27,代碼來源:e2e.prod.ts

示例3: activate

function activate(context) {
    red_extensionPath = context.extensionPath;
    red_pkg = JSON.parse(fs.readFileSync(red_extensionPath + '/package.json', 'utf8'));
    red_pkg.contributes.commands.forEach(function(element1,index1,array1){
        red_pkg.contributes.keybindings.some(function(element2,index2,array3){ //forEach can not use break
            if (element1.command == element2.command) {
                if (element1.command != 'red_menu') {
                    red_menu.push(element1.title + ' (' + element2.key + ')');
                }
                context.subscriptions.push(vscode.commands.registerCommand( element1.command, function(){handle_command(element1.command);} ));
                return true;
            }
        });
    });
    
    if ('win32' == process.platform) {
        _exe = '.exe';
    }
    red_bin_path = red_extensionPath + '/bin/' + process.platform + '/';
    //fs.existsSync(red_bin_path) || fs.mkdirSync(red_bin_path);
    //mkdirpSync(red_bin_path);
    red_bin_path = red_bin_path + 'red' + _exe;
    try {
        fs.accessSync(red_bin_path, fs.X_OK);
        red_bin_exist = true;
    } catch (e) {
        //
    }
}
開發者ID:red-eco,項目名稱:VScode-extension,代碼行數:29,代碼來源:extension.ts

示例4: task

task('demos.watchProd', (done: Function) => {
  const folderInfo = getFolderInfo();
  let demoTestPath = DEMOS_SRC_ROOT;

  if (folderInfo.componentName && folderInfo.componentTest) {
    demoTestPath = join(DEMOS_SRC_ROOT, folderInfo.componentName, 'app.module.ts');
  }

  try {
    accessSync(demoTestPath, F_OK);
  } catch (e) {
    done(new Error(`Could not find demos test: ${demoTestPath}`));
    return;
  }

  if (demosComponentsExists(folderInfo)) {
    // already generated the demos directory
    demosWatch(folderInfo.componentName, folderInfo.componentTest);

  } else {
    // generate the demos directory
    console.log('Generate demo builds first...');
    demosBuild(() => {
      demosWatch(folderInfo.componentName, folderInfo.componentTest);
    });
  }
});
開發者ID:BossKing,項目名稱:ionic,代碼行數:27,代碼來源:demos.prod.ts

示例5: join

export = (done: any) => {

  let checkFile = join(process.cwd(), 'tools', 'config.js');

  // need to require the build.toolchain task as it won't be able to run after we run clear.files
  let buildTools = require('./build.tools');
  let cleanTools = require('./clean.tools');

  let rebuild = false;

  try {
    fs.accessSync(checkFile, fs.F_OK);
    util.log('Gulpfile has previously been compiled, rebuilding toolchain');
    rebuild = true;

  } catch (e) {
    util.log('Tools not compiled, skipping rebuild');
    done();
  }

  // continue here to prevent other errors being caught...
  if (rebuild) {
    util.log('Running \'clean.tools\' from check.tools');
    cleanTools();

    util.log('Running \'build.tools\' from check.tools');
    let build = buildTools();

    build.on('end', done);

  }

};
開發者ID:13812453806,項目名稱:angular2-seed,代碼行數:33,代碼來源:check.tools.ts

示例6: getProfileDir

/**
 * Returns either true and the path of the profile directory or false and an error message
 */
function getProfileDir(config: LaunchConfiguration): [boolean, string] {
	let profileDir: string;
	if (config.profileDir) {
		profileDir = config.profileDir;
	} else {
		profileDir = path.join(os.tmpdir(), 'vscode-firefox-debug-profile');
	}

	try {
		let stat = fs.statSync(profileDir);
		if (stat.isDirectory) {
			// directory exists - check permissions
			try {
				fs.accessSync(profileDir, fs.R_OK | fs.W_OK);
				return [true, profileDir];
			} catch (e) {
				return [false, `The profile directory ${profileDir} exists but can't be accessed`];
			}
		} else {
			return [false, `${profileDir} is not a directory`];
		}
	} catch (e) {
		// directory doesn't exist - create it and set the necessary user preferences
		try {
			fs.mkdirSync(profileDir);
			fs.writeFileSync(path.join(profileDir, 'prefs.js'), firefoxUserPrefs);
			return [true, profileDir];
		} catch (e) {
			return [false, `Error trying to create profile directory ${profileDir}: ${e}`];
		}
	}	
}
開發者ID:iwonasado,項目名稱:vscode-firefox-debug,代碼行數:35,代碼來源:launcher.ts

示例7: listJsFilesAndDirectories

function listJsFilesAndDirectories(dirPath: string): FileDirList {
	try {
		fs.accessSync(dirPath, fs.constants.R_OK);
	}
	catch (err) {
		return {
			dirs: [],
			files: []
		};
	}

	dirPath = dirPath.replace(/\\/g, '/');
	if (dirPath[dirPath.length - 1] != '/')
		dirPath += '/';

	let listing = fs.readdirSync(dirPath);

	let dirs: string[] = [];
	let files: string[] = [];
	_.forEach(listing, (l) => {
		if (fs.statSync(path.join(dirPath, l)).isDirectory()) {
			if (!l.startsWith('node_modules') && !l.startsWith('bower_components') && !l.startsWith('.'))
				dirs.push(path.join(dirPath, l));
		}
		else if (l.endsWith('.js') || l.endsWith('.json')) {
			files.push(path.join(dirPath, l));
		}
	});
	return {
		dirs: dirs,
		files: files
	};
}
開發者ID:codyrigney92,項目名稱:require-complete,代碼行數:33,代碼來源:server.ts

示例8: _getRecommendedTextColor

 private static _getRecommendedTextColor(): string {
     let color = '#AAAAAA';
     let path = '';
     
     switch (process.platform) {
         case 'darwin':
             path = `${process.env.HOME}/Library/Application Support/Code/storage.json`;
             break;
             
         case 'win32':
             path = `${process.env.APPDATA}\\Code\\storage.json`;
             break;
             
         default:
             path = `${process.env.HOME}/.config/Code/storage.json`
             break;
     }
     
     try {
         fs.accessSync(path);
         
         let json = fs.readFileSync(path, 'utf8');
         let storage = JSON.parse(json);
         
         color = (storage.theme.indexOf('vs-dark') > -1) ? '#FFFFFF' : '#000000';
     }
     
     catch (error) { }
     
     return color;
 }
開發者ID:blastdan,項目名稱:vscode-xml,代碼行數:31,代碼來源:XmlTreeService.ts

示例9: task

task('e2e.watchProd', ['e2e.copyExternalDependencies', 'e2e.sass', 'e2e.fonts'], (done: Function) => {
  const folderInfo = getFolderInfo();
  let e2eTestPath = SRC_COMPONENTS_ROOT;

  if (folderInfo.componentName && folderInfo.componentTest) {
    e2eTestPath = join(SRC_COMPONENTS_ROOT, folderInfo.componentName, 'test', folderInfo.componentTest, 'app-module.ts');
  }

  try {
    accessSync(e2eTestPath, F_OK);
  } catch (e) {
    done(new Error(`Could not find e2e test: ${e2eTestPath}`));
    return;
  }

  if (e2eComponentsExists()) {
    // already generated the e2e directory
    e2eWatch(folderInfo.componentName, folderInfo.componentTest);

  } else {
    // generate the e2e directory
    console.log('Generated e2e builds first...');
    e2eBuild(() => {
      e2eWatch(folderInfo.componentName, folderInfo.componentTest);
    });
  }
});
開發者ID:JackMj,項目名稱:ionic,代碼行數:27,代碼來源:e2e.prod.ts

示例10: fromFileSync

export function fromFileSync(filename:string) : NiftiStream {
    accessSync(filename, R_OK);
    let stream:NodeJS.ReadableStream = createReadStream(filename);
    if (filename.substr(-'.gz'.length) === '.gz') {
        stream = stream.pipe(createGunzip());
    }
    return new NiftiStream(stream);
}
開發者ID:Enet4,項目名稱:nifti-stream,代碼行數:8,代碼來源:index.ts


注:本文中的fs.accessSync函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。