Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- transform(key: any): any {
- const splitedKeyArray = key.split('.');
- let nextArrayKey = null;
- let dataObject = this.i18nService.data;
- let arrayKeyAfterNext;
- for (let i = 0; i < splitedKeyArray.length; i++) {
- nextArrayKey = splitedKeyArray[i];
- if (dataObject == null) {
- return key;
- } else {
- if (dataObject instanceof Array) {
- if (i === splitedKeyArray.length) {
- dataObject = dataObject.find((eachObject) => eachObject[nextArrayKey] != null);
- } else {
- arrayKeyAfterNext = splitedKeyArray[i + 1];
- dataObject = dataObject.find((eachObject) => eachObject[nextArrayKey] == arrayKeyAfterNext)[nextArrayKey];
- }
- } else if (dataObject instanceof String || typeof(dataObject) == 'string') {
- break;
- } else {
- dataObject = dataObject[nextArrayKey];
- }
- }
- }
- return dataObject == null ? key : dataObject;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement