git.fiddlerwoaroof.com
Raw Blame History
// Compiled by ClojureScript 1.9.293 {}
goog.provide('datascript.core');
goog.require('cljs.core');
goog.require('datascript.query');
goog.require('datascript.btset');
goog.require('datascript.db');
goog.require('datascript.pull_api');
goog.require('datascript.impl.entity');
datascript.core.q = (function datascript$core$q(var_args){
var args__16334__auto__ = [];
var len__16327__auto___22324 = arguments.length;
var i__16328__auto___22325 = (0);
while(true){
if((i__16328__auto___22325 < len__16327__auto___22324)){
args__16334__auto__.push((arguments[i__16328__auto___22325]));

var G__22326 = (i__16328__auto___22325 + (1));
i__16328__auto___22325 = G__22326;
continue;
} else {
}
break;
}

var argseq__16335__auto__ = ((((1) < args__16334__auto__.length))?(new cljs.core.IndexedSeq(args__16334__auto__.slice((1)),(0),null)):null);
return datascript.core.q.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__16335__auto__);
});

datascript.core.q.cljs$core$IFn$_invoke$arity$variadic = (function (q,inputs){
return null;
});

datascript.core.q.cljs$lang$maxFixedArity = (1);

datascript.core.q.cljs$lang$applyTo = (function (seq22322){
var G__22323 = cljs.core.first.call(null,seq22322);
var seq22322__$1 = cljs.core.next.call(null,seq22322);
return datascript.core.q.cljs$core$IFn$_invoke$arity$variadic(G__22323,seq22322__$1);
});

datascript.core.q = datascript.query.q;
datascript.core.entity = (function datascript$core$entity(db,eid){
return null;
});
datascript.core.entity = datascript.impl.entity.entity;
datascript.core.entity_db = (function datascript$core$entity_db(entity){
if(cljs.core.truth_(datascript.impl.entity.entity_QMARK_.call(null,entity))){
} else {
throw (new Error("Assert failed: (de/entity? entity)"));
}

return entity.db;
});
datascript.core.datom = (function datascript$core$datom(var_args){
var args22327 = [];
var len__16327__auto___22330 = arguments.length;
var i__16328__auto___22331 = (0);
while(true){
if((i__16328__auto___22331 < len__16327__auto___22330)){
args22327.push((arguments[i__16328__auto___22331]));

var G__22332 = (i__16328__auto___22331 + (1));
i__16328__auto___22331 = G__22332;
continue;
} else {
}
break;
}

var G__22329 = args22327.length;
switch (G__22329) {
case 3:
return datascript.core.datom.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
case 4:
return datascript.core.datom.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));

break;
case 5:
return datascript.core.datom.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22327.length)].join('')));

}
});

datascript.core.datom.cljs$core$IFn$_invoke$arity$3 = (function (e,a,v){
return null;
});

datascript.core.datom.cljs$core$IFn$_invoke$arity$4 = (function (e,a,v,tx){
return null;
});

datascript.core.datom.cljs$core$IFn$_invoke$arity$5 = (function (e,a,v,tx,added){
return null;
});

datascript.core.datom.cljs$lang$maxFixedArity = 5;

datascript.core.datom = datascript.db.datom;
datascript.core.pull = (function datascript$core$pull(db,selector,eid){
return null;
});
datascript.core.pull = datascript.pull_api.pull;
datascript.core.pull_many = (function datascript$core$pull_many(db,selector,eids){
return null;
});
datascript.core.pull_many = datascript.pull_api.pull_many;
datascript.core.touch = (function datascript$core$touch(e){
return null;
});
datascript.core.touch = datascript.impl.entity.touch;
datascript.core.empty_db = (function datascript$core$empty_db(var_args){
var args22334 = [];
var len__16327__auto___22337 = arguments.length;
var i__16328__auto___22338 = (0);
while(true){
if((i__16328__auto___22338 < len__16327__auto___22337)){
args22334.push((arguments[i__16328__auto___22338]));

var G__22339 = (i__16328__auto___22338 + (1));
i__16328__auto___22338 = G__22339;
continue;
} else {
}
break;
}

var G__22336 = args22334.length;
switch (G__22336) {
case 0:
return datascript.core.empty_db.cljs$core$IFn$_invoke$arity$0();

break;
case 1:
return datascript.core.empty_db.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22334.length)].join('')));

}
});

datascript.core.empty_db.cljs$core$IFn$_invoke$arity$0 = (function (){
return null;
});

datascript.core.empty_db.cljs$core$IFn$_invoke$arity$1 = (function (schema){
return null;
});

datascript.core.empty_db.cljs$lang$maxFixedArity = 1;

datascript.core.empty_db = datascript.db.empty_db;
datascript.core.init_db = (function datascript$core$init_db(var_args){
var args22341 = [];
var len__16327__auto___22344 = arguments.length;
var i__16328__auto___22345 = (0);
while(true){
if((i__16328__auto___22345 < len__16327__auto___22344)){
args22341.push((arguments[i__16328__auto___22345]));

var G__22346 = (i__16328__auto___22345 + (1));
i__16328__auto___22345 = G__22346;
continue;
} else {
}
break;
}

var G__22343 = args22341.length;
switch (G__22343) {
case 1:
return datascript.core.init_db.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
case 2:
return datascript.core.init_db.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22341.length)].join('')));

}
});

datascript.core.init_db.cljs$core$IFn$_invoke$arity$1 = (function (datoms){
return null;
});

