UNPKG

@angular/benchpress

Version:

Benchpress - a framework for e2e performance tests

43 lines 4.49 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var SizeValidator_1; import { __decorate, __metadata, __param } from "tslib"; import { Inject, Injectable, InjectionToken } from '@angular/core'; import { Validator } from '../validator'; /** * A validator that waits for the sample to have a certain size. */ let SizeValidator = SizeValidator_1 = class SizeValidator extends Validator { constructor(_sampleSize) { super(); this._sampleSize = _sampleSize; } describe() { return { 'sampleSize': this._sampleSize }; } validate(completeSample) { if (completeSample.length >= this._sampleSize) { return completeSample.slice(completeSample.length - this._sampleSize, completeSample.length); } else { return null; } } }; SizeValidator.SAMPLE_SIZE = new InjectionToken('SizeValidator.sampleSize'); SizeValidator.PROVIDERS = [ { provide: SizeValidator_1, deps: [SizeValidator_1.SAMPLE_SIZE] }, { provide: SizeValidator_1.SAMPLE_SIZE, useValue: 10 } ]; SizeValidator = SizeValidator_1 = __decorate([ Injectable(), __param(0, Inject(SizeValidator_1.SAMPLE_SIZE)), __metadata("design:paramtypes", [Number]) ], SizeValidator); export { SizeValidator }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZV92YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iZW5jaHByZXNzL3NyYy92YWxpZGF0b3Ivc2l6ZV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7QUFFSCxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHakUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV2Qzs7R0FFRztBQUVILElBQWEsYUFBYSxxQkFBMUIsTUFBYSxhQUFjLFNBQVEsU0FBUztJQU8xQyxZQUF1RCxXQUFtQjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQUQ2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUUxRSxDQUFDO0lBRVEsUUFBUTtRQUNmLE9BQU8sRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBQyxDQUFDO0lBQzFDLENBQUM7SUFFUSxRQUFRLENBQUMsY0FBK0I7UUFDL0MsSUFBSSxjQUFjLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDN0MsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUY7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQXJCUSx5QkFBVyxHQUFHLElBQUksY0FBYyxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDN0QsdUJBQVMsR0FBRztJQUNqQixFQUFDLE9BQU8sRUFBRSxlQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFDO0lBQzNELEVBQUMsT0FBTyxFQUFFLGVBQWEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQztDQUNuRCxDQUFDO0FBTFMsYUFBYTtJQUR6QixVQUFVLEVBQUU7SUFRRSxXQUFBLE1BQU0sQ0FBQyxlQUFhLENBQUMsV0FBVyxDQUFDLENBQUE7O0dBUG5DLGFBQWEsQ0FzQnpCO1NBdEJZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNZWFzdXJlVmFsdWVzfSBmcm9tICcuLi9tZWFzdXJlX3ZhbHVlcyc7XG5pbXBvcnQge1ZhbGlkYXRvcn0gZnJvbSAnLi4vdmFsaWRhdG9yJztcblxuLyoqXG4gKiBBIHZhbGlkYXRvciB0aGF0IHdhaXRzIGZvciB0aGUgc2FtcGxlIHRvIGhhdmUgYSBjZXJ0YWluIHNpemUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaXplVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yIHtcbiAgc3RhdGljIFNBTVBMRV9TSVpFID0gbmV3IEluamVjdGlvblRva2VuKCdTaXplVmFsaWRhdG9yLnNhbXBsZVNpemUnKTtcbiAgc3RhdGljIFBST1ZJREVSUyA9IFtcbiAgICB7cHJvdmlkZTogU2l6ZVZhbGlkYXRvciwgZGVwczogW1NpemVWYWxpZGF0b3IuU0FNUExFX1NJWkVdfSxcbiAgICB7cHJvdmlkZTogU2l6ZVZhbGlkYXRvci5TQU1QTEVfU0laRSwgdXNlVmFsdWU6IDEwfVxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoU2l6ZVZhbGlkYXRvci5TQU1QTEVfU0laRSkgcHJpdmF0ZSBfc2FtcGxlU2l6ZTogbnVtYmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGRlc2NyaWJlKCk6IHtba2V5OiBzdHJpbmddOiBhbnl9IHtcbiAgICByZXR1cm4geydzYW1wbGVTaXplJzogdGhpcy5fc2FtcGxlU2l6ZX07XG4gIH1cblxuICBvdmVycmlkZSB2YWxpZGF0ZShjb21wbGV0ZVNhbXBsZTogTWVhc3VyZVZhbHVlc1tdKTogTWVhc3VyZVZhbHVlc1tdfG51bGwge1xuICAgIGlmIChjb21wbGV0ZVNhbXBsZS5sZW5ndGggPj0gdGhpcy5fc2FtcGxlU2l6ZSkge1xuICAgICAgcmV0dXJuIGNvbXBsZXRlU2FtcGxlLnNsaWNlKGNvbXBsZXRlU2FtcGxlLmxlbmd0aCAtIHRoaXMuX3NhbXBsZVNpemUsIGNvbXBsZXRlU2FtcGxlLmxlbmd0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19