All files / src types.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47                                                                                      31x 31x 31x  
/*
 * Copyright 2019 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
export type Predicate<T> = (value: T) => boolean;
export type ReadonlyPartial<T> = { readonly [P in keyof T]?: T[P] };
export type Sorter<T> = (a: T, b: T) => number;
export interface PaginationData {
  itemsPerPage: number;
  pageNumber: number;
}
 
export interface ObjectNumberMap<T> {
  [index: number]: T;
}
 
type Basic = number|string|boolean|null|undefined;
 
export interface BasicObject {
  [property: string]: Basic|Basic[]|BasicObject|BasicObject[];
}
 
export interface ServerSideExceptionInfo {
  i18nKey: string;
  exceptionMessage: string;
  messageParameters: string[];
  exceptionClass: string;
  stackTrace: string[];
  exceptionCause: ServerSideExceptionInfo|null;
}
 
export function mapObjectNumberMap<F,T>(map: ObjectNumberMap<F>, mapper: (value: F) => T): ObjectNumberMap<T> {
  const out:  ObjectNumberMap<T> = {}
  Object.keys(map).forEach(key => out[parseInt(key)] = mapper(map[parseInt(key)]));
  return out;
}