Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. transform(key: any): any {
  2.     const splitedKeyArray = key.split('.');
  3.     let nextArrayKey = null;
  4.     let dataObject = this.i18nService.data;
  5.     let arrayKeyAfterNext;
  6.  
  7.     for (let i = 0; i < splitedKeyArray.length; i++) {
  8.       nextArrayKey = splitedKeyArray[i];
  9.  
  10.       if (dataObject == null) {
  11.         return key;
  12.       } else {
  13.  
  14.         if (dataObject instanceof Array) {
  15.           if (i === splitedKeyArray.length) {
  16.             dataObject = dataObject.find((eachObject) => eachObject[nextArrayKey] != null);
  17.           } else {
  18.             arrayKeyAfterNext = splitedKeyArray[i + 1];
  19.             dataObject = dataObject.find((eachObject) => eachObject[nextArrayKey] == arrayKeyAfterNext)[nextArrayKey];
  20.           }
  21.  
  22.         } else if (dataObject instanceof String || typeof(dataObject) == 'string') {
  23.           break;
  24.         } else {
  25.           dataObject = dataObject[nextArrayKey];
  26.         }
  27.       }
  28.     }
  29.     return dataObject == null ? key : dataObject;
  30.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement