/**
 * conflictHashableEffectValue — normalizes op property values for
 * conflict-effect hashing.
 *
 * @module domain/services/strand/conflictHashableEffectValue
 */
function normalizeHashablePrimitiveEffectValue(value) {
    if (typeof value === 'boolean') {
        return value;
    }
    if (typeof value === 'number') {
        return value;
    }
    if (typeof value === 'string') {
        return value;
    }
    return null;
}
function normalizeHashableObjectEffectValue(value) {
    if (value === null) {
        return null;
    }
    return typeof value === 'object' ? value : null;
}
export function normalizeHashableEffectValue(value) {
    return normalizeHashablePrimitiveEffectValue(value)
        ?? normalizeHashableObjectEffectValue(value)
        ?? null;
}
