fix: fix various typos

This commit is contained in:
Wieland Schöbl
2021-05-21 15:35:26 +02:00
parent 1d94dd5bf3
commit ad0dae46ff
16 changed files with 49 additions and 49 deletions

View File

@@ -19,30 +19,30 @@ import {Injectable} from '@angular/core';
export abstract class ThingTranslateParser {
/**
* Gets a value from an object given a keypath
* paser.getValueFromKeyPath(anObject, 'property.subarray[42].etc');
* Gets a value from an object given a keyPath
* parser.getValueFromKeyPath(anObject, 'property.subarray[42].etc');
*/
abstract getValueFromKeyPath(instance: object, keypath: string): unknown;
abstract getValueFromKeyPath(instance: object, keyPath: string): unknown;
}
@Injectable()
export class ThingTranslateDefaultParser extends ThingTranslateParser {
getValueFromKeyPath(instance: object, keypath: string): unknown {
// keypath = aproperty[0].anotherproperty["arrayproperty"][42].finalproperty
let path = keypath.replace(/(?:\"|\')'"/gmi, '.');
getValueFromKeyPath(instance: object, keyPath: string): unknown {
// keyPath = aproperty[0].anotherproperty["arrayproperty"][42].finalproperty
let path = keyPath.replace(/(?:\"|\')'"/gmi, '.');
// path = aproperty[0].anotherproperty[.arrayproperty.][42].finalproperty
path = path.replace(/(?:\[|\])/gmi, '.');
// path = aproperty.0..anotherproperty..arrayproperty...42..finalproperty
path = path.replace(/\.{2,}/gmi, '.');
// path = aproperty.0.anotherproperty.arrayproperty.42.finalproperty
const keypathChain = keypath.split('.');
const keyPathChain = keyPath.split('.');
// tslint:disable-next-line: no-any
let property = instance as any;
for(const key of keypathChain) {
for(const key of keyPathChain) {
property = property[key] ?? undefined;
}