aboutsummaryrefslogtreecommitdiff
path: root/src/extensions/ArrayExtensions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/extensions/ArrayExtensions.ts')
-rw-r--r--src/extensions/ArrayExtensions.ts37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/extensions/ArrayExtensions.ts b/src/extensions/ArrayExtensions.ts
deleted file mode 100644
index 8e125766d..000000000
--- a/src/extensions/ArrayExtensions.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-export default class ArrayExtension {
- private readonly property: string;
- private readonly body: <T>(this: Array<T>) => any;
-
- constructor(property: string, body: <T>(this: Array<T>) => any) {
- this.property = property;
- this.body = body;
- }
-
- assign() {
- Object.defineProperty(Array.prototype, this.property, {
- value: this.body,
- enumerable: false
- });
- }
-
-}
-
-/**
- * IMPORTANT: Any extension you add here *must* have a corresponding type definition
- * in the Array<T> interface in ./General/ExtensionsTypings.ts. Otherwise,
- * Typescript will not recognize your new function.
- */
-const extensions = [
- new ArrayExtension("lastElement", function () {
- if (!this.length) {
- return undefined;
- }
- return this[this.length - 1];
- })
-];
-
-function Assign() {
- extensions.forEach(extension => extension.assign());
-}
-
-export { Assign }; \ No newline at end of file