@p4ulcristian/iris-layout 0.2.0 → 0.2.2
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/dist/cljs-runtime/cljs.core.js +38746 -0
- package/dist/cljs-runtime/cljs.core.js.map +1 -0
- package/dist/cljs-runtime/cljs.pprint.js +8400 -0
- package/dist/cljs-runtime/cljs.pprint.js.map +1 -0
- package/dist/cljs-runtime/cljs.stacktrace.js +561 -0
- package/dist/cljs-runtime/cljs.stacktrace.js.map +1 -0
- package/dist/cljs-runtime/cljs_env.js +1286 -0
- package/dist/cljs-runtime/clojure.data.js +295 -0
- package/dist/cljs-runtime/clojure.data.js.map +1 -0
- package/dist/cljs-runtime/clojure.set.js +382 -0
- package/dist/cljs-runtime/clojure.set.js.map +1 -0
- package/dist/cljs-runtime/clojure.string.js +480 -0
- package/dist/cljs-runtime/clojure.string.js.map +1 -0
- package/dist/cljs-runtime/clojure.walk.js +132 -0
- package/dist/cljs-runtime/clojure.walk.js.map +1 -0
- package/dist/cljs-runtime/devtools.async.js +90 -0
- package/dist/cljs-runtime/devtools.async.js.map +1 -0
- package/dist/cljs-runtime/devtools.context.js +11 -0
- package/dist/cljs-runtime/devtools.context.js.map +1 -0
- package/dist/cljs-runtime/devtools.core.js +175 -0
- package/dist/cljs-runtime/devtools.core.js.map +1 -0
- package/dist/cljs-runtime/devtools.defaults.js +20 -0
- package/dist/cljs-runtime/devtools.defaults.js.map +1 -0
- package/dist/cljs-runtime/devtools.format.js +631 -0
- package/dist/cljs-runtime/devtools.format.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.budgeting.js +182 -0
- package/dist/cljs-runtime/devtools.formatters.budgeting.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.core.js +220 -0
- package/dist/cljs-runtime/devtools.formatters.core.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.helpers.js +228 -0
- package/dist/cljs-runtime/devtools.formatters.helpers.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.js +261 -0
- package/dist/cljs-runtime/devtools.formatters.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.markup.js +1174 -0
- package/dist/cljs-runtime/devtools.formatters.markup.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.printing.js +313 -0
- package/dist/cljs-runtime/devtools.formatters.printing.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.state.js +325 -0
- package/dist/cljs-runtime/devtools.formatters.state.js.map +1 -0
- package/dist/cljs-runtime/devtools.formatters.templating.js +666 -0
- package/dist/cljs-runtime/devtools.formatters.templating.js.map +1 -0
- package/dist/cljs-runtime/devtools.hints.js +193 -0
- package/dist/cljs-runtime/devtools.hints.js.map +1 -0
- package/dist/cljs-runtime/devtools.munging.js +1058 -0
- package/dist/cljs-runtime/devtools.munging.js.map +1 -0
- package/dist/cljs-runtime/devtools.prefs.js +87 -0
- package/dist/cljs-runtime/devtools.prefs.js.map +1 -0
- package/dist/cljs-runtime/devtools.preload.js +11 -0
- package/dist/cljs-runtime/devtools.preload.js.map +1 -0
- package/dist/cljs-runtime/devtools.protocols.js +98 -0
- package/dist/cljs-runtime/devtools.protocols.js.map +1 -0
- package/dist/cljs-runtime/devtools.reporter.js +81 -0
- package/dist/cljs-runtime/devtools.reporter.js.map +1 -0
- package/dist/cljs-runtime/devtools.toolbox.js +141 -0
- package/dist/cljs-runtime/devtools.toolbox.js.map +1 -0
- package/dist/cljs-runtime/devtools.util.js +517 -0
- package/dist/cljs-runtime/devtools.util.js.map +1 -0
- package/dist/cljs-runtime/devtools.version.js +9 -0
- package/dist/cljs-runtime/devtools.version.js.map +1 -0
- package/dist/cljs-runtime/goog.array.array.js +659 -0
- package/dist/cljs-runtime/goog.array.array.js.map +9 -0
- package/dist/cljs-runtime/goog.asserts.asserts.js +133 -0
- package/dist/cljs-runtime/goog.asserts.asserts.js.map +9 -0
- package/dist/cljs-runtime/goog.asserts.dom.js +90 -0
- package/dist/cljs-runtime/goog.asserts.dom.js.map +9 -0
- package/dist/cljs-runtime/goog.async.nexttick.js +93 -0
- package/dist/cljs-runtime/goog.async.nexttick.js.map +9 -0
- package/dist/cljs-runtime/goog.base.js +1261 -0
- package/dist/cljs-runtime/goog.base.js.map +9 -0
- package/dist/cljs-runtime/goog.collections.maps.js +82 -0
- package/dist/cljs-runtime/goog.collections.maps.js.map +9 -0
- package/dist/cljs-runtime/goog.debug.entrypointregistry.js +44 -0
- package/dist/cljs-runtime/goog.debug.entrypointregistry.js.map +9 -0
- package/dist/cljs-runtime/goog.debug.error.js +30 -0
- package/dist/cljs-runtime/goog.debug.error.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.asserts.js +40 -0
- package/dist/cljs-runtime/goog.dom.asserts.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.browserfeature.js +21 -0
- package/dist/cljs-runtime/goog.dom.browserfeature.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.dom.js +1087 -0
- package/dist/cljs-runtime/goog.dom.dom.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.element.js +69 -0
- package/dist/cljs-runtime/goog.dom.element.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.htmlelement.js +7 -0
- package/dist/cljs-runtime/goog.dom.htmlelement.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.nodetype.js +6 -0
- package/dist/cljs-runtime/goog.dom.nodetype.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.safe.js +277 -0
- package/dist/cljs-runtime/goog.dom.safe.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.tagname.js +147 -0
- package/dist/cljs-runtime/goog.dom.tagname.js.map +9 -0
- package/dist/cljs-runtime/goog.dom.tags.js +10 -0
- package/dist/cljs-runtime/goog.dom.tags.js.map +9 -0
- package/dist/cljs-runtime/goog.flags.flags.js +12 -0
- package/dist/cljs-runtime/goog.flags.flags.js.map +9 -0
- package/dist/cljs-runtime/goog.fs.blob.js +38 -0
- package/dist/cljs-runtime/goog.fs.blob.js.map +9 -0
- package/dist/cljs-runtime/goog.fs.url.js +37 -0
- package/dist/cljs-runtime/goog.fs.url.js.map +9 -0
- package/dist/cljs-runtime/goog.functions.functions.js +211 -0
- package/dist/cljs-runtime/goog.functions.functions.js.map +9 -0
- package/dist/cljs-runtime/goog.html.safehtml.js +321 -0
- package/dist/cljs-runtime/goog.html.safehtml.js.map +9 -0
- package/dist/cljs-runtime/goog.html.safescript.js +65 -0
- package/dist/cljs-runtime/goog.html.safescript.js.map +9 -0
- package/dist/cljs-runtime/goog.html.safestyle.js +175 -0
- package/dist/cljs-runtime/goog.html.safestyle.js.map +9 -0
- package/dist/cljs-runtime/goog.html.safestylesheet.js +99 -0
- package/dist/cljs-runtime/goog.html.safestylesheet.js.map +9 -0
- package/dist/cljs-runtime/goog.html.safeurl.js +231 -0
- package/dist/cljs-runtime/goog.html.safeurl.js.map +9 -0
- package/dist/cljs-runtime/goog.html.trustedresourceurl.js +123 -0
- package/dist/cljs-runtime/goog.html.trustedresourceurl.js.map +9 -0
- package/dist/cljs-runtime/goog.html.trustedtypes.js +16 -0
- package/dist/cljs-runtime/goog.html.trustedtypes.js.map +9 -0
- package/dist/cljs-runtime/goog.html.uncheckedconversions.js +52 -0
- package/dist/cljs-runtime/goog.html.uncheckedconversions.js.map +9 -0
- package/dist/cljs-runtime/goog.labs.useragent.browser.js +352 -0
- package/dist/cljs-runtime/goog.labs.useragent.browser.js.map +9 -0
- package/dist/cljs-runtime/goog.labs.useragent.engine.js +73 -0
- package/dist/cljs-runtime/goog.labs.useragent.engine.js.map +9 -0
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js +14 -0
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js.map +9 -0
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js +74 -0
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js.map +9 -0
- package/dist/cljs-runtime/goog.labs.useragent.platform.js +147 -0
- package/dist/cljs-runtime/goog.labs.useragent.platform.js.map +9 -0
- package/dist/cljs-runtime/goog.labs.useragent.useragent.js +21 -0
- package/dist/cljs-runtime/goog.labs.useragent.useragent.js.map +9 -0
- package/dist/cljs-runtime/goog.labs.useragent.util.js +81 -0
- package/dist/cljs-runtime/goog.labs.useragent.util.js.map +9 -0
- package/dist/cljs-runtime/goog.math.coordinate.js +97 -0
- package/dist/cljs-runtime/goog.math.coordinate.js.map +9 -0
- package/dist/cljs-runtime/goog.math.integer.js +445 -0
- package/dist/cljs-runtime/goog.math.integer.js.map +9 -0
- package/dist/cljs-runtime/goog.math.long.js +437 -0
- package/dist/cljs-runtime/goog.math.long.js.map +9 -0
- package/dist/cljs-runtime/goog.math.math.js +158 -0
- package/dist/cljs-runtime/goog.math.math.js.map +9 -0
- package/dist/cljs-runtime/goog.math.size.js +76 -0
- package/dist/cljs-runtime/goog.math.size.js.map +9 -0
- package/dist/cljs-runtime/goog.object.object.js +284 -0
- package/dist/cljs-runtime/goog.object.object.js.map +9 -0
- package/dist/cljs-runtime/goog.reflect.reflect.js +32 -0
- package/dist/cljs-runtime/goog.reflect.reflect.js.map +9 -0
- package/dist/cljs-runtime/goog.string.const.js +35 -0
- package/dist/cljs-runtime/goog.string.const.js.map +9 -0
- package/dist/cljs-runtime/goog.string.internal.js +119 -0
- package/dist/cljs-runtime/goog.string.internal.js.map +9 -0
- package/dist/cljs-runtime/goog.string.string.js +462 -0
- package/dist/cljs-runtime/goog.string.string.js.map +9 -0
- package/dist/cljs-runtime/goog.string.stringbuffer.js +32 -0
- package/dist/cljs-runtime/goog.string.stringbuffer.js.map +9 -0
- package/dist/cljs-runtime/goog.string.typedstring.js +9 -0
- package/dist/cljs-runtime/goog.string.typedstring.js.map +9 -0
- package/dist/cljs-runtime/goog.structs.structs.js +199 -0
- package/dist/cljs-runtime/goog.structs.structs.js.map +9 -0
- package/dist/cljs-runtime/goog.uri.uri.js +628 -0
- package/dist/cljs-runtime/goog.uri.uri.js.map +9 -0
- package/dist/cljs-runtime/goog.uri.utils.js +326 -0
- package/dist/cljs-runtime/goog.uri.utils.js.map +9 -0
- package/dist/cljs-runtime/goog.useragent.useragent.js +139 -0
- package/dist/cljs-runtime/goog.useragent.useragent.js.map +9 -0
- package/dist/cljs-runtime/iris_layout.components.entity_card_group.js +202 -0
- package/dist/cljs-runtime/iris_layout.components.entity_card_group.js.map +1 -0
- package/dist/cljs-runtime/iris_layout.components.entity_tile.js +295 -0
- package/dist/cljs-runtime/iris_layout.components.entity_tile.js.map +1 -0
- package/dist/cljs-runtime/iris_layout.components.entity_tile_group.js +33 -0
- package/dist/cljs-runtime/iris_layout.components.entity_tile_group.js.map +1 -0
- package/dist/cljs-runtime/iris_layout.components.resizer.js +91 -0
- package/dist/cljs-runtime/iris_layout.components.resizer.js.map +1 -0
- package/dist/cljs-runtime/iris_layout.components.touch_drag.js +399 -0
- package/dist/cljs-runtime/iris_layout.components.touch_drag.js.map +1 -0
- package/dist/cljs-runtime/iris_layout.core.js +1372 -0
- package/dist/cljs-runtime/iris_layout.core.js.map +1 -0
- package/dist/cljs-runtime/iris_layout.layout.js +328 -0
- package/dist/cljs-runtime/iris_layout.layout.js.map +1 -0
- package/dist/cljs-runtime/reagent.core.js +993 -0
- package/dist/cljs-runtime/reagent.core.js.map +1 -0
- package/dist/cljs-runtime/reagent.debug.js +75 -0
- package/dist/cljs-runtime/reagent.debug.js.map +1 -0
- package/dist/cljs-runtime/reagent.impl.batching.js +270 -0
- package/dist/cljs-runtime/reagent.impl.batching.js.map +1 -0
- package/dist/cljs-runtime/reagent.impl.component.js +758 -0
- package/dist/cljs-runtime/reagent.impl.component.js.map +1 -0
- package/dist/cljs-runtime/reagent.impl.input.js +175 -0
- package/dist/cljs-runtime/reagent.impl.input.js.map +1 -0
- package/dist/cljs-runtime/reagent.impl.protocols.js +99 -0
- package/dist/cljs-runtime/reagent.impl.protocols.js.map +1 -0
- package/dist/cljs-runtime/reagent.impl.template.js +660 -0
- package/dist/cljs-runtime/reagent.impl.template.js.map +1 -0
- package/dist/cljs-runtime/reagent.impl.util.js +748 -0
- package/dist/cljs-runtime/reagent.impl.util.js.map +1 -0
- package/dist/cljs-runtime/reagent.ratom.js +1668 -0
- package/dist/cljs-runtime/reagent.ratom.js.map +1 -0
- package/dist/cljs-runtime/shadow.esm.esm_import$react.js +5 -0
- package/dist/cljs-runtime/shadow.module.iris-layout.append.js +2 -0
- package/dist/cljs-runtime/shadow.module.iris-layout.prepend.js +2 -0
- package/dist/iris-layout.js +375 -355
- package/dist/styles.css +287 -9
- package/package.json +1 -1
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
import "./cljs_env.js";
|
|
2
|
+
import "./cljs.core.js";
|
|
3
|
+
import "./clojure.set.js";
|
|
4
|
+
goog.provide('clojure.data');
|
|
5
|
+
/**
|
|
6
|
+
* Internal helper for diff.
|
|
7
|
+
*/
|
|
8
|
+
clojure.data.atom_diff = (function clojure$data$atom_diff(a,b){
|
|
9
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){
|
|
10
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);
|
|
11
|
+
} else {
|
|
12
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [a,b,null], null);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Convert an associative-by-numeric-index collection into
|
|
17
|
+
* an equivalent vector, with nil for any missing keys
|
|
18
|
+
*/
|
|
19
|
+
clojure.data.vectorize = (function clojure$data$vectorize(m){
|
|
20
|
+
if(cljs.core.seq(m)){
|
|
21
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,p__8040){
|
|
22
|
+
var vec__8041 = p__8040;
|
|
23
|
+
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__8041,(0),null);
|
|
24
|
+
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__8041,(1),null);
|
|
25
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,k,v);
|
|
26
|
+
}),cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.keys(m)),null)),m);
|
|
27
|
+
} else {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Diff associative things a and b, comparing only the key k.
|
|
33
|
+
*/
|
|
34
|
+
clojure.data.diff_associative_key = (function clojure$data$diff_associative_key(a,b,k){
|
|
35
|
+
var va = cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,k);
|
|
36
|
+
var vb = cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,k);
|
|
37
|
+
var vec__8048 = clojure.data.diff(va,vb);
|
|
38
|
+
var a_STAR_ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__8048,(0),null);
|
|
39
|
+
var b_STAR_ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__8048,(1),null);
|
|
40
|
+
var ab = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__8048,(2),null);
|
|
41
|
+
var in_a = cljs.core.contains_QMARK_(a,k);
|
|
42
|
+
var in_b = cljs.core.contains_QMARK_(b,k);
|
|
43
|
+
var same = ((in_a) && (((in_b) && ((((!((ab == null)))) || ((((va == null)) && ((vb == null)))))))));
|
|
44
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((((in_a) && ((((!((a_STAR_ == null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,a_STAR_]):null),((((in_b) && ((((!((b_STAR_ == null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,b_STAR_]):null),((same)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ab]):null)], null);
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Diff associative things a and b, comparing only keys in ks (if supplied).
|
|
48
|
+
*/
|
|
49
|
+
clojure.data.diff_associative = (function clojure$data$diff_associative(var_args){
|
|
50
|
+
var G__8079 = arguments.length;
|
|
51
|
+
switch (G__8079) {
|
|
52
|
+
case 2:
|
|
53
|
+
return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
|
54
|
+
|
|
55
|
+
break;
|
|
56
|
+
case 3:
|
|
57
|
+
return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
58
|
+
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
62
|
+
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2 = (function (a,b){
|
|
67
|
+
return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(a,b,clojure.set.union.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(a),cljs.core.keys(b)));
|
|
68
|
+
}));
|
|
69
|
+
|
|
70
|
+
(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3 = (function (a,b,ks){
|
|
71
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (diff1,diff2){
|
|
72
|
+
return cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.merge,diff1,diff2));
|
|
73
|
+
}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,null], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(clojure.data.diff_associative_key,a,b),ks));
|
|
74
|
+
}));
|
|
75
|
+
|
|
76
|
+
(clojure.data.diff_associative.cljs$lang$maxFixedArity = 3);
|
|
77
|
+
|
|
78
|
+
clojure.data.diff_sequential = (function clojure$data$diff_sequential(a,b){
|
|
79
|
+
return cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.data.vectorize,clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(((cljs.core.vector_QMARK_(a))?a:cljs.core.vec(a)),((cljs.core.vector_QMARK_(b))?b:cljs.core.vec(b)),cljs.core.range.cljs$core$IFn$_invoke$arity$1((function (){var x__5087__auto__ = cljs.core.count(a);
|
|
80
|
+
var y__5088__auto__ = cljs.core.count(b);
|
|
81
|
+
return ((x__5087__auto__ > y__5088__auto__) ? x__5087__auto__ : y__5088__auto__);
|
|
82
|
+
})()))));
|
|
83
|
+
});
|
|
84
|
+
clojure.data.diff_set = (function clojure$data$diff_set(a,b){
|
|
85
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(a,b)),cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(b,a)),cljs.core.not_empty(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(a,b))], null);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Implementation detail. Subject to change.
|
|
90
|
+
* @interface
|
|
91
|
+
*/
|
|
92
|
+
clojure.data.EqualityPartition = function(){};
|
|
93
|
+
|
|
94
|
+
var clojure$data$EqualityPartition$equality_partition$dyn_8190 = (function (x){
|
|
95
|
+
var x__5350__auto__ = (((x == null))?null:x);
|
|
96
|
+
var m__5351__auto__ = (clojure.data.equality_partition[goog.typeOf(x__5350__auto__)]);
|
|
97
|
+
if((!((m__5351__auto__ == null)))){
|
|
98
|
+
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5351__auto__.call(null,x));
|
|
99
|
+
} else {
|
|
100
|
+
var m__5349__auto__ = (clojure.data.equality_partition["_"]);
|
|
101
|
+
if((!((m__5349__auto__ == null)))){
|
|
102
|
+
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5349__auto__.call(null,x));
|
|
103
|
+
} else {
|
|
104
|
+
throw cljs.core.missing_protocol("EqualityPartition.equality-partition",x);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
/**
|
|
109
|
+
* Implementation detail. Subject to change.
|
|
110
|
+
*/
|
|
111
|
+
clojure.data.equality_partition = (function clojure$data$equality_partition(x){
|
|
112
|
+
if((((!((x == null)))) && ((!((x.clojure$data$EqualityPartition$equality_partition$arity$1 == null)))))){
|
|
113
|
+
return x.clojure$data$EqualityPartition$equality_partition$arity$1(x);
|
|
114
|
+
} else {
|
|
115
|
+
return clojure$data$EqualityPartition$equality_partition$dyn_8190(x);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Implementation detail. Subject to change.
|
|
122
|
+
* @interface
|
|
123
|
+
*/
|
|
124
|
+
clojure.data.Diff = function(){};
|
|
125
|
+
|
|
126
|
+
var clojure$data$Diff$diff_similar$dyn_8245 = (function (a,b){
|
|
127
|
+
var x__5350__auto__ = (((a == null))?null:a);
|
|
128
|
+
var m__5351__auto__ = (clojure.data.diff_similar[goog.typeOf(x__5350__auto__)]);
|
|
129
|
+
if((!((m__5351__auto__ == null)))){
|
|
130
|
+
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5351__auto__.call(null,a,b));
|
|
131
|
+
} else {
|
|
132
|
+
var m__5349__auto__ = (clojure.data.diff_similar["_"]);
|
|
133
|
+
if((!((m__5349__auto__ == null)))){
|
|
134
|
+
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5349__auto__.call(null,a,b));
|
|
135
|
+
} else {
|
|
136
|
+
throw cljs.core.missing_protocol("Diff.diff-similar",a);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
/**
|
|
141
|
+
* Implementation detail. Subject to change.
|
|
142
|
+
*/
|
|
143
|
+
clojure.data.diff_similar = (function clojure$data$diff_similar(a,b){
|
|
144
|
+
if((((!((a == null)))) && ((!((a.clojure$data$Diff$diff_similar$arity$2 == null)))))){
|
|
145
|
+
return a.clojure$data$Diff$diff_similar$arity$2(a,b);
|
|
146
|
+
} else {
|
|
147
|
+
return clojure$data$Diff$diff_similar$dyn_8245(a,b);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
(clojure.data.EqualityPartition["null"] = true);
|
|
152
|
+
|
|
153
|
+
(clojure.data.equality_partition["null"] = (function (x){
|
|
154
|
+
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
|
155
|
+
}));
|
|
156
|
+
|
|
157
|
+
(clojure.data.EqualityPartition["string"] = true);
|
|
158
|
+
|
|
159
|
+
(clojure.data.equality_partition["string"] = (function (x){
|
|
160
|
+
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
|
161
|
+
}));
|
|
162
|
+
|
|
163
|
+
(clojure.data.EqualityPartition["number"] = true);
|
|
164
|
+
|
|
165
|
+
(clojure.data.equality_partition["number"] = (function (x){
|
|
166
|
+
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
|
167
|
+
}));
|
|
168
|
+
|
|
169
|
+
(clojure.data.EqualityPartition["array"] = true);
|
|
170
|
+
|
|
171
|
+
(clojure.data.equality_partition["array"] = (function (x){
|
|
172
|
+
return new cljs.core.Keyword(null,"sequential","sequential",-1082983960);
|
|
173
|
+
}));
|
|
174
|
+
|
|
175
|
+
(clojure.data.EqualityPartition["function"] = true);
|
|
176
|
+
|
|
177
|
+
(clojure.data.equality_partition["function"] = (function (x){
|
|
178
|
+
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
|
179
|
+
}));
|
|
180
|
+
|
|
181
|
+
(clojure.data.EqualityPartition["boolean"] = true);
|
|
182
|
+
|
|
183
|
+
(clojure.data.equality_partition["boolean"] = (function (x){
|
|
184
|
+
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
|
185
|
+
}));
|
|
186
|
+
|
|
187
|
+
(clojure.data.EqualityPartition["_"] = true);
|
|
188
|
+
|
|
189
|
+
(clojure.data.equality_partition["_"] = (function (x){
|
|
190
|
+
if((((!((x == null))))?(((((x.cljs$lang$protocol_mask$partition0$ & (1024))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IMap$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x))){
|
|
191
|
+
return new cljs.core.Keyword(null,"map","map",1371690461);
|
|
192
|
+
} else {
|
|
193
|
+
if((((!((x == null))))?(((((x.cljs$lang$protocol_mask$partition0$ & (4096))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ISet$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x))){
|
|
194
|
+
return new cljs.core.Keyword(null,"set","set",304602554);
|
|
195
|
+
} else {
|
|
196
|
+
if((((!((x == null))))?(((((x.cljs$lang$protocol_mask$partition0$ & (16777216))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ISequential$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x))){
|
|
197
|
+
return new cljs.core.Keyword(null,"sequential","sequential",-1082983960);
|
|
198
|
+
} else {
|
|
199
|
+
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
|
200
|
+
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}));
|
|
205
|
+
(clojure.data.Diff["null"] = true);
|
|
206
|
+
|
|
207
|
+
(clojure.data.diff_similar["null"] = (function (a,b){
|
|
208
|
+
return clojure.data.atom_diff(a,b);
|
|
209
|
+
}));
|
|
210
|
+
|
|
211
|
+
(clojure.data.Diff["string"] = true);
|
|
212
|
+
|
|
213
|
+
(clojure.data.diff_similar["string"] = (function (a,b){
|
|
214
|
+
return clojure.data.atom_diff(a,b);
|
|
215
|
+
}));
|
|
216
|
+
|
|
217
|
+
(clojure.data.Diff["number"] = true);
|
|
218
|
+
|
|
219
|
+
(clojure.data.diff_similar["number"] = (function (a,b){
|
|
220
|
+
return clojure.data.atom_diff(a,b);
|
|
221
|
+
}));
|
|
222
|
+
|
|
223
|
+
(clojure.data.Diff["array"] = true);
|
|
224
|
+
|
|
225
|
+
(clojure.data.diff_similar["array"] = (function (a,b){
|
|
226
|
+
return clojure.data.diff_sequential(a,b);
|
|
227
|
+
}));
|
|
228
|
+
|
|
229
|
+
(clojure.data.Diff["function"] = true);
|
|
230
|
+
|
|
231
|
+
(clojure.data.diff_similar["function"] = (function (a,b){
|
|
232
|
+
return clojure.data.atom_diff(a,b);
|
|
233
|
+
}));
|
|
234
|
+
|
|
235
|
+
(clojure.data.Diff["boolean"] = true);
|
|
236
|
+
|
|
237
|
+
(clojure.data.diff_similar["boolean"] = (function (a,b){
|
|
238
|
+
return clojure.data.atom_diff(a,b);
|
|
239
|
+
}));
|
|
240
|
+
|
|
241
|
+
(clojure.data.Diff["_"] = true);
|
|
242
|
+
|
|
243
|
+
(clojure.data.diff_similar["_"] = (function (a,b){
|
|
244
|
+
var fexpr__8162 = (function (){var G__8163 = clojure.data.equality_partition(a);
|
|
245
|
+
var G__8163__$1 = (((G__8163 instanceof cljs.core.Keyword))?G__8163.fqn:null);
|
|
246
|
+
switch (G__8163__$1) {
|
|
247
|
+
case "atom":
|
|
248
|
+
return clojure.data.atom_diff;
|
|
249
|
+
|
|
250
|
+
break;
|
|
251
|
+
case "set":
|
|
252
|
+
return clojure.data.diff_set;
|
|
253
|
+
|
|
254
|
+
break;
|
|
255
|
+
case "sequential":
|
|
256
|
+
return clojure.data.diff_sequential;
|
|
257
|
+
|
|
258
|
+
break;
|
|
259
|
+
case "map":
|
|
260
|
+
return clojure.data.diff_associative;
|
|
261
|
+
|
|
262
|
+
break;
|
|
263
|
+
default:
|
|
264
|
+
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__8163__$1)].join('')));
|
|
265
|
+
|
|
266
|
+
}
|
|
267
|
+
})();
|
|
268
|
+
return (fexpr__8162.cljs$core$IFn$_invoke$arity$2 ? fexpr__8162.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__8162.call(null,a,b));
|
|
269
|
+
}));
|
|
270
|
+
/**
|
|
271
|
+
* Recursively compares a and b, returning a tuple of
|
|
272
|
+
* [things-only-in-a things-only-in-b things-in-both].
|
|
273
|
+
* Comparison rules:
|
|
274
|
+
*
|
|
275
|
+
* * For equal a and b, return [nil nil a].
|
|
276
|
+
* * Maps are subdiffed where keys match and values differ.
|
|
277
|
+
* * Sets are never subdiffed.
|
|
278
|
+
* * All sequential things are treated as associative collections
|
|
279
|
+
* by their indexes, with results returned as vectors.
|
|
280
|
+
* * Everything else (including strings!) is treated as
|
|
281
|
+
* an atom and compared for equality.
|
|
282
|
+
*/
|
|
283
|
+
clojure.data.diff = (function clojure$data$diff(a,b){
|
|
284
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){
|
|
285
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);
|
|
286
|
+
} else {
|
|
287
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clojure.data.equality_partition(a),clojure.data.equality_partition(b))){
|
|
288
|
+
return clojure.data.diff_similar(a,b);
|
|
289
|
+
} else {
|
|
290
|
+
return clojure.data.atom_diff(a,b);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
//# sourceMappingURL=clojure.data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["clojure/data.cljs"],"mappings":"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","names":["clojure.data/atom-diff","a","b","cljs.core._EQ_","clojure.data/vectorize","m","cljs.core/seq","cljs.core.reduce","p__8040","vec__8041","cljs.core.nth","result","k","v","cljs.core.assoc","cljs.core/vec","cljs.core.repeat","cljs.core.apply","cljs.core/max","cljs.core/keys","clojure.data/diff-associative-key","vec__8048","va","cljs.core.get","vb","a*","b*","ab","clojure.data/diff","in-a","cljs.core/contains?","in-b","same","var_args","G__8079","clojure.data/diff-associative","js/Error","clojure.data.diff_associative","clojure.set.union","ks","diff1","diff2","cljs.core.doall","cljs.core.map","cljs.core/merge","cljs.core.partial","clojure.data/diff-sequential","cljs.core/vector?","cljs.core.range","x__5087__auto__","y__5088__auto__","cljs.core/count","clojure.data/diff-set","cljs.core/not-empty","clojure.set.difference","clojure.set.intersection","clojure$data$EqualityPartition$equality_partition$dyn","x__5350__auto__","m__5351__auto__","clojure.data/equality-partition","goog/typeOf","m__5349__auto__","cljs.core/missing-protocol","clojure.data/EqualityPartition","x","clojure$data$Diff$diff_similar$dyn","clojure.data/diff-similar","clojure.data/Diff","cljs.core/PROTOCOL_SENTINEL","cljs.core/native-satisfies?","cljs.core/IMap","cljs.core/ISet","cljs.core/ISequential","fexpr__8162","G__8163","cljs.core/Keyword"],"sourcesContent":["; Copyright (c) Rich Hickey. 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 \n ^{:author \"Stuart Halloway\",\n :doc \"Non-core data functions.\"}\n clojure.data\n (:require [clojure.set :as set]))\n\n(declare ^{:arglists '([a b])} diff)\n\n(defn- atom-diff\n \"Internal helper for diff.\"\n [a b]\n (if (= a b) [nil nil a] [a b nil]))\n\n;; for big things a sparse vector class would be better\n(defn- vectorize\n \"Convert an associative-by-numeric-index collection into\n an equivalent vector, with nil for any missing keys\"\n [m]\n (when (seq m)\n (reduce\n (fn [result [k v]] (assoc result k v))\n (vec (repeat (apply max (keys m)) nil))\n m)))\n\n(defn- diff-associative-key\n \"Diff associative things a and b, comparing only the key k.\"\n [a b k]\n (let [va (get a k)\n vb (get b k)\n [a* b* ab] (diff va vb)\n in-a (contains? a k)\n in-b (contains? b k)\n same (and in-a in-b\n (or (not (nil? ab))\n (and (nil? va) (nil? vb))))]\n [(when (and in-a (or (not (nil? a*)) (not same))) {k a*})\n (when (and in-b (or (not (nil? b*)) (not same))) {k b*})\n (when same {k ab})\n ]))\n\n(defn- diff-associative\n \"Diff associative things a and b, comparing only keys in ks (if supplied).\"\n ([a b]\n (diff-associative a b (set/union (keys a) (keys b))))\n ([a b ks]\n (reduce\n (fn [diff1 diff2]\n (doall (map merge diff1 diff2)))\n [nil nil nil]\n (map\n (partial diff-associative-key a b)\n ks))))\n\n(defn- diff-sequential\n [a b]\n (vec (map vectorize (diff-associative\n (if (vector? a) a (vec a))\n (if (vector? b) b (vec b))\n (range (max (count a) (count b)))))))\n\n(defn- diff-set\n [a b]\n [(not-empty (set/difference a b))\n (not-empty (set/difference b a))\n (not-empty (set/intersection a b))])\n\n(defprotocol EqualityPartition\n \"Implementation detail. Subject to change.\"\n (equality-partition [x] \"Implementation detail. Subject to change.\"))\n\n(defprotocol Diff\n \"Implementation detail. Subject to change.\"\n (diff-similar [a b] \"Implementation detail. Subject to change.\"))\n\n(extend-protocol EqualityPartition\n nil\n (equality-partition [x] :atom)\n\n string\n (equality-partition [x] :atom)\n\n number\n (equality-partition [x] :atom)\n\n array\n (equality-partition [x] :sequential)\n\n function\n (equality-partition [x] :atom)\n\n boolean\n (equality-partition [x] :atom)\n\n default\n (equality-partition [x]\n (cond\n (satisfies? IMap x) :map\n (satisfies? ISet x) :set\n (satisfies? ISequential x) :sequential\n :default :atom)))\n\n(extend-protocol Diff\n nil\n (diff-similar [a b]\n (atom-diff a b))\n\n string\n (diff-similar [a b]\n (atom-diff a b))\n\n number\n (diff-similar [a b]\n (atom-diff a b))\n\n array\n (diff-similar [a b]\n (diff-sequential a b))\n\n function\n (diff-similar [a b]\n (atom-diff a b))\n\n boolean\n (diff-similar [a b]\n (atom-diff a b))\n\n default\n (diff-similar [a b]\n ((case (equality-partition a)\n :atom atom-diff\n :set diff-set\n :sequential diff-sequential\n :map diff-associative)\n a b)))\n\n(defn diff\n \"Recursively compares a and b, returning a tuple of\n [things-only-in-a things-only-in-b things-in-both].\n Comparison rules:\n\n * For equal a and b, return [nil nil a].\n * Maps are subdiffed where keys match and values differ.\n * Sets are never subdiffed.\n * All sequential things are treated as associative collections\n by their indexes, with results returned as vectors.\n * Everything else (including strings!) is treated as\n an atom and compared for equality.\"\n [a b]\n (if (= a b)\n [nil nil a]\n (if (= (equality-partition a) (equality-partition b))\n (diff-similar a b)\n (atom-diff a b))))\n \n"],"x_google_ignoreList":[0]}
|