UNPKG

27.1 kBSource Map (JSON)View Raw
1{"version":3,"sources":["TransformOperationExecutor.ts"],"names":[],"mappings":"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","file":"TransformOperationExecutor.js","sourcesContent":["import {ClassTransformOptions} from \"./ClassTransformOptions\";\nimport {defaultMetadataStorage} from \"./index\";\nimport {TypeOptions} from \"./metadata/ExposeExcludeOptions\";\nimport {ExposeMetadata} from \"./metadata/ExposeMetadata\";\n\nexport type TransformationType = \"plainToClass\"|\"classToPlain\"|\"classToClass\";\n\nexport class TransformOperationExecutor {\n\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n\n private transformedTypes: { level: number, object: Object }[] = [];\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(private transformationType: TransformationType,\n private options: ClassTransformOptions) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n transform(source: Object|Object[]|any,\n value: Object|Object[]|any,\n targetType: Function,\n arrayType: Function,\n isMap: boolean,\n level: number = 0) {\n\n if (value instanceof Array || value instanceof Set) {\n const newValue = arrayType && this.transformationType === \"plainToClass\" ? new (arrayType as any)() : [];\n (value as any[]).forEach((subValue, index) => {\n const subSource = source ? source[index] : undefined;\n if (!this.isCircular(subValue, level)) {\n const value = this.transform(subSource, subValue, targetType, undefined, subValue instanceof Map, level + 1);\n if (newValue instanceof Set) {\n newValue.add(value);\n } else {\n newValue.push(value);\n }\n } else if (this.transformationType === \"classToClass\") {\n if (newValue instanceof Set) {\n newValue.add(subValue);\n } else {\n newValue.push(subValue);\n }\n }\n });\n return newValue;\n\n } else if (targetType === String && !isMap) {\n return String(value);\n\n } else if (targetType === Number && !isMap) {\n return Number(value);\n\n } else if (targetType === Boolean && !isMap) {\n return Boolean(value);\n\n } else if ((targetType === Date || value instanceof Date) && !isMap) {\n if (value instanceof Date) {\n return new Date(value.valueOf());\n }\n return new Date(value);\n\n } else if (value instanceof Object) {\n\n // try to guess the type\n if (!targetType && value.constructor !== Object/* && operationType === \"classToPlain\"*/) targetType = value.constructor;\n if (!targetType && source) targetType = source.constructor;\n\n // add transformed type to prevent circular references\n this.transformedTypes.push({ level: level, object: value });\n\n const keys = this.getKeys(targetType, value);\n let newValue: any = source ? source : {};\n if (!source && (this.transformationType === \"plainToClass\" || this.transformationType === \"classToClass\")) {\n if (isMap) {\n newValue = new Map();\n } else if (targetType) {\n newValue = new (targetType as any)();\n } else {\n newValue = {};\n }\n }\n\n // traverse over keys\n for (let key of keys) {\n\n let valueKey = key, newValueKey = key, propertyName = key;\n if (!this.options.ignoreDecorators && targetType) {\n if (this.transformationType === \"plainToClass\") {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadataByCustomName(targetType, key);\n if (exposeMetadata) {\n propertyName = exposeMetadata.propertyName;\n newValueKey = exposeMetadata.propertyName;\n }\n\n } else if (this.transformationType === \"classToPlain\" || this.transformationType === \"classToClass\") {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(targetType, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name)\n newValueKey = exposeMetadata.options.name;\n }\n }\n\n // get a subvalue\n let subValue: any = undefined;\n if (value instanceof Map) {\n subValue = value.get(valueKey);\n } else if (value[valueKey] instanceof Function) {\n subValue = value[valueKey]();\n } else {\n subValue = value[valueKey];\n }\n\n // determine a type\n let type: any = undefined, isSubValueMap = subValue instanceof Map;\n if (targetType && isMap) {\n type = targetType;\n\n } else if (targetType) {\n const metadata = defaultMetadataStorage.findTypeMetadata(targetType, propertyName);\n if (metadata) {\n const options: TypeOptions = { newObject: newValue, object: value, property: propertyName };\n type = metadata.typeFunction(options);\n isSubValueMap = isSubValueMap || metadata.reflectedType === Map;\n } else if (this.options.targetMaps) { // try to find a type in target maps\n this.options.targetMaps\n .filter(map => map.target === targetType && !!map.properties[propertyName])\n .forEach(map => type = map.properties[propertyName]);\n }\n }\n\n // if value is an array try to get its custom array type\n const arrayType = value[valueKey] instanceof Array ? this.getReflectedType(targetType, propertyName) : undefined;\n // const subValueKey = operationType === \"plainToClass\" && newKeyName ? newKeyName : key;\n const subSource = source ? source[valueKey] : undefined;\n\n // if its deserialization then type if required\n // if we uncomment this types like string[] will not work\n // if (this.transformationType === \"plainToClass\" && !type && subValue instanceof Object && !(subValue instanceof Date))\n // throw new Error(`Cannot determine type for ${(targetType as any).name }.${propertyName}, did you forget to specify a @Type?`);\n\n // if newValue is a source object that has method that match newKeyName then skip it\n let hasDescriptor = false;\n if (newValue.constructor.prototype) {\n const descriptor = Object.getOwnPropertyDescriptor(newValue.constructor.prototype, newValueKey);\n hasDescriptor = !!descriptor;\n if ((this.transformationType === \"plainToClass\" || this.transformationType === \"classToClass\") && (newValue[newValueKey] instanceof Function || descriptor)) // || operationType === \"classToClass\"\n continue;\n }\n\n if (!this.isCircular(subValue, level)) {\n let finalValue = this.transform(subSource, subValue, type, arrayType, isSubValueMap, level + 1);\n finalValue = this.applyCustomTransformations(finalValue, targetType, key);\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n } else {\n newValue[newValueKey] = finalValue;\n }\n } else if (this.transformationType === \"classToClass\") {\n let finalValue = subValue;\n finalValue = this.applyCustomTransformations(finalValue, targetType, key);\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n } else {\n newValue[newValueKey] = finalValue;\n }\n }\n\n }\n return newValue;\n\n } else {\n return value;\n }\n }\n\n private applyCustomTransformations(value: any, target: Function, key: string) {\n let metadatas = defaultMetadataStorage.findTransformMetadatas(target, key, this.transformationType);\n\n // apply versioning options\n if (this.options.version !== undefined) {\n metadatas = metadatas.filter(metadata => {\n if (!metadata.options)\n return true;\n\n return this.checkVersion(metadata.options.since, metadata.options.until);\n });\n }\n\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n metadatas = metadatas.filter(metadata => {\n if (!metadata.options)\n return true;\n\n return this.checkGroups(metadata.options.groups);\n });\n } else {\n metadatas = metadatas.filter(metadata => {\n return !metadata.options ||\n !metadata.options.groups ||\n !metadata.options.groups.length;\n });\n }\n\n metadatas.forEach(metadata => {\n value = metadata.transformFn(value);\n });\n\n return value;\n }\n\n // preventing circular references\n private isCircular(object: Object, level: number) {\n return !!this.transformedTypes.find(transformed => transformed.object === object && transformed.level < level);\n }\n\n private getReflectedType(target: Function, propertyName: string) {\n if (!target) return undefined;\n const meta = defaultMetadataStorage.findTypeMetadata(target, propertyName);\n return meta ? meta.reflectedType : undefined;\n }\n\n private getKeys(target: Function, object: Object): string[] {\n\n // determine exclusion strategy\n let strategy = defaultMetadataStorage.getStrategy(target);\n if (strategy === \"none\")\n strategy = this.options.strategy || \"exposeAll\"; // exposeAll is default strategy\n\n // get all keys that need to expose\n let keys: any[] = [];\n if (strategy === \"exposeAll\") {\n if (object instanceof Map) {\n keys = Array.from(object.keys());\n } else {\n keys = Object.keys(object);\n }\n }\n\n if (!this.options.ignoreDecorators && target) {\n\n // add all exposed to list of keys\n let exposedProperties = defaultMetadataStorage.getExposedProperties(target, this.transformationType);\n if (this.transformationType === \"plainToClass\") {\n exposedProperties = exposedProperties.map(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name) {\n return exposeMetadata.options.name;\n }\n\n return key;\n });\n }\n keys = keys.concat(exposedProperties);\n\n // exclude excluded properties\n const excludedProperties = defaultMetadataStorage.getExcludedProperties(target, this.transformationType);\n if (excludedProperties.length > 0) {\n keys = keys.filter(key => {\n return excludedProperties.indexOf(key) === -1;\n });\n }\n\n // apply versioning options\n if (this.options.version !== undefined) {\n keys = keys.filter(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options)\n return true;\n\n return this.checkVersion(exposeMetadata.options.since, exposeMetadata.options.until);\n });\n }\n\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n keys = keys.filter(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options)\n return true;\n\n return this.checkGroups(exposeMetadata.options.groups);\n });\n } else {\n keys = keys.filter(key => {\n const exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n return !exposeMetadata ||\n !exposeMetadata.options ||\n !exposeMetadata.options.groups ||\n !exposeMetadata.options.groups.length;\n });\n }\n }\n\n // exclude prefixed properties\n if (this.options.excludePrefixes && this.options.excludePrefixes.length) {\n keys = keys.filter(key => this.options.excludePrefixes.every(prefix => {\n return key.substr(0, prefix.length) !== prefix;\n }));\n }\n\n // make sure we have unique keys\n keys = keys.filter((key, index, self) => {\n return self.indexOf(key) === index;\n });\n\n return keys;\n }\n\n private checkVersion(since: number, until: number) {\n let decision = true;\n if (decision && since)\n decision = this.options.version >= since;\n if (decision && until)\n decision = this.options.version < until;\n\n return decision;\n }\n\n private checkGroups(groups: string[]) {\n if (!groups)\n return true;\n\n return this.options.groups.some(optionGroup => groups.indexOf(optionGroup) !== -1);\n }\n\n}"],"sourceRoot":""}
\No newline at end of file