datascript.core.init_db.cljs$core$IFn$_invoke$arity$2 = (function (datoms,schema){
return null;
});

datascript.core.init_db.cljs$lang$maxFixedArity = 2;

datascript.core.init_db = datascript.db.init_db;
datascript.core.datom_QMARK_ = (function datascript$core$datom_QMARK_(x){
return null;
});
datascript.core.datom_QMARK_ = datascript.db.datom_QMARK_;
datascript.core.db_QMARK_ = (function datascript$core$db_QMARK_(x){
return null;
});
datascript.core.db_QMARK_ = datascript.db.db_QMARK_;
datascript.core.tx0 = datascript.db.tx0;
datascript.core.is_filtered = (function datascript$core$is_filtered(x){
return (x instanceof datascript.db.FilteredDB);
});
datascript.core.filter = (function datascript$core$filter(db,pred){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

if(cljs.core.truth_(datascript.core.is_filtered.call(null,db))){
var fdb = db;
var orig_pred = fdb.pred;
var orig_db = fdb.unfiltered_db;
return (new datascript.db.FilteredDB(orig_db,((function (fdb,orig_pred,orig_db){
return (function (p1__22348_SHARP_){
var and__15207__auto__ = orig_pred.call(null,p1__22348_SHARP_);
if(cljs.core.truth_(and__15207__auto__)){
return pred.call(null,orig_db,p1__22348_SHARP_);
} else {
return and__15207__auto__;
}
});})(fdb,orig_pred,orig_db))
,cljs.core.atom.call(null,(0)),null,null,null));
} else {
return (new datascript.db.FilteredDB(db,(function (p1__22349_SHARP_){
return pred.call(null,db,p1__22349_SHARP_);
}),cljs.core.atom.call(null,(0)),null,null,null));
}
});
datascript.core.with$ = (function datascript$core$with(var_args){
var args22350 = [];
var len__16327__auto___22353 = arguments.length;
var i__16328__auto___22354 = (0);
while(true){
if((i__16328__auto___22354 < len__16327__auto___22353)){
args22350.push((arguments[i__16328__auto___22354]));

var G__22355 = (i__16328__auto___22354 + (1));
i__16328__auto___22354 = G__22355;
continue;
} else {
}
break;
}

var G__22352 = args22350.length;
switch (G__22352) {
case 2:
return datascript.core.with$.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.with$.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22350.length)].join('')));

}
});

datascript.core.with$.cljs$core$IFn$_invoke$arity$2 = (function (db,tx_data){
return datascript.core.with$.call(null,db,tx_data,null);
});

datascript.core.with$.cljs$core$IFn$_invoke$arity$3 = (function (db,tx_data,tx_meta){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

if(cljs.core.truth_(datascript.core.is_filtered.call(null,db))){
throw cljs.core.ex_info.call(null,"Filtered DB cannot be modified",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword("transaction","filtered","transaction/filtered",1699706605)], null));
} else {
return datascript.db.transact_tx_data.call(null,datascript.db.map__GT_TxReport.call(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"db-before","db-before",-553691536),db,new cljs.core.Keyword(null,"db-after","db-after",-571884666),db,new cljs.core.Keyword(null,"tx-data","tx-data",934159761),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"tempids","tempids",1767509089),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"tx-meta","tx-meta",1159283194),tx_meta], null)),tx_data);
}
});

datascript.core.with$.cljs$lang$maxFixedArity = 3;

datascript.core.db_with = (function datascript$core$db_with(db,tx_data){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return new cljs.core.Keyword(null,"db-after","db-after",-571884666).cljs$core$IFn$_invoke$arity$1(datascript.core.with$.call(null,db,tx_data));
});
datascript.core.datoms = (function datascript$core$datoms(var_args){
var args22357 = [];
var len__16327__auto___22360 = arguments.length;
var i__16328__auto___22361 = (0);
while(true){
if((i__16328__auto___22361 < len__16327__auto___22360)){
args22357.push((arguments[i__16328__auto___22361]));

var G__22362 = (i__16328__auto___22361 + (1));
i__16328__auto___22361 = G__22362;
continue;
} else {
}
break;
}

var G__22359 = args22357.length;
switch (G__22359) {
case 2:
return datascript.core.datoms.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.datoms.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
case 4:
return datascript.core.datoms.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));

break;
case 5:
return datascript.core.datoms.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));

break;
case 6:
return datascript.core.datoms.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22357.length)].join('')));

}
});

datascript.core.datoms.cljs$core$IFn$_invoke$arity$2 = (function (db,index){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._datoms.call(null,db,index,cljs.core.PersistentVector.EMPTY);
});

datascript.core.datoms.cljs$core$IFn$_invoke$arity$3 = (function (db,index,c1){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._datoms.call(null,db,index,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1], null));
});

datascript.core.datoms.cljs$core$IFn$_invoke$arity$4 = (function (db,index,c1,c2){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._datoms.call(null,db,index,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1,c2], null));
});

datascript.core.datoms.cljs$core$IFn$_invoke$arity$5 = (function (db,index,c1,c2,c3){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._datoms.call(null,db,index,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1,c2,c3], null));
});

datascript.core.datoms.cljs$core$IFn$_invoke$arity$6 = (function (db,index,c1,c2,c3,c4){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._datoms.call(null,db,index,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1,c2,c3,c4], null));
});

