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


TypeScript event-stream.mapSync函數代碼示例

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


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

示例1: Promise

 new Promise(res => {
   this.server.pipe(es.mapSync((e:any) => {
     if (e.blockResolutionError === expectedError) {
       res()
     }
   }))
 }),
開發者ID:duniter,項目名稱:duniter,代碼行數:7,代碼來源:toolbox.ts

示例2: typeDocument

export function typeDocument() {
  return es.mapSync((obj: any) => {
    if (obj.joiners !== undefined) {
      obj.documentType = 'block'
    }
    else if (obj.bcEvent !== undefined) {
      return
    }
    else if (obj.wotb_id !== undefined) {
      obj.documentType = 'identity'
    }
    else if (obj.idty_issuer !== undefined) {
      obj.documentType = 'certification'
    }
    else if (obj.type === 'IN') {
      obj.documentType = 'membership'
    }
    else if (obj.unlocks !== undefined) {
      obj.documentType = 'transaction'
    }
    else {
      console.log('Unknown')
      console.log(obj)
    }
    return obj
  })
}
開發者ID:duniter,項目名稱:remuniter,代碼行數:27,代碼來源:test-typedoc.ts

示例3: loadConf

  async loadConf(useDefaultConf:any = false) {
    logger.debug('Loading conf...');
    this.conf = await this.dal.loadConf(this.overrideConf, useDefaultConf)
    // Default values
    this.conf.remoteipv6       = this.conf.remoteipv6 === undefined ?        this.conf.ipv6                               : this.conf.remoteipv6
    this.conf.remoteport       = this.conf.remoteport === undefined ?        this.conf.port                               : this.conf.remoteport
    this.conf.c                = this.conf.c === undefined ?                 constants.CONTRACT.DEFAULT.C                 : this.conf.c
    this.conf.dt               = this.conf.dt === undefined ?                constants.CONTRACT.DEFAULT.DT                : this.conf.dt
    this.conf.ud0              = this.conf.ud0 === undefined ?               constants.CONTRACT.DEFAULT.UD0               : this.conf.ud0
    this.conf.stepMax          = this.conf.stepMax === undefined ?           constants.CONTRACT.DEFAULT.STEPMAX           : this.conf.stepMax
    this.conf.sigPeriod        = this.conf.sigPeriod === undefined ?         constants.CONTRACT.DEFAULT.SIGPERIOD         : this.conf.sigPeriod
    this.conf.msPeriod         = this.conf.msPeriod === undefined ?          constants.CONTRACT.DEFAULT.MSPERIOD          : this.conf.msPeriod
    this.conf.sigStock         = this.conf.sigStock === undefined ?          constants.CONTRACT.DEFAULT.SIGSTOCK          : this.conf.sigStock
    this.conf.sigWindow        = this.conf.sigWindow === undefined ?         constants.CONTRACT.DEFAULT.SIGWINDOW         : this.conf.sigWindow
    this.conf.sigValidity      = this.conf.sigValidity === undefined ?       constants.CONTRACT.DEFAULT.SIGVALIDITY       : this.conf.sigValidity
    this.conf.msValidity       = this.conf.msValidity === undefined ?        constants.CONTRACT.DEFAULT.MSVALIDITY        : this.conf.msValidity
    this.conf.sigQty           = this.conf.sigQty === undefined ?            constants.CONTRACT.DEFAULT.SIGQTY            : this.conf.sigQty
    this.conf.idtyWindow       = this.conf.idtyWindow === undefined ?        constants.CONTRACT.DEFAULT.IDTYWINDOW        : this.conf.idtyWindow
    this.conf.msWindow         = this.conf.msWindow === undefined ?          constants.CONTRACT.DEFAULT.MSWINDOW          : this.conf.msWindow
    this.conf.xpercent         = this.conf.xpercent === undefined ?          constants.CONTRACT.DEFAULT.X_PERCENT         : this.conf.xpercent
    this.conf.percentRot       = this.conf.percentRot === undefined ?        constants.CONTRACT.DEFAULT.PERCENTROT        : this.conf.percentRot
    this.conf.powDelay         = this.conf.powDelay === undefined ?          constants.CONTRACT.DEFAULT.POWDELAY          : this.conf.powDelay
    this.conf.avgGenTime       = this.conf.avgGenTime === undefined ?        constants.CONTRACT.DEFAULT.AVGGENTIME        : this.conf.avgGenTime
    this.conf.dtDiffEval       = this.conf.dtDiffEval === undefined ?        constants.CONTRACT.DEFAULT.DTDIFFEVAL        : this.conf.dtDiffEval
    this.conf.medianTimeBlocks = this.conf.medianTimeBlocks === undefined ?  constants.CONTRACT.DEFAULT.MEDIANTIMEBLOCKS  : this.conf.medianTimeBlocks
    this.conf.rootoffset       = this.conf.rootoffset === undefined ?        0                                            : this.conf.rootoffset
    this.conf.forksize         = this.conf.forksize === undefined ?          constants.BRANCHES.DEFAULT_WINDOW_SIZE       : this.conf.forksize
    // 1.3.X: the msPeriod = msWindow
    this.conf.msPeriod         = this.conf.msPeriod === undefined ?          this.conf.msWindow                           : this.conf.msPeriod
    // Default keypair
    if (!this.conf.pair || !this.conf.pair.pub || !this.conf.pair.sec) {
      // Create a random key
      this.conf.pair = randomKey().json()
    }
    // Extract key pair
    this.keyPair = KeyGen(this.conf.pair.pub, this.conf.pair.sec);
    this.sign = (msg:string) => this.keyPair.sign(msg)
    // Blockchain object
    this.blockchain = new DuniterBlockchain(new SQLBlockchain(this.dal), this.dal);
    // Update services
    this.IdentityService.setConfDAL(this.conf, this.dal)
    this.MembershipService.setConfDAL(this.conf, this.dal)
    this.PeeringService.setConfDAL(this.conf, this.dal, this.keyPair)
    this.BlockchainService.setConfDAL(this.conf, this.dal, this.keyPair)
    this.TransactionsService.setConfDAL(this.conf, this.dal)

    // Messages piping
    this.BlockchainService
      .pipe(es.mapSync((e:any) => {
        if (e.bcEvent === OtherConstants.BC_EVENT.HEAD_CHANGED || e.bcEvent === OtherConstants.BC_EVENT.SWITCHED) {
          this.emitDocument(e.block, DuniterDocument.ENTITY_BLOCK)
          this.emit('bcEvent', e)
        }
        this.streamPush(e)
      }))

    return this.conf;
  }
