本文整理汇总了TypeScript中bluebird-lst.map函数的典型用法代码示例。如果您正苦于以下问题:TypeScript map函数的具体用法?TypeScript map怎么用?TypeScript map使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了map函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: readScopedDir
async function readScopedDir(dir: string): Promise<Array<string> | null> {
let files: Array<string>
try {
files = (await readdir(dir)).filter(it => !it.startsWith(".") && !knownAlwaysIgnoredDevDeps.has(it))
}
catch (e) {
// error indicates that nothing is installed here
return null
}
files.sort()
const scopes = files.filter(it => it.startsWith("@") && it !== "@types")
if (scopes.length === 0) {
return files
}
const result = files.filter(it => !it.startsWith("@"))
const scopeFileList = await BluebirdPromise.map(scopes, it => readdir(path.join(dir, it)))
for (let i = 0; i < scopes.length; i++) {
const list = scopeFileList[i]
list.sort()
for (const file of list) {
if (!file.startsWith(".")) {
result.push(`${scopes[i]}/${file}`)
}
}
}
return result
}
示例2: writeUpdateInfoFiles
export async function writeUpdateInfoFiles(updateInfoFileTasks: Array<UpdateInfoFileTask>, packager: Packager) {
// zip must be first and zip info must be used for old path/sha512 properties in the update info
updateInfoFileTasks.sort((a, b) => (a.info.files[0].url.endsWith(".zip") ? 0 : 100) - (b.info.files[0].url.endsWith(".zip") ? 0 : 100))
const updateChannelFileToInfo = new Map<string, UpdateInfoFileTask>()
for (const task of updateInfoFileTasks) {
const key = `${task.file}@${safeStringifyJson(task.publishConfiguration)}`
const existingTask = updateChannelFileToInfo.get(key)
if (existingTask == null) {
updateChannelFileToInfo.set(key, task)
continue
}
existingTask.info.files.push(...task.info.files)
}
const releaseDate = new Date().toISOString()
await BluebirdPromise.map(updateChannelFileToInfo.values(), async task => {
task.info.releaseDate = releaseDate
const fileContent = Buffer.from(serializeToYaml(task.info))
await outputFile(task.file, fileContent)
packager.dispatchArtifactCreated({
file: task.file,
fileContent,
arch: null,
packager: task.packager,
target: null,
publishConfig: task.publishConfiguration,
})
}, {concurrency: 4})
}
示例3: computeFileSets
export async function computeFileSets(matchers: Array<FileMatcher>, transformer: FileTransformer, packager: Packager, isElectronCompile: boolean): Promise<Array<ResolvedFileSet>> {
const fileSets: Array<ResolvedFileSet> = []
for (const matcher of matchers) {
const fileWalker = new AppFileWalker(matcher, packager)
const fromStat = await statOrNull(fileWalker.matcher.from)
if (fromStat == null) {
debug(`Directory ${fileWalker.matcher.from} doesn't exists, skip file copying`)
continue
}
const files = await walk(fileWalker.matcher.from, fileWalker.filter, fileWalker)
const metadata = fileWalker.metadata
const transformedFiles = await BluebirdPromise.map(files, it => {
const fileStat = metadata.get(it)
return fileStat != null && fileStat.isFile() ? transformer(it) : null
}, CONCURRENCY)
fileSets.push({src: fileWalker.matcher.from, files, metadata: fileWalker.metadata, transformedFiles, destination: fileWalker.matcher.to})
}
const mainFileSet = fileSets[0]
if (isElectronCompile) {
// cache should be first in the asar
fileSets.unshift(await compileUsingElectronCompile(mainFileSet, packager))
}
return fileSets
}
示例4: readScopedDir
async function readScopedDir(dir: string) {
let files: Array<string>
try {
files = (await readdir(dir)).filter(it => !it.startsWith("."))
}
catch (e) {
// error indicates that nothing is installed here
return []
}
files.sort()
const scopes = files.filter(it => it.startsWith("@"))
if (scopes.length === 0) {
return files
}
const result = files.filter(it => !it.startsWith("@"))
const scopeFileList = await BluebirdPromise.map(scopes, it => readdir(path.join(dir, it)))
for (let i = 0; i < scopes.length; i++) {
for (const file of scopeFileList[i]) {
if (!file.startsWith(".")) {
result.push(`${scopes[i]}/${file}`)
}
}
}
result.sort()
return result
}
示例5: moveHelpers
function moveHelpers(frameworksPath: string, appName: string, prefix: string): Promise<any> {
return BluebirdPromise.map([" Helper", " Helper EH", " Helper NP"], suffix => {
const executableBasePath = path.join(frameworksPath, `${prefix}${suffix}.app`, "Contents", "MacOS")
return doRename(executableBasePath, `${prefix}${suffix}`, appName + suffix)
.then(() => doRename(frameworksPath, `${prefix}${suffix}.app`, `${appName}${suffix}.app`))
})
}
示例6: setPackageVersions
async function setPackageVersions(packages: Array<string>, packageData: Array<any>) {
const versions = await BluebirdPromise.map(packages, it => exec("yarn", ["info", "--json", it, "dist-tags"])
.then((it: string) => {
if (it === "") {
// {"type":"error","data":"Received invalid response from npm."}
// not yet published to npm
return "0.0.1"
}
try {
return JSON.parse(it).data
}
catch (e) {
throw new Error(`Cannot parse ${it}: ${e.stack || e}`)
}
}))
for (let i = 0; i < packages.length; i++) {
const packageName = packages[i]
const packageJson = packageData[i]
const versionInfo = versions[i]
const latestVersion = versionInfo.next || versionInfo.latest
if (latestVersion == null || packageJson.version == latestVersion || semver.lt(latestVersion, packageJson.version)) {
continue
}
packageJson.version = latestVersion
console.log(`Set ${packageName} version to ${latestVersion}`)
await writeJson(path.join(packageDir, packageName, "package.json"), packageJson, {spaces: 2})
}
}
示例7: createKeychain
export async function createKeychain({tmpDir, cscLink, cscKeyPassword, cscILink, cscIKeyPassword, currentDir}: CreateKeychainOptions): Promise<CodeSigningInfo> {
// travis has correct AppleWWDRCA cert
if (process.env.TRAVIS !== "true") {
await bundledCertKeychainAdded.value
}
const keychainFile = await tmpDir.getTempFile({suffix: ".keychain", disposer: removeKeychain})
const certLinks = [cscLink]
if (cscILink != null) {
certLinks.push(cscILink)
}
const certPaths = new Array(certLinks.length)
const keychainPassword = randomBytes(8).toString("base64")
const securityCommands = [
["create-keychain", "-p", keychainPassword, keychainFile],
["unlock-keychain", "-p", keychainPassword, keychainFile],
["set-keychain-settings", keychainFile]
]
// https://stackoverflow.com/questions/42484678/codesign-keychain-gets-ignored
// https://github.com/electron-userland/electron-builder/issues/1457
const list = await listUserKeychains()
if (!list.includes(keychainFile)) {
securityCommands.push(["list-keychains", "-d", "user", "-s", keychainFile].concat(list))
}
await BluebirdPromise.all([
// we do not clear downloaded files - will be removed on tmpDir cleanup automatically. not a security issue since in any case data is available as env variables and protected by password.
BluebirdPromise.map(certLinks, (link, i) => downloadCertificate(link, tmpDir, currentDir).then(it => certPaths[i] = it)),
BluebirdPromise.mapSeries(securityCommands, it => exec("security", it))
])
return await importCerts(keychainFile, certPaths, [cscKeyPassword, cscIKeyPassword].filter(it => it != null) as Array<string>)
}
示例8: main
async function main(): Promise<void> {
const packages = (await readdir(packageDir)).filter(it => !it.includes(".")).sort()
const devPackageData = await readJson(path.join(rootDir, "package.json"))
if ((await BluebirdPromise.map(packages, it => check(path.join(packageDir, it), devPackageData))).includes(false)) {
process.exitCode = 1
}
}
示例9: readProjectMetadata
async function readProjectMetadata(packageDir: string) {
const packageDirs = BluebirdPromise.filter((await readdir(packageDir)).filter(it => !it.includes(".")).sort(), it => {
return stat(path.join(packageDir, it, "package.json"))
.then(it => it.isFile())
.catch(() => false)
})
return await BluebirdPromise.map(packageDirs, it => readJson(path.join(packageDir, it, "package.json")), {concurrency: 8})
}
示例10: rebuild
export async function rebuild(appDir: string, options: RebuildOptions) {
const nativeDeps = await BluebirdPromise.filter(await options.productionDeps!.value, it => exists(path.join(it.path, "binding.gyp")), {concurrency: 8})
if (nativeDeps.length === 0) {
log(`No native production dependencies`)
return
}
const platform = options.platform || process.platform
const arch = options.arch || process.arch
const additionalArgs = options.additionalArgs
log(`Rebuilding native production dependencies for ${platform}:${arch}`)
let execPath = process.env.npm_execpath || process.env.NPM_CLI_JS
const isYarn = isYarnPath(execPath)
const execArgs: Array<string> = []
if (execPath == null) {
execPath = getPackageToolPath()
}
else {
execArgs.push(execPath)
execPath = process.env.npm_node_execpath || process.env.NODE_EXE || "node"
}
const env = getGypEnv(options.frameworkInfo, platform, arch, options.buildFromSource === true)
if (isYarn) {
execArgs.push("run", "install", "--")
if (additionalArgs != null) {
execArgs.push(...additionalArgs)
}
await BluebirdPromise.map(nativeDeps, dep => {
log(`Rebuilding native dependency ${dep.name}`)
return spawn(execPath!, execArgs, {
cwd: dep.path,
env,
})
.catch(error => {
if (dep.optional) {
warn(`Cannot build optional native dep ${dep.name}`)
}
else {
throw error
}
})
}, {concurrency: process.platform === "win32" ? 1 : 2})
}
else {
execArgs.push("rebuild")
if (additionalArgs != null) {
execArgs.push(...additionalArgs)
}
execArgs.push(...nativeDeps.map(it => it.name))
await spawn(execPath, execArgs, {
cwd: appDir,
env,
})
}
}