IFClite TypeScript API
    Preparing search index...

    Function comparePropertyValues

    • Compare a stored property value against a filter value. The single definition of whereProperty / findByProperty semantics: same-type only (no coercion, so '60' = 60 is false), null on either side never matches (including !=), == aliases =, and contains / startsWith are string-only. Every store-level property filter routes through here — the indexed table, the on-demand fallback in @ifc-lite/query, the cache-restored and server-converted tables — so the same query cannot answer differently on different stores.

      Deliberately NOT routed through here: ifc-lite query --where (packages/cli/src/commands/query.ts). Its values arrive from argv as strings, so it coerces (String(a) === String(b), Number(a) > Number(b)) and normalises IFC booleans (.T./'true'); it also adds an exists operator and is first-match rather than any-match. Same-type-only semantics would make every numeric CLI filter match nothing, so unifying it is a behaviour change for CLI users and out of scope here.

      Parameters

      Returns boolean