json-string-mapper
Version:
transform json string to key value pair map
91 lines (89 loc) • 2.58 kB
JavaScript
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
export function getTypeNameForDebugging(type) {
return type['name'] || typeof type;
}
export function isPresent(obj) {
return obj != null;
}
export function isBlank(obj) {
return obj == null;
}
var STRING_MAP_PROTO = Object.getPrototypeOf({});
export function isStrictStringMap(obj) {
return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
}
export function stringify(token) {
if (typeof token === 'string') {
return token;
}
if (token == null) {
return '' + token;
}
if (token.overriddenName) {
return "" + token.overriddenName;
}
if (token.name) {
return "" + token.name;
}
var res = token.toString();
var newLineIndex = res.indexOf('\n');
return newLineIndex === -1 ? res : res.substring(0, newLineIndex);
}
var NumberWrapper = (function () {
function NumberWrapper() {
}
NumberWrapper.parseIntAutoRadix = function (text) {
var result = parseInt(text);
if (isNaN(result)) {
throw new Error('Invalid integer literal when parsing ' + text);
}
return result;
};
NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
return NumberWrapper;
}());
export { NumberWrapper };
// JS has NaN !== NaN
export function looseIdentical(a, b) {
return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
}
export function isJsObject(o) {
return o !== null && (typeof o === 'function' || typeof o === 'object');
}
export function print(obj) {
// tslint:disable-next-line:no-console
console.log(obj);
}
export function warn(obj) {
console.warn(obj);
}
export function setValueOnPath(global, path, value) {
var parts = path.split('.');
var obj = global;
while (parts.length > 1) {
var name_1 = parts.shift();
if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {
obj = obj[name_1];
}
else {
obj = obj[name_1] = {};
}
}
if (obj === undefined || obj === null) {
obj = {};
}
obj[parts.shift()] = value;
}
export function isPrimitive(obj) {
return !isJsObject(obj);
}
export function escapeRegExp(s) {
return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
}
//# sourceMappingURL=lang.js.map