X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FCircularArray.ts;h=fb73ced97d3ccca0610158d049b2acc828693a67;hb=178956d8c51c6a2b4ecc55b592dfb9ee339b8105;hp=ad25bf858b4197bc5c0789b478f89bba84b3ab6a;hpb=9a15316cb7ede50d57ab25f758f0ccf1aa1bd903;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/CircularArray.ts b/src/utils/CircularArray.ts index ad25bf85..fb73ced9 100644 --- a/src/utils/CircularArray.ts +++ b/src/utils/CircularArray.ts @@ -3,7 +3,7 @@ const DEFAULT_CIRCULAR_ARRAY_SIZE = 1024; /** - * Array with a maximum length shifting items when full. + * Array with a maximum length and shifting items when full. */ export class CircularArray extends Array { public size: number; @@ -79,9 +79,12 @@ export class CircularArray extends Array { return this.length === this.size; } - private checkSize(size: number) { + private checkSize(size: number): void { + if (!Number.isSafeInteger(size)) { + throw new TypeError(`Invalid circular array size: ${size} is not a safe integer`); + } if (size < 0) { - throw new RangeError('Invalid circular array size'); + throw new RangeError(`Invalid circular array size: ${size} < 0`); } } }