simplerestclients
Version:
A library of components for accessing RESTful services with javascript/typescript.
57 lines • 1.65 kB
JavaScript
;
/**
* utils.ts
* Copyright: Microsoft 2019
*/
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.assert = function (cond, message) {
if (!cond) {
throw new Error(message);
}
};
exports.isObject = function (value) { return (value !== null && typeof value === 'object'); };
exports.isString = function (value) { return (typeof value === 'string'); };
exports.attempt = function (func) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
try {
return func.apply(void 0, args);
}
catch (e) {
return new Error(e);
}
};
exports.remove = function (array, value) {
for (var i = array.length - 1; i >= 0; i--) {
if (array[i] === value) {
array.splice(i, 1);
}
}
};
exports.clone = function (value) {
if (Array.isArray(value)) {
return value.map(exports.clone);
}
if (exports.isObject(value)) {
return Object.keys(value)
.reduce(function (res, key) {
var _a;
return (__assign(__assign({}, res), (_a = {}, _a[key] = exports.clone(value[key]), _a)));
}, {});
}
return value;
};
//# sourceMappingURL=utils.js.map