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


TypeScript facade.StringMapWrapper类代码示例

本文整理汇总了TypeScript中@angular/facade.StringMapWrapper的典型用法代码示例。如果您正苦于以下问题:TypeScript StringMapWrapper类的具体用法?TypeScript StringMapWrapper怎么用?TypeScript StringMapWrapper使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1:

 events.forEach(event => {
   if (StringWrapper.equals(event['ph'], 'X')) {
     needSort = true;
     var startEvent = {};
     var endEvent = {};
     StringMapWrapper.forEach(event, (value, prop) => {
       startEvent[prop] = value;
       endEvent[prop] = value;
     });
     startEvent['ph'] = 'B';
     endEvent['ph'] = 'E';
     endEvent['ts'] = startEvent['ts'] + startEvent['dur'];
     this._remainingEvents.push(startEvent);
     this._remainingEvents.push(endEvent);
   } else {
     this._remainingEvents.push(event);
   }
 });
开发者ID:0xJoKe,项目名称:angular,代码行数:18,代码来源:perflog_metric.ts

示例2: describe

 describe(): {[key: string]: any} {
   var res = {
     'scriptTime': 'script execution time in ms, including gc and render',
     'pureScriptTime': 'script execution time in ms, without gc nor render'
   };
   if (this._perfLogFeatures.render) {
     res['renderTime'] = 'render time in ms';
   }
   if (this._perfLogFeatures.gc) {
     res['gcTime'] = 'gc time in ms';
     res['gcAmount'] = 'gc amount in kbytes';
     res['majorGcTime'] = 'time of major gcs in ms';
     if (this._forceGc) {
       res['forcedGcTime'] = 'forced gc time in ms';
       res['forcedGcAmount'] = 'forced gc amount in kbytes';
     }
   }
   if (this._receivedData) {
     res['receivedData'] = 'encoded bytes received since navigationStart';
   }
   if (this._requestCount) {
     res['requestCount'] = 'count of requests sent since navigationStart';
   }
   if (this._captureFrames) {
     if (!this._perfLogFeatures.frameCapture) {
       var warningMsg = 'WARNING: Metric requested, but not supported by driver';
       // using dot syntax for metric name to keep them grouped together in console reporter
       res['frameTime.mean'] = warningMsg;
       res['frameTime.worst'] = warningMsg;
       res['frameTime.best'] = warningMsg;
       res['frameTime.smooth'] = warningMsg;
     } else {
       res['frameTime.mean'] = 'mean frame time in ms (target: 16.6ms for 60fps)';
       res['frameTime.worst'] = 'worst frame time in ms';
       res['frameTime.best'] = 'best frame time in ms';
       res['frameTime.smooth'] = 'percentage of frames that hit 60fps';
     }
   }
   StringMapWrapper.forEach(this._microMetrics,
                            (desc, name) => { StringMapWrapper.set(res, name, desc); });
   return res;
 }
开发者ID:0xJoKe,项目名称:angular,代码行数:42,代码来源:perflog_metric.ts

示例3: createMetric

 function createMetric(perfLogs, perfLogFeatures,
                       {microMetrics, forceGc, captureFrames, receivedData, requestCount}: {
                         microMetrics?: {[key: string]: string},
                         forceGc?: boolean,
                         captureFrames?: boolean,
                         receivedData?: boolean,
                         requestCount?: boolean
                       } = {}): Metric {
   commandLog = [];
   if (isBlank(perfLogFeatures)) {
     perfLogFeatures =
         new PerfLogFeatures({render: true, gc: true, frameCapture: true, userTiming: true});
   }
   if (isBlank(microMetrics)) {
     microMetrics = StringMapWrapper.create();
   }
   var bindings = [
     Options.DEFAULT_PROVIDERS,
     PerflogMetric.BINDINGS,
     bind(Options.MICRO_METRICS).toValue(microMetrics),
     bind(PerflogMetric.SET_TIMEOUT)
         .toValue((fn, millis) => {
           commandLog.push(['setTimeout', millis]);
           fn();
         }),
     bind(WebDriverExtension)
         .toValue(new MockDriverExtension(perfLogs, commandLog, perfLogFeatures))
   ];
   if (isPresent(forceGc)) {
     bindings.push(bind(Options.FORCE_GC).toValue(forceGc));
   }
   if (isPresent(captureFrames)) {
     bindings.push(bind(Options.CAPTURE_FRAMES).toValue(captureFrames));
   }
   if (isPresent(receivedData)) {
     bindings.push(bind(Options.RECEIVED_DATA).toValue(receivedData));
   }
   if (isPresent(requestCount)) {
     bindings.push(bind(Options.REQUEST_COUNT).toValue(requestCount));
   }
   return ReflectiveInjector.resolveAndCreate(bindings).get(PerflogMetric);
 }
开发者ID:2blessed2bstressedbythedevilsmess,项目名称:angular,代码行数:42,代码来源:perflog_metric_spec.ts

示例4: normalizeEvent

function normalizeEvent(chromeEvent: {[key: string]: any},
                        data: {[key: string]: any}): {[key: string]: any} {
  var ph = chromeEvent['ph'];
  if (StringWrapper.equals(ph, 'S')) {
    ph = 'b';
  } else if (StringWrapper.equals(ph, 'F')) {
    ph = 'e';
  }
  var result =
      {'pid': chromeEvent['pid'], 'ph': ph, 'cat': 'timeline', 'ts': chromeEvent['ts'] / 1000};
  if (chromeEvent['ph'] === 'X') {
    var dur = chromeEvent['dur'];
    if (isBlank(dur)) {
      dur = chromeEvent['tdur'];
    }
    result['dur'] = isBlank(dur) ? 0.0 : dur / 1000;
  }
  StringMapWrapper.forEach(data, (value, prop) => { result[prop] = value; });
  return result;
}
开发者ID:4vanger,项目名称:angular,代码行数:20,代码来源:chrome_driver_extension.ts