datascript.core.datoms.cljs$lang$maxFixedArity = 6;

datascript.core.seek_datoms = (function datascript$core$seek_datoms(var_args){
var args22364 = [];
var len__16327__auto___22367 = arguments.length;
var i__16328__auto___22368 = (0);
while(true){
if((i__16328__auto___22368 < len__16327__auto___22367)){
args22364.push((arguments[i__16328__auto___22368]));

var G__22369 = (i__16328__auto___22368 + (1));
i__16328__auto___22368 = G__22369;
continue;
} else {
}
break;
}

var G__22366 = args22364.length;
switch (G__22366) {
case 2:
return datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
case 4:
return datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));

break;
case 5:
return datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));

break;
case 6:
return datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22364.length)].join('')));

}
});

datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$2 = (function (db,index){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._seek_datoms.call(null,db,index,cljs.core.PersistentVector.EMPTY);
});

datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$3 = (function (db,index,c1){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._seek_datoms.call(null,db,index,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1], null));
});

datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$4 = (function (db,index,c1,c2){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._seek_datoms.call(null,db,index,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1,c2], null));
});

datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$5 = (function (db,index,c1,c2,c3){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._seek_datoms.call(null,db,index,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1,c2,c3], null));
});

datascript.core.seek_datoms.cljs$core$IFn$_invoke$arity$6 = (function (db,index,c1,c2,c3,c4){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._seek_datoms.call(null,db,index,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [c1,c2,c3,c4], null));
});

datascript.core.seek_datoms.cljs$lang$maxFixedArity = 6;

datascript.core.index_range = (function datascript$core$index_range(db,attr,start,end){
if(cljs.core.truth_(datascript.db.db_QMARK_.call(null,db))){
} else {
throw (new Error("Assert failed: (db/db? db)"));
}

return datascript.db._index_range.call(null,db,attr,start,end);
});
datascript.core.entid = (function datascript$core$entid(db,eid){
return null;
});
datascript.core.entid = datascript.db.entid;
datascript.core.conn_QMARK_ = (function datascript$core$conn_QMARK_(conn){
var and__15207__auto__ = ((!((conn == null)))?((((conn.cljs$lang$protocol_mask$partition0$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === conn.cljs$core$IDeref$)))?true:(((!conn.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,conn):false)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,conn));
if(and__15207__auto__){
return datascript.db.db_QMARK_.call(null,cljs.core.deref.call(null,conn));
} else {
return and__15207__auto__;
}
});
datascript.core.conn_from_db = (function datascript$core$conn_from_db(db){
return cljs.core.atom.call(null,db,new cljs.core.Keyword(null,"meta","meta",1499536964),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"listeners","listeners",394544445),cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY)], null));
});
datascript.core.conn_from_datoms = (function datascript$core$conn_from_datoms(var_args){
var args22375 = [];
var len__16327__auto___22378 = arguments.length;
var i__16328__auto___22379 = (0);
while(true){
if((i__16328__auto___22379 < len__16327__auto___22378)){
args22375.push((arguments[i__16328__auto___22379]));

var G__22380 = (i__16328__auto___22379 + (1));
i__16328__auto___22379 = G__22380;
continue;
} else {
}
break;
}

var G__22377 = args22375.length;
switch (G__22377) {
case 1:
return datascript.core.conn_from_datoms.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
case 2:
return datascript.core.conn_from_datoms.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22375.length)].join('')));

}
});

datascript.core.conn_from_datoms.cljs$core$IFn$_invoke$arity$1 = (function (datoms){
return datascript.core.conn_from_db.call(null,datascript.core.init_db.call(null,datoms));
});

datascript.core.conn_from_datoms.cljs$core$IFn$_invoke$arity$2 = (function (datoms,schema){
return datascript.core.conn_from_db.call(null,datascript.core.init_db.call(null,datoms,schema));
});

datascript.core.conn_from_datoms.cljs$lang$maxFixedArity = 2;

datascript.core.create_conn = (function datascript$core$create_conn(var_args){
var args22382 = [];
var len__16327__auto___22385 = arguments.length;
var i__16328__auto___22386 = (0);
while(true){
if((i__16328__auto___22386 < len__16327__auto___22385)){
args22382.push((arguments[i__16328__auto___22386]));

var G__22387 = (i__16328__auto___22386 + (1));
i__16328__auto___22386 = G__22387;
continue;
} else {
}
break;
}

var G__22384 = args22382.length;
switch (G__22384) {
case 0:
return datascript.core.create_conn.cljs$core$IFn$_invoke$arity$0();

break;
case 1:
return datascript.core.create_conn.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22382.length)].join('')));

}
});

datascript.core.create_conn.cljs$core$IFn$_invoke$arity$0 = (function (){
return datascript.core.conn_from_db.call(null,datascript.core.empty_db.call(null));
});

datascript.core.create_conn.cljs$core$IFn$_invoke$arity$1 = (function (schema){
return datascript.core.conn_from_db.call(null,datascript.core.empty_db.call(null,schema));
});

datascript.core.create_conn.cljs$lang$maxFixedArity = 1;

