CrossClj

1.10.0-alpha4 docs

SourceDocs



RECENT
    VARS
    as-set-value
    atom-diff
    Diff
    diff
    diff-associative
    diff-associative-key
    diff-sequential
    EqualityPartition
    vectorize

    « Index of all namespaces of this project

    Non-core data functions.
    

    — Stuart Halloway

    Private
    (as-set-value s)
    Private
    (atom-diff a b)
    Internal helper for diff.
    
    protocol
    Implementation detail. Subject to change.
    
    (diff-similar a b)
    Implementation detail. Subject to change.
    
    (diff a b)
    Recursively compares a and b, returning a tuple of
    [things-only-in-a things-only-in-b things-in-both].
    Comparison rules:
    
    * For equal a and b, return [nil nil a].
    * Maps are subdiffed where keys match and values differ.
    * Sets are never subdiffed.
    * All sequential things are treated as associative collections
      by their indexes, with results returned as vectors.
    * Everything else (including strings!) is treated as
      an atom and compared for equality.
    Private
    (diff-associative a b ks)
    Diff associative things a and b, comparing only keys in ks.
    
    Private
    (diff-associative-key a b k)
    Diff associative things a and b, comparing only the key k.
    
    Private
    (diff-sequential a b)
    protocol
    Implementation detail. Subject to change.
    
    (equality-partition x)
    Implementation detail. Subject to change.
    
    Private
    (vectorize m)
    Convert an associative-by-numeric-index collection into
    an equivalent vector, with nil for any missing keys