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
text/typescript
/// <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);