helper.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import * as tslib_1 from "tslib";
  6. // getDeepFromObject({result: {data: 1}}, 'result.data', 2); // returns 1
  7. /**
  8. * @param {?=} object
  9. * @param {?=} name
  10. * @param {?=} defaultValue
  11. * @return {?}
  12. */
  13. export function getDeepFromObject(object, name, defaultValue) {
  14. var e_1, _a;
  15. if (object === void 0) { object = {}; }
  16. /** @type {?} */
  17. var keys = name.split('.');
  18. // clone the object
  19. /** @type {?} */
  20. var currentValue = object;
  21. try {
  22. for (var keys_1 = tslib_1.__values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
  23. var key = keys_1_1.value;
  24. if (currentValue) {
  25. currentValue = currentValue[key];
  26. }
  27. else {
  28. break;
  29. }
  30. }
  31. }
  32. catch (e_1_1) { e_1 = { error: e_1_1 }; }
  33. finally {
  34. try {
  35. if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
  36. }
  37. finally { if (e_1) throw e_1.error; }
  38. }
  39. return typeof currentValue === 'undefined' ? defaultValue : currentValue;
  40. }
  41. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZ2UtYWRtaW4tYXV0aC8iLCJzb3VyY2VzIjpbImxpYi9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQVcsRUFBRSxJQUFZLEVBQUUsWUFBa0I7O0lBQTdDLHVCQUFBLEVBQUEsV0FBVzs7UUFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDOzs7UUFFeEIsWUFBWSxHQUFHLE1BQU07O1FBQ3pCLEtBQWdCLElBQUEsU0FBQSxpQkFBQSxJQUFJLENBQUEsMEJBQUEsNENBQUU7WUFBakIsSUFBSSxHQUFHLGlCQUFBO1lBQ1YsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLFlBQVksR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsTUFBTTthQUNQO1NBQ0Y7Ozs7Ozs7OztJQUVELE9BQU8sT0FBTyxZQUFZLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUMzRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8vIGdldERlZXBGcm9tT2JqZWN0KHtyZXN1bHQ6IHtkYXRhOiAxfX0sICdyZXN1bHQuZGF0YScsIDIpOyAvLyByZXR1cm5zIDFcclxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZXBGcm9tT2JqZWN0KG9iamVjdCA9IHt9LCBuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkge1xyXG4gIGNvbnN0IGtleXMgPSBuYW1lLnNwbGl0KCcuJyk7XHJcbiAgLy8gY2xvbmUgdGhlIG9iamVjdFxyXG4gIGxldCBjdXJyZW50VmFsdWUgPSBvYmplY3Q7XHJcbiAgZm9yIChsZXQga2V5IG9mIGtleXMpIHtcclxuICAgIGlmIChjdXJyZW50VmFsdWUpIHtcclxuICAgICAgY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlW2tleV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB0eXBlb2YgY3VycmVudFZhbHVlID09PSAndW5kZWZpbmVkJyA/IGRlZmF1bHRWYWx1ZSA6IGN1cnJlbnRWYWx1ZTtcclxufVxyXG4iXX0=