• Rejects NaN / Infinity and circular references in tags.

    TagsPrimitive is number, so { score: Number('oops') } type-checks. JSON has no literal for those values. Each platform rewrites them differently (null on web, 0 on iOS via NSNumber.intValue, usually null on Android) and identification still succeeds. Throw instead of storing the wrong tag.

    A circular reference makes this walk recurse forever. Reject it with a clean error instead of letting it blow the call stack.

    Date, Map, and class instances are already a type error on TagsValue. This walk does not reject them. The RN bridge and JS agent do not agree on those values (a Date is an ISO string on web and {} on native), but we choose to ignore that.

    Size is a server payload_too_large. https://docs.fingerprint.com/docs/tagging-information

    Parameters

    • Optional tags: unknown

    Returns void