開發者ID:Kalmac,項目名稱:duniter,代碼行數:58,代碼來源:server.ts

示例4: Promise

    await new Promise(res => {
      source
        .pipe(protection)
        .pipe(es.mapSync(() => {
        nbDocs++
        if (nbDocs >= 2) {
          res()
        }
      }))

      // Writing
      source.push({ joiners: [] }) // A block
      source.push({ joiners: [] }) // A block
      source.push({ endpoints: [] }) // A peer
    })
開發者ID:duniter,項目名稱:duniter,代碼行數:15,代碼來源:single_write.ts

示例5: parse_file_line

export function parse_file_line(file_path : string, parse : (line:string)=>void, error : () => void, success  : () => void){
        let fs = require('fs')
        let es = require('event-stream');
                
        let stream = fs.createReadStream(file_path).pipe(es.split()).pipe(
            es.mapSync(function(line){
                stream.pause();
                
                parse(line);               
                
                stream.resume();    
            }).on('error',function(){
                error();
            }).on('end',function(){
                success();
            })
        );    
}
開發者ID:hcyang1012,項目名稱:vscode_ctags,代碼行數:18,代碼來源:file_manager.ts

示例6: progressBars

export function progressBars(buildStream, output) {
    var multi = multiline(output)

    buildStream.pipe(JSONStream.parse(null))
        .pipe(es.mapSync(function (data) {
            if(data.status) {
                var line = data.status
                if (data.progress) {
                    line += ' ' + data.progress
                }
                multi.update(data.id, line);
            } else if(data.stream) {
                output.write(data.stream.toString());
            }
            return data
        }))

    // buildStream.pipe(process.stdout);
}
開發者ID:zojeda,項目名稱:docker-workspace,代碼行數:19,代碼來源:utils.ts

