コード例 #1
0
ファイル: overrides.go プロジェクト: shaunstanislaus/cljs2go
func init() {
	Ep = func(ep *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(ep, 1, func(x interface{}) interface{} {
			if cljs_core.Nil_(x) {
				return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "atom", Fqn: "atom", X_hash: float64(-397043653)})
			} else {
				if cljs_core.Value_(x).Kind() == reflect.String {
					return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "atom", Fqn: "atom", X_hash: float64(-397043653)})
				} else {
					if cljs_core.Value_(x).Kind() == reflect.Float64 {
						return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "atom", Fqn: "atom", X_hash: float64(-397043653)})
					} else {
						if cljs_core.Value_(x).Kind() == reflect.Slice {
							return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "sequential", Fqn: "sequential", X_hash: float64(-1082983960)})
						} else {
							if cljs_core.Fn_QMARK_.Arity1IB(x) {
								return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "atom", Fqn: "atom", X_hash: float64(-397043653)})
							} else {
								if cljs_core.Value_(x).Kind() == reflect.Bool {
									return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "atom", Fqn: "atom", X_hash: float64(-397043653)})
								} else {
									if cljs_core.DecoratedValue_(x).Type().Implements(reflect.TypeOf((*cljs_core.CljsCoreIMap)(nil)).Elem()) {
										return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "map", Fqn: "map", X_hash: float64(1371690461)})
									} else {
										if cljs_core.DecoratedValue_(x).Type().Implements(reflect.TypeOf((*cljs_core.CljsCoreISet)(nil)).Elem()) {
											return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "set", Fqn: "set", X_hash: float64(304602554)})
										} else {
											if cljs_core.DecoratedValue_(x).Type().Implements(reflect.TypeOf((*cljs_core.CljsCoreISequential)(nil)).Elem()) {
												return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "sequential", Fqn: "sequential", X_hash: float64(-1082983960)})
											} else {
												return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "atom", Fqn: "atom", X_hash: float64(-397043653)})

											}
										}
									}
								}
							}
						}
					}
				}
			}
		})
	}(&cljs_core.AFn{})

	Ds = func(ds *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(ds, 2, func(a interface{}, b interface{}) interface{} {
			return func() interface{} {
				var G__17 = func() interface{} {
					if cljs_core.Value_(Ep.X_invoke_Arity1(a).(*cljs_core.CljsCoreKeyword)).Type().AssignableTo(reflect.TypeOf((**cljs_core.CljsCoreKeyword)(nil)).Elem()) {
						return cljs_core.Native_get_instance_field.X_invoke_Arity2(cljs_core.Keyword.X_invoke_Arity1(Ep.X_invoke_Arity1(a).(*cljs_core.CljsCoreKeyword)), "Fqn")
					} else {
						return nil
					}
				}()
				_ = G__17
				switch G__17 {
				case "map":
					return Diff_associative

				case "sequential":
					return Diff_sequential

				case "set":
					return Diff_set

				case "atom":
					return Atom_diff

				default:
					panic((&js.Error{strings.Join([]string{cljs_core.Str.X_invoke_Arity1("No matching clause: ").(string), cljs_core.Str.X_invoke_Arity1(Ep.X_invoke_Arity1(a).(*cljs_core.CljsCoreKeyword)).(string)}, ``)}))

				}
			}().(cljs_core.CljsCoreIFn).X_invoke_Arity2(a, b)
		})
	}(&cljs_core.AFn{})

	Diff = func(diff *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(diff, 2, func(a interface{}, b interface{}) interface{} {
			if cljs_core.X_EQ_.Arity2IIB(a, b) {
				return (&cljs_core.CljsCorePersistentVector{nil, float64(3), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{nil, nil, a}, nil})
			} else {
				if cljs_core.X_EQ_.Arity2IIB(Ep.X_invoke_Arity1(a).(*cljs_core.CljsCoreKeyword), Ep.X_invoke_Arity1(b).(*cljs_core.CljsCoreKeyword)) {
					return Ds.X_invoke_Arity2(a, b)
				} else {
					return Atom_diff.X_invoke_Arity2(a, b).(cljs_core.CljsCoreIVector)
				}
			}
		})
	}(&cljs_core.AFn{})

}
コード例 #2
0
ファイル: data.go プロジェクト: shaunstanislaus/cljs2go
func init() {
	Atom_diff = func(atom_diff *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(atom_diff, 2, func(a interface{}, b interface{}) interface{} {
			if cljs_core.X_EQ_.Arity2IIB(a, b) {
				return (&cljs_core.CljsCorePersistentVector{nil, float64(3), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{nil, nil, a}, nil})
			} else {
				return (&cljs_core.CljsCorePersistentVector{nil, float64(3), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{a, b, nil}, nil})
			}
		})
	}(&cljs_core.AFn{})

	Vectorize = func(vectorize *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(vectorize, 1, func(m interface{}) interface{} {
			if cljs_core.Truth_(cljs_core.Seq.Arity1IQ(m)) {
				return cljs_core.Reduce.X_invoke_Arity3(func(G__5 *cljs_core.AFn) *cljs_core.AFn {
					return cljs_core.Fn(G__5, 2, func(result interface{}, p__3 interface{}) interface{} {
						{
							var vec__4 = p__3
							var k = cljs_core.Nth.X_invoke_Arity3(vec__4, float64(0), nil)
							var v = cljs_core.Nth.X_invoke_Arity3(vec__4, float64(1), nil)
							_, _, _ = vec__4, k, v
							return cljs_core.Assoc.X_invoke_Arity3(result, k, v)
						}
					})
				}(&cljs_core.AFn{}), cljs_core.Vec.X_invoke_Arity1(cljs_core.Repeat.X_invoke_Arity2(cljs_core.Apply.X_invoke_Arity2(cljs_core.Max, cljs_core.Keys.X_invoke_Arity1(m)), nil).(*cljs_core.CljsCoreLazySeq)), m)
			} else {
				return nil
			}
		})
	}(&cljs_core.AFn{})

	Diff_associative_key = func(diff_associative_key *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(diff_associative_key, 3, func(a interface{}, b interface{}, k interface{}) interface{} {
			{
				var va = cljs_core.Get.X_invoke_Arity2(a, k)
				var vb = cljs_core.Get.X_invoke_Arity2(b, k)
				var vec__9 = func() interface{} {
					var G__10 = va
					var G__11 = vb
					_, _ = G__10, G__11
					return Diff.X_invoke_Arity2(G__10, G__11)
				}()
				var a_STAR_ = cljs_core.Nth.X_invoke_Arity3(vec__9, float64(0), nil)
				var b_STAR_ = cljs_core.Nth.X_invoke_Arity3(vec__9, float64(1), nil)
				var ab = cljs_core.Nth.X_invoke_Arity3(vec__9, float64(2), nil)
				var in_a = cljs_core.Contains_QMARK_.Arity2IIB(a, k)
				var in_b = cljs_core.Contains_QMARK_.Arity2IIB(b, k)
				var same = (in_a) && (in_b) && ((!(cljs_core.Nil_(ab))) || ((cljs_core.Nil_(va)) && (cljs_core.Nil_(vb))))
				_, _, _, _, _, _, _, _, _ = va, vb, vec__9, a_STAR_, b_STAR_, ab, in_a, in_b, same
				return (&cljs_core.CljsCorePersistentVector{nil, float64(3), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{func() interface{} {
					if (in_a) && ((!(cljs_core.Nil_(a_STAR_))) || (!(same))) {
						return cljs_core.CljsCorePersistentArrayMap_FromArray.X_invoke_Arity3([]interface{}{k, a_STAR_}, true, false).(*cljs_core.CljsCorePersistentArrayMap)
					} else {
						return nil
					}
				}(), func() interface{} {
					if (in_b) && ((!(cljs_core.Nil_(b_STAR_))) || (!(same))) {
						return cljs_core.CljsCorePersistentArrayMap_FromArray.X_invoke_Arity3([]interface{}{k, b_STAR_}, true, false).(*cljs_core.CljsCorePersistentArrayMap)
					} else {
						return nil
					}
				}(), func() interface{} {
					if cljs_core.Truth_(same) {
						return cljs_core.CljsCorePersistentArrayMap_FromArray.X_invoke_Arity3([]interface{}{k, ab}, true, false).(*cljs_core.CljsCorePersistentArrayMap)
					} else {
						return nil
					}
				}()}, nil})
			}
		})
	}(&cljs_core.AFn{})

	Diff_associative = func(diff_associative *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(diff_associative, 3, func(a interface{}, b interface{}) interface{} {
			return diff_associative.X_invoke_Arity3(a, b, clojure_set.Union.X_invoke_Arity2(cljs_core.Keys.X_invoke_Arity1(a), cljs_core.Keys.X_invoke_Arity1(b)))
		}, func(a interface{}, b interface{}, ks interface{}) interface{} {
			return cljs_core.Reduce.X_invoke_Arity3(func(G__15 *cljs_core.AFn) *cljs_core.AFn {
				return cljs_core.Fn(G__15, 2, func(diff1 interface{}, diff2 interface{}) interface{} {
					return cljs_core.Doall.X_invoke_Arity1(cljs_core.Map_.X_invoke_Arity3(cljs_core.Merge, diff1, diff2).(*cljs_core.CljsCoreLazySeq))
				})
			}(&cljs_core.AFn{}), (&cljs_core.CljsCorePersistentVector{nil, float64(3), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{nil, nil, nil}, nil}), cljs_core.Map_.X_invoke_Arity2(cljs_core.Partial.X_invoke_Arity3(Diff_associative_key, a, b).(cljs_core.CljsCoreIFn), ks).(*cljs_core.CljsCoreLazySeq))
		})
	}(&cljs_core.AFn{})

	Diff_sequential = func(diff_sequential *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(diff_sequential, 2, func(a interface{}, b interface{}) interface{} {
			return cljs_core.Vec.X_invoke_Arity1(cljs_core.Map_.X_invoke_Arity2(Vectorize, Diff_associative.X_invoke_Arity3(func() interface{} {
				if cljs_core.Vector_QMARK_.Arity1IB(a) {
					return a
				} else {
					return cljs_core.Vec.X_invoke_Arity1(a)
				}
			}(), func() interface{} {
				if cljs_core.Vector_QMARK_.Arity1IB(b) {
					return b
				} else {
					return cljs_core.Vec.X_invoke_Arity1(b)
				}
			}(), cljs_core.Range_.X_invoke_Arity1(func(x, y float64) float64 {
				if x > y {
					return x
				} else {
					return y
				}
			}(cljs_core.Count.X_invoke_Arity1(a).(float64), cljs_core.Count.X_invoke_Arity1(b).(float64))).(*cljs_core.CljsCoreRange))).(*cljs_core.CljsCoreLazySeq))
		})
	}(&cljs_core.AFn{})

	Diff_set = func(diff_set *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(diff_set, 2, func(a interface{}, b interface{}) interface{} {
			return (&cljs_core.CljsCorePersistentVector{nil, float64(3), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{cljs_core.Not_empty.X_invoke_Arity1(clojure_set.Difference.X_invoke_Arity2(a, b)), cljs_core.Not_empty.X_invoke_Arity1(clojure_set.Difference.X_invoke_Arity2(b, a)), cljs_core.Not_empty.X_invoke_Arity1(clojure_set.Intersection.X_invoke_Arity2(a, b))}, nil})
		})
	}(&cljs_core.AFn{})

	Equality_partition = func(equality_partition *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(equality_partition, 1, func(x interface{}) interface{} {
			return cljs_core.Decorate_(x).(ClojureDataEqualityPartition).Equality_partition_Arity1()
		})
	}(&cljs_core.AFn{})

	Diff_similar = func(diff_similar *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(diff_similar, 2, func(a interface{}, b interface{}) interface{} {
			return cljs_core.Decorate_(a).(ClojureDataDiff).Diff_similar_Arity2(b)
		})
	}(&cljs_core.AFn{})

}
コード例 #3
0
ファイル: zip.go プロジェクト: shaunstanislaus/cljs2go
func init() {
	Zipper = func(zipper *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(zipper, 4, func(branch_QMARK_ interface{}, children interface{}, make_node interface{}, root interface{}) interface{} {
			return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{root, nil}, nil}), (&cljs_core.CljsCorePersistentArrayMap{nil, float64(3), []interface{}{(&cljs_core.CljsCoreKeyword{Ns: "zip", Name: "make-node", Fqn: "zip/make-node", X_hash: float64(1103800591)}), make_node, (&cljs_core.CljsCoreKeyword{Ns: "zip", Name: "children", Fqn: "zip/children", X_hash: float64(-940194589)}), children, (&cljs_core.CljsCoreKeyword{Ns: "zip", Name: "branch?", Fqn: "zip/branch?", X_hash: float64(-998880862)}), branch_QMARK_}, nil}))
		})
	}(&cljs_core.AFn{})

	Seq_zip = func(seq_zip *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(seq_zip, 1, func(root interface{}) interface{} {
			return Zipper.X_invoke_Arity4(cljs_core.Seq_QMARK_, cljs_core.Identity, func(G__1 *cljs_core.AFn) *cljs_core.AFn {
				return cljs_core.Fn(G__1, 2, func(node interface{}, children interface{}) interface{} {
					return cljs_core.With_meta.X_invoke_Arity2(children, cljs_core.Meta.X_invoke_Arity1(node))
				})
			}(&cljs_core.AFn{}), root)
		})
	}(&cljs_core.AFn{})

	Vector_zip = func(vector_zip *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(vector_zip, 1, func(root interface{}) interface{} {
			return Zipper.X_invoke_Arity4(cljs_core.Vector_QMARK_, cljs_core.Seq, func(G__2 *cljs_core.AFn) *cljs_core.AFn {
				return cljs_core.Fn(G__2, 2, func(node interface{}, children interface{}) interface{} {
					return cljs_core.With_meta.X_invoke_Arity2(cljs_core.Vec.X_invoke_Arity1(children), cljs_core.Meta.X_invoke_Arity1(node))
				})
			}(&cljs_core.AFn{}), root)
		})
	}(&cljs_core.AFn{})

	Xml_zip = func(xml_zip *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(xml_zip, 1, func(root interface{}) interface{} {
			return Zipper.X_invoke_Arity4(cljs_core.Complement.X_invoke_Arity1(cljs_core.String_QMARK_).(cljs_core.CljsCoreIFn), cljs_core.Comp.X_invoke_Arity2(cljs_core.Seq, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "content", Fqn: "content", X_hash: float64(15833224)})).(cljs_core.CljsCoreIFn), func(G__3 *cljs_core.AFn) *cljs_core.AFn {
				return cljs_core.Fn(G__3, 2, func(node interface{}, children interface{}) interface{} {
					return cljs_core.Assoc.X_invoke_Arity3(node, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "content", Fqn: "content", X_hash: float64(15833224)}), func() interface{} {
						var and__159__auto__ = children
						_ = and__159__auto__
						if cljs_core.Truth_(and__159__auto__) {
							return cljs_core.Apply.X_invoke_Arity2(cljs_core.Vector, children)
						} else {
							return and__159__auto__
						}
					}())
				})
			}(&cljs_core.AFn{}), root)
		})
	}(&cljs_core.AFn{})

	Node = func(node *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(node, 1, func(loc interface{}) interface{} {
			{
				var G__5 = float64(0)
				_ = G__5
				return loc.(cljs_core.CljsCoreIFn).X_invoke_Arity1(G__5)
			}
		})
	}(&cljs_core.AFn{})

	Branch_QMARK_ = func(branch_QMARK_ *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(branch_QMARK_, 1, func(loc interface{}) interface{} {
			return (&cljs_core.CljsCoreKeyword{Ns: "zip", Name: "branch?", Fqn: "zip/branch?", X_hash: float64(-998880862)}).X_invoke_Arity1(cljs_core.Meta.X_invoke_Arity1(loc)).(cljs_core.CljsCoreIFn).X_invoke_Arity1(Node.X_invoke_Arity1(loc))
		})
	}(&cljs_core.AFn{})

	Children = func(children *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(children, 1, func(loc interface{}) interface{} {
			if cljs_core.Truth_(Branch_QMARK_.X_invoke_Arity1(loc)) {
				return (&cljs_core.CljsCoreKeyword{Ns: "zip", Name: "children", Fqn: "zip/children", X_hash: float64(-940194589)}).X_invoke_Arity1(cljs_core.Meta.X_invoke_Arity1(loc)).(cljs_core.CljsCoreIFn).X_invoke_Arity1(Node.X_invoke_Arity1(loc))
			} else {
				panic("called children on a leaf node")
			}
		})
	}(&cljs_core.AFn{})

	Make_node = func(make_node *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(make_node, 3, func(loc interface{}, node interface{}, children interface{}) interface{} {
			return (&cljs_core.CljsCoreKeyword{Ns: "zip", Name: "make-node", Fqn: "zip/make-node", X_hash: float64(1103800591)}).X_invoke_Arity1(cljs_core.Meta.X_invoke_Arity1(loc)).(cljs_core.CljsCoreIFn).X_invoke_Arity2(node, children)
		})
	}(&cljs_core.AFn{})

	Path = func(path *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(path, 1, func(loc interface{}) interface{} {
			return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "pnodes", Fqn: "pnodes", X_hash: float64(1739080565)}).X_invoke_Arity1(func() interface{} {
				var G__7 = float64(1)
				_ = G__7
				return loc.(cljs_core.CljsCoreIFn).X_invoke_Arity1(G__7)
			}())
		})
	}(&cljs_core.AFn{})

	Lefts = func(lefts *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(lefts, 1, func(loc interface{}) interface{} {
			return cljs_core.Seq.Arity1IQ((&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}).X_invoke_Arity1(func() interface{} {
				var G__9 = float64(1)
				_ = G__9
				return loc.(cljs_core.CljsCoreIFn).X_invoke_Arity1(G__9)
			}()))
		})
	}(&cljs_core.AFn{})

	Rights = func(rights *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(rights, 1, func(loc interface{}) interface{} {
			return (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}).X_invoke_Arity1(func() interface{} {
				var G__11 = float64(1)
				_ = G__11
				return loc.(cljs_core.CljsCoreIFn).X_invoke_Arity1(G__11)
			}())
		})
	}(&cljs_core.AFn{})

	Down = func(down *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(down, 1, func(loc interface{}) interface{} {
			if cljs_core.Truth_(Branch_QMARK_.X_invoke_Arity1(loc)) {
				{
					var vec__14 = loc
					var node = cljs_core.Nth.X_invoke_Arity3(vec__14, float64(0), nil)
					var path = cljs_core.Nth.X_invoke_Arity3(vec__14, float64(1), nil)
					var vec__15 = Children.X_invoke_Arity1(loc)
					var c = cljs_core.Nth.X_invoke_Arity3(vec__15, float64(0), nil)
					var cnext = cljs_core.Seq_(cljs_core.Nthnext.X_invoke_Arity2(vec__15, float64(1)))
					var cs = vec__15
					_, _, _, _, _, _, _ = vec__14, node, path, vec__15, c, cnext, cs
					if cljs_core.Truth_(cs) {
						return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{c, (&cljs_core.CljsCorePersistentArrayMap{nil, float64(4), []interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}), cljs_core.CljsCorePersistentVector_EMPTY, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "pnodes", Fqn: "pnodes", X_hash: float64(1739080565)}), func() interface{} {
							if cljs_core.Truth_(path) {
								return cljs_core.Conj.X_invoke_Arity2((&cljs_core.CljsCoreKeyword{Ns: nil, Name: "pnodes", Fqn: "pnodes", X_hash: float64(1739080565)}).X_invoke_Arity1(path), node)
							} else {
								return (&cljs_core.CljsCorePersistentVector{nil, float64(1), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{node}, nil})
							}
						}(), (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "ppath", Fqn: "ppath", X_hash: float64(-1758182784)}), path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}), cnext}, nil})}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
					} else {
						return nil
					}
				}
			} else {
				return nil
			}
		})
	}(&cljs_core.AFn{})

	Up = func(up *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(up, 1, func(loc interface{}) interface{} {
			{
				var vec__18 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__18, float64(0), nil)
				var map__19 = cljs_core.Nth.X_invoke_Arity3(vec__18, float64(1), nil)
				var map__19___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__19) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__19)
					} else {
						return map__19
					}
				}()
				var path = map__19___1
				var l = cljs_core.Get.X_invoke_Arity2(map__19___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}))
				var ppath = cljs_core.Get.X_invoke_Arity2(map__19___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "ppath", Fqn: "ppath", X_hash: float64(-1758182784)}))
				var pnodes = cljs_core.Get.X_invoke_Arity2(map__19___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "pnodes", Fqn: "pnodes", X_hash: float64(1739080565)}))
				var r = cljs_core.Get.X_invoke_Arity2(map__19___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}))
				var changed_QMARK_ = cljs_core.Get.X_invoke_Arity2(map__19___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "changed?", Fqn: "changed?", X_hash: float64(-437828330)}))
				_, _, _, _, _, _, _, _, _, _ = vec__18, node, map__19, map__19___1, path, l, ppath, pnodes, r, changed_QMARK_
				if cljs_core.Truth_(pnodes) {
					{
						var pnode = cljs_core.Peek.X_invoke_Arity1(pnodes)
						_ = pnode
						return cljs_core.With_meta.X_invoke_Arity2(func() cljs_core.CljsCoreIVector {
							if cljs_core.Truth_(changed_QMARK_) {
								return (&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{Make_node.X_invoke_Arity3(loc, pnode, cljs_core.Concat.X_invoke_Arity2(l, cljs_core.Cons.X_invoke_Arity2(node, r).(*cljs_core.CljsCoreCons)).(*cljs_core.CljsCoreLazySeq)), func() interface{} {
									var and__159__auto__ = ppath
									_ = and__159__auto__
									if cljs_core.Truth_(and__159__auto__) {
										return cljs_core.Assoc.X_invoke_Arity3(ppath, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "changed?", Fqn: "changed?", X_hash: float64(-437828330)}), true)
									} else {
										return and__159__auto__
									}
								}()}, nil})
							} else {
								return (&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{pnode, ppath}, nil})
							}
						}(), cljs_core.Meta.X_invoke_Arity1(loc))
					}
				} else {
					return nil
				}
			}
		})
	}(&cljs_core.AFn{})

	Root = func(root *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(root, 1, func(loc interface{}) interface{} {
			for {
				if cljs_core.X_EQ_.Arity2IIB((&cljs_core.CljsCoreKeyword{Ns: nil, Name: "end", Fqn: "end", X_hash: float64(-268185958)}), func() interface{} {
					var G__21 = float64(1)
					_ = G__21
					return loc.(cljs_core.CljsCoreIFn).X_invoke_Arity1(G__21)
				}()) {
					return Node.X_invoke_Arity1(loc)
				} else {
					{
						var p = Up.X_invoke_Arity1(loc)
						_ = p
						if cljs_core.Truth_(p) {
							loc = p
							continue
						} else {
							return Node.X_invoke_Arity1(loc)
						}
					}
				}
			}
		})
	}(&cljs_core.AFn{})

	Right = func(right *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(right, 1, func(loc interface{}) interface{} {
			{
				var vec__25 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__25, float64(0), nil)
				var map__26 = cljs_core.Nth.X_invoke_Arity3(vec__25, float64(1), nil)
				var map__26___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__26) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__26)
					} else {
						return map__26
					}
				}()
				var path = map__26___1
				var l = cljs_core.Get.X_invoke_Arity2(map__26___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}))
				var vec__27 = cljs_core.Get.X_invoke_Arity2(map__26___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}))
				var r = cljs_core.Nth.X_invoke_Arity3(vec__27, float64(0), nil)
				var rnext = cljs_core.Seq_(cljs_core.Nthnext.X_invoke_Arity2(vec__27, float64(1)))
				var rs = vec__27
				_, _, _, _, _, _, _, _, _, _ = vec__25, node, map__26, map__26___1, path, l, vec__27, r, rnext, rs
				if cljs_core.Truth_(func() interface{} {
					var and__159__auto__ = path
					_ = and__159__auto__
					if cljs_core.Truth_(and__159__auto__) {
						return rs
					} else {
						return and__159__auto__
					}
				}()) {
					return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{r, cljs_core.Assoc.X_invoke_ArityVariadic(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}), cljs_core.Conj.X_invoke_Arity2(l, node), cljs_core.Array_seq.X_invoke_Arity1([]interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}), rnext}))}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
				} else {
					return nil
				}
			}
		})
	}(&cljs_core.AFn{})

	Rightmost = func(rightmost *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(rightmost, 1, func(loc interface{}) interface{} {
			{
				var vec__30 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__30, float64(0), nil)
				var map__31 = cljs_core.Nth.X_invoke_Arity3(vec__30, float64(1), nil)
				var map__31___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__31) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__31)
					} else {
						return map__31
					}
				}()
				var path = map__31___1
				var l = cljs_core.Get.X_invoke_Arity2(map__31___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}))
				var r = cljs_core.Get.X_invoke_Arity2(map__31___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}))
				_, _, _, _, _, _, _ = vec__30, node, map__31, map__31___1, path, l, r
				if cljs_core.Truth_(func() interface{} {
					var and__159__auto__ = path
					_ = and__159__auto__
					if cljs_core.Truth_(and__159__auto__) {
						return r
					} else {
						return and__159__auto__
					}
				}()) {
					return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{cljs_core.Last.X_invoke_Arity1(r), cljs_core.Assoc.X_invoke_ArityVariadic(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}), cljs_core.Apply.X_invoke_Arity4(cljs_core.Conj, l, node, cljs_core.Seq_(cljs_core.Butlast.X_invoke_Arity1(r))), cljs_core.Array_seq.X_invoke_Arity1([]interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}), nil}))}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
				} else {
					return loc
				}
			}
		})
	}(&cljs_core.AFn{})

	Left = func(left *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(left, 1, func(loc interface{}) interface{} {
			{
				var vec__34 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__34, float64(0), nil)
				var map__35 = cljs_core.Nth.X_invoke_Arity3(vec__34, float64(1), nil)
				var map__35___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__35) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__35)
					} else {
						return map__35
					}
				}()
				var path = map__35___1
				var l = cljs_core.Get.X_invoke_Arity2(map__35___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}))
				var r = cljs_core.Get.X_invoke_Arity2(map__35___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}))
				_, _, _, _, _, _, _ = vec__34, node, map__35, map__35___1, path, l, r
				if cljs_core.Truth_(func() interface{} {
					var and__159__auto__ = path
					_ = and__159__auto__
					if cljs_core.Truth_(and__159__auto__) {
						return cljs_core.Seq.Arity1IQ(l)
					} else {
						return and__159__auto__
					}
				}()) {
					return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{cljs_core.Peek.X_invoke_Arity1(l), cljs_core.Assoc.X_invoke_ArityVariadic(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}), cljs_core.Pop.X_invoke_Arity1(l), cljs_core.Array_seq.X_invoke_Arity1([]interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}), cljs_core.Cons.X_invoke_Arity2(node, r).(*cljs_core.CljsCoreCons)}))}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
				} else {
					return nil
				}
			}
		})
	}(&cljs_core.AFn{})

	Leftmost = func(leftmost *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(leftmost, 1, func(loc interface{}) interface{} {
			{
				var vec__38 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__38, float64(0), nil)
				var map__39 = cljs_core.Nth.X_invoke_Arity3(vec__38, float64(1), nil)
				var map__39___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__39) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__39)
					} else {
						return map__39
					}
				}()
				var path = map__39___1
				var l = cljs_core.Get.X_invoke_Arity2(map__39___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}))
				var r = cljs_core.Get.X_invoke_Arity2(map__39___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}))
				_, _, _, _, _, _, _ = vec__38, node, map__39, map__39___1, path, l, r
				if cljs_core.Truth_(func() interface{} {
					var and__159__auto__ = path
					_ = and__159__auto__
					if cljs_core.Truth_(and__159__auto__) {
						return cljs_core.Seq.Arity1IQ(l)
					} else {
						return and__159__auto__
					}
				}()) {
					return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{cljs_core.First.X_invoke_Arity1(l), cljs_core.Assoc.X_invoke_ArityVariadic(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}), cljs_core.CljsCorePersistentVector_EMPTY, cljs_core.Array_seq.X_invoke_Arity1([]interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}), cljs_core.Concat.X_invoke_ArityVariadic(cljs_core.Rest.Arity1IQ(l), (&cljs_core.CljsCorePersistentVector{nil, float64(1), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{node}, nil}), cljs_core.Array_seq.X_invoke_Arity1([]interface{}{r})).(*cljs_core.CljsCoreLazySeq)}))}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
				} else {
					return loc
				}
			}
		})
	}(&cljs_core.AFn{})

	Insert_left = func(insert_left *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(insert_left, 2, func(loc interface{}, item interface{}) interface{} {
			{
				var vec__42 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__42, float64(0), nil)
				var map__43 = cljs_core.Nth.X_invoke_Arity3(vec__42, float64(1), nil)
				var map__43___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__43) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__43)
					} else {
						return map__43
					}
				}()
				var path = map__43___1
				var l = cljs_core.Get.X_invoke_Arity2(map__43___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}))
				_, _, _, _, _, _ = vec__42, node, map__43, map__43___1, path, l
				if cljs_core.Nil_(path) {
					panic("Insert at top")
				} else {
					return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{node, cljs_core.Assoc.X_invoke_ArityVariadic(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}), cljs_core.Conj.X_invoke_Arity2(l, item), cljs_core.Array_seq.X_invoke_Arity1([]interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "changed?", Fqn: "changed?", X_hash: float64(-437828330)}), true}))}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
				}
			}
		})
	}(&cljs_core.AFn{})

	Insert_right = func(insert_right *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(insert_right, 2, func(loc interface{}, item interface{}) interface{} {
			{
				var vec__46 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__46, float64(0), nil)
				var map__47 = cljs_core.Nth.X_invoke_Arity3(vec__46, float64(1), nil)
				var map__47___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__47) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__47)
					} else {
						return map__47
					}
				}()
				var path = map__47___1
				var r = cljs_core.Get.X_invoke_Arity2(map__47___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}))
				_, _, _, _, _, _ = vec__46, node, map__47, map__47___1, path, r
				if cljs_core.Nil_(path) {
					panic("Insert at top")
				} else {
					return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{node, cljs_core.Assoc.X_invoke_ArityVariadic(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}), cljs_core.Cons.X_invoke_Arity2(item, r).(*cljs_core.CljsCoreCons), cljs_core.Array_seq.X_invoke_Arity1([]interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "changed?", Fqn: "changed?", X_hash: float64(-437828330)}), true}))}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
				}
			}
		})
	}(&cljs_core.AFn{})

	Replace = func(replace *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(replace, 2, func(loc interface{}, node interface{}) interface{} {
			{
				var vec__49 = loc
				var ___ = cljs_core.Nth.X_invoke_Arity3(vec__49, float64(0), nil)
				var path = cljs_core.Nth.X_invoke_Arity3(vec__49, float64(1), nil)
				_, _, _ = vec__49, ___, path
				return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{node, cljs_core.Assoc.X_invoke_Arity3(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "changed?", Fqn: "changed?", X_hash: float64(-437828330)}), true)}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
			}
		})
	}(&cljs_core.AFn{})

	Edit = func(edit *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(edit, 2, func(loc_f_args__ ...interface{}) interface{} {
			var loc = loc_f_args__[0]
			var f = loc_f_args__[1]
			var args = cljs_core.Seq.Arity1IQ(loc_f_args__[2])
			_, _, _ = loc, f, args
			return Replace.X_invoke_Arity2(loc, cljs_core.Apply.X_invoke_Arity3(f, Node.X_invoke_Arity1(loc), args))
		})
	}(&cljs_core.AFn{})

	Insert_child = func(insert_child *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(insert_child, 2, func(loc interface{}, item interface{}) interface{} {
			return Replace.X_invoke_Arity2(loc, Make_node.X_invoke_Arity3(loc, Node.X_invoke_Arity1(loc), cljs_core.Cons.X_invoke_Arity2(item, Children.X_invoke_Arity1(loc)).(*cljs_core.CljsCoreCons)))
		})
	}(&cljs_core.AFn{})

	Append_child = func(append_child *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(append_child, 2, func(loc interface{}, item interface{}) interface{} {
			return Replace.X_invoke_Arity2(loc, Make_node.X_invoke_Arity3(loc, Node.X_invoke_Arity1(loc), cljs_core.Concat.X_invoke_Arity2(Children.X_invoke_Arity1(loc), (&cljs_core.CljsCorePersistentVector{nil, float64(1), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{item}, nil})).(*cljs_core.CljsCoreLazySeq)))
		})
	}(&cljs_core.AFn{})

	Next = func(next *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(next, 1, func(loc interface{}) interface{} {
			if cljs_core.X_EQ_.Arity2IIB((&cljs_core.CljsCoreKeyword{Ns: nil, Name: "end", Fqn: "end", X_hash: float64(-268185958)}), func() interface{} {
				var G__51 = float64(1)
				_ = G__51
				return loc.(cljs_core.CljsCoreIFn).X_invoke_Arity1(G__51)
			}()) {
				return loc
			} else {
				{
					var or__171__auto__ = func() interface{} {
						var and__159__auto__ = Branch_QMARK_.X_invoke_Arity1(loc)
						_ = and__159__auto__
						if cljs_core.Truth_(and__159__auto__) {
							return Down.X_invoke_Arity1(loc)
						} else {
							return and__159__auto__
						}
					}()
					_ = or__171__auto__
					if cljs_core.Truth_(or__171__auto__) {
						return or__171__auto__
					} else {
						{
							var or__171__auto_____1 = Right.X_invoke_Arity1(loc)
							_ = or__171__auto_____1
							if cljs_core.Truth_(or__171__auto_____1) {
								return or__171__auto_____1
							} else {
								{
									var p interface{} = loc
									_ = p
									for {
										if cljs_core.Truth_(Up.X_invoke_Arity1(p)) {
											{
												var or__171__auto_____2 = Right.X_invoke_Arity1(Up.X_invoke_Arity1(p))
												_ = or__171__auto_____2
												if cljs_core.Truth_(or__171__auto_____2) {
													return or__171__auto_____2
												} else {
													p = Up.X_invoke_Arity1(p)
													continue
												}
											}
										} else {
											return (&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{Node.X_invoke_Arity1(p), (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "end", Fqn: "end", X_hash: float64(-268185958)})}, nil})
										}
									}
								}
							}
						}
					}
				}
			}
		})
	}(&cljs_core.AFn{})

	Prev = func(prev *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(prev, 1, func(loc interface{}) interface{} {
			{
				var temp__4386__auto__ = Left.X_invoke_Arity1(loc)
				_ = temp__4386__auto__
				if cljs_core.Truth_(temp__4386__auto__) {
					{
						var lloc = temp__4386__auto__
						_ = lloc
						{
							var loc___1 interface{} = lloc
							_ = loc___1
							for {
								{
									var temp__4386__auto_____1 = func() interface{} {
										var and__159__auto__ = Branch_QMARK_.X_invoke_Arity1(loc___1)
										_ = and__159__auto__
										if cljs_core.Truth_(and__159__auto__) {
											return Down.X_invoke_Arity1(loc___1)
										} else {
											return and__159__auto__
										}
									}()
									_ = temp__4386__auto_____1
									if cljs_core.Truth_(temp__4386__auto_____1) {
										{
											var child = temp__4386__auto_____1
											_ = child
											loc___1 = Rightmost.X_invoke_Arity1(child)
											continue
										}
									} else {
										return loc___1
									}
								}
							}
						}
					}
				} else {
					return Up.X_invoke_Arity1(loc)
				}
			}
		})
	}(&cljs_core.AFn{})

	End_QMARK_ = func(end_QMARK_ *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(end_QMARK_, 1, func(loc interface{}) interface{} {
			return cljs_core.X_EQ_.Arity2IIB((&cljs_core.CljsCoreKeyword{Ns: nil, Name: "end", Fqn: "end", X_hash: float64(-268185958)}), func() interface{} {
				var G__53 = float64(1)
				_ = G__53
				return loc.(cljs_core.CljsCoreIFn).X_invoke_Arity1(G__53)
			}())
		})
	}(&cljs_core.AFn{})

	Remove = func(remove *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(remove, 1, func(loc interface{}) interface{} {
			{
				var vec__56 = loc
				var node = cljs_core.Nth.X_invoke_Arity3(vec__56, float64(0), nil)
				var map__57 = cljs_core.Nth.X_invoke_Arity3(vec__56, float64(1), nil)
				var map__57___1 = func() interface{} {
					if cljs_core.Seq_QMARK_.Arity1IB(map__57) {
						return cljs_core.Apply.X_invoke_Arity2(cljs_core.Hash_map, map__57)
					} else {
						return map__57
					}
				}()
				var path = map__57___1
				var l = cljs_core.Get.X_invoke_Arity2(map__57___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}))
				var ppath = cljs_core.Get.X_invoke_Arity2(map__57___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "ppath", Fqn: "ppath", X_hash: float64(-1758182784)}))
				var pnodes = cljs_core.Get.X_invoke_Arity2(map__57___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "pnodes", Fqn: "pnodes", X_hash: float64(1739080565)}))
				var rs = cljs_core.Get.X_invoke_Arity2(map__57___1, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "r", Fqn: "r", X_hash: float64(-471384190)}))
				_, _, _, _, _, _, _, _, _ = vec__56, node, map__57, map__57___1, path, l, ppath, pnodes, rs
				if cljs_core.Nil_(path) {
					panic("Remove at top")
				} else {
					if cljs_core.Count.X_invoke_Arity1(l).(float64) > float64(0) {
						{
							var loc___1 interface{} = cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{cljs_core.Peek.X_invoke_Arity1(l), cljs_core.Assoc.X_invoke_ArityVariadic(path, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "l", Fqn: "l", X_hash: float64(1395893423)}), cljs_core.Pop.X_invoke_Arity1(l), cljs_core.Array_seq.X_invoke_Arity1([]interface{}{(&cljs_core.CljsCoreKeyword{Ns: nil, Name: "changed?", Fqn: "changed?", X_hash: float64(-437828330)}), true}))}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
							_ = loc___1
							for {
								{
									var temp__4386__auto__ = func() interface{} {
										var and__159__auto__ = Branch_QMARK_.X_invoke_Arity1(loc___1)
										_ = and__159__auto__
										if cljs_core.Truth_(and__159__auto__) {
											return Down.X_invoke_Arity1(loc___1)
										} else {
											return and__159__auto__
										}
									}()
									_ = temp__4386__auto__
									if cljs_core.Truth_(temp__4386__auto__) {
										{
											var child = temp__4386__auto__
											_ = child
											loc___1 = Rightmost.X_invoke_Arity1(child)
											continue
										}
									} else {
										return loc___1
									}
								}
							}
						}
					} else {
						return cljs_core.With_meta.X_invoke_Arity2((&cljs_core.CljsCorePersistentVector{nil, float64(2), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{Make_node.X_invoke_Arity3(loc, cljs_core.Peek.X_invoke_Arity1(pnodes), rs), func() interface{} {
							var and__159__auto__ = ppath
							_ = and__159__auto__
							if cljs_core.Truth_(and__159__auto__) {
								return cljs_core.Assoc.X_invoke_Arity3(ppath, (&cljs_core.CljsCoreKeyword{Ns: nil, Name: "changed?", Fqn: "changed?", X_hash: float64(-437828330)}), true)
							} else {
								return and__159__auto__
							}
						}()}, nil}), cljs_core.Meta.X_invoke_Arity1(loc))
					}
				}
			}
		})
	}(&cljs_core.AFn{})

}
コード例 #4
0
ファイル: overrides.go プロジェクト: shaunstanislaus/cljs2go
func init() {
	Read_2_chars = func(read_2_chars *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(read_2_chars, 1, func(reader interface{}) interface{} {
			return strings.Join([]string{cljs_core.Str.X_invoke_Arity1(cljs_core.Decorate_(reader).(CljsReaderPushbackReader).Read_char_Arity1()).(string), cljs_core.Str.X_invoke_Arity1(cljs_core.Decorate_(reader).(CljsReaderPushbackReader).Read_char_Arity1()).(string)}, ``)
		})
	}(&cljs_core.AFn{})

	Read_4_chars = func(read_4_chars *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(read_4_chars, 1, func(reader interface{}) interface{} {
			return strings.Join([]string{cljs_core.Str.X_invoke_Arity1(cljs_core.Decorate_(reader).(CljsReaderPushbackReader).Read_char_Arity1()).(string), cljs_core.Str.X_invoke_Arity1(cljs_core.Decorate_(reader).(CljsReaderPushbackReader).Read_char_Arity1()).(string), cljs_core.Str.X_invoke_Arity1(cljs_core.Decorate_(reader).(CljsReaderPushbackReader).Read_char_Arity1()).(string), cljs_core.Str.X_invoke_Arity1(cljs_core.Decorate_(reader).(CljsReaderPushbackReader).Read_char_Arity1()).(string)}, ``)
		})
	}(&cljs_core.AFn{})

	Read_token = func(read_token *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(read_token, 2, func(rdr interface{}, initch interface{}) interface{} {
			{
				var sb = (&goog_string.StringBuffer{initch})
				var ch interface{} = cljs_core.Decorate_(rdr).(CljsReaderPushbackReader).Read_char_Arity1()
				_, _ = sb, ch
				for {
					if (cljs_core.Nil_(ch)) || (Whitespace_QMARK_.Arity1IB(ch)) || (Macro_terminating_QMARK_.Arity1IB(ch)) {
						cljs_core.Decorate_(rdr).(CljsReaderPushbackReader).Unread_Arity2(ch)
						return cljs_core.Native_invoke_instance_method.X_invoke_Arity3(sb, "ToString", []interface{}{})
					} else {
						sb, ch = func() *goog_string.StringBuffer {
							cljs_core.Native_invoke_instance_method.X_invoke_Arity3(sb, "Append", []interface{}{ch})
							return sb
						}(), cljs_core.Decorate_(rdr).(CljsReaderPushbackReader).Read_char_Arity1()
						continue
					}
				}
			}
		})
	}(&cljs_core.AFn{})

	Macros = func(macros *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(macros, 1, func(c interface{}) interface{} {
			if reflect.DeepEqual(c, "\"") {
				return Read_string_STAR_
			} else {
				if reflect.DeepEqual(c, ":") {
					return Read_keyword
				} else {
					if reflect.DeepEqual(c, ";") {
						return Read_comment
					} else {
						if reflect.DeepEqual(c, "'") {
							return Wrapping_reader.X_invoke_Arity1((&cljs_core.CljsCoreSymbol{Ns: nil, Name: "quote", Str: "quote", X_hash: float64(1377916282), X_meta: nil})).(cljs_core.CljsCoreIFn)
						} else {
							if reflect.DeepEqual(c, "@") {
								return Wrapping_reader.X_invoke_Arity1((&cljs_core.CljsCoreSymbol{Ns: nil, Name: "deref", Str: "deref", X_hash: float64(1494944732), X_meta: nil})).(cljs_core.CljsCoreIFn)
							} else {
								if reflect.DeepEqual(c, "^") {
									return Read_meta
								} else {
									if reflect.DeepEqual(c, "`") {
										return Not_implemented
									} else {
										if reflect.DeepEqual(c, "~") {
											return Not_implemented
										} else {
											if reflect.DeepEqual(c, "(") {
												return Read_list
											} else {
												if reflect.DeepEqual(c, ")") {
													return Read_unmatched_delimiter
												} else {
													if reflect.DeepEqual(c, "[") {
														return Read_vector
													} else {
														if reflect.DeepEqual(c, "]") {
															return Read_unmatched_delimiter
														} else {
															if reflect.DeepEqual(c, "{") {
																return Read_map
															} else {
																if reflect.DeepEqual(c, "}") {
																	return Read_unmatched_delimiter
																} else {
																	if reflect.DeepEqual(c, "\\") {
																		return func(G__169 *cljs_core.AFn) *cljs_core.AFn {
																			return cljs_core.Fn(G__169, 2, func(rdr interface{}, ___ interface{}) interface{} {
																				return cljs_core.Decorate_(rdr).(CljsReaderPushbackReader).Read_char_Arity1()
																			})
																		}(&cljs_core.AFn{})
																	} else {
																		if reflect.DeepEqual(c, "#") {
																			return Read_dispatch
																		} else {
																			return nil

																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		})
	}(&cljs_core.AFn{})

	Days_in_month = func() interface{} {
		var dim_norm = (&cljs_core.CljsCorePersistentVector{nil, float64(13), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{nil, float64(31), float64(28), float64(31), float64(30), float64(31), float64(30), float64(31), float64(31), float64(30), float64(31), float64(30), float64(31)}, nil})
		var dim_leap = (&cljs_core.CljsCorePersistentVector{nil, float64(13), float64(5), cljs_core.CljsCorePersistentVector_EMPTY_NODE, []interface{}{nil, float64(31), float64(29), float64(31), float64(30), float64(31), float64(30), float64(31), float64(31), float64(30), float64(31), float64(30), float64(31)}, nil})
		_, _ = dim_norm, dim_leap
		return cljs_core.Identity.X_invoke_Arity1(func(G__170 *cljs_core.AFn, dim_norm cljs_core.CljsCoreIVector, dim_leap cljs_core.CljsCoreIVector) *cljs_core.AFn {
			return cljs_core.Fn(G__170, 2, func(month interface{}, leap_year_QMARK_ interface{}) interface{} {
				return cljs_core.Get.X_invoke_Arity2(func() cljs_core.CljsCoreIVector {
					if cljs_core.Truth_(leap_year_QMARK_) {
						return dim_leap
					} else {
						return dim_norm
					}
				}(), month)
			})
		}(&cljs_core.AFn{}, dim_norm, dim_leap))
	}()

	Parse_timestamp = func(parse_timestamp *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(parse_timestamp, 1, func(ts interface{}) interface{} {
			{
				var temp__4386__auto__ = Parse_and_validate_timestamp.X_invoke_Arity1(ts).(cljs_core.CljsCoreIVector)
				_ = temp__4386__auto__
				if cljs_core.Truth_(temp__4386__auto__) {
					{
						var vec__172 = temp__4386__auto__
						var years = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(0), nil)
						var months = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(1), nil)
						var days = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(2), nil)
						var hours = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(3), nil)
						var minutes = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(4), nil)
						var seconds = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(5), nil)
						var ms = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(6), nil)
						var offset = cljs_core.Nth.X_invoke_Arity3(vec__172, float64(7), nil)
						_, _, _, _, _, _, _, _, _ = vec__172, years, months, days, hours, minutes, seconds, ms, offset
						return (&js.Date{ts})
					}
				} else {
					return Reader_error.X_invoke_ArityVariadic(nil, cljs_core.Array_seq.X_invoke_Arity1([]interface{}{strings.Join([]string{cljs_core.Str.X_invoke_Arity1("Unrecognized date/time syntax: ").(string), cljs_core.Str.X_invoke_Arity1(ts).(string)}, ``)}))
				}
			}
		})
	}(&cljs_core.AFn{})

	Read_queue = func(read_queue *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(read_queue, 1, func(elems interface{}) interface{} {
			if cljs_core.Vector_QMARK_.Arity1IB(elems) {
				return cljs_core.Into.X_invoke_Arity2(cljs_core.CljsCorePersistentQueue_EMPTY, elems)
			} else {
				return Reader_error.X_invoke_ArityVariadic(nil, cljs_core.Array_seq.X_invoke_Arity1([]interface{}{"Queue literal expects a vector for its elements."}))
			}
		})
	}(&cljs_core.AFn{})

	Read_date = func(read_date *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(read_date, 1, func(s interface{}) interface{} {
			if cljs_core.Value_(s).Kind() == reflect.String {
				return Parse_timestamp.X_invoke_Arity1(s).(*js.Date)
			} else {
				return Reader_error.X_invoke_ArityVariadic(nil, cljs_core.Array_seq.X_invoke_Arity1([]interface{}{"Instance literal expects a string for its timestamp."}))
			}
		})
	}(&cljs_core.AFn{})

	Read_uuid = func(read_uuid *cljs_core.AFn) *cljs_core.AFn {
		return cljs_core.Fn(read_uuid, 1, func(uuid interface{}) interface{} {
			if cljs_core.Value_(uuid).Kind() == reflect.String {
				return (&cljs_core.CljsCoreUUID{uuid})
			} else {
				return Reader_error.X_invoke_ArityVariadic(nil, cljs_core.Array_seq.X_invoke_Arity1([]interface{}{"UUID literal expects a string as its representation."}))
			}
		})
	}(&cljs_core.AFn{})

	X_STAR_tag_table_STAR_ = cljs_core.Atom.X_invoke_Arity1((&cljs_core.CljsCorePersistentArrayMap{nil, float64(3), []interface{}{"inst", Read_date, "uuid", Read_uuid, "queue", Read_queue}, nil})).(*cljs_core.CljsCoreAtom)

}