2025-08-24 00:09:37 +03:00

30 lines
959 B
Smarty

{{- define "tc.v1.common.lib.util.enabled" -}}
{{- $objectData := .objectData -}}
{{- $rootCtx := .rootCtx -}}
{{- $key := .key -}}
{{- $name := (.name | toString) -}}
{{- $caller := .caller -}}
{{- $enabled := false -}}
{{- if not (hasKey $objectData "enabled") -}}
{{- fail (printf "%s - Expected the key [enabled] in [%s.%s] to exist" $caller $key $name) -}}
{{- end -}}
{{- if (kindIs "invalid" $objectData.enabled) -}}
{{- fail (printf "%s - Expected the defined key [enabled] in [%s.%s] to not be empty" $caller $key $name) -}}
{{- end -}}
{{- $enabled = $objectData.enabled -}}
{{- if kindIs "string" $enabled -}}
{{- $enabled = tpl $enabled $rootCtx -}}
{{- if eq $enabled "true" -}}
{{- $enabled = true -}}
{{- else if eq $enabled "false" -}}
{{- $enabled = false -}}
{{- end -}}
{{- end -}}
{{/* NOTE: Always treat the returned result as string */}}
{{- $enabled -}}
{{- end -}}