示例7: WebSocketServer

  }, (httpServer:any) => {

    let currentBlock = {};
    let wssBlock = new WebSocketServer({
      server: httpServer,
      path: '/ws/block'
    });
    let wssPeer = new WebSocketServer({
      server: httpServer,
      path: '/ws/peer'
    });
    let wssHeads = new WebSocketServer({
      server: httpServer,
      path: '/ws/heads'
    });

    wssBlock.on('error', function (error:any) {
      logger && logger.error('Error on WS Server');
      logger && logger.error(error);
    });

    wssBlock.on('connection', function connection(ws:any) {
      co(function *() {
        try {
          currentBlock = yield server.dal.getCurrentBlockOrNull();
          if (currentBlock) {
            const blockDTO:BlockDTO = BlockDTO.fromJSONObject(currentBlock)
            ws.send(JSON.stringify(block2HttpBlock(blockDTO)))
          }
        } catch (e) {
          logger.error(e);
        }
      });
    });

    wssHeads.on('connection', async (ws:any) => {
      if (server.ws2pCluster) {
        try {
          ws.send(JSON.stringify(await server.ws2pCluster.getKnownHeads()))
        } catch (e) {
          logger.error(e);
        }
      }
    })
    wssHeads.broadcast = (data:any) => wssHeads.clients.forEach((client:any) => client.send(data));

    wssBlock.broadcast = (data:any) => wssBlock.clients.forEach((client:any) => {
      try {
        client.send(data);
      } catch (e) {
        logger && logger.error('error on ws: %s', e);
      }
    });
    wssPeer.broadcast = (data:any) => wssPeer.clients.forEach((client:any) => client.send(data));

    // Forward current HEAD change
    server
      .on('bcEvent', (e) => {
        if (e.bcEvent === OtherConstants.BC_EVENT.HEAD_CHANGED || e.bcEvent === OtherConstants.BC_EVENT.SWITCHED) {
          try {
            // Broadcast block
            currentBlock = e.block;
            const blockDTO:BlockDTO = BlockDTO.fromJSONObject(currentBlock)
            wssBlock.broadcast(JSON.stringify(block2HttpBlock(blockDTO)))
          } catch (e) {
            logger && logger.error('error on ws mapSync:', e);
          }
        }
      })
    // Forward peers documents
    server
      .pipe(es.mapSync(function(data:any) {
        try {
          // Broadcast peer
          if (data.endpoints) {
            const peerDTO = PeerDTO.fromJSONObject(data)
            const peerResult:HttpPeer = {
              version: peerDTO.version,
              currency: peerDTO.currency,
              pubkey: peerDTO.pubkey,
              block: peerDTO.blockstamp,
              endpoints: peerDTO.endpoints,
              signature: peerDTO.signature,
              raw: peerDTO.getRaw()
            }
            wssPeer.broadcast(JSON.stringify(peerResult));
          }
          // Broadcast heads
          else if (data.ws2p === 'heads' && data.added.length) {
            wssHeads.broadcast(JSON.stringify(data.added));
          }
        } catch (e) {
          logger && logger.error('error on ws mapSync:', e);
        }
      }));
  });
開發者ID:duniter,項目名稱:duniter,代碼行數:96,代碼來源:bma.ts


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