当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Observable.bindNodeCallback方法代码示例

本文整理汇总了TypeScript中rxjs.Observable.bindNodeCallback方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Observable.bindNodeCallback方法的具体用法?TypeScript Observable.bindNodeCallback怎么用?TypeScript Observable.bindNodeCallback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rxjs.Observable的用法示例。


在下文中一共展示了Observable.bindNodeCallback方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: constructor

 */
import * as _ from 'lodash';
import { Observable, Subscription } from 'rxjs';
import { CommandType, Definition, IAtomNavigation, IDefinitionProvider, IDefinitionService, Reference, navigationHasRange } from 'atom-languageservices';
import { alias, injectable } from 'atom-languageservices/decorators';
import { readFile } from 'fs';
import { ProviderServiceBase } from './_ProviderServiceBase';
import { atomConfig } from '../decorators';
import { AtomCommands } from './AtomCommands';
import { AtomNavigation } from './AtomNavigation';
import { AtomTextEditorSource } from './AtomTextEditorSource';
import { CommandsService } from './CommandsService';
import { ReferenceView } from './views/ReferenceView';
type Location = IAtomNavigation.Location;

const readFile$ = Observable.bindNodeCallback(readFile);
@injectable
@alias(IDefinitionService)
@atomConfig({
    default: true,
    description: 'Adds support for navigate to definition or definitions'
})
export class DefinitionService
    extends ProviderServiceBase<IDefinitionProvider, Definition.IRequest, Observable<Location[]>, Observable<Location[]>>
    implements IDefinitionService {
    private _navigation: AtomNavigation;
    private _commands: CommandsService;
    private _atomCommands: AtomCommands;
    private _source: AtomTextEditorSource;

    constructor(navigation: AtomNavigation, commands: CommandsService, atomCommands: AtomCommands, source: AtomTextEditorSource) {
开发者ID:OmniSharp,项目名称:atom-languageclient,代码行数:31,代码来源:DefinitionService.ts

示例2: getPluginPath

import { exec } from 'child_process';
import * as fs from 'fs';
import { join } from 'path';
import { Observable } from 'rxjs';
import { ILogger, IOmnisharpPlugin } from '../enums';
import { createObservable } from '../operators/create';
import { RuntimeContext } from './runtime';

const bootstrappedPlugins = new Map<string, string>();
const exists = Observable.bindCallback(fs.exists);
const readFile: (file: string) => Observable<any> = Observable.bindNodeCallback(fs.readFile);
// tslint:disable-next-line:no-var-requires no-require-imports
const md5: (value: any) => string = require('md5');

// tslint:disable-next-line:export-name
export function getPluginPath(solutionLocation: string, ctx: RuntimeContext, requestedPlugins: IOmnisharpPlugin[], logger: ILogger) {
    const plugins: any[] = [];
    const hashStrings: any[] = [];
    let hash: string;
    requestedPlugins.forEach(plugin => {
        plugins.push(plugin);
    });

    return createObservable<string>(observer => {
        logger.log('Bootstrapping ' + solutionLocation);
        // Include the plugins defined in omnisharp.json, they could have changed.
        exists(join(solutionLocation, 'omnisharp.json'))
            .filter(x => !!x)
            .flatMap(x => readFile(join(solutionLocation, 'omnisharp.json')))
            .map(x => JSON.parse(x.toString()))
            .do({
开发者ID:OmniSharp,项目名称:omnisharp-node-client,代码行数:31,代码来源:plugin.ts

示例3: return

 return (collection: Collection): Observable<void> => {
   let cb: Function = collection.createIndex.bind(collection);
   let opts: Object = { unique: true };
   return Observable.bindNodeCallback<void>(cb)(field, opts);
 }
开发者ID:delta62,项目名称:chore-api,代码行数:5,代码来源:db.ts

示例4: writeFileStreamCB

    Observable.create(function (observer) {
        function writeFileStreamCB(e, file) {
            if (e) return observer.error(e);

            observer.next(merge(
                getFilenameMetaData(path || ''),
                {file}
            ));
            observer.complete();
        }

        fs.writeFile(path, data, writeFileStreamCB);
    });


const xmlToObservable = Observable.bindNodeCallback(parseString);

function isFeedItem(x:OutlineFeedParent|OutlineFolderParent):x is OutlineFeedParent {
    return compose(
        lt(0),
        length,
        path(['$', 'xmlUrl'])
    )(x)
}

const getOutline:(x:OutlineFolderParent) => Array<OutlineFolderParent> = prop('outline');


const sortableURI:(x:string) => string = (x = '')=> {
    const u = new URI(x);
    return u.hostname()
开发者ID:r-k-b,项目名称:newsblur-feed-info,代码行数:31,代码来源:index.ts

示例5: connect

 connect(uri: string): Observable<MongoDb> {
   let client = new MongoClient();
   let cb: Function = client.connect.bind(client);
   return Observable.bindNodeCallback<MongoDb>(cb)(uri);
 }
开发者ID:delta62,项目名称:chore-api,代码行数:5,代码来源:db.ts

示例6:

import {Observable} from 'rxjs';
import {writeFile as writeFile_} from 'fs';

export const writeFile = Observable.bindNodeCallback(writeFile_);
开发者ID:CurlyHeir,项目名称:blow-gateway,代码行数:4,代码来源:fs.ts


注:本文中的rxjs.Observable.bindNodeCallback方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。