示例5: _aggregateEvents

  _aggregateEvents(events: Array<{[key: string]: any}>, markName): {[key: string]: any} {
    var result = {'scriptTime': 0, 'pureScriptTime': 0};
    if (this._perfLogFeatures.gc) {
      result['gcTime'] = 0;
      result['majorGcTime'] = 0;
      result['gcAmount'] = 0;
    }
    if (this._perfLogFeatures.render) {
      result['renderTime'] = 0;
    }
    if (this._captureFrames) {
      result['frameTime.mean'] = 0;
      result['frameTime.best'] = 0;
      result['frameTime.worst'] = 0;
      result['frameTime.smooth'] = 0;
    }
    StringMapWrapper.forEach(this._microMetrics, (desc, name) => { result[name] = 0; });
    if (this._receivedData) {
      result['receivedData'] = 0;
    }
    if (this._requestCount) {
      result['requestCount'] = 0;
    }

    var markStartEvent = null;
    var markEndEvent = null;
    var gcTimeInScript = 0;
    var renderTimeInScript = 0;

    var frameTimestamps = [];
    var frameTimes = [];
    var frameCaptureStartEvent = null;
    var frameCaptureEndEvent = null;

    var intervalStarts: {[key: string]: any} = {};
    var intervalStartCount: {[key: string]: number} = {};
    events.forEach((event) => {
      var ph = event['ph'];
      var name = event['name'];
      var microIterations = 1;
      var microIterationsMatch = RegExpWrapper.firstMatch(_MICRO_ITERATIONS_REGEX, name);
      if (isPresent(microIterationsMatch)) {
        name = microIterationsMatch[1];
        microIterations = NumberWrapper.parseInt(microIterationsMatch[2], 10);
      }

      if (StringWrapper.equals(ph, 'b') && StringWrapper.equals(name, markName)) {
        markStartEvent = event;
      } else if (StringWrapper.equals(ph, 'e') && StringWrapper.equals(name, markName)) {
        markEndEvent = event;
      }

      let isInstant = StringWrapper.equals(ph, 'I') || StringWrapper.equals(ph, 'i');
      if (this._requestCount && StringWrapper.equals(name, 'sendRequest')) {
        result['requestCount'] += 1;
      } else if (this._receivedData && StringWrapper.equals(name, 'receivedData') && isInstant) {
        result['receivedData'] += event['args']['encodedDataLength'];
      } else if (StringWrapper.equals(name, 'navigationStart')) {
        // We count data + requests since the last navigationStart
        // (there might be chrome extensions loaded by selenium before our page, so there
        // will likely be more than one navigationStart).
        if (this._receivedData) {
          result['receivedData'] = 0;
        }
        if (this._requestCount) {
          result['requestCount'] = 0;
        }
      }
      if (isPresent(markStartEvent) && isBlank(markEndEvent) &&
          event['pid'] === markStartEvent['pid']) {
        if (StringWrapper.equals(ph, 'b') && StringWrapper.equals(name, _MARK_NAME_FRAME_CAPUTRE)) {
          if (isPresent(frameCaptureStartEvent)) {
            throw new BaseException('can capture frames only once per benchmark run');
          }
          if (!this._captureFrames) {
            throw new BaseException(
                'found start event for frame capture, but frame capture was not requested in benchpress')
          }
          frameCaptureStartEvent = event;
        } else if (StringWrapper.equals(ph, 'e') &&
                   StringWrapper.equals(name, _MARK_NAME_FRAME_CAPUTRE)) {
          if (isBlank(frameCaptureStartEvent)) {
            throw new BaseException('missing start event for frame capture');
          }
          frameCaptureEndEvent = event;
        }

        if (isInstant) {
          if (isPresent(frameCaptureStartEvent) && isBlank(frameCaptureEndEvent) &&
              StringWrapper.equals(name, 'frame')) {
            frameTimestamps.push(event['ts']);
            if (frameTimestamps.length >= 2) {
              frameTimes.push(frameTimestamps[frameTimestamps.length - 1] -
                              frameTimestamps[frameTimestamps.length - 2]);
            }
          }
        }

        if (StringWrapper.equals(ph, 'B') || StringWrapper.equals(ph, 'b')) {
          if (isBlank(intervalStarts[name])) {
//.........这里部分代码省略.........
开发者ID:0xJoKe,项目名称:angular,代码行数:101,代码来源:perflog_metric.ts

示例6: _sortedProps

 static _sortedProps(obj) {
   var props = [];
   StringMapWrapper.forEach(obj, (value, prop) => props.push(prop));
   props.sort();
   return props;
 }
开发者ID:0xJoKe,项目名称:angular,代码行数:6,代码来源:console_reporter.ts

示例7:

 descriptions.forEach(description => {
   StringMapWrapper.forEach(description, (value, prop) => this.description[prop] = value);
 });
开发者ID:0xJoKe,项目名称:angular,代码行数:3,代码来源:sample_description.ts

示例8: sortedKeys

 function sortedKeys(stringMap) {
   var res = [];
   StringMapWrapper.forEach(stringMap, (_, key) => { res.push(key); });
   res.sort();
   return res;
 }
开发者ID:2blessed2bstressedbythedevilsmess,项目名称:angular,代码行数:6,代码来源:perflog_metric_spec.ts


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