def evaluate()

in cfn_policy_validator/parsers/utils/intrinsic_functions/aws_no_value_evaluator.py [0:0]


	def evaluate(self, value):
		if isinstance(value, dict):
			for key in list(value.keys()):
				child_value = value[key]
				if isinstance(child_value, NoValue):
					del value[key]
				else:
					self.evaluate(child_value)

		elif isinstance(value, list):
			for item in value:
				self.evaluate(item)

			# mutate the list to remove any item that is NoValue
			# must be done outside of the above for loop
			value[:] = [item for item in value if not isinstance(item, NoValue)]

		return value