constructor(
		source,
		conditionNames,
		fieldNamePath,
		targetFile,
		targetPackage,
	) {
		this.source = source;
		this.targetFile = targetFile;
		this.targetPackage = targetPackage;
		this.conditionNames = conditionNames;
		this.fieldName = fieldNamePath;
		/** @type {WeakMap<JsonObject, FieldProcessor>} */
		this.fieldProcessorCache = new WeakMap();
	}
@param {string | ResolveStepHook} source source
@param {Set<string>} conditionNames condition names
@param {string | string[]} fieldNamePath name path
@param {string | ResolveStepHook} targetFile target file
@param {string | ResolveStepHook} targetPackage target package