helper.js 2.1 KB

12345678910111213141516171819202122232425262728
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. // getDeepFromObject({result: {data: 1}}, 'result.data', 2); // returns 1
  6. /**
  7. * @param {?=} object
  8. * @param {?=} name
  9. * @param {?=} defaultValue
  10. * @return {?}
  11. */
  12. export function getDeepFromObject(object = {}, name, defaultValue) {
  13. /** @type {?} */
  14. const keys = name.split('.');
  15. // clone the object
  16. /** @type {?} */
  17. let currentValue = object;
  18. for (let key of keys) {
  19. if (currentValue) {
  20. currentValue = currentValue[key];
  21. }
  22. else {
  23. break;
  24. }
  25. }
  26. return typeof currentValue === 'undefined' ? defaultValue : currentValue;
  27. }
  28. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZ2UtYWRtaW4tYXV0aC8iLCJzb3VyY2VzIjpbImxpYi9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFZLEVBQUUsWUFBa0I7O1VBQ3ZFLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzs7O1FBRXhCLFlBQVksR0FBRyxNQUFNO0lBQ3pCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3BCLElBQUksWUFBWSxFQUFFO1lBQ2hCLFlBQVksR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLE1BQU07U0FDUDtLQUNGO0lBRUQsT0FBTyxPQUFPLFlBQVksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy8gZ2V0RGVlcEZyb21PYmplY3Qoe3Jlc3VsdDoge2RhdGE6IDF9fSwgJ3Jlc3VsdC5kYXRhJywgMik7IC8vIHJldHVybnMgMVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVlcEZyb21PYmplY3Qob2JqZWN0ID0ge30sIG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogYW55KSB7XHJcbiAgY29uc3Qga2V5cyA9IG5hbWUuc3BsaXQoJy4nKTtcclxuICAvLyBjbG9uZSB0aGUgb2JqZWN0XHJcbiAgbGV0IGN1cnJlbnRWYWx1ZSA9IG9iamVjdDtcclxuICBmb3IgKGxldCBrZXkgb2Yga2V5cykge1xyXG4gICAgaWYgKGN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICBjdXJyZW50VmFsdWUgPSBjdXJyZW50VmFsdWVba2V5XTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICd1bmRlZmluZWQnID8gZGVmYXVsdFZhbHVlIDogY3VycmVudFZhbHVlO1xyXG59XHJcbiJdfQ==