UNPKG

tsreflect-ioc

Version:

Inversion of control and Dependency injection framework for typescript based on the tsreflect-compiler package.

32 lines (26 loc) 1.31 kB
/// <reference path="_references.ts" /> var extend = require('extend'); interface String { contains(searchFor: string, caseSensitive?: boolean): boolean; endsWith(suffix: string, caseSensitive?: boolean): boolean; startsWith(prefix: string, caseSensitive?: boolean): boolean; } class StringExtensions { contains(searchFor: string, caseSensitive ?: boolean): boolean { caseSensitive = caseSensitive || true; return caseSensitive ? this.toString().indexOf(searchFor) != -1 : this.toString().toLowerCase().indexOf(searchFor.toLowerCase()) != -1; } endsWith(suffix: string, caseSensitive ?: boolean): boolean { caseSensitive = caseSensitive || true; return caseSensitive ? (this.toString().length - this.toString().lastIndexOf(suffix)) == suffix.length : (this.toString().length - this.toString().toLowerCase().lastIndexOf(suffix)) == suffix.toLowerCase().length } startsWith(prefix: string, caseSensitive?: boolean): boolean { caseSensitive = caseSensitive || true; return caseSensitive ? this.toString().indexOf(prefix) == 0 : this.toString().toLowerCase().indexOf(prefix) == 0 } } extend(false, String.prototype, StringExtensions.prototype);