assoc!

functionsince v0.0-1211 clojure.core/assoc!Edit
(assoc! tcoll key val)
(assoc! tcoll key val & kvs)

Details:

assoc(iate) on transient collection

When applied to a transient map, adds mapping of key(s) to val(s).

When applied to a transient vector, sets the val at index. Note - index must be <= (count vector).

Returns coll.


Examples:

(def tcoll
  (-> (transient {})
      (assoc! :a 1)
      (assoc! :b 2)))

tcoll
;;=> #object [cljs.core.TransientArrayMap]

(:a tcoll)
;;=> 1

(:b tcoll)
;;=> 2

(persistent! tcoll)
;;=> {:a 1 :b 2}

See Also:


Source docstring:
When applied to a transient map, adds mapping of key(s) to
val(s). When applied to a transient vector, sets the val at index.
Note - index must be <= (count vector). Returns coll.
Source code @ clojurescript:src/main/cljs/cljs/core.cljs
(defn assoc!
  ([tcoll key val]
    (-assoc! tcoll key val))
  ([tcoll key val & kvs]
    (let [ntcoll (-assoc! tcoll key val)]
      (if kvs
        (recur ntcoll (first kvs) (second kvs) (nnext kvs))
        ntcoll))))