datahike 0.7.1630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -0
- package/cljs.analyzer.api.js +427 -0
- package/cljs.analyzer.api.js.map +1 -0
- package/cljs.analyzer.impl.js +86 -0
- package/cljs.analyzer.impl.js.map +1 -0
- package/cljs.analyzer.impl.namespaces.js +219 -0
- package/cljs.analyzer.impl.namespaces.js.map +1 -0
- package/cljs.analyzer.js +7186 -0
- package/cljs.analyzer.js.map +1 -0
- package/cljs.analyzer.passes.and_or.js +141 -0
- package/cljs.analyzer.passes.and_or.js.map +1 -0
- package/cljs.analyzer.passes.js +104 -0
- package/cljs.analyzer.passes.js.map +1 -0
- package/cljs.cache.js +1145 -0
- package/cljs.cache.js.map +1 -0
- package/cljs.cache.wrapped.js +352 -0
- package/cljs.cache.wrapped.js.map +1 -0
- package/cljs.core.async.impl.buffers.js +489 -0
- package/cljs.core.async.impl.buffers.js.map +1 -0
- package/cljs.core.async.impl.channels.js +711 -0
- package/cljs.core.async.impl.channels.js.map +1 -0
- package/cljs.core.async.impl.dispatch.js +81 -0
- package/cljs.core.async.impl.dispatch.js.map +1 -0
- package/cljs.core.async.impl.ioc_helpers.js +192 -0
- package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
- package/cljs.core.async.impl.protocols.js +368 -0
- package/cljs.core.async.impl.protocols.js.map +1 -0
- package/cljs.core.async.impl.timers.js +510 -0
- package/cljs.core.async.impl.timers.js.map +1 -0
- package/cljs.core.async.js +8813 -0
- package/cljs.core.async.js.map +1 -0
- package/cljs.core.js +38764 -0
- package/cljs.core.js.map +1 -0
- package/cljs.env.js +60 -0
- package/cljs.env.js.map +1 -0
- package/cljs.nodejs.js +80 -0
- package/cljs.nodejs.js.map +1 -0
- package/cljs.reader.js +462 -0
- package/cljs.reader.js.map +1 -0
- package/cljs.spec.alpha.js +5312 -0
- package/cljs.spec.alpha.js.map +1 -0
- package/cljs.spec.gen.alpha.js +2020 -0
- package/cljs.spec.gen.alpha.js.map +1 -0
- package/cljs.tagged_literals.js +103 -0
- package/cljs.tagged_literals.js.map +1 -0
- package/cljs.tools.reader.edn.js +960 -0
- package/cljs.tools.reader.edn.js.map +1 -0
- package/cljs.tools.reader.impl.commons.js +217 -0
- package/cljs.tools.reader.impl.commons.js.map +1 -0
- package/cljs.tools.reader.impl.errors.js +441 -0
- package/cljs.tools.reader.impl.errors.js.map +1 -0
- package/cljs.tools.reader.impl.inspect.js +182 -0
- package/cljs.tools.reader.impl.inspect.js.map +1 -0
- package/cljs.tools.reader.impl.utils.js +429 -0
- package/cljs.tools.reader.impl.utils.js.map +1 -0
- package/cljs.tools.reader.js +1830 -0
- package/cljs.tools.reader.js.map +1 -0
- package/cljs.tools.reader.reader_types.js +838 -0
- package/cljs.tools.reader.reader_types.js.map +1 -0
- package/cljs_env.js +18192 -0
- package/cljs_node_io.core.js +1278 -0
- package/cljs_node_io.core.js.map +1 -0
- package/cljs_node_io.file.js +918 -0
- package/cljs_node_io.file.js.map +1 -0
- package/cljs_node_io.fs.js +3911 -0
- package/cljs_node_io.fs.js.map +1 -0
- package/clojure.data.js +319 -0
- package/clojure.data.js.map +1 -0
- package/clojure.edn.js +119 -0
- package/clojure.edn.js.map +1 -0
- package/clojure.set.js +406 -0
- package/clojure.set.js.map +1 -0
- package/clojure.string.js +502 -0
- package/clojure.string.js.map +1 -0
- package/clojure.walk.js +156 -0
- package/clojure.walk.js.map +1 -0
- package/datahike.api.impl.js +621 -0
- package/datahike.api.impl.js.map +1 -0
- package/datahike.api.specification.js +85 -0
- package/datahike.api.specification.js.map +1 -0
- package/datahike.array.js +275 -0
- package/datahike.array.js.map +1 -0
- package/datahike.config.js +437 -0
- package/datahike.config.js.map +1 -0
- package/datahike.connections.js +55 -0
- package/datahike.connections.js.map +1 -0
- package/datahike.connector.js +1248 -0
- package/datahike.connector.js.map +1 -0
- package/datahike.constants.js +66 -0
- package/datahike.constants.js.map +1 -0
- package/datahike.core.js +628 -0
- package/datahike.core.js.map +1 -0
- package/datahike.datom.js +963 -0
- package/datahike.datom.js.map +1 -0
- package/datahike.db.interface.js +819 -0
- package/datahike.db.interface.js.map +1 -0
- package/datahike.db.js +3095 -0
- package/datahike.db.js.map +1 -0
- package/datahike.db.search.js +1004 -0
- package/datahike.db.search.js.map +1 -0
- package/datahike.db.transaction.js +1904 -0
- package/datahike.db.transaction.js.map +1 -0
- package/datahike.db.utils.js +642 -0
- package/datahike.db.utils.js.map +1 -0
- package/datahike.gc.js +1618 -0
- package/datahike.gc.js.map +1 -0
- package/datahike.impl.entity.js +604 -0
- package/datahike.impl.entity.js.map +1 -0
- package/datahike.index.interface.js +484 -0
- package/datahike.index.interface.js.map +1 -0
- package/datahike.index.js +50 -0
- package/datahike.index.js.map +1 -0
- package/datahike.index.persistent_set.js +1250 -0
- package/datahike.index.persistent_set.js.map +1 -0
- package/datahike.js.api.js +2211 -0
- package/datahike.js.api.js.map +1 -0
- package/datahike.lru.js +404 -0
- package/datahike.lru.js.map +1 -0
- package/datahike.pull_api.js +533 -0
- package/datahike.pull_api.js.map +1 -0
- package/datahike.query.js +11891 -0
- package/datahike.query.js.map +1 -0
- package/datahike.query_stats.js +152 -0
- package/datahike.query_stats.js.map +1 -0
- package/datahike.readers.js +166 -0
- package/datahike.readers.js.map +1 -0
- package/datahike.schema.js +251 -0
- package/datahike.schema.js.map +1 -0
- package/datahike.schema_cache.js +66 -0
- package/datahike.schema_cache.js.map +1 -0
- package/datahike.spec.js +70 -0
- package/datahike.spec.js.map +1 -0
- package/datahike.store.js +514 -0
- package/datahike.store.js.map +1 -0
- package/datahike.tools.js +436 -0
- package/datahike.tools.js.map +1 -0
- package/datahike.writer.js +3463 -0
- package/datahike.writer.js.map +1 -0
- package/datahike.writing.js +3168 -0
- package/datahike.writing.js.map +1 -0
- package/datalog.parser.impl.js +1421 -0
- package/datalog.parser.impl.js.map +1 -0
- package/datalog.parser.impl.proto.js +213 -0
- package/datalog.parser.impl.proto.js.map +1 -0
- package/datalog.parser.impl.util.js +117 -0
- package/datalog.parser.impl.util.js.map +1 -0
- package/datalog.parser.js +47 -0
- package/datalog.parser.js.map +1 -0
- package/datalog.parser.pull.js +2603 -0
- package/datalog.parser.pull.js.map +1 -0
- package/datalog.parser.type.js +7502 -0
- package/datalog.parser.type.js.map +1 -0
- package/datalog.parser.util.js +60 -0
- package/datalog.parser.util.js.map +1 -0
- package/environ.core.js +263 -0
- package/environ.core.js.map +1 -0
- package/fress.api.js +607 -0
- package/fress.api.js.map +1 -0
- package/fress.impl.adler32.js +435 -0
- package/fress.impl.adler32.js.map +1 -0
- package/fress.impl.bigint.js +185 -0
- package/fress.impl.bigint.js.map +1 -0
- package/fress.impl.buffer.js +1087 -0
- package/fress.impl.buffer.js.map +1 -0
- package/fress.impl.codes.js +105 -0
- package/fress.impl.codes.js.map +1 -0
- package/fress.impl.hopmap.js +603 -0
- package/fress.impl.hopmap.js.map +1 -0
- package/fress.impl.ranges.js +49 -0
- package/fress.impl.ranges.js.map +1 -0
- package/fress.impl.raw_input.js +837 -0
- package/fress.impl.raw_input.js.map +1 -0
- package/fress.impl.raw_output.js +653 -0
- package/fress.impl.raw_output.js.map +1 -0
- package/fress.impl.table.js +133 -0
- package/fress.impl.table.js.map +1 -0
- package/fress.reader.js +2312 -0
- package/fress.reader.js.map +1 -0
- package/fress.util.js +458 -0
- package/fress.util.js.map +1 -0
- package/fress.writer.js +2141 -0
- package/fress.writer.js.map +1 -0
- package/geheimnis.aes.js +132 -0
- package/geheimnis.aes.js.map +1 -0
- package/hasch.base64.js +42 -0
- package/hasch.base64.js.map +1 -0
- package/hasch.benc.js +201 -0
- package/hasch.benc.js.map +1 -0
- package/hasch.core.js +188 -0
- package/hasch.core.js.map +1 -0
- package/hasch.platform.js +221 -0
- package/hasch.platform.js.map +1 -0
- package/incognito.base.js +276 -0
- package/incognito.base.js.map +1 -0
- package/incognito.edn.js +54 -0
- package/incognito.edn.js.map +1 -0
- package/incognito.fressian.js +330 -0
- package/incognito.fressian.js.map +1 -0
- package/index.d.ts +660 -0
- package/is.simm.partial_cps.async.js +142 -0
- package/is.simm.partial_cps.async.js.map +1 -0
- package/is.simm.partial_cps.runtime.js +65 -0
- package/is.simm.partial_cps.runtime.js.map +1 -0
- package/is.simm.partial_cps.sequence.js +1255 -0
- package/is.simm.partial_cps.sequence.js.map +1 -0
- package/konserve.cache.js +2519 -0
- package/konserve.cache.js.map +1 -0
- package/konserve.compressor.js +502 -0
- package/konserve.compressor.js.map +1 -0
- package/konserve.core.js +8052 -0
- package/konserve.core.js.map +1 -0
- package/konserve.encryptor.js +553 -0
- package/konserve.encryptor.js.map +1 -0
- package/konserve.gc.js +541 -0
- package/konserve.gc.js.map +1 -0
- package/konserve.impl.defaults.js +8290 -0
- package/konserve.impl.defaults.js.map +1 -0
- package/konserve.impl.storage_layout.js +849 -0
- package/konserve.impl.storage_layout.js.map +1 -0
- package/konserve.memory.js +2102 -0
- package/konserve.memory.js.map +1 -0
- package/konserve.node_filestore.js +2951 -0
- package/konserve.node_filestore.js.map +1 -0
- package/konserve.protocols.js +590 -0
- package/konserve.protocols.js.map +1 -0
- package/konserve.serializers.js +562 -0
- package/konserve.serializers.js.map +1 -0
- package/konserve.store.js +2245 -0
- package/konserve.store.js.map +1 -0
- package/konserve.tiered.js +9574 -0
- package/konserve.tiered.js.map +1 -0
- package/konserve.utils.js +180 -0
- package/konserve.utils.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
- package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
- package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
- package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.js +890 -0
- package/me.tonsky.persistent_sorted_set.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
- package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.util.js +402 -0
- package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
- package/medley.core.js +1857 -0
- package/medley.core.js.map +1 -0
- package/package.json +38 -0
- package/spec_tools.core.js +1925 -0
- package/spec_tools.core.js.map +1 -0
- package/spec_tools.data_spec.js +1291 -0
- package/spec_tools.data_spec.js.map +1 -0
- package/spec_tools.form.js +185 -0
- package/spec_tools.form.js.map +1 -0
- package/spec_tools.impl.js +362 -0
- package/spec_tools.impl.js.map +1 -0
- package/spec_tools.parse.js +427 -0
- package/spec_tools.parse.js.map +1 -0
- package/spec_tools.transform.js +288 -0
- package/spec_tools.transform.js.map +1 -0
- package/superv.async.js +8617 -0
- package/superv.async.js.map +1 -0
- package/tailrecursion.priority_map.js +994 -0
- package/tailrecursion.priority_map.js.map +1 -0
- package/taoensso.encore.js +12385 -0
- package/taoensso.encore.js.map +1 -0
- package/taoensso.timbre.appenders.core.js +239 -0
- package/taoensso.timbre.appenders.core.js.map +1 -0
- package/taoensso.timbre.js +1264 -0
- package/taoensso.timbre.js.map +1 -0
- package/taoensso.truss.impl.js +442 -0
- package/taoensso.truss.impl.js.map +1 -0
- package/taoensso.truss.js +743 -0
- package/taoensso.truss.js.map +1 -0
- package/test-config-keys.js +33 -0
- package/test-final.js +36 -0
- package/test-key-duplication.js +67 -0
- package/test.js +557 -0
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./cljs.core.async.impl.protocols.js");
|
|
6
|
+
require("./cljs.core.async.impl.channels.js");
|
|
7
|
+
require("./cljs.core.async.impl.dispatch.js");
|
|
8
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
9
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
10
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
11
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
12
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
13
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
14
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
15
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
16
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
17
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
18
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
19
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
20
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
21
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
22
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
23
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
24
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
25
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
26
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
27
|
+
|
|
28
|
+
$CLJS.SHADOW_ENV.setLoaded("cljs.core.async.impl.timers.js");
|
|
29
|
+
|
|
30
|
+
goog.provide('cljs.core.async.impl.timers');
|
|
31
|
+
cljs.core.async.impl.timers.MAX_LEVEL = (15);
|
|
32
|
+
cljs.core.async.impl.timers.P = ((1) / (2));
|
|
33
|
+
cljs.core.async.impl.timers.random_level = (function cljs$core$async$impl$timers$random_level(var_args){
|
|
34
|
+
var G__25961 = arguments.length;
|
|
35
|
+
switch (G__25961) {
|
|
36
|
+
case 0:
|
|
37
|
+
return cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();
|
|
38
|
+
|
|
39
|
+
break;
|
|
40
|
+
case 1:
|
|
41
|
+
return cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
|
42
|
+
|
|
43
|
+
break;
|
|
44
|
+
default:
|
|
45
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0 = (function (){
|
|
51
|
+
return cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((0));
|
|
52
|
+
}));
|
|
53
|
+
|
|
54
|
+
(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1 = (function (level){
|
|
55
|
+
while(true){
|
|
56
|
+
if((((Math.random() < cljs.core.async.impl.timers.P)) && ((level < cljs.core.async.impl.timers.MAX_LEVEL)))){
|
|
57
|
+
var G__26054 = (level + (1));
|
|
58
|
+
level = G__26054;
|
|
59
|
+
continue;
|
|
60
|
+
} else {
|
|
61
|
+
return level;
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}));
|
|
66
|
+
|
|
67
|
+
(cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity = 1);
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @constructor
|
|
72
|
+
* @implements {cljs.core.ISeqable}
|
|
73
|
+
* @implements {cljs.core.IPrintWithWriter}
|
|
74
|
+
*/
|
|
75
|
+
cljs.core.async.impl.timers.SkipListNode = (function (key,val,forward){
|
|
76
|
+
this.key = key;
|
|
77
|
+
this.val = val;
|
|
78
|
+
this.forward = forward;
|
|
79
|
+
this.cljs$lang$protocol_mask$partition0$ = 2155872256;
|
|
80
|
+
this.cljs$lang$protocol_mask$partition1$ = 0;
|
|
81
|
+
});
|
|
82
|
+
(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
|
|
83
|
+
var self__ = this;
|
|
84
|
+
var coll__$1 = this;
|
|
85
|
+
return (new cljs.core.List(null,self__.key,(new cljs.core.List(null,self__.val,null,(1),null)),(2),null));
|
|
86
|
+
}));
|
|
87
|
+
|
|
88
|
+
(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
|
|
89
|
+
var self__ = this;
|
|
90
|
+
var coll__$1 = this;
|
|
91
|
+
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"["," ","]",opts,coll__$1);
|
|
92
|
+
}));
|
|
93
|
+
|
|
94
|
+
(cljs.core.async.impl.timers.SkipListNode.getBasis = (function (){
|
|
95
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"key","key",124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),new cljs.core.Symbol(null,"forward","forward",1083186224,null)], null);
|
|
96
|
+
}));
|
|
97
|
+
|
|
98
|
+
(cljs.core.async.impl.timers.SkipListNode.cljs$lang$type = true);
|
|
99
|
+
|
|
100
|
+
(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr = "cljs.core.async.impl.timers/SkipListNode");
|
|
101
|
+
|
|
102
|
+
(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
|
|
103
|
+
return cljs.core._write(writer__5288__auto__,"cljs.core.async.impl.timers/SkipListNode");
|
|
104
|
+
}));
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Positional factory function for cljs.core.async.impl.timers/SkipListNode.
|
|
108
|
+
*/
|
|
109
|
+
cljs.core.async.impl.timers.__GT_SkipListNode = (function cljs$core$async$impl$timers$__GT_SkipListNode(key,val,forward){
|
|
110
|
+
return (new cljs.core.async.impl.timers.SkipListNode(key,val,forward));
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
cljs.core.async.impl.timers.skip_list_node = (function cljs$core$async$impl$timers$skip_list_node(var_args){
|
|
114
|
+
var G__25986 = arguments.length;
|
|
115
|
+
switch (G__25986) {
|
|
116
|
+
case 1:
|
|
117
|
+
return cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
|
118
|
+
|
|
119
|
+
break;
|
|
120
|
+
case 3:
|
|
121
|
+
return cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
122
|
+
|
|
123
|
+
break;
|
|
124
|
+
default:
|
|
125
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
126
|
+
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1 = (function (level){
|
|
131
|
+
return cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(null,null,level);
|
|
132
|
+
}));
|
|
133
|
+
|
|
134
|
+
(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3 = (function (k,v,level){
|
|
135
|
+
var arr = (new Array((level + (1))));
|
|
136
|
+
var i_26064 = (0);
|
|
137
|
+
while(true){
|
|
138
|
+
if((i_26064 < arr.length)){
|
|
139
|
+
(arr[i_26064] = null);
|
|
140
|
+
|
|
141
|
+
var G__26065 = (i_26064 + (1));
|
|
142
|
+
i_26064 = G__26065;
|
|
143
|
+
continue;
|
|
144
|
+
} else {
|
|
145
|
+
}
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return (new cljs.core.async.impl.timers.SkipListNode(k,v,arr));
|
|
150
|
+
}));
|
|
151
|
+
|
|
152
|
+
(cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity = 3);
|
|
153
|
+
|
|
154
|
+
cljs.core.async.impl.timers.least_greater_node = (function cljs$core$async$impl$timers$least_greater_node(var_args){
|
|
155
|
+
var G__25988 = arguments.length;
|
|
156
|
+
switch (G__25988) {
|
|
157
|
+
case 3:
|
|
158
|
+
return cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
159
|
+
|
|
160
|
+
break;
|
|
161
|
+
case 4:
|
|
162
|
+
return cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
|
|
163
|
+
|
|
164
|
+
break;
|
|
165
|
+
default:
|
|
166
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
167
|
+
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3 = (function (x,k,level){
|
|
172
|
+
return cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(x,k,level,null);
|
|
173
|
+
}));
|
|
174
|
+
|
|
175
|
+
(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4 = (function (x,k,level,update){
|
|
176
|
+
while(true){
|
|
177
|
+
if((!((level < (0))))){
|
|
178
|
+
var x__$1 = (function (){var x__$1 = x;
|
|
179
|
+
while(true){
|
|
180
|
+
var temp__5802__auto__ = (((level < x__$1.forward.length))?(x__$1.forward[level]):null);
|
|
181
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
182
|
+
var x_SINGLEQUOTE_ = temp__5802__auto__;
|
|
183
|
+
if((x_SINGLEQUOTE_.key < k)){
|
|
184
|
+
var G__26071 = x_SINGLEQUOTE_;
|
|
185
|
+
x__$1 = G__26071;
|
|
186
|
+
continue;
|
|
187
|
+
} else {
|
|
188
|
+
return x__$1;
|
|
189
|
+
}
|
|
190
|
+
} else {
|
|
191
|
+
return x__$1;
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
})();
|
|
196
|
+
if((update == null)){
|
|
197
|
+
} else {
|
|
198
|
+
(update[level] = x__$1);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
var G__26072 = x__$1;
|
|
202
|
+
var G__26073 = k;
|
|
203
|
+
var G__26074 = (level - (1));
|
|
204
|
+
var G__26075 = update;
|
|
205
|
+
x = G__26072;
|
|
206
|
+
k = G__26073;
|
|
207
|
+
level = G__26074;
|
|
208
|
+
update = G__26075;
|
|
209
|
+
continue;
|
|
210
|
+
} else {
|
|
211
|
+
return x;
|
|
212
|
+
}
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
}));
|
|
216
|
+
|
|
217
|
+
(cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity = 4);
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* @constructor
|
|
222
|
+
* @implements {cljs.core.ISeqable}
|
|
223
|
+
* @implements {cljs.core.IPrintWithWriter}
|
|
224
|
+
*/
|
|
225
|
+
cljs.core.async.impl.timers.SkipList = (function (header,level){
|
|
226
|
+
this.header = header;
|
|
227
|
+
this.level = level;
|
|
228
|
+
this.cljs$lang$protocol_mask$partition0$ = 2155872256;
|
|
229
|
+
this.cljs$lang$protocol_mask$partition1$ = 0;
|
|
230
|
+
});
|
|
231
|
+
(cljs.core.async.impl.timers.SkipList.prototype.put = (function (k,v){
|
|
232
|
+
var self__ = this;
|
|
233
|
+
var coll = this;
|
|
234
|
+
var update = (new Array(cljs.core.async.impl.timers.MAX_LEVEL));
|
|
235
|
+
var x = cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);
|
|
236
|
+
var x__$1 = (x.forward[(0)]);
|
|
237
|
+
if((((!((x__$1 == null)))) && ((x__$1.key === k)))){
|
|
238
|
+
return (x__$1.val = v);
|
|
239
|
+
} else {
|
|
240
|
+
var new_level = cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();
|
|
241
|
+
if((new_level > self__.level)){
|
|
242
|
+
var i_26099 = (self__.level + (1));
|
|
243
|
+
while(true){
|
|
244
|
+
if((i_26099 <= (new_level + (1)))){
|
|
245
|
+
(update[i_26099] = self__.header);
|
|
246
|
+
|
|
247
|
+
var G__26100 = (i_26099 + (1));
|
|
248
|
+
i_26099 = G__26100;
|
|
249
|
+
continue;
|
|
250
|
+
} else {
|
|
251
|
+
}
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
(self__.level = new_level);
|
|
256
|
+
} else {
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
var x__$2 = cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(k,v,(new Array(new_level)));
|
|
260
|
+
var i = (0);
|
|
261
|
+
while(true){
|
|
262
|
+
if((i <= self__.level)){
|
|
263
|
+
var links_26105 = (update[i]).forward;
|
|
264
|
+
if((i < x__$2.forward.length)){
|
|
265
|
+
(x__$2.forward[i] = (links_26105[i]));
|
|
266
|
+
} else {
|
|
267
|
+
x__$2.forward.push((((i < links_26105.length))?(links_26105[i]):null));
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
if((i < links_26105.length)){
|
|
271
|
+
(links_26105[i] = x__$2);
|
|
272
|
+
} else {
|
|
273
|
+
links_26105.push(x__$2);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
var G__26108 = (i + (1));
|
|
277
|
+
i = G__26108;
|
|
278
|
+
continue;
|
|
279
|
+
} else {
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}));
|
|
286
|
+
|
|
287
|
+
(cljs.core.async.impl.timers.SkipList.prototype.remove = (function (k){
|
|
288
|
+
var self__ = this;
|
|
289
|
+
var coll = this;
|
|
290
|
+
var update = (new Array(cljs.core.async.impl.timers.MAX_LEVEL));
|
|
291
|
+
var x = cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);
|
|
292
|
+
var x__$1 = (((x.forward.length === (0)))?null:(x.forward[(0)]));
|
|
293
|
+
if((((!((x__$1 == null)))) && ((x__$1.key === k)))){
|
|
294
|
+
var i_26111 = (0);
|
|
295
|
+
while(true){
|
|
296
|
+
if((i_26111 <= self__.level)){
|
|
297
|
+
var links_26112 = (update[i_26111]).forward;
|
|
298
|
+
if((x__$1 === (((i_26111 < links_26112.length))?(links_26112[i_26111]):null))){
|
|
299
|
+
(links_26112[i_26111] = (x__$1.forward[i_26111]));
|
|
300
|
+
|
|
301
|
+
var G__26113 = (i_26111 + (1));
|
|
302
|
+
i_26111 = G__26113;
|
|
303
|
+
continue;
|
|
304
|
+
} else {
|
|
305
|
+
var G__26114 = (i_26111 + (1));
|
|
306
|
+
i_26111 = G__26114;
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
} else {
|
|
310
|
+
}
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
while(true){
|
|
315
|
+
if(((((((0) < self__.level)) && ((self__.level < self__.header.forward.length)))) && (((self__.header.forward[self__.level]) == null)))){
|
|
316
|
+
(self__.level = (self__.level - (1)));
|
|
317
|
+
|
|
318
|
+
continue;
|
|
319
|
+
} else {
|
|
320
|
+
return null;
|
|
321
|
+
}
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
} else {
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
}));
|
|
328
|
+
|
|
329
|
+
(cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry = (function (k){
|
|
330
|
+
var self__ = this;
|
|
331
|
+
var coll = this;
|
|
332
|
+
var x = self__.header;
|
|
333
|
+
var level__$1 = self__.level;
|
|
334
|
+
while(true){
|
|
335
|
+
if((!((level__$1 < (0))))){
|
|
336
|
+
var nx = (function (){var x__$1 = x;
|
|
337
|
+
while(true){
|
|
338
|
+
var x_SINGLEQUOTE_ = (((level__$1 < x__$1.forward.length))?(x__$1.forward[level__$1]):null);
|
|
339
|
+
if((!((x_SINGLEQUOTE_ == null)))){
|
|
340
|
+
if((x_SINGLEQUOTE_.key > k)){
|
|
341
|
+
return x__$1;
|
|
342
|
+
} else {
|
|
343
|
+
var G__26117 = x_SINGLEQUOTE_;
|
|
344
|
+
x__$1 = G__26117;
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
} else {
|
|
348
|
+
if((level__$1 === (0))){
|
|
349
|
+
return x__$1;
|
|
350
|
+
} else {
|
|
351
|
+
return null;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
break;
|
|
355
|
+
}
|
|
356
|
+
})();
|
|
357
|
+
if(cljs.core.truth_(nx)){
|
|
358
|
+
var G__26118 = nx;
|
|
359
|
+
var G__26119 = (level__$1 - (1));
|
|
360
|
+
x = G__26118;
|
|
361
|
+
level__$1 = G__26119;
|
|
362
|
+
continue;
|
|
363
|
+
} else {
|
|
364
|
+
var G__26120 = x;
|
|
365
|
+
var G__26121 = (level__$1 - (1));
|
|
366
|
+
x = G__26120;
|
|
367
|
+
level__$1 = G__26121;
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
370
|
+
} else {
|
|
371
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.key,k)){
|
|
372
|
+
return x;
|
|
373
|
+
} else {
|
|
374
|
+
return (x.forward[(0)]);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
break;
|
|
378
|
+
}
|
|
379
|
+
}));
|
|
380
|
+
|
|
381
|
+
(cljs.core.async.impl.timers.SkipList.prototype.floorEntry = (function (k){
|
|
382
|
+
var self__ = this;
|
|
383
|
+
var coll = this;
|
|
384
|
+
var x = self__.header;
|
|
385
|
+
var level__$1 = self__.level;
|
|
386
|
+
while(true){
|
|
387
|
+
if((!((level__$1 < (0))))){
|
|
388
|
+
var nx = (function (){var x__$1 = x;
|
|
389
|
+
while(true){
|
|
390
|
+
var x_SINGLEQUOTE_ = (((level__$1 < x__$1.forward.length))?(x__$1.forward[level__$1]):null);
|
|
391
|
+
if((!((x_SINGLEQUOTE_ == null)))){
|
|
392
|
+
if((x_SINGLEQUOTE_.key > k)){
|
|
393
|
+
return x__$1;
|
|
394
|
+
} else {
|
|
395
|
+
var G__26125 = x_SINGLEQUOTE_;
|
|
396
|
+
x__$1 = G__26125;
|
|
397
|
+
continue;
|
|
398
|
+
}
|
|
399
|
+
} else {
|
|
400
|
+
if((level__$1 === (0))){
|
|
401
|
+
return x__$1;
|
|
402
|
+
} else {
|
|
403
|
+
return null;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
408
|
+
})();
|
|
409
|
+
if(cljs.core.truth_(nx)){
|
|
410
|
+
var G__26127 = nx;
|
|
411
|
+
var G__26128 = (level__$1 - (1));
|
|
412
|
+
x = G__26127;
|
|
413
|
+
level__$1 = G__26128;
|
|
414
|
+
continue;
|
|
415
|
+
} else {
|
|
416
|
+
var G__26129 = x;
|
|
417
|
+
var G__26130 = (level__$1 - (1));
|
|
418
|
+
x = G__26129;
|
|
419
|
+
level__$1 = G__26130;
|
|
420
|
+
continue;
|
|
421
|
+
}
|
|
422
|
+
} else {
|
|
423
|
+
if((x === self__.header)){
|
|
424
|
+
return null;
|
|
425
|
+
} else {
|
|
426
|
+
return x;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
break;
|
|
430
|
+
}
|
|
431
|
+
}));
|
|
432
|
+
|
|
433
|
+
(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
|
|
434
|
+
var self__ = this;
|
|
435
|
+
var coll__$1 = this;
|
|
436
|
+
var iter = (function cljs$core$async$impl$timers$iter(node){
|
|
437
|
+
return (new cljs.core.LazySeq(null,(function (){
|
|
438
|
+
if((node == null)){
|
|
439
|
+
return null;
|
|
440
|
+
} else {
|
|
441
|
+
return cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node.key,node.val], null),cljs$core$async$impl$timers$iter((node.forward[(0)])));
|
|
442
|
+
}
|
|
443
|
+
}),null,null));
|
|
444
|
+
});
|
|
445
|
+
return iter((self__.header.forward[(0)]));
|
|
446
|
+
}));
|
|
447
|
+
|
|
448
|
+
(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
|
|
449
|
+
var self__ = this;
|
|
450
|
+
var coll__$1 = this;
|
|
451
|
+
var pr_pair = (function (keyval){
|
|
452
|
+
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,""," ","",opts,keyval);
|
|
453
|
+
});
|
|
454
|
+
return cljs.core.pr_sequential_writer(writer,pr_pair,"{",", ","}",opts,coll__$1);
|
|
455
|
+
}));
|
|
456
|
+
|
|
457
|
+
(cljs.core.async.impl.timers.SkipList.getBasis = (function (){
|
|
458
|
+
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"header","header",1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,"level","level",-1363938217,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null))], null);
|
|
459
|
+
}));
|
|
460
|
+
|
|
461
|
+
(cljs.core.async.impl.timers.SkipList.cljs$lang$type = true);
|
|
462
|
+
|
|
463
|
+
(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr = "cljs.core.async.impl.timers/SkipList");
|
|
464
|
+
|
|
465
|
+
(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
|
|
466
|
+
return cljs.core._write(writer__5288__auto__,"cljs.core.async.impl.timers/SkipList");
|
|
467
|
+
}));
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* Positional factory function for cljs.core.async.impl.timers/SkipList.
|
|
471
|
+
*/
|
|
472
|
+
cljs.core.async.impl.timers.__GT_SkipList = (function cljs$core$async$impl$timers$__GT_SkipList(header,level){
|
|
473
|
+
return (new cljs.core.async.impl.timers.SkipList(header,level));
|
|
474
|
+
});
|
|
475
|
+
|
|
476
|
+
cljs.core.async.impl.timers.skip_list = (function cljs$core$async$impl$timers$skip_list(){
|
|
477
|
+
return (new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((0)),(0)));
|
|
478
|
+
});
|
|
479
|
+
cljs.core.async.impl.timers.timeouts_map = cljs.core.async.impl.timers.skip_list();
|
|
480
|
+
cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS = (10);
|
|
481
|
+
/**
|
|
482
|
+
* returns a channel that will close after msecs
|
|
483
|
+
*/
|
|
484
|
+
cljs.core.async.impl.timers.timeout = (function cljs$core$async$impl$timers$timeout(msecs){
|
|
485
|
+
var timeout = ((new Date()).valueOf() + msecs);
|
|
486
|
+
var me__$1 = cljs.core.async.impl.timers.timeouts_map.ceilingEntry(timeout);
|
|
487
|
+
var or__5002__auto__ = (cljs.core.truth_((function (){var and__5000__auto__ = me__$1;
|
|
488
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
489
|
+
return (me__$1.key < (timeout + cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS));
|
|
490
|
+
} else {
|
|
491
|
+
return and__5000__auto__;
|
|
492
|
+
}
|
|
493
|
+
})())?me__$1.val:null);
|
|
494
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
495
|
+
return or__5002__auto__;
|
|
496
|
+
} else {
|
|
497
|
+
var timeout_channel = cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(null);
|
|
498
|
+
cljs.core.async.impl.timers.timeouts_map.put(timeout,timeout_channel);
|
|
499
|
+
|
|
500
|
+
cljs.core.async.impl.dispatch.queue_delay((function (){
|
|
501
|
+
cljs.core.async.impl.timers.timeouts_map.remove(timeout);
|
|
502
|
+
|
|
503
|
+
return cljs.core.async.impl.protocols.close_BANG_(timeout_channel);
|
|
504
|
+
}),msecs);
|
|
505
|
+
|
|
506
|
+
return timeout_channel;
|
|
507
|
+
}
|
|
508
|
+
});
|
|
509
|
+
|
|
510
|
+
//# sourceMappingURL=cljs.core.async.impl.timers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["cljs/core/async/impl/timers.cljs"],"mappings":"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","names":["cljs.core.async.impl.timers/MAX_LEVEL","cljs.core.async.impl.timers/P","var_args","G__25961","cljs.core.async.impl.timers/random-level","js/Error","cljs.core.async.impl.timers.random_level","level","js/Math","this__5287__auto__","writer__5288__auto__","opt__5289__auto__","cljs.core/-write","cljs.core.async.impl.timers/SkipListNode","cljs.core.async.impl.timers/->SkipListNode","key","val","forward","coll","cljs.core/List","writer","opts","cljs.core/pr-sequential-writer","cljs.core/pr-writer","G__25986","cljs.core.async.impl.timers/skip-list-node","cljs.core.async.impl.timers.skip_list_node","k","v","arr","js/Array","i","G__25988","cljs.core.async.impl.timers/least-greater-node","x","cljs.core.async.impl.timers.least_greater_node","update","temp__5802__auto__","x'","cljs.core.async.impl.timers/SkipList","cljs.core.async.impl.timers/->SkipList","header","new-level","links","nx","cljs.core._EQ_","node","cljs.core/LazySeq","cljs.core/cons","iter","pr-pair","keyval","cljs.core.async.impl.timers/skip-list","cljs.core.async.impl.timers/timeouts-map","cljs.core.async.impl.timers/TIMEOUT_RESOLUTION_MS","cljs.core.async.impl.timers/timeout","msecs","timeout","js/Date","me","or__5002__auto__","and__5000__auto__","timeout-channel","cljs.core.async.impl.channels.chan","cljs.core.async.impl.dispatch/queue-delay","cljs.core.async.impl.protocols/close!"],"sourcesContent":[";; Copyright (c) Rich Hickey and contributors. All rights reserved.\n;; The use and distribution terms for this software are covered by the\n;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n;; which can be found in the file epl-v10.html at the root of this distribution.\n;; By using this software in any fashion, you are agreeing to be bound by\n;; the terms of this license.\n;; You must not remove this notice, or any other, from this software.\n\n(ns cljs.core.async.impl.timers\n (:require [cljs.core.async.impl.protocols :as impl]\n [cljs.core.async.impl.channels :as channels]\n [cljs.core.async.impl.dispatch :as dispatch]))\n\n(def MAX_LEVEL 15) ;; 16 levels\n(def P (/ 1 2))\n\n(defn random-level\n ([] (random-level 0))\n ([level]\n (if (and (< (.random js/Math) P)\n (< level MAX_LEVEL))\n (recur (inc level))\n level)))\n\n(deftype SkipListNode [key ^:mutable val forward]\n ISeqable\n (-seq [coll]\n (list key val))\n\n IPrintWithWriter\n (-pr-writer [coll writer opts]\n (pr-sequential-writer writer pr-writer \"[\" \" \" \"]\" opts coll)))\n\n(defn skip-list-node\n ([level] (skip-list-node nil nil level))\n ([k v level]\n (let [arr (make-array (inc level))]\n (loop [i 0]\n (when (< i (alength arr))\n (aset arr i nil)\n (recur (inc i))))\n (SkipListNode. k v arr))))\n\n(defn least-greater-node\n ([x k level] (least-greater-node x k level nil))\n ([x k level update]\n (if-not (neg? level)\n (let [x (loop [x x]\n (if-let [x' (when (< level (alength (.-forward x)))\n (aget (.-forward x) level))]\n (if (< (.-key x') k)\n (recur x')\n x)\n x))]\n (when-not (nil? update)\n (aset update level x))\n (recur x k (dec level) update))\n x)))\n\n(deftype SkipList [header ^:mutable level]\n Object\n (put [coll k v]\n (let [update (make-array MAX_LEVEL)\n x (least-greater-node header k level update)\n x (aget (.-forward x) 0)]\n (if (and (not (nil? x)) (== (.-key x) k))\n (set! (.-val x) v)\n (let [new-level (random-level)]\n (when (> new-level level)\n (loop [i (inc level)]\n (when (<= i (inc new-level))\n (aset update i header)\n (recur (inc i))))\n (set! level new-level))\n (let [x (skip-list-node k v (make-array new-level))]\n (loop [i 0]\n (when (<= i level)\n (let [links (.-forward (aget update i))]\n (if (< i (alength (.-forward x)))\n (aset (.-forward x) i (aget links i))\n (.push (.-forward x) (when (< i (alength links))\n (aget links i))))\n (if (< i (alength links))\n (aset links i x)\n (.push links x)))\n (recur (inc i)))))))))\n\n (remove [coll k]\n (let [update (make-array MAX_LEVEL)\n x (least-greater-node header k level update)\n x (when-not (zero? (alength (.-forward x)))\n (aget (.-forward x) 0))]\n (when (and (not (nil? x)) (== (.-key x) k))\n (loop [i 0]\n (when (<= i level)\n (let [links (.-forward (aget update i))]\n (if (identical? x (when (< i (alength links))\n (aget links i)))\n (do\n (aset links i (aget (.-forward x) i))\n (recur (inc i)))\n (recur (inc i))))))\n (while (and (< 0 level (alength (.-forward header)))\n (nil? (aget (.-forward header) level)))\n (set! level (dec level))))))\n\n (ceilingEntry [coll k]\n (loop [x header level level]\n (if-not (neg? level)\n (let [nx (loop [x x]\n (let [x' (when (< level (alength (.-forward x)))\n (aget (.-forward x) level))]\n (if-not (nil? x')\n (if (> (.-key x') k)\n x\n (recur x'))\n (when (zero? level)\n x))))]\n (if nx\n (recur nx (dec level))\n (recur x (dec level))))\n (if (= (.-key x) k)\n x\n (aget (.-forward x) 0)))))\n\n (floorEntry [coll k]\n (loop [x header level level]\n (if-not (neg? level)\n (let [nx (loop [x x]\n (let [x' (when (< level (alength (.-forward x)))\n (aget (.-forward x) level))]\n (if-not (nil? x')\n (if (> (.-key x') k)\n x\n (recur x'))\n (when (zero? level)\n x))))]\n (if nx\n (recur nx (dec level))\n (recur x (dec level))))\n (when-not (identical? x header)\n x))))\n\n ISeqable\n (-seq [coll]\n (letfn [(iter [node]\n (lazy-seq\n (when-not (nil? node)\n (cons [(.-key node) (.-val node)]\n (iter (aget (.-forward node) 0))))))]\n (iter (aget (.-forward header) 0))))\n\n IPrintWithWriter\n (-pr-writer [coll writer opts]\n (let [pr-pair (fn [keyval]\n (pr-sequential-writer writer pr-writer \"\" \" \" \"\" opts keyval))]\n (pr-sequential-writer writer pr-pair \"{\" \", \" \"}\" opts coll))))\n\n(defn skip-list []\n (SkipList. (skip-list-node 0) 0))\n\n(def timeouts-map (skip-list))\n\n(def TIMEOUT_RESOLUTION_MS 10)\n\n(defn timeout\n \"returns a channel that will close after msecs\"\n [msecs]\n (let [timeout (+ (.valueOf (js/Date.)) msecs)\n me (.ceilingEntry timeouts-map timeout)]\n (or (when (and me (< (.-key me) (+ timeout TIMEOUT_RESOLUTION_MS)))\n (.-val me))\n (let [timeout-channel (channels/chan nil)]\n (.put timeouts-map timeout timeout-channel)\n (dispatch/queue-delay\n (fn []\n (.remove timeouts-map timeout)\n (impl/close! timeout-channel))\n msecs)\n timeout-channel))))\n"],"x_google_ignoreList":[0]}
|