datascript.core._transact_BANG_ = (function datascript$core$_transact_BANG_(conn,tx_data,tx_meta){
if(cljs.core.truth_(datascript.core.conn_QMARK_.call(null,conn))){
} else {
throw (new Error("Assert failed: (conn? conn)"));
}

var report = cljs.core.atom.call(null,null);
cljs.core.swap_BANG_.call(null,conn,((function (report){
return (function (db){
var r = datascript.core.with$.call(null,db,tx_data,tx_meta);
cljs.core.reset_BANG_.call(null,report,r);

return new cljs.core.Keyword(null,"db-after","db-after",-571884666).cljs$core$IFn$_invoke$arity$1(r);
});})(report))
);

return cljs.core.deref.call(null,report);
});
datascript.core.transact_BANG_ = (function datascript$core$transact_BANG_(var_args){
var args22389 = [];
var len__16327__auto___22402 = arguments.length;
var i__16328__auto___22403 = (0);
while(true){
if((i__16328__auto___22403 < len__16327__auto___22402)){
args22389.push((arguments[i__16328__auto___22403]));

var G__22404 = (i__16328__auto___22403 + (1));
i__16328__auto___22403 = G__22404;
continue;
} else {
}
break;
}

var G__22391 = args22389.length;
switch (G__22391) {
case 2:
return datascript.core.transact_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.transact_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22389.length)].join('')));

}
});

datascript.core.transact_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (conn,tx_data){
return datascript.core.transact_BANG_.call(null,conn,tx_data,null);
});

datascript.core.transact_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (conn,tx_data,tx_meta){
if(cljs.core.truth_(datascript.core.conn_QMARK_.call(null,conn))){
} else {
throw (new Error("Assert failed: (conn? conn)"));
}

var report = datascript.core._transact_BANG_.call(null,conn,tx_data,tx_meta);
var seq__22392_22406 = cljs.core.seq.call(null,cljs.core.deref.call(null,new cljs.core.Keyword(null,"listeners","listeners",394544445).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,conn))));
var chunk__22393_22407 = null;
var count__22394_22408 = (0);
var i__22395_22409 = (0);
while(true){
if((i__22395_22409 < count__22394_22408)){
var vec__22396_22410 = cljs.core._nth.call(null,chunk__22393_22407,i__22395_22409);
var __22411 = cljs.core.nth.call(null,vec__22396_22410,(0),null);
var callback_22412 = cljs.core.nth.call(null,vec__22396_22410,(1),null);
callback_22412.call(null,report);

var G__22413 = seq__22392_22406;
var G__22414 = chunk__22393_22407;
var G__22415 = count__22394_22408;
var G__22416 = (i__22395_22409 + (1));
seq__22392_22406 = G__22413;
chunk__22393_22407 = G__22414;
count__22394_22408 = G__22415;
i__22395_22409 = G__22416;
continue;
} else {
var temp__4657__auto___22417 = cljs.core.seq.call(null,seq__22392_22406);
if(temp__4657__auto___22417){
var seq__22392_22418__$1 = temp__4657__auto___22417;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__22392_22418__$1)){
var c__16033__auto___22419 = cljs.core.chunk_first.call(null,seq__22392_22418__$1);
var G__22420 = cljs.core.chunk_rest.call(null,seq__22392_22418__$1);
var G__22421 = c__16033__auto___22419;
var G__22422 = cljs.core.count.call(null,c__16033__auto___22419);
var G__22423 = (0);
seq__22392_22406 = G__22420;
chunk__22393_22407 = G__22421;
count__22394_22408 = G__22422;
i__22395_22409 = G__22423;
continue;
} else {
var vec__22399_22424 = cljs.core.first.call(null,seq__22392_22418__$1);
var __22425 = cljs.core.nth.call(null,vec__22399_22424,(0),null);
var callback_22426 = cljs.core.nth.call(null,vec__22399_22424,(1),null);
callback_22426.call(null,report);

var G__22427 = cljs.core.next.call(null,seq__22392_22418__$1);
var G__22428 = null;
var G__22429 = (0);
var G__22430 = (0);
seq__22392_22406 = G__22427;
chunk__22393_22407 = G__22428;
count__22394_22408 = G__22429;
i__22395_22409 = G__22430;
continue;
}
} else {
}
}
break;
}

return report;
});

datascript.core.transact_BANG_.cljs$lang$maxFixedArity = 3;

datascript.core.reset_conn_BANG_ = (function datascript$core$reset_conn_BANG_(var_args){
var args22432 = [];
var len__16327__auto___22445 = arguments.length;
var i__16328__auto___22446 = (0);
while(true){
if((i__16328__auto___22446 < len__16327__auto___22445)){
args22432.push((arguments[i__16328__auto___22446]));

var G__22447 = (i__16328__auto___22446 + (1));
i__16328__auto___22446 = G__22447;
continue;
} else {
}
break;
}

var G__22434 = args22432.length;
switch (G__22434) {
case 2:
return datascript.core.reset_conn_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.reset_conn_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22432.length)].join('')));

}
});

datascript.core.reset_conn_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (conn,db){
return datascript.core.reset_conn_BANG_.call(null,conn,db,null);
});

datascript.core.reset_conn_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (conn,db,tx_meta){
var report = datascript.db.map__GT_TxReport.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"db-before","db-before",-553691536),cljs.core.deref.call(null,conn),new cljs.core.Keyword(null,"db-after","db-after",-571884666),db,new cljs.core.Keyword(null,"tx-data","tx-data",934159761),cljs.core.concat.call(null,cljs.core.map.call(null,(function (p1__22431_SHARP_){
return cljs.core.assoc.call(null,p1__22431_SHARP_,new cljs.core.Keyword(null,"added","added",2057651688),false);
}),datascript.core.datoms.call(null,cljs.core.deref.call(null,conn),new cljs.core.Keyword(null,"eavt","eavt",-666437073))),datascript.core.datoms.call(null,db,new cljs.core.Keyword(null,"eavt","eavt",-666437073))),new cljs.core.Keyword(null,"tx-meta","tx-meta",1159283194),tx_meta], null));
cljs.core.reset_BANG_.call(null,conn,db);

