Skip to content

Function: toUntaggedValue()

@kortexya/reasoninglayer


@kortexya/reasoninglayer / toUntaggedValue

toUntaggedValue(value): FeatureInputValueDto

Defined in: src/utils/convert.ts:298

Convert a single plain JavaScript value to untagged FeatureInputValueDto format.

PlainFeatureValue

Plain JavaScript value.

FeatureInputValueDto

Untagged FeatureInputValueDto.

Used by inference endpoints (backward chaining, rules, facts). Detects ?-prefixed variables and !-prefixed references.

Conversion rules:

  • string matching ?[A-Z]... → { name: "?X" } (variable)
  • string matching !... → { termId: "uuid" } (term reference, strips !)
  • string (other) → raw string
  • number → raw number
  • boolean → raw boolean
  • null → null (uninstantiated)
  • PsiTermInput → { sortName: "...", features: {recursed} } (inline term)
  • ConstrainedPlainVar → { name: "?X", constraint: ... }
  • PlainFeatureValue[] → [recursed]
  • Already-formatted FeatureInputValueDto or ValueDto → passthrough
toUntaggedValue("Alice") // "Alice"
toUntaggedValue("?X") // { name: "?X" }
toUntaggedValue("!uuid-1") // { termId: "uuid-1" }
toUntaggedValue(null) // null (runtime, not TS null)