diff options
| author | Stanley Yip <stanley_yip@brown.edu> | 2019-10-02 21:59:58 -0400 |
|---|---|---|
| committer | Stanley Yip <stanley_yip@brown.edu> | 2019-10-02 21:59:58 -0400 |
| commit | 16dd968fed4a94cc0e8e870aa0c0e676d533aad1 (patch) | |
| tree | e9d701d62411fddfa667beede71fbbc7e48f1eea /src/extensions | |
| parent | 2d3deb7291b7d98acf71566a67c4d648a90ef5af (diff) | |
| parent | 9427474b473d70974784a1517a1be902fb8d18ee (diff) | |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web into interaction
Diffstat (limited to 'src/extensions')
| -rw-r--r-- | src/extensions/ArrayExtensions.ts | 13 | ||||
| -rw-r--r-- | src/extensions/General/Extensions.ts | 9 | ||||
| -rw-r--r-- | src/extensions/General/ExtensionsTypings.ts | 8 | ||||
| -rw-r--r-- | src/extensions/StringExtensions.ts | 17 |
4 files changed, 47 insertions, 0 deletions
diff --git a/src/extensions/ArrayExtensions.ts b/src/extensions/ArrayExtensions.ts new file mode 100644 index 000000000..422a10dbc --- /dev/null +++ b/src/extensions/ArrayExtensions.ts @@ -0,0 +1,13 @@ +function Assign() { + + Array.prototype.lastElement = function <T>() { + if (!this.length) { + return undefined; + } + const last: T = this[this.length - 1]; + return last; + }; + +} + +export { Assign };
\ No newline at end of file diff --git a/src/extensions/General/Extensions.ts b/src/extensions/General/Extensions.ts new file mode 100644 index 000000000..4b6d05d5f --- /dev/null +++ b/src/extensions/General/Extensions.ts @@ -0,0 +1,9 @@ +import { Assign as ArrayAssign } from "../ArrayExtensions"; +import { Assign as StringAssign } from "../StringExtensions"; + +function AssignAllExtensions() { + ArrayAssign(); + StringAssign(); +} + +export { AssignAllExtensions };
\ No newline at end of file diff --git a/src/extensions/General/ExtensionsTypings.ts b/src/extensions/General/ExtensionsTypings.ts new file mode 100644 index 000000000..370157ed0 --- /dev/null +++ b/src/extensions/General/ExtensionsTypings.ts @@ -0,0 +1,8 @@ +interface Array<T> { + lastElement(): T; +} + +interface String { + removeTrailingNewlines(): string; + hasNewline(): boolean; +}
\ No newline at end of file diff --git a/src/extensions/StringExtensions.ts b/src/extensions/StringExtensions.ts new file mode 100644 index 000000000..2c76e56c8 --- /dev/null +++ b/src/extensions/StringExtensions.ts @@ -0,0 +1,17 @@ +function Assign() { + + String.prototype.removeTrailingNewlines = function () { + let sliced = this; + while (sliced.endsWith("\n")) { + sliced = sliced.substring(0, this.length - 1); + } + return sliced as string; + }; + + String.prototype.hasNewline = function () { + return this.endsWith("\n"); + }; + +} + +export { Assign };
\ No newline at end of file |
