Skip to content

Commit 7ef5a69

Browse files
kasbahtonsky
authored andcommitted
Make [...entity] work in JS
1 parent 71a4502 commit 7ef5a69

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/datascript/impl/entity.cljc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,11 @@
156156

157157
(defn entity? [x] (instance? Entity x))
158158

159+
#?(:cljs
160+
(unchecked-set (.-prototype Entity) cljs.core/ITER_SYMBOL
161+
(fn []
162+
(this-as this# (.entries this#)))))
163+
159164
#?(:clj
160165
(defmethod print-method Entity [e, ^java.io.Writer w]
161166
(.write w (str e))))

test/js/tests.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,8 @@ function test_entity_iterators() {
318318
assert_eq_set(["Ivan", ["X", "Y"]], values);
319319
var entries = [...e.entries()];
320320
assert_eq_set([["name", "Ivan"], ["aka", ["X", "Y"]]], entries);
321+
var entries2 = [...e];
322+
assert_eq_set(entries, entries2);
321323
}
322324

323325
function test_pull() {

0 commit comments

Comments
 (0)