UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 15.8 kB
{"version":3,"sources":["lang.es6"],"names":[],"mappings":"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","file":"angular2/src/facade/lang.es6","sourcesContent":["var _global = typeof window === 'undefined' ? global : window;\nexport {_global as global};\n\nexport var Type = Function;\nexport var Math = _global.Math;\nexport var Date = _global.Date;\n\nvar assertionsEnabled_ = typeof assert !== 'undefined';\n\nvar int;\n// global assert support, as Dart has it...\n// TODO: `assert` calls need to be removed in production code!\nif (assertionsEnabled_) {\n _global.assert = assert;\n // `int` is not a valid JS type\n int = assert.define('int', function(value) {\n return typeof value === 'number' && value%1 === 0;\n });\n} else {\n int = {};\n _global.assert = function() {};\n}\nexport {int};\n\nexport class CONST {}\nexport class ABSTRACT {}\nexport class IMPLEMENTS {}\n\nexport function isPresent(obj):boolean {\n return obj !== undefined && obj !== null;\n}\n\nexport function isBlank(obj):boolean {\n return obj === undefined || obj === null;\n}\n\nexport function isString(obj):boolean {\n return typeof obj === \"string\";\n}\n\nexport function isFunction(obj):boolean {\n return typeof obj === \"function\";\n}\n\nexport function stringify(token):string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (token === undefined || token === null) {\n return '' + token;\n }\n\n if (token.name) {\n return token.name;\n }\n\n return token.toString();\n}\n\nexport class StringWrapper {\n static fromCharCode(code:int):string {\n return String.fromCharCode(code);\n }\n\n static charCodeAt(s:string, index:int) {\n return s.charCodeAt(index);\n }\n\n static split(s:string, regExp) {\n return s.split(regExp);\n }\n\n static equals(s:string, s2:string):boolean {\n return s === s2;\n }\n\n static replace(s:string, from: string, replace:string): string {\n return s.replace(from, replace);\n }\n\n static replaceAll(s:string, from:RegExp, replace:string):string {\n return s.replace(from, replace);\n }\n\n static startsWith(s:string, start:string) {\n return s.startsWith(start);\n }\n\n static substring(s:string, start:int, end:int = null) {\n return s.substring(start, end === null ? undefined: end);\n }\n\n static replaceAllMapped(s:string, from:RegExp, cb:Function): string {\n return s.replace(from, function(...matches) {\n // Remove offset & string from the result array\n matches.splice(-2, 2);\n // The callback receives match, p1, ..., pn\n return cb(matches);\n });\n }\n\n static contains(s:string, substr:string): boolean {\n return s.indexOf(substr) != -1;\n }\n}\n\nexport class StringJoiner {\n constructor() {\n this.parts = [];\n }\n\n add(part:string) {\n this.parts.push(part);\n }\n\n toString():string {\n return this.parts.join(\"\");\n }\n}\n\nexport class NumberParseError extends Error {\n constructor(message) {\n super();\n this.message = message;\n }\n\n toString() {\n return this.message;\n }\n}\n\n\nexport class NumberWrapper {\n static toFixed(n:number, fractionDigits:int):string {\n return n.toFixed(fractionDigits);\n }\n\n static equal(a, b):boolean {\n return a === b;\n }\n\n static parseIntAutoRadix(text:string):int {\n var result:int = parseInt(text);\n if (isNaN(result)) {\n throw new NumberParseError(\"Invalid integer literal when parsing \" + text);\n }\n return result;\n }\n\n static parseInt(text:string, radix:int):int {\n if (radix == 10) {\n if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else if (radix == 16) {\n if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else {\n var result:int = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new NumberParseError(\"Invalid integer literal when parsing \" + text + \" in base \" + radix);\n }\n\n // TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.\n static parseFloat(text:string):number {\n return parseFloat(text);\n }\n\n static get NaN():number {\n return NaN;\n }\n\n static isNaN(value):boolean {\n return isNaN(value);\n }\n\n static isInteger(value):boolean {\n return Number.isInteger(value);\n }\n}\n\nexport var RegExp = _global.RegExp;\n\nexport class RegExpWrapper {\n static create(regExpStr, flags:string = ''):RegExp {\n flags = flags.replace(/g/g, '');\n return new _global.RegExp(regExpStr, flags + 'g');\n }\n static firstMatch(regExp, input) {\n // Reset multimatch regex state\n regExp.lastIndex = 0;\n return regExp.exec(input);\n }\n static matcher(regExp, input) {\n // Reset regex state for the case\n // someone did not loop over all matches\n // last time.\n regExp.lastIndex = 0;\n return {\n re: regExp,\n input: input\n };\n }\n}\n\nexport class RegExpMatcherWrapper {\n static next(matcher) {\n return matcher.re.exec(matcher.input);\n }\n}\n\nexport class FunctionWrapper {\n static apply(fn:Function, posArgs) {\n return fn.apply(null, posArgs);\n }\n}\n\n// No subclass so that we preserve error stack.\nexport var BaseException = Error;\n\n// JS has NaN !== NaN\nexport function looseIdentical(a, b):boolean {\n return a === b ||\n typeof a === \"number\" && typeof b === \"number\" && isNaN(a) && isNaN(b);\n}\n\n// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)\n// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\nexport function getMapKey(value) {\n return value;\n}\n\nexport function normalizeBlank(obj) {\n return isBlank(obj) ? null : obj;\n}\n\nexport function isJsObject(o):boolean {\n return o !== null && (typeof o === \"function\" || typeof o === \"object\");\n}\n\nexport function assertionsEnabled():boolean {\n return assertionsEnabled_;\n}\n\nexport function print(obj) {\n if (obj instanceof Error) {\n console.log(obj.stack);\n } else {\n console.log(obj);\n }\n}\n\n// Can't be all uppercase as our transpiler would think it is a special directive...\nexport var Json = _global.JSON;\n\nexport class DateWrapper {\n static fromMillis(ms) {\n return new Date(ms);\n }\n static toMillis(date:Date) {\n return date.getTime();\n }\n static now() {\n return new Date();\n }\n static toJson(date) {\n return date.toJSON();\n }\n}\n"]}