aboutsummaryrefslogtreecommitdiff
path: root/src/client/northstar/utils/Extensions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/northstar/utils/Extensions.ts')
-rw-r--r--src/client/northstar/utils/Extensions.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/client/northstar/utils/Extensions.ts b/src/client/northstar/utils/Extensions.ts
index ab9384f1f..720f4a062 100644
--- a/src/client/northstar/utils/Extensions.ts
+++ b/src/client/northstar/utils/Extensions.ts
@@ -5,6 +5,8 @@ interface String {
hasNewline(): boolean;
}
+const extensions = require(".././/.//../util/UtilExtensions");
+
String.prototype.ReplaceAll = function (toReplace: string, replacement: string): string {
var target = this;
return target.split(toReplace).join(replacement);
@@ -18,6 +20,31 @@ String.prototype.Truncate = function (length: number, replacement: string): Stri
return target;
};
+interface Action<T> {
+ handler: (batch: T[]) => any;
+ interval?: number;
+}
+
+interface BatchParameters<T> {
+ size: number;
+ action?: Action<T>;
+}
+
+interface Array<T> {
+ batch(parameters: BatchParameters<T>): Promise<T[][]>;
+ lastElement(): T;
+}
+
+Array.prototype.batch = extensions.Batch;
+
+Array.prototype.lastElement = function <T>() {
+ if (!this.length) {
+ return undefined;
+ }
+ const last: T = this[this.length - 1];
+ return last;
+};
+
interface Math {
log10(val: number): number;
}