The `contains?` function doesn't support `-contains-key?` method from `IAssociative` protocol

Description

Because `contains?` doesn't check if the argument implements `-contains-key?` it's impossible to extend the behavior to custom data types. This is in contrast with the Clojure version that checks for `(Associative)coll).containsKey(key)` and `(IPersistentSet)coll).contains(key)`.

The patch included here makes the Clojurescript `contains?` check for the `IAssociative` protocol and use it when available.

Environment

None

Assignee

Unassigned

Reporter

Wilker Lucio

Labels

None

Approval

None

Patch

Code and Test

Priority

Major
Configure