var seq__22435_22449 = cljs.core.seq.call(null,cljs.core.deref.call(null,new cljs.core.Keyword(null,"listeners","listeners",394544445).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,conn))));
var chunk__22436_22450 = null;
var count__22437_22451 = (0);
var i__22438_22452 = (0);
while(true){
if((i__22438_22452 < count__22437_22451)){
var vec__22439_22453 = cljs.core._nth.call(null,chunk__22436_22450,i__22438_22452);
var __22454 = cljs.core.nth.call(null,vec__22439_22453,(0),null);
var callback_22455 = cljs.core.nth.call(null,vec__22439_22453,(1),null);
callback_22455.call(null,report);

var G__22456 = seq__22435_22449;
var G__22457 = chunk__22436_22450;
var G__22458 = count__22437_22451;
var G__22459 = (i__22438_22452 + (1));
seq__22435_22449 = G__22456;
chunk__22436_22450 = G__22457;
count__22437_22451 = G__22458;
i__22438_22452 = G__22459;
continue;
} else {
var temp__4657__auto___22460 = cljs.core.seq.call(null,seq__22435_22449);
if(temp__4657__auto___22460){
var seq__22435_22461__$1 = temp__4657__auto___22460;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__22435_22461__$1)){
var c__16033__auto___22462 = cljs.core.chunk_first.call(null,seq__22435_22461__$1);
var G__22463 = cljs.core.chunk_rest.call(null,seq__22435_22461__$1);
var G__22464 = c__16033__auto___22462;
var G__22465 = cljs.core.count.call(null,c__16033__auto___22462);
var G__22466 = (0);
seq__22435_22449 = G__22463;
chunk__22436_22450 = G__22464;
count__22437_22451 = G__22465;
i__22438_22452 = G__22466;
continue;
} else {
var vec__22442_22467 = cljs.core.first.call(null,seq__22435_22461__$1);
var __22468 = cljs.core.nth.call(null,vec__22442_22467,(0),null);
var callback_22469 = cljs.core.nth.call(null,vec__22442_22467,(1),null);
callback_22469.call(null,report);

var G__22470 = cljs.core.next.call(null,seq__22435_22461__$1);
var G__22471 = null;
var G__22472 = (0);
var G__22473 = (0);
seq__22435_22449 = G__22470;
chunk__22436_22450 = G__22471;
count__22437_22451 = G__22472;
i__22438_22452 = G__22473;
continue;
}
} else {
}
}
break;
}

return db;
});

datascript.core.reset_conn_BANG_.cljs$lang$maxFixedArity = 3;

datascript.core.listen_BANG_ = (function datascript$core$listen_BANG_(var_args){
var args22474 = [];
var len__16327__auto___22477 = arguments.length;
var i__16328__auto___22478 = (0);
while(true){
if((i__16328__auto___22478 < len__16327__auto___22477)){
args22474.push((arguments[i__16328__auto___22478]));

var G__22479 = (i__16328__auto___22478 + (1));
i__16328__auto___22478 = G__22479;
continue;
} else {
}
break;
}

var G__22476 = args22474.length;
switch (G__22476) {
case 2:
return datascript.core.listen_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.listen_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22474.length)].join('')));

}
});

datascript.core.listen_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (conn,callback){
return datascript.core.listen_BANG_.call(null,conn,cljs.core.rand.call(null),callback);
});

datascript.core.listen_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (conn,key,callback){
if(cljs.core.truth_(datascript.core.conn_QMARK_.call(null,conn))){
} else {
throw (new Error("Assert failed: (conn? conn)"));
}

cljs.core.swap_BANG_.call(null,new cljs.core.Keyword(null,"listeners","listeners",394544445).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,conn)),cljs.core.assoc,key,callback);

return key;
});

datascript.core.listen_BANG_.cljs$lang$maxFixedArity = 3;

datascript.core.unlisten_BANG_ = (function datascript$core$unlisten_BANG_(conn,key){
if(cljs.core.truth_(datascript.core.conn_QMARK_.call(null,conn))){
} else {
throw (new Error("Assert failed: (conn? conn)"));
}

return cljs.core.swap_BANG_.call(null,new cljs.core.Keyword(null,"listeners","listeners",394544445).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,conn)),cljs.core.dissoc,key);
});
datascript.core.data_readers = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol("datascript","Datom","datascript/Datom",-901340080,null),datascript.db.datom_from_reader,new cljs.core.Symbol("datascript","DB","datascript/DB",-487332776,null),datascript.db.db_from_reader], null);
var seq__22481_22491 = cljs.core.seq.call(null,datascript.core.data_readers);
var chunk__22482_22492 = null;
var count__22483_22493 = (0);
var i__22484_22494 = (0);
while(true){
if((i__22484_22494 < count__22483_22493)){
var vec__22485_22495 = cljs.core._nth.call(null,chunk__22482_22492,i__22484_22494);
var tag_22496 = cljs.core.nth.call(null,vec__22485_22495,(0),null);
var cb_22497 = cljs.core.nth.call(null,vec__22485_22495,(1),null);
cljs.reader.register_tag_parser_BANG_.call(null,tag_22496,cb_22497);

var G__22498 = seq__22481_22491;
var G__22499 = chunk__22482_22492;
var G__22500 = count__22483_22493;
var G__22501 = (i__22484_22494 + (1));
seq__22481_22491 = G__22498;
chunk__22482_22492 = G__22499;
count__22483_22493 = G__22500;
i__22484_22494 = G__22501;
continue;
} else {
var temp__4657__auto___22502 = cljs.core.seq.call(null,seq__22481_22491);
if(temp__4657__auto___22502){
var seq__22481_22503__$1 = temp__4657__auto___22502;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__22481_22503__$1)){
var c__16033__auto___22504 = cljs.core.chunk_first.call(null,seq__22481_22503__$1);
var G__22505 = cljs.core.chunk_rest.call(null,seq__22481_22503__$1);
var G__22506 = c__16033__auto___22504;
var G__22507 = cljs.core.count.call(null,c__16033__auto___22504);
var G__22508 = (0);
seq__22481_22491 = G__22505;
chunk__22482_22492 = G__22506;
count__22483_22493 = G__22507;
i__22484_22494 = G__22508;
continue;
} else {
var vec__22488_22509 = cljs.core.first.call(null,seq__22481_22503__$1);
var tag_22510 = cljs.core.nth.call(null,vec__22488_22509,(0),null);
var cb_22511 = cljs.core.nth.call(null,vec__22488_22509,(1),null);
cljs.reader.register_tag_parser_BANG_.call(null,tag_22510,cb_22511);

var G__22512 = cljs.core.next.call(null,seq__22481_22503__$1);
var G__22513 = null;
var G__22514 = (0);
var G__22515 = (0);
seq__22481_22491 = G__22512;
chunk__22482_22492 = G__22513;
count__22483_22493 = G__22514;
i__22484_22494 = G__22515;
continue;
}
} else {
}
}
break;
}
datascript.core.last_tempid = cljs.core.atom.call(null,(-1000000));
datascript.core.tempid = (function datascript$core$tempid(var_args){
var args22516 = [];
var len__16327__auto___22519 = arguments.length;
var i__16328__auto___22520 = (0);
while(true){
if((i__16328__auto___22520 < len__16327__auto___22519)){
args22516.push((arguments[i__16328__auto___22520]));

var G__22521 = (i__16328__auto___22520 + (1));
i__16328__auto___22520 = G__22521;
continue;
} else {
}
break;
}

var G__22518 = args22516.length;
switch (G__22518) {
case 1:
return datascript.core.tempid.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
case 2:
return datascript.core.tempid.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22516.length)].join('')));

}
});

datascript.core.tempid.cljs$core$IFn$_invoke$arity$1 = (function (part){
if(cljs.core._EQ_.call(null,part,new cljs.core.Keyword("db.part","tx","db.part/tx",-1480923213))){
return new cljs.core.Keyword("db","current-tx","db/current-tx",1600722132);
} else {
return cljs.core.swap_BANG_.call(null,datascript.core.last_tempid,cljs.core.dec);
}
});

datascript.core.tempid.cljs$core$IFn$_invoke$arity$2 = (function (part,x){
if(cljs.core._EQ_.call(null,part,new cljs.core.Keyword("db.part","tx","db.part/tx",-1480923213))){
return new cljs.core.Keyword("db","current-tx","db/current-tx",1600722132);
} else {
return x;
}
});

datascript.core.tempid.cljs$lang$maxFixedArity = 2;

datascript.core.resolve_tempid = (function datascript$core$resolve_tempid(_db,tempids,tempid){
return cljs.core.get.call(null,tempids,tempid);
});
datascript.core.db = (function datascript$core$db(conn){
if(cljs.core.truth_(datascript.core.conn_QMARK_.call(null,conn))){
} else {
throw (new Error("Assert failed: (conn? conn)"));
}

return cljs.core.deref.call(null,conn);
});
datascript.core.transact = (function datascript$core$transact(var_args){
var args22523 = [];
var len__16327__auto___22529 = arguments.length;
var i__16328__auto___22530 = (0);
while(true){
if((i__16328__auto___22530 < len__16327__auto___22529)){
args22523.push((arguments[i__16328__auto___22530]));

var G__22531 = (i__16328__auto___22530 + (1));
i__16328__auto___22530 = G__22531;
continue;
} else {
}
break;
}

var G__22525 = args22523.length;
switch (G__22525) {
case 2:
return datascript.core.transact.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.transact.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22523.length)].join('')));

}
});

datascript.core.transact.cljs$core$IFn$_invoke$arity$2 = (function (conn,tx_data){
return datascript.core.transact.call(null,conn,tx_data,null);
});

datascript.core.transact.cljs$core$IFn$_invoke$arity$3 = (function (conn,tx_data,tx_meta){
if(cljs.core.truth_(datascript.core.conn_QMARK_.call(null,conn))){
} else {
throw (new Error("Assert failed: (conn? conn)"));
}

var res = datascript.core.transact_BANG_.call(null,conn,tx_data,tx_meta);
if(typeof datascript.core.t_datascript$core22526 !== 'undefined'){
} else {

/**
* @constructor
 * @implements {cljs.core.IDerefWithTimeout}
 * @implements {cljs.core.IPending}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.IDeref}
 * @implements {cljs.core.IWithMeta}
*/
datascript.core.t_datascript$core22526 = (function (conn,tx_data,tx_meta,res,meta22527){
this.conn = conn;
this.tx_data = tx_data;
this.tx_meta = tx_meta;
this.res = res;
this.meta22527 = meta22527;
this.cljs$lang$protocol_mask$partition0$ = 491520;
this.cljs$lang$protocol_mask$partition1$ = 1;
})
datascript.core.t_datascript$core22526.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (res){
return (function (_22528,meta22527__$1){
var self__ = this;
var _22528__$1 = this;
return (new datascript.core.t_datascript$core22526(self__.conn,self__.tx_data,self__.tx_meta,self__.res,meta22527__$1));
});})(res))
;

datascript.core.t_datascript$core22526.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (res){
return (function (_22528){
var self__ = this;
var _22528__$1 = this;
return self__.meta22527;
});})(res))
;

datascript.core.t_datascript$core22526.prototype.cljs$core$IDeref$_deref$arity$1 = ((function (res){
return (function (_){
var self__ = this;
var ___$1 = this;
return self__.res;
});})(res))
;

datascript.core.t_datascript$core22526.prototype.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 = ((function (res){
return (function (_,___$1,___$2){
var self__ = this;
var ___$3 = this;
return self__.res;
});})(res))
;

datascript.core.t_datascript$core22526.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 = ((function (res){
return (function (_){
var self__ = this;
var ___$1 = this;
return true;
});})(res))
;

datascript.core.t_datascript$core22526.getBasis = ((function (res){
return (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"conn","conn",1918841190,null),new cljs.core.Symbol(null,"tx-data","tx-data",-1720276008,null),new cljs.core.Symbol(null,"tx-meta","tx-meta",-1495152575,null),new cljs.core.Symbol(null,"res","res",245523648,null),new cljs.core.Symbol(null,"meta22527","meta22527",158080159,null)], null);
});})(res))
;

datascript.core.t_datascript$core22526.cljs$lang$type = true;

datascript.core.t_datascript$core22526.cljs$lang$ctorStr = "datascript.core/t_datascript$core22526";

datascript.core.t_datascript$core22526.cljs$lang$ctorPrWriter = ((function (res){
return (function (this__15825__auto__,writer__15826__auto__,opt__15827__auto__){
return cljs.core._write.call(null,writer__15826__auto__,"datascript.core/t_datascript$core22526");
});})(res))
;

datascript.core.__GT_t_datascript$core22526 = ((function (res){
return (function datascript$core$__GT_t_datascript$core22526(conn__$1,tx_data__$1,tx_meta__$1,res__$1,meta22527){
return (new datascript.core.t_datascript$core22526(conn__$1,tx_data__$1,tx_meta__$1,res__$1,meta22527));
});})(res))
;

}

return (new datascript.core.t_datascript$core22526(conn,tx_data,tx_meta,res,cljs.core.PersistentArrayMap.EMPTY));
});

datascript.core.transact.cljs$lang$maxFixedArity = 3;

datascript.core.future_call = (function datascript$core$future_call(f){
var res = cljs.core.atom.call(null,null);
var realized = cljs.core.atom.call(null,false);
setTimeout(((function (res,realized){
return (function (){
cljs.core.reset_BANG_.call(null,res,f.call(null));

return cljs.core.reset_BANG_.call(null,realized,true);
});})(res,realized))
,(0));

if(typeof datascript.core.t_datascript$core22536 !== 'undefined'){
} else {

/**
* @constructor
 * @implements {cljs.core.IDerefWithTimeout}
 * @implements {cljs.core.IPending}
 * @implements {cljs.core.IMeta}
 * @implements {cljs.core.IDeref}
 * @implements {cljs.core.IWithMeta}
*/
datascript.core.t_datascript$core22536 = (function (f,res,realized,meta22537){
this.f = f;
this.res = res;
this.realized = realized;
this.meta22537 = meta22537;
this.cljs$lang$protocol_mask$partition0$ = 491520;
this.cljs$lang$protocol_mask$partition1$ = 1;
})
datascript.core.t_datascript$core22536.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (res,realized){
return (function (_22538,meta22537__$1){
var self__ = this;
var _22538__$1 = this;
return (new datascript.core.t_datascript$core22536(self__.f,self__.res,self__.realized,meta22537__$1));
});})(res,realized))
;

datascript.core.t_datascript$core22536.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (res,realized){
return (function (_22538){
var self__ = this;
var _22538__$1 = this;
return self__.meta22537;
});})(res,realized))
;

datascript.core.t_datascript$core22536.prototype.cljs$core$IDeref$_deref$arity$1 = ((function (res,realized){
return (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.deref.call(null,self__.res);
});})(res,realized))
;

datascript.core.t_datascript$core22536.prototype.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 = ((function (res,realized){
return (function (_,___$1,timeout_val){
var self__ = this;
var ___$2 = this;
if(cljs.core.truth_(cljs.core.deref.call(null,self__.realized))){
return cljs.core.deref.call(null,self__.res);
} else {
return timeout_val;
}
});})(res,realized))
;

datascript.core.t_datascript$core22536.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 = ((function (res,realized){
return (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.deref.call(null,self__.realized);
});})(res,realized))
;

datascript.core.t_datascript$core22536.getBasis = ((function (res,realized){
return (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"res","res",245523648,null),new cljs.core.Symbol(null,"realized","realized",1487343404,null),new cljs.core.Symbol(null,"meta22537","meta22537",993658915,null)], null);
});})(res,realized))
;

datascript.core.t_datascript$core22536.cljs$lang$type = true;

datascript.core.t_datascript$core22536.cljs$lang$ctorStr = "datascript.core/t_datascript$core22536";

datascript.core.t_datascript$core22536.cljs$lang$ctorPrWriter = ((function (res,realized){
return (function (this__15825__auto__,writer__15826__auto__,opt__15827__auto__){
return cljs.core._write.call(null,writer__15826__auto__,"datascript.core/t_datascript$core22536");
});})(res,realized))
;

datascript.core.__GT_t_datascript$core22536 = ((function (res,realized){
return (function datascript$core$future_call_$___GT_t_datascript$core22536(f__$1,res__$1,realized__$1,meta22537){
return (new datascript.core.t_datascript$core22536(f__$1,res__$1,realized__$1,meta22537));
});})(res,realized))
;

}

return (new datascript.core.t_datascript$core22536(f,res,realized,cljs.core.PersistentArrayMap.EMPTY));
});
datascript.core.transact_async = (function datascript$core$transact_async(var_args){
var args22539 = [];
var len__16327__auto___22542 = arguments.length;
var i__16328__auto___22543 = (0);
while(true){
if((i__16328__auto___22543 < len__16327__auto___22542)){
args22539.push((arguments[i__16328__auto___22543]));

var G__22544 = (i__16328__auto___22543 + (1));
i__16328__auto___22543 = G__22544;
continue;
} else {
}
break;
}

var G__22541 = args22539.length;
switch (G__22541) {
case 2:
return datascript.core.transact_async.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
case 3:
return datascript.core.transact_async.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22539.length)].join('')));

}
});

datascript.core.transact_async.cljs$core$IFn$_invoke$arity$2 = (function (conn,tx_data){
return datascript.core.transact_async.call(null,conn,tx_data,null);
});

datascript.core.transact_async.cljs$core$IFn$_invoke$arity$3 = (function (conn,tx_data,tx_meta){
if(cljs.core.truth_(datascript.core.conn_QMARK_.call(null,conn))){
} else {
throw (new Error("Assert failed: (conn? conn)"));
}

return datascript.core.future_call.call(null,(function (){
return datascript.core.transact_BANG_.call(null,conn,tx_data,tx_meta);
}));
});

datascript.core.transact_async.cljs$lang$maxFixedArity = 3;

datascript.core.rand_bits = (function datascript$core$rand_bits(pow){
return cljs.core.rand_int.call(null,((1) << pow));
});
datascript.core.to_hex_string = (function datascript$core$to_hex_string(n,l){
var s = n.toString((16));
var c = cljs.core.count.call(null,s);
if((c > l)){
return cljs.core.subs.call(null,s,(0),l);
} else {
if((c < l)){
return [cljs.core.str(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,(l - c),"0"))),cljs.core.str(s)].join('');
} else {
return s;

}
}
});
datascript.core.squuid = (function datascript$core$squuid(var_args){
var args22546 = [];
var len__16327__auto___22549 = arguments.length;
var i__16328__auto___22550 = (0);
while(true){
if((i__16328__auto___22550 < len__16327__auto___22549)){
args22546.push((arguments[i__16328__auto___22550]));

var G__22551 = (i__16328__auto___22550 + (1));
i__16328__auto___22550 = G__22551;
continue;
} else {
}
break;
}

var G__22548 = args22546.length;
switch (G__22548) {
case 0:
return datascript.core.squuid.cljs$core$IFn$_invoke$arity$0();

break;
case 1:
return datascript.core.squuid.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args22546.length)].join('')));

}
});

datascript.core.squuid.cljs$core$IFn$_invoke$arity$0 = (function (){
return datascript.core.squuid.call(null,(new Date()).getTime());
});

datascript.core.squuid.cljs$core$IFn$_invoke$arity$1 = (function (msec){
return cljs.core.uuid.call(null,[cljs.core.str(datascript.core.to_hex_string.call(null,((msec / (1000)) | (0)),(8))),cljs.core.str("-"),cljs.core.str(datascript.core.to_hex_string.call(null,datascript.core.rand_bits.call(null,(16)),(4))),cljs.core.str("-"),cljs.core.str(datascript.core.to_hex_string.call(null,((datascript.core.rand_bits.call(null,(16)) & (4095)) | (16384)),(4))),cljs.core.str("-"),cljs.core.str(datascript.core.to_hex_string.call(null,((datascript.core.rand_bits.call(null,(16)) & (16383)) | (32768)),(4))),cljs.core.str("-"),cljs.core.str(datascript.core.to_hex_string.call(null,datascript.core.rand_bits.call(null,(16)),(4))),cljs.core.str(datascript.core.to_hex_string.call(null,datascript.core.rand_bits.call(null,(16)),(4))),cljs.core.str(datascript.core.to_hex_string.call(null,datascript.core.rand_bits.call(null,(16)),(4)))].join(''));
});

datascript.core.squuid.cljs$lang$maxFixedArity = 1;

datascript.core.squuid_time_millis = (function datascript$core$squuid_time_millis(uuid){
return (parseInt(cljs.core.subs.call(null,[cljs.core.str(uuid)].join(''),(0),(8)),(16)) * (1000));
});

//# sourceMappingURL